Repository: lenve/vhr Branch: master Commit: 03abbd35af24 Files: 202 Total size: 2.0 MB Directory structure: gitextract_awylcubm/ ├── .gitattributes ├── .gitignore ├── About.md ├── README.md ├── README_zh.md ├── vhr/ │ ├── mailserver/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── javaboy/ │ │ │ │ └── mailserver/ │ │ │ │ ├── MailserverApplication.java │ │ │ │ └── receiver/ │ │ │ │ └── MailReceiver.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ └── templates/ │ │ │ └── mail.html │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── javaboy/ │ │ └── mailserver/ │ │ └── MailserverApplicationTests.java │ ├── pom.xml │ └── vhrserver/ │ ├── pom.xml │ ├── vhr-mapper/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── javaboy/ │ │ └── vhr/ │ │ └── mapper/ │ │ ├── AdjustSalaryMapper.java │ │ ├── AdjustSalaryMapper.xml │ │ ├── AppraiseMapper.java │ │ ├── AppraiseMapper.xml │ │ ├── DepartmentMapper.java │ │ ├── DepartmentMapper.xml │ │ ├── EmpSalaryMapper.java │ │ ├── EmpSalaryMapper.xml │ │ ├── EmployeeMapper.java │ │ ├── EmployeeMapper.xml │ │ ├── EmployeeecMapper.java │ │ ├── EmployeeecMapper.xml │ │ ├── EmployeeremoveMapper.java │ │ ├── EmployeeremoveMapper.xml │ │ ├── EmployeetrainMapper.java │ │ ├── EmployeetrainMapper.xml │ │ ├── HrMapper.java │ │ ├── HrMapper.xml │ │ ├── HrRoleMapper.java │ │ ├── HrRoleMapper.xml │ │ ├── JobLevelMapper.java │ │ ├── JobLevelMapper.xml │ │ ├── MailSendLogMapper.java │ │ ├── MailSendLogMapper.xml │ │ ├── MenuMapper.java │ │ ├── MenuMapper.xml │ │ ├── MenuRoleMapper.java │ │ ├── MenuRoleMapper.xml │ │ ├── MsgContentMapper.java │ │ ├── MsgContentMapper.xml │ │ ├── NationMapper.java │ │ ├── NationMapper.xml │ │ ├── OpLogMapper.java │ │ ├── OpLogMapper.xml │ │ ├── PoliticsstatusMapper.java │ │ ├── PoliticsstatusMapper.xml │ │ ├── PositionMapper.java │ │ ├── PositionMapper.xml │ │ ├── RoleMapper.java │ │ ├── RoleMapper.xml │ │ ├── SalaryMapper.java │ │ ├── SalaryMapper.xml │ │ ├── SysMsgMapper.java │ │ └── SysMsgMapper.xml │ ├── vhr-model/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── javaboy/ │ │ └── vhr/ │ │ └── model/ │ │ ├── AdjustSalary.java │ │ ├── Appraise.java │ │ ├── ChatMsg.java │ │ ├── Department.java │ │ ├── EmpSalary.java │ │ ├── Employee.java │ │ ├── Employeeec.java │ │ ├── Employeeremove.java │ │ ├── Employeetrain.java │ │ ├── Hr.java │ │ ├── HrRole.java │ │ ├── JobLevel.java │ │ ├── MailConstants.java │ │ ├── MailSendLog.java │ │ ├── Menu.java │ │ ├── MenuRole.java │ │ ├── Meta.java │ │ ├── MsgContent.java │ │ ├── Nation.java │ │ ├── OpLog.java │ │ ├── Politicsstatus.java │ │ ├── Position.java │ │ ├── RespBean.java │ │ ├── RespPageBean.java │ │ ├── Role.java │ │ ├── Salary.java │ │ └── SysMsg.java │ ├── vhr-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── javaboy/ │ │ └── vhr/ │ │ ├── config/ │ │ │ └── RabbitConfig.java │ │ ├── service/ │ │ │ ├── DepartmentService.java │ │ │ ├── EmployeeService.java │ │ │ ├── HrService.java │ │ │ ├── JobLevelService.java │ │ │ ├── MailSendLogService.java │ │ │ ├── MenuService.java │ │ │ ├── NationService.java │ │ │ ├── PoliticsstatusService.java │ │ │ ├── PositionService.java │ │ │ ├── RoleService.java │ │ │ └── SalaryService.java │ │ ├── task/ │ │ │ └── MailSendTask.java │ │ └── utils/ │ │ ├── HrUtils.java │ │ └── POIUtils.java │ └── vhr-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── javaboy/ │ │ │ └── vhr/ │ │ │ ├── VhrApplication.java │ │ │ ├── config/ │ │ │ │ ├── CustomFilterInvocationSecurityMetadataSource.java │ │ │ │ ├── CustomUrlDecisionManager.java │ │ │ │ ├── FastDFSUtils.java │ │ │ │ ├── LoginFilter.java │ │ │ │ ├── SecurityConfig.java │ │ │ │ ├── VerificationCode.java │ │ │ │ └── WebSocketConfig.java │ │ │ ├── controller/ │ │ │ │ ├── ChatController.java │ │ │ │ ├── HrInfoController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── WsController.java │ │ │ │ ├── config/ │ │ │ │ │ └── SystemConfigController.java │ │ │ │ ├── emp/ │ │ │ │ │ └── EmpBasicController.java │ │ │ │ ├── salary/ │ │ │ │ │ ├── SalaryController.java │ │ │ │ │ └── SobConfigController.java │ │ │ │ └── system/ │ │ │ │ ├── HrController.java │ │ │ │ └── basic/ │ │ │ │ ├── DepartmentController.java │ │ │ │ ├── JobLevelController.java │ │ │ │ ├── PermissController.java │ │ │ │ └── PositionController.java │ │ │ ├── converter/ │ │ │ │ └── DateConverter.java │ │ │ └── exception/ │ │ │ └── GlobalExceptionHandler.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── db/ │ │ │ └── migration/ │ │ │ └── V1__vhr.sql │ │ ├── fastdfs-client.properties │ │ └── static/ │ │ ├── css/ │ │ │ ├── app.4e8a7623.css │ │ │ ├── chunk-0c17a57a.42916da5.css │ │ │ ├── chunk-64435448.3755e146.css │ │ │ └── chunk-vendors.c805ba07.css │ │ ├── index.html │ │ └── js/ │ │ ├── app.36643c7a.js │ │ ├── chunk-0c17a57a.3d783b80.js │ │ ├── chunk-18458ebc.2dd3c93a.js │ │ ├── chunk-2d0d03c8.3a093d55.js │ │ ├── chunk-2d237c54.0b312051.js │ │ ├── chunk-33b8cd94.a94483af.js │ │ ├── chunk-4e552d82.57eb10c5.js │ │ ├── chunk-64435448.c8d2ed8f.js │ │ ├── chunk-df7e035a.c9947309.js │ │ └── chunk-vendors.0a8f9d11.js │ └── test/ │ └── java/ │ └── org/ │ └── javaboy/ │ └── vhr/ │ └── VhrApplicationTests.java ├── vhr.sql └── vuehr/ ├── .gitignore ├── README.md ├── babel.config.js ├── package.json ├── public/ │ └── index.html ├── src/ │ ├── App.vue │ ├── components/ │ │ ├── chat/ │ │ │ ├── card.vue │ │ │ ├── list.vue │ │ │ ├── message.vue │ │ │ └── usertext.vue │ │ └── sys/ │ │ └── basic/ │ │ ├── DepMana.vue │ │ ├── EcMana.vue │ │ ├── JobLevelMana.vue │ │ ├── PermissMana.vue │ │ └── PosMana.vue │ ├── main.js │ ├── router.js │ ├── store/ │ │ └── index.js │ ├── utils/ │ │ ├── api.js │ │ ├── menus.js │ │ ├── mymessage.js │ │ ├── sockjs.js │ │ └── stomp.js │ └── views/ │ ├── Home.vue │ ├── HrInfo.vue │ ├── Login.vue │ ├── chat/ │ │ └── FriendChat.vue │ ├── emp/ │ │ ├── EmpAdv.vue │ │ └── EmpBasic.vue │ ├── per/ │ │ ├── PerEc.vue │ │ ├── PerEmp.vue │ │ ├── PerMv.vue │ │ ├── PerSalary.vue │ │ └── PerTrain.vue │ ├── sal/ │ │ ├── SalMonth.vue │ │ ├── SalSearch.vue │ │ ├── SalSob.vue │ │ ├── SalSobCfg.vue │ │ └── SalTable.vue │ ├── sta/ │ │ ├── StaAll.vue │ │ ├── StaPers.vue │ │ ├── StaRecord.vue │ │ └── StaScore.vue │ └── sys/ │ ├── SysBasic.vue │ ├── SysCfg.vue │ ├── SysData.vue │ ├── SysHr.vue │ ├── SysInit.vue │ └── SysLog.vue └── vue.config.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitattributes ================================================ *.css linguist-language=Java *.less linguist-language=Java *.js linguist-language=Java *.html linguist-language=Java *.vue linguist-language=Java ================================================ FILE: .gitignore ================================================ node_modules/ .DS_Store /dist/ npm-debug.log* yarn-debug.log* yarn-error.log* .idea target/ *.iml !.mvn/wrapper/maven-wrapper.jar vhr.wiki 人事管理系统需求规格说明书.doc ================================================ FILE: About.md ================================================ vhr 在发布后,受到了很多小伙伴的关注,因此我也陆陆续续写了很多介绍的文章和相关的视频,但是一直都比较零散,这里将 vhr 相关的视频和文章列一个索引出来,供大家参考。 ### 相关视频: 1. [Spring Boot 整合 RabbitMQ,消息重复消费怎么办?](https://mp.weixin.qq.com/s/SMPyyZlRvvKM-kSMbOOQAw) 2. [如何在微人事项目中提高RabbitMQ消息可靠性的?](https://mp.weixin.qq.com/s/aMu1qi46FbzIe0amJ4XJ7w) 3. [手把手教你给微人事添加登录验证码](https://mp.weixin.qq.com/s/aaop_dS9UIOgTtQd0hl_tw) 4. [使用 Spring Security 实现微人事前后端分离登录接口](https://mp.weixin.qq.com/s/eun-ChD5KyN6LsbR9qFfiQ) 5. [Spring Boot 在后端如何控制前端 Vue 中菜单动态加载?](https://mp.weixin.qq.com/s/rH5MeKuTnXbyaDaGsU4wNw) 6. [Spring Boot + Vue,手把手教你做文件上传](https://mp.weixin.qq.com/s/OMgoUfH8lk8hDfuqWXGWTA) 7. [Spring Boot+Vue+FastDFS 实现前后端分离文件上传](https://mp.weixin.qq.com/s/tIFyi2EiQRhdaOZi7bMoGw) 8. [Spring Boot+Vue前后端分离,如何避免前端页面 404](https://mp.weixin.qq.com/s/rXhXFXDhyYDP4F47Uat1DQ) 9. [Spring Security 如何动态更新已登录用户信息?](https://mp.weixin.qq.com/s/jQZx4i4-vqjpBjpoJKJF4A) 10. [手把手带你捋一遍 Spring Security 登录流程](https://mp.weixin.qq.com/s/z6GeR5O-vBzY3SHehmccVA) 11. [手把手教你部署前后端分离项目,再也不用担心跨域问题了](https://mp.weixin.qq.com/s/KWBtHi_au_1pH70OYptjfA) 12. [Spring Boot 结合 WebSocket 实现在线聊天](https://mp.weixin.qq.com/s/Rrj7oco3K8kJBsTxEEdz9g) 13. [说出来你可能不信,Spring Boot 中 Session 共享不超过 5 行代码!](https://mp.weixin.qq.com/s/sgjm09_e8ue5blXqPgeXZA) ### 相关文章: 1. [简化微人事部署,Flyway 搞起来](https://mp.weixin.qq.com/s/yabpyA90D1yUtWRNr330yA) 2. [GitHub 又掉链子,我给微人事 + Spring Boot + Spring Cloud 案例找了新家](https://mp.weixin.qq.com/s/yvJXiX70iNSdd2mbSQbUCQ) 3. [两年了,微人事项目迎来了一次重大更新](https://mp.weixin.qq.com/s/Eo2RRB6zKQuPDMWlnCHDrw) 4. [前后端分离开发中动态菜单的两种实现方案](https://mp.weixin.qq.com/s/NV7pRVnR6sLSjI2Snjl_aQ) 5. [Spring Security 前后端分离登录,非法请求直接返回 JSON](https://mp.weixin.qq.com/s/24pI8CG1zZU4KxOYhizV_g) 6. [使用 Nginx 部署前后端分离项目,解决跨域问题](https://mp.weixin.qq.com/s/C7PIck3SIPPTcA3NX3ELoQ) 7. [喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了](https://mp.weixin.qq.com/s/GvqLzCZngQiMqVE_ZTafeA) 8. [前后端分离历险记](https://mp.weixin.qq.com/s/szgfT3tnYMCHSeiE3_QnpA) 9. [公司倒闭 1 年了,而我当年的项目上了 GitHub 热榜](https://mp.weixin.qq.com/s/qGFo2MKkD0AObBJDPR8veQ) ================================================ FILE: README.md ================================================ #### vhr 是一个脚手架,如需业务完整的项目,请移步这里->[TienChin](https://github.com/lenve/tienchin) #### 本项目已使用 SpringBoot3+Vue3 重构,地址:[https://github.com/lenve/vhr2.0](https://github.com/lenve/vhr2.0) ## 项目介绍 微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发,项目加入常见的企业级应用所涉及到的技术点,例如 Redis、RabbitMQ 等。 - 项目地址:[https://github.com/lenve/vhr](https://github.com/lenve/vhr) - [项目部署视频教程(旧版)](https://mp.weixin.qq.com/s/qN01Le434FWom0c3jqiQmA) - [项目部署视频教程(新版)](https://mp.weixin.qq.com/s/dcJv6BIVFPnokI8nBf4IrQ) - [项目其他相关资料](./README_zh.md) ### 项目技术栈 #### 后端技术栈 1. Spring Boot 2. Spring Security 3. MyBatis 4. MySQL 5. Redis 6. RabbitMQ 7. Spring Cache 8. WebSocket 9. ... #### 前端技术栈 1. Vue 2. ElementUI 3. axios 4. vue-router 5. Vuex 6. WebSocket 7. vue-cli4 8. ... ### 项目效果图 首先,不同的用户在登录成功之后,根据不同的角色,会看到不同的系统菜单,完整菜单如下: ![p278](https://raw.githubusercontent.com/wiki/lenve/vhr/doc/p278.png) 不同用户登录上来之后,可能看到的会有差异,如下: ![p279](https://raw.githubusercontent.com/wiki/lenve/vhr/doc/p279.png) 每个用户的角色是由系统管理员进行分配的,系统管理员给用户分配角色的页面如下: ![p280](https://raw.githubusercontent.com/wiki/lenve/vhr/doc/p280.png) 系统管理员也可以管理不同角色可以操作的资源,页面如下: ![p281](https://raw.githubusercontent.com/wiki/lenve/vhr/doc/p281.png) ## 快速部署 1. clone 项目到本地 `git@github.com:lenve/vhr.git` 2. 数据库脚本使用 Flyway 管理,**不需要手动导入数据库脚本**,只需要提前在本地 MySQL 中创建一个空的数据库 vhr,并修改项目中关于数据的配置(resources 目录下的 application.properties 文件中)即可 3. 提前准备好 Redis,在 项目的 application.properties 文件中,将 Redis 配置改为自己的 4. 提前准备好 RabbitMQ,在项目的 application.properties 文件中将 RabbitMQ 的配置改为自己的(**注意,RabbitMQ 需要分别修改 mailserver 和 vhrserver 的配置文件**) 5. 在 IntelliJ IDEA 中打开 vhr 项目,启动 mailserver 模块 6. 运行 vhrserver 中的 vhr-web 模块 **OK,至此,服务端就启动成功了,此时我们直接在地址栏输入 `http://localhost:8081/index.html` 即可访问我们的项目,如果要做二次开发,请继续看第七、八步。** 7. 进入到vuehr目录中,在命令行依次输入如下命令: ``` # 安装依赖 npm install # 在 localhost:8080 启动项目 npm run serve ``` 由于我在 vuehr 项目中已经配置了端口转发,将数据转发到 Spring Boot 上,因此项目启动之后,在浏览器中输入 `http://localhost:8080` 就可以访问我们的前端项目了,所有的请求通过端口转发将数据传到 Spring Boot 中(注意此时不要关闭 Sprin gBoot 项目)。 8. 最后可以用 WebStorm 等工具打开 vuehr 项目,继续开发,开发完成后,当项目要上线时,依然进入到 vuehr 目录,然后执行如下命令: ``` npm run build ``` 该命令执行成功之后,vuehr 目录下生成一个 dist 文件夹,将该文件夹中的两个文件 static 和 index.html 拷贝到 Spring Boot 项目中 resources/static/ 目录下,然后就可以像第 6 步那样直接访问了(关于前后端分离部署,大家也可以参考这个[使用 Nginx 部署前后端分离项目,解决跨域问题](https://mp.weixin.qq.com/s/C7PIck3SIPPTcA3NX3ELoQ))。 **步骤 7 中需要大家对 NodeJS、NPM 等有一定的使用经验,不熟悉的小伙伴可以先自行搜索学习下,推荐 [Vue 官方教程](https://cn.vuejs.org/v2/guide/)。** ## 文档 文档是对项目开发过程中遇到的一些问题的详细记录,主要是为了帮助没有基础的小伙伴快速理解这个项目。 1. [权限数据库设计](https://github.com/lenve/vhr/wiki/1.%E6%9D%83%E9%99%90%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1) 2. [服务端环境搭建](https://github.com/lenve/vhr/wiki/2.%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA) 3. [动态处理角色和资源的关系](https://github.com/lenve/vhr/wiki/3.%E5%8A%A8%E6%80%81%E5%A4%84%E7%90%86%E8%A7%92%E8%89%B2%E5%92%8C%E8%B5%84%E6%BA%90%E7%9A%84%E5%85%B3%E7%B3%BB) 4. [密码加密并加盐](https://github.com/lenve/vhr/wiki/4.%E5%AF%86%E7%A0%81%E5%8A%A0%E5%AF%86%E5%B9%B6%E5%8A%A0%E7%9B%90) 5. [服务端异常的统一处理](https://github.com/lenve/vhr/wiki/5.%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%BC%82%E5%B8%B8%E7%9A%84%E7%BB%9F%E4%B8%80%E5%A4%84%E7%90%86) 6. [axios 请求封装,请求异常统一处理](https://github.com/lenve/vhr/wiki/6.axios%E8%AF%B7%E6%B1%82%E5%B0%81%E8%A3%85,%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%E7%BB%9F%E4%B8%80%E5%A4%84%E7%90%86) 7. [将请求方法挂到Vue上](https://github.com/lenve/vhr/wiki/7.%E5%B0%86%E8%AF%B7%E6%B1%82%E6%96%B9%E6%B3%95%E6%8C%82%E5%88%B0Vue%E4%B8%8A) 8. [登录状态的保存](https://github.com/lenve/vhr/wiki/8.%E7%99%BB%E5%BD%95%E7%8A%B6%E6%80%81%E7%9A%84%E4%BF%9D%E5%AD%98) 9. [登录成功后动态加载组件](https://github.com/lenve/vhr/wiki/9.%E7%99%BB%E5%BD%95%E6%88%90%E5%8A%9F%E5%90%8E%E5%8A%A8%E6%80%81%E5%8A%A0%E8%BD%BD%E7%BB%84%E4%BB%B6) 10. [角色资源关系管理](https://github.com/lenve/vhr/wiki/10.%E8%A7%92%E8%89%B2%E8%B5%84%E6%BA%90%E5%85%B3%E7%B3%BB%E7%AE%A1%E7%90%86) 11. [用户角色关系管理](https://github.com/lenve/vhr/wiki/11.%E7%94%A8%E6%88%B7%E8%A7%92%E8%89%B2%E5%85%B3%E7%B3%BB%E7%AE%A1%E7%90%86) ### 更新记录 ### 2018.1.10 更新 本次更新版本:v20180110 本次更新完成了部门管理功能,页面在 **[系统管理->基础信息设置->部门管理]** >本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。 #### 相关文档: 12. [部门数据库设计与存储过程编写](https://github.com/lenve/vhr/wiki/12.%E9%83%A8%E9%97%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B%E7%BC%96%E5%86%99) 13. [递归查询与存储过程调用](https://github.com/lenve/vhr/wiki/13.%E9%80%92%E5%BD%92%E6%9F%A5%E8%AF%A2%E4%B8%8E%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B%E8%B0%83%E7%94%A8) 14. [Tree 树形控件使用要点](https://github.com/lenve/vhr/wiki/14.Tree%E6%A0%91%E5%BD%A2%E6%8E%A7%E4%BB%B6%E4%BD%BF%E7%94%A8%E8%A6%81%E7%82%B9) ### 2018.1.12 更新 本次更新版本:v20180112 本次更新完成了职称管理和职位管理,页面在 **[系统管理->基础信息设置->职位管理]** 和 **[系统管理->基础信息设置->职称管理]** >本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。 #### 相关文档: 15. [职位管理和职称管理功能介绍](https://github.com/lenve/vhr/wiki/15.%E8%81%8C%E4%BD%8D%E7%AE%A1%E7%90%86%E5%92%8C%E8%81%8C%E7%A7%B0%E7%AE%A1%E7%90%86%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D) 16. [组件复用](https://github.com/lenve/vhr/wiki/16.%E7%BB%84%E4%BB%B6%E5%A4%8D%E7%94%A8) 17. [[题外话]利用 git 标签回退至任意版本](https://github.com/lenve/vhr/wiki/17.%5B%E9%A2%98%E5%A4%96%E8%AF%9D%5D%E5%88%A9%E7%94%A8git%E6%A0%87%E7%AD%BE%E5%9B%9E%E9%80%80%E8%87%B3%E4%BB%BB%E6%84%8F%E7%89%88%E6%9C%AC) ### 2018.1.15 更新 本次更新版本:v20180115 本次更新完成了员工基本信息管理,页面在 **[员工资料->基本资料]** >本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。 #### 相关文档: 18. [员工基本信息管理功能介绍](https://github.com/lenve/vhr/wiki/18.%E5%91%98%E5%B7%A5%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D) 19. [Spring Boot 中自定义参数绑定](https://github.com/lenve/vhr/wiki/19.SpringBoot%E4%B8%AD%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8F%82%E6%95%B0%E7%BB%91%E5%AE%9A) ### 2018.1.16 更新 本次更新版本:v20180116 本次更新完成了员工的高级搜索功能,页面在 **[员工资料->基本资料]** #### 相关文档: 20. [高级搜索功能介绍](https://github.com/lenve/vhr/wiki/20.%E9%AB%98%E7%BA%A7%E6%90%9C%E7%B4%A2%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D) ### 2018.1.17 更新 本次更新版本:v20180117 本次更新完成了员工数据的导入导出功能,即可将员工数据导出为Excel,也可以将外部Excel导入到员工数据表中,页面在 **[员工资料->基本资料]** #### 相关文档: 21. [Excel 导入导出效果图](https://github.com/lenve/vhr/wiki/21.Excel%E5%AF%BC%E5%85%A5%E5%AF%BC%E5%87%BA%E6%95%88%E6%9E%9C%E5%9B%BE) 22. [SpringMVC 文件下载的两种方式](https://github.com/lenve/vhr/wiki/22.SpringMVC%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F) 23. [POI 生成 Excel](https://github.com/lenve/vhr/wiki/23.POI%E7%94%9F%E6%88%90Excel) 24. [axios 下载文件](https://github.com/lenve/vhr/wiki/24.axios%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6) 25. [使用 POI 实现 Excel 导入](https://github.com/lenve/vhr/wiki/25.%E4%BD%BF%E7%94%A8POI%E5%AE%9E%E7%8E%B0Excel%E5%AF%BC%E5%85%A5) ### 2018.1.19 更新 本次更新版本:v20180119 本次更新主要实现了当管理员添加一个用户时,添加成功后,会根据该用户的邮箱自动向用户发送一封欢迎入职邮件,页面在 **[员工资料->基本资料->添加员工]** 详情可以参考下面的文档。 **注意:邮件发送需要小伙伴小伙伴自己配置授权码,配置方式参考下面的文档,配置文件在[src/main/java/org/sang/common/EmailRunnable.java](https://github.com/lenve/vhr/blob/master/hrserver/src/main/java/org/sang/common/EmailRunnable.java)** #### 相关文档: 26. [Spring Boot 中使用 Freemarker 邮件模板生成邮件](https://github.com/lenve/vhr/wiki/26.SpringBoot%E4%B8%AD%E4%BD%BF%E7%94%A8Freemarker%E9%82%AE%E4%BB%B6%E6%A8%A1%E6%9D%BF%E7%94%9F%E6%88%90%E9%82%AE%E4%BB%B6) 27. [Java 中邮件的发送](https://github.com/lenve/vhr/wiki/27.Java%E4%B8%AD%E9%82%AE%E4%BB%B6%E7%9A%84%E5%8F%91%E9%80%81) 28. [Spring Boot 中使用新线程发送邮件](https://github.com/lenve/vhr/wiki/28.SpringBoot%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%96%B0%E7%BA%BF%E7%A8%8B%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6) ### 2018.1.25 更新 本次更新版本:v20180125 本次更新主要完成了工资账套管理功能,页面在 **[薪资管理->工资账套管理]** >本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。 #### 相关文档: 29. [工资账套管理功能介绍](https://github.com/lenve/vhr/wiki/29.%E5%B7%A5%E8%B5%84%E8%B4%A6%E5%A5%97%E7%AE%A1%E7%90%86%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D) ### 2018.1.26 更新 本次更新版本:v20180126 本次更新主要完成了员工账套设置功能,页面在 **[薪资管理->员工账套设置]** >本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。 #### 相关文档: 30. [员工账套设置功能介绍](https://github.com/lenve/vhr/wiki/30.%E5%91%98%E5%B7%A5%E8%B4%A6%E5%A5%97%E8%AE%BE%E7%BD%AE%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D) ### 2018.2.2 更新 本次更新版本:v20180202 本次更新完成了HR在线聊天功能,页面在 **[Home页->右上角铃铛->好友聊天]** #### 相关文档: 31. [在线聊天功能介绍](https://github.com/lenve/vhr/wiki/31.%E5%9C%A8%E7%BA%BF%E8%81%8A%E5%A4%A9%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D) 32. [在线聊天功能实现](https://github.com/lenve/vhr/wiki/32.%E5%9C%A8%E7%BA%BF%E8%81%8A%E5%A4%A9%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0) ### 2018.2.5 更新 本次更新版本:v20180205 本次更新完成了管理员发送系统通知功能,页面在 **[Home页->右上角铃铛->系统通知]** >本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。 #### 相关文档: 33. [系统通知功能实现](https://github.com/lenve/vhr/wiki/33.%E7%B3%BB%E7%BB%9F%E9%80%9A%E7%9F%A5%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0) ### 2019.12.22 更新 本次更新版本:v20191222 本次更新是一次规模较大的更新,整个项目的版本得到升级,同时引入了多模块、RabbitMQ 等技术栈。 #### 相关文档 34. [两年了,微人事项目迎来了一次重大更新](https://mp.weixin.qq.com/s/Eo2RRB6zKQuPDMWlnCHDrw) ## 其他资料 [50+ 项目需求文档](https://github.com/lenve/javadoc) ## 参考 - [vue-chat](https://github.com/microzz/vue-chat) ## License Copyright 2018 王松 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README_zh.md ================================================ **最新版部署视频教程:[前后端分离项目(微人事)常见部署问题汇总](https://mp.weixin.qq.com/s/dcJv6BIVFPnokI8nBf4IrQ)** vhr 在发布后,受到了很多小伙伴的关注,因此我也陆陆续续写了很多介绍的文章和相关的视频,但是一直都比较零散,这里将 vhr 相关的视频和文章列一个索引出来,供大家参考。 ### 1.相关视频: 1. [Spring Boot 整合 RabbitMQ,消息重复消费怎么办?](https://mp.weixin.qq.com/s/SMPyyZlRvvKM-kSMbOOQAw) 2. [如何在微人事项目中提高RabbitMQ消息可靠性的?](https://mp.weixin.qq.com/s/aMu1qi46FbzIe0amJ4XJ7w) 3. [手把手教你给微人事添加登录验证码](https://mp.weixin.qq.com/s/aaop_dS9UIOgTtQd0hl_tw) 4. [使用 Spring Security 实现微人事前后端分离登录接口](https://mp.weixin.qq.com/s/eun-ChD5KyN6LsbR9qFfiQ) 5. [Spring Boot 在后端如何控制前端 Vue 中菜单动态加载?](https://mp.weixin.qq.com/s/rH5MeKuTnXbyaDaGsU4wNw) 6. [Spring Boot + Vue,手把手教你做文件上传](https://mp.weixin.qq.com/s/OMgoUfH8lk8hDfuqWXGWTA) 7. [Spring Boot+Vue+FastDFS 实现前后端分离文件上传](https://mp.weixin.qq.com/s/tIFyi2EiQRhdaOZi7bMoGw) 8. [Spring Boot+Vue前后端分离,如何避免前端页面 404](https://mp.weixin.qq.com/s/rXhXFXDhyYDP4F47Uat1DQ) 9. [Spring Security 如何动态更新已登录用户信息?](https://mp.weixin.qq.com/s/jQZx4i4-vqjpBjpoJKJF4A) 10. [手把手带你捋一遍 Spring Security 登录流程](https://mp.weixin.qq.com/s/z6GeR5O-vBzY3SHehmccVA) 11. [手把手教你部署前后端分离项目,再也不用担心跨域问题了](https://mp.weixin.qq.com/s/KWBtHi_au_1pH70OYptjfA) 12. [Spring Boot 结合 WebSocket 实现在线聊天](https://mp.weixin.qq.com/s/Rrj7oco3K8kJBsTxEEdz9g) 13. [说出来你可能不信,Spring Boot 中 Session 共享不超过 5 行代码!](https://mp.weixin.qq.com/s/sgjm09_e8ue5blXqPgeXZA) ### 2.相关文章: 1. [简化微人事部署,Flyway 搞起来](https://mp.weixin.qq.com/s/yabpyA90D1yUtWRNr330yA) 2. [GitHub 又掉链子,我给微人事 + Spring Boot + Spring Cloud 案例找了新家](https://mp.weixin.qq.com/s/yvJXiX70iNSdd2mbSQbUCQ) 3. [两年了,微人事项目迎来了一次重大更新](https://mp.weixin.qq.com/s/Eo2RRB6zKQuPDMWlnCHDrw) 4. [前后端分离开发中动态菜单的两种实现方案](https://mp.weixin.qq.com/s/NV7pRVnR6sLSjI2Snjl_aQ) 5. [Spring Security 前后端分离登录,非法请求直接返回 JSON](https://mp.weixin.qq.com/s/24pI8CG1zZU4KxOYhizV_g) 6. [使用 Nginx 部署前后端分离项目,解决跨域问题](https://mp.weixin.qq.com/s/C7PIck3SIPPTcA3NX3ELoQ) 7. [喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了](https://mp.weixin.qq.com/s/GvqLzCZngQiMqVE_ZTafeA) 8. [前后端分离历险记](https://mp.weixin.qq.com/s/szgfT3tnYMCHSeiE3_QnpA) 9. [公司倒闭 1 年了,而我当年的项目上了 GitHub 热榜](https://mp.weixin.qq.com/s/qGFo2MKkD0AObBJDPR8veQ) ### 3. 部署问题 #### 3.1 下载问题 有两个地方可以下载到最新版的微人事,如果在 GitHub 上下载失败,也可以从 Gitee 上下载。 - GitHub:[https://github.com/lenve/vhr](https://github.com/lenve/vhr) - Gitee:[https://gitee.com/lenve/vhr](https://gitee.com/lenve/vhr) #### 3.2 提前准备 准备三样东西: - 空的 vhr 数据库 - redis - rabbitmq #### 3.3 项目导入 项目的 Maven 依赖下载失败,可以参考这篇文章: [依赖下载失败解决方案](https://mp.weixin.qq.com/s/6PPYwrNestz-gvmB4ZkAqQ) #### 3.4 项目配置 vhrserver 的 web 模块 application.properties 中配置三样: - 数据库连接 - redis - rabbitmq 启动 vhr-web 模块。如果只是看效果,可以不启动 mailserver 模块(如果要启动 mailserver,一定先配置 mailserver 的 redis,rabbitmq 以及 邮件发送配置信息,邮件发送配置,可以参考这篇文章:[Spring Boot 中邮件发送](https://mp.weixin.qq.com/s/FKyQNyPDQY8O25Hk2x7rKg))。 #### 3.5 二次开发 这个需要部署前端。前端在运行时,需要准备一个 nodejs。 用 webstorm 打开下载的前端项目。 前端项目打开后,需要在项目根目录下,执行 npm install。 默认安装比较慢,可以修改为淘宝的源。[下载源修改为淘宝](https://mp.weixin.qq.com/s/HWRYAR16vLE1XFep6_i1tA) npm install 执行成功后,再执行 npm run serve 启动前端项目。 二次开发完成后,执行 npm run build 前端编译打包。把打包后的文件拷贝到后端。 上线部署参考这篇文章:[手把手教你部署前后端分离项目,再也不用担心跨域问题了](https://mp.weixin.qq.com/s/KWBtHi_au_1pH70OYptjfA) ================================================ FILE: vhr/mailserver/.gitignore ================================================ HELP.md target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** !**/src/test/** ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans .sts4-cache ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### /nbproject/private/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ build/ ### VS Code ### .vscode/ ================================================ FILE: vhr/mailserver/.mvn/wrapper/MavenWrapperDownloader.java ================================================ /* * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.net.*; import java.io.*; import java.nio.channels.*; import java.util.Properties; public class MavenWrapperDownloader { private static final String WRAPPER_VERSION = "0.5.5"; /** * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. */ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; /** * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to * use instead of the default one. */ private static final String MAVEN_WRAPPER_PROPERTIES_PATH = ".mvn/wrapper/maven-wrapper.properties"; /** * Path where the maven-wrapper.jar will be saved to. */ private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar"; /** * Name of the property which should be used to override the default download url for the wrapper. */ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; public static void main(String args[]) { System.out.println("- Downloader started"); File baseDirectory = new File(args[0]); System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); // If the maven-wrapper.properties exists, read it and check if it contains a custom // wrapperUrl parameter. File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); String url = DEFAULT_DOWNLOAD_URL; if (mavenWrapperPropertyFile.exists()) { FileInputStream mavenWrapperPropertyFileInputStream = null; try { mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); Properties mavenWrapperProperties = new Properties(); mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); } catch (IOException e) { System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); } finally { try { if (mavenWrapperPropertyFileInputStream != null) { mavenWrapperPropertyFileInputStream.close(); } } catch (IOException e) { // Ignore ... } } } System.out.println("- Downloading from: " + url); File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); if (!outputFile.getParentFile().exists()) { if (!outputFile.getParentFile().mkdirs()) { System.out.println( "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); } } System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); try { downloadFileFromURL(url, outputFile); System.out.println("Done"); System.exit(0); } catch (Throwable e) { System.out.println("- Error downloading"); e.printStackTrace(); System.exit(1); } } private static void downloadFileFromURL(String urlString, File destination) throws Exception { if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { String username = System.getenv("MVNW_USERNAME"); char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); Authenticator.setDefault(new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); } URL website = new URL(urlString); ReadableByteChannel rbc; rbc = Channels.newChannel(website.openStream()); FileOutputStream fos = new FileOutputStream(destination); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); rbc.close(); } } ================================================ FILE: vhr/mailserver/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar ================================================ FILE: vhr/mailserver/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. ########################################################################################## if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found .mvn/wrapper/maven-wrapper.jar" fi else if [ "$MVNW_VERBOSE" = true ]; then echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." fi if [ -n "$MVNW_REPOURL" ]; then jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" else jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" fi while IFS="=" read key value; do case "$key" in (wrapperUrl) jarUrl="$value"; break ;; esac done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" if [ "$MVNW_VERBOSE" = true ]; then echo "Downloading from: $jarUrl" fi wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" if $cygwin; then wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` fi if command -v wget > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found wget ... using wget" fi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then wget "$jarUrl" -O "$wrapperJarPath" else wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" fi elif command -v curl > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found curl ... using curl" fi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then curl -o "$wrapperJarPath" "$jarUrl" -f else curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f fi else if [ "$MVNW_VERBOSE" = true ]; then echo "Falling back to using Java to download" fi javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" # For Cygwin, switch paths to Windows format before running javac if $cygwin; then javaClass=`cygpath --path --windows "$javaClass"` fi if [ -e "$javaClass" ]; then if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then if [ "$MVNW_VERBOSE" = true ]; then echo " - Compiling MavenWrapperDownloader.java ..." fi # Compiling the Java class ("$JAVA_HOME/bin/javac" "$javaClass") fi if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then # Running the downloader if [ "$MVNW_VERBOSE" = true ]; then echo " - Running MavenWrapperDownloader.java ..." fi ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") fi fi fi fi ########################################################################################## # End of extension ########################################################################################## export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} if [ "$MVNW_VERBOSE" = true ]; then echo $MAVEN_PROJECTBASEDIR fi MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: vhr/mailserver/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM https://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM set title of command window title %0 @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @REM This allows using the maven wrapper in projects that prohibit checking in binary data. if exist %WRAPPER_JAR% ( if "%MVNW_VERBOSE%" == "true" ( echo Found %WRAPPER_JAR% ) ) else ( if not "%MVNW_REPOURL%" == "" ( SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" ) if "%MVNW_VERBOSE%" == "true" ( echo Couldn't find %WRAPPER_JAR%, downloading it ... echo Downloading from: %DOWNLOAD_URL% ) powershell -Command "&{"^ "$webclient = new-object System.Net.WebClient;"^ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ "}"^ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ "}" if "%MVNW_VERBOSE%" == "true" ( echo Finished downloading %WRAPPER_JAR% ) ) @REM End of extension @REM Provide a "standardized" way to retrieve the CLI args that will @REM work with both Windows and non-Windows executions. set MAVEN_CMD_LINE_ARGS=%* %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: vhr/mailserver/pom.xml ================================================ 4.0.0 vhr org.javaboy 1.0-SNAPSHOT org.javaboy mailserver 0.0.1-SNAPSHOT mailserver Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-amqp org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-mail org.springframework.boot spring-boot-starter-thymeleaf org.javaboy vhr-model 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine org.springframework.amqp spring-rabbit-test test org.springframework.boot spring-boot-maven-plugin ================================================ FILE: vhr/mailserver/src/main/java/org/javaboy/mailserver/MailserverApplication.java ================================================ package org.javaboy.mailserver; import org.javaboy.vhr.model.MailConstants; import org.springframework.amqp.core.Queue; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; @SpringBootApplication public class MailserverApplication { public static void main(String[] args) { SpringApplication.run(MailserverApplication.class, args); } @Bean Queue queue() { return new Queue(MailConstants.MAIL_QUEUE_NAME); } } ================================================ FILE: vhr/mailserver/src/main/java/org/javaboy/mailserver/receiver/MailReceiver.java ================================================ package org.javaboy.mailserver.receiver; import com.rabbitmq.client.Channel; import org.javaboy.vhr.model.Employee; import org.javaboy.vhr.model.MailConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.support.AmqpHeaders; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.mail.MailProperties; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; import org.springframework.stereotype.Component; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import java.io.IOException; import java.util.Date; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-11-24 7:59 */ @Component public class MailReceiver { public static final Logger logger = LoggerFactory.getLogger(MailReceiver.class); @Autowired JavaMailSender javaMailSender; @Autowired MailProperties mailProperties; @Autowired TemplateEngine templateEngine; @Autowired StringRedisTemplate redisTemplate; @RabbitListener(queues = MailConstants.MAIL_QUEUE_NAME) public void handler(Message message, Channel channel) throws IOException { Employee employee = (Employee) message.getPayload(); MessageHeaders headers = message.getHeaders(); Long tag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG); String msgId = (String) headers.get("spring_returned_message_correlation"); if (redisTemplate.opsForHash().entries("mail_log").containsKey(msgId)) { //redis 中包含该 key,说明该消息已经被消费过 logger.info(msgId + ":消息已经被消费"); channel.basicAck(tag, false);//确认消息已消费 return; } //收到消息,发送邮件 MimeMessage msg = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg); try { helper.setTo(employee.getEmail()); helper.setFrom(mailProperties.getUsername()); helper.setSubject("入职欢迎"); helper.setSentDate(new Date()); Context context = new Context(); context.setVariable("name", employee.getName()); context.setVariable("posName", employee.getPosition().getName()); context.setVariable("joblevelName", employee.getJobLevel().getName()); context.setVariable("departmentName", employee.getDepartment().getName()); String mail = templateEngine.process("mail", context); helper.setText(mail, true); javaMailSender.send(msg); redisTemplate.opsForHash().put("mail_log", msgId, "javaboy"); channel.basicAck(tag, false); logger.info(msgId + ":邮件发送成功"); } catch (MessagingException e) { channel.basicNack(tag, false, true); e.printStackTrace(); logger.error("邮件发送失败:" + e.getMessage()); } } } ================================================ FILE: vhr/mailserver/src/main/resources/application.properties ================================================ server.port=8082 spring.mail.host=smtp.qq.com spring.mail.protocol=smtp spring.mail.default-encoding=UTF-8 spring.mail.password= spring.mail.username= spring.mail.port=587 spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory spring.mail.properties.mail.debug=true spring.rabbitmq.username=guest spring.rabbitmq.password=guest spring.rabbitmq.host=192.168.91.128 spring.rabbitmq.port=5672 spring.rabbitmq.listener.simple.acknowledge-mode=manual spring.rabbitmq.listener.simple.prefetch=100 spring.redis.host=192.168.91.128 spring.redis.port=6379 spring.redis.password=123 spring.redis.database=0 ================================================ FILE: vhr/mailserver/src/main/resources/templates/mail.html ================================================ 入职欢迎邮件 欢迎 加入 Java达摩院 大家庭,您的入职信息如下:
姓名
职位
职称
部门

希望在未来的日子里,携手共进!

================================================ FILE: vhr/mailserver/src/test/java/org/javaboy/mailserver/MailserverApplicationTests.java ================================================ package org.javaboy.mailserver; import org.junit.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class MailserverApplicationTests { @Test void contextLoads() { } } ================================================ FILE: vhr/pom.xml ================================================ 4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.0 org.javaboy vhr pom 1.0-SNAPSHOT vhrserver mailserver ================================================ FILE: vhr/vhrserver/pom.xml ================================================ vhr org.javaboy 1.0-SNAPSHOT 4.0.0 vhrserver pom vhr-mapper vhr-model vhr-service vhr-web ================================================ FILE: vhr/vhrserver/vhr-mapper/pom.xml ================================================ vhrserver org.javaboy 1.0-SNAPSHOT 4.0.0 vhr-mapper org.javaboy vhr-model 1.0-SNAPSHOT org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.0 org.flywaydb flyway-core com.alibaba druid-spring-boot-starter 1.1.10 src/main/java **/*.xml src/main/resources ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AdjustSalaryMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.AdjustSalary; public interface AdjustSalaryMapper { int deleteByPrimaryKey(Integer id); int insert(AdjustSalary record); int insertSelective(AdjustSalary record); AdjustSalary selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(AdjustSalary record); int updateByPrimaryKey(AdjustSalary record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AdjustSalaryMapper.xml ================================================ id, eid, asDate, beforeSalary, afterSalary, reason, remark delete from adjustsalary where id = #{id,jdbcType=INTEGER} insert into adjustsalary (id, eid, asDate, beforeSalary, afterSalary, reason, remark) values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{asdate,jdbcType=DATE}, #{beforesalary,jdbcType=INTEGER}, #{aftersalary,jdbcType=INTEGER}, #{reason,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}) insert into adjustsalary id, eid, asDate, beforeSalary, afterSalary, reason, remark, #{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{asdate,jdbcType=DATE}, #{beforesalary,jdbcType=INTEGER}, #{aftersalary,jdbcType=INTEGER}, #{reason,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, update adjustsalary eid = #{eid,jdbcType=INTEGER}, asDate = #{asdate,jdbcType=DATE}, beforeSalary = #{beforesalary,jdbcType=INTEGER}, afterSalary = #{aftersalary,jdbcType=INTEGER}, reason = #{reason,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update adjustsalary set eid = #{eid,jdbcType=INTEGER}, asDate = #{asdate,jdbcType=DATE}, beforeSalary = #{beforesalary,jdbcType=INTEGER}, afterSalary = #{aftersalary,jdbcType=INTEGER}, reason = #{reason,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AppraiseMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Appraise; public interface AppraiseMapper { int deleteByPrimaryKey(Integer id); int insert(Appraise record); int insertSelective(Appraise record); Appraise selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Appraise record); int updateByPrimaryKey(Appraise record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AppraiseMapper.xml ================================================ id, eid, appDate, appResult, appContent, remark delete from appraise where id = #{id,jdbcType=INTEGER} insert into appraise (id, eid, appDate, appResult, appContent, remark ) values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{appdate,jdbcType=DATE}, #{appresult,jdbcType=VARCHAR}, #{appcontent,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR} ) insert into appraise id, eid, appDate, appResult, appContent, remark, #{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{appdate,jdbcType=DATE}, #{appresult,jdbcType=VARCHAR}, #{appcontent,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, update appraise eid = #{eid,jdbcType=INTEGER}, appDate = #{appdate,jdbcType=DATE}, appResult = #{appresult,jdbcType=VARCHAR}, appContent = #{appcontent,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update appraise set eid = #{eid,jdbcType=INTEGER}, appDate = #{appdate,jdbcType=DATE}, appResult = #{appresult,jdbcType=VARCHAR}, appContent = #{appcontent,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/DepartmentMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Department; import java.util.List; public interface DepartmentMapper { int deleteByPrimaryKey(Integer id); int insert(Department record); int insertSelective(Department record); Department selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Department record); int updateByPrimaryKey(Department record); List getAllDepartmentsByParentId(Integer pid); void addDep(Department dep); void deleteDepById(Department dep); List getAllDepartmentsWithOutChildren(); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/DepartmentMapper.xml ================================================ id, name, parentId, depPath, enabled, isParent delete from department where id = #{id,jdbcType=INTEGER} insert into department (id, name, parentId, depPath, enabled, isParent) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{parentId,jdbcType=INTEGER}, #{depPath,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT}, #{isParent,jdbcType=BIT}) insert into department id, name, parentId, depPath, enabled, isParent, #{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{parentId,jdbcType=INTEGER}, #{depPath,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT}, #{isParent,jdbcType=BIT}, update department name = #{name,jdbcType=VARCHAR}, parentId = #{parentId,jdbcType=INTEGER}, depPath = #{depPath,jdbcType=VARCHAR}, enabled = #{enabled,jdbcType=BIT}, isParent = #{isParent,jdbcType=BIT}, where id = #{id,jdbcType=INTEGER} update department set name = #{name,jdbcType=VARCHAR}, parentId = #{parentId,jdbcType=INTEGER}, depPath = #{depPath,jdbcType=VARCHAR}, enabled = #{enabled,jdbcType=BIT}, isParent = #{isParent,jdbcType=BIT} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmpSalaryMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.EmpSalary; public interface EmpSalaryMapper { int deleteByPrimaryKey(Integer id); int insert(EmpSalary record); int insertSelective(EmpSalary record); EmpSalary selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(EmpSalary record); int updateByPrimaryKey(EmpSalary record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmpSalaryMapper.xml ================================================ id, eid, sid delete from empsalary where id = #{id,jdbcType=INTEGER} insert into empsalary (id, eid, sid) values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{sid,jdbcType=INTEGER}) insert into empsalary id, eid, sid, #{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{sid,jdbcType=INTEGER}, update empsalary eid = #{eid,jdbcType=INTEGER}, sid = #{sid,jdbcType=INTEGER}, where id = #{id,jdbcType=INTEGER} update empsalary set eid = #{eid,jdbcType=INTEGER}, sid = #{sid,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeMapper.java ================================================ package org.javaboy.vhr.mapper; import org.apache.ibatis.annotations.Param; import org.javaboy.vhr.model.Employee; import java.util.Date; import java.util.List; public interface EmployeeMapper { int deleteByPrimaryKey(Integer id); int insert(Employee record); int insertSelective(Employee record); Employee selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Employee record); int updateByPrimaryKey(Employee record); List getEmployeeByPage(@Param("page") Integer page, @Param("size") Integer size, @Param("emp") Employee employee,@Param("beginDateScope") Date[] beginDateScope); Long getTotal(@Param("emp") Employee employee,@Param("beginDateScope") Date[] beginDateScope); Integer maxWorkID(); Integer addEmps(@Param("list") List list); Employee getEmployeeById(Integer id); List getEmployeeByPageWithSalary(@Param("page") Integer page, @Param("size") Integer size); Integer updateEmployeeSalaryById(@Param("eid") Integer eid, @Param("sid") Integer sid); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeMapper.xml ================================================ id, name, gender, birthday, idCard, wedlock, nationId, nativePlace, politicId, email, phone, address, departmentId, jobLevelId, posId, engageForm, tiptopDegree, specialty, school, beginDate, workState, workID, contractTerm, conversionTime, notWorkDate, beginContract, endContract, workAge REPLACE INTO empsalary (eid,sid) VALUES(#{eid},#{sid}) delete from employee where id = #{id,jdbcType=INTEGER} insert into employee (name, gender, birthday, idCard, wedlock, nationId, nativePlace, politicId, email, phone, address, departmentId, jobLevelId, posId, engageForm, tiptopDegree, specialty, school, beginDate, workState, workID, contractTerm, conversionTime, notWorkDate, beginContract, endContract, workAge ) values (#{emp.name,jdbcType=VARCHAR}, #{emp.gender,jdbcType=CHAR}, #{emp.birthday,jdbcType=DATE}, #{emp.idCard,jdbcType=CHAR}, #{emp.wedlock,jdbcType=CHAR}, #{emp.nationId,jdbcType=INTEGER}, #{emp.nativePlace,jdbcType=VARCHAR}, #{emp.politicId,jdbcType=INTEGER}, #{emp.email,jdbcType=VARCHAR}, #{emp.phone,jdbcType=VARCHAR}, #{emp.address,jdbcType=VARCHAR}, #{emp.departmentId,jdbcType=INTEGER}, #{emp.jobLevelId,jdbcType=INTEGER}, #{emp.posId,jdbcType=INTEGER}, #{emp.engageForm,jdbcType=VARCHAR}, #{emp.tiptopDegree,jdbcType=CHAR}, #{emp.specialty,jdbcType=VARCHAR}, #{emp.school,jdbcType=VARCHAR}, #{emp.beginDate,jdbcType=DATE}, #{emp.workState,jdbcType=CHAR}, #{emp.workID,jdbcType=CHAR}, #{emp.contractTerm,jdbcType=DOUBLE}, #{emp.conversionTime,jdbcType=DATE}, #{emp.notWorkDate,jdbcType=DATE}, #{emp.beginContract,jdbcType=DATE}, #{emp.endContract,jdbcType=DATE}, #{emp.workAge,jdbcType=INTEGER} ) insert into employee (id, name, gender, birthday, idCard, wedlock, nationId, nativePlace, politicId, email, phone, address, departmentId, jobLevelId, posId, engageForm, tiptopDegree, specialty, school, beginDate, workState, workID, contractTerm, conversionTime, notWorkDate, beginContract, endContract, workAge ) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{gender,jdbcType=CHAR}, #{birthday,jdbcType=DATE}, #{idCard,jdbcType=CHAR}, #{wedlock,jdbcType=CHAR}, #{nationId,jdbcType=INTEGER}, #{nativePlace,jdbcType=VARCHAR}, #{politicId,jdbcType=INTEGER}, #{email,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{departmentId,jdbcType=INTEGER}, #{jobLevelId,jdbcType=INTEGER}, #{posId,jdbcType=INTEGER}, #{engageForm,jdbcType=VARCHAR}, #{tiptopDegree,jdbcType=CHAR}, #{specialty,jdbcType=VARCHAR}, #{school,jdbcType=VARCHAR}, #{beginDate,jdbcType=DATE}, #{workState,jdbcType=CHAR}, #{workID,jdbcType=CHAR}, #{contractTerm,jdbcType=DOUBLE}, #{conversionTime,jdbcType=DATE}, #{notWorkDate,jdbcType=DATE}, #{beginContract,jdbcType=DATE}, #{endContract,jdbcType=DATE}, #{workAge,jdbcType=INTEGER} ) insert into employee id, name, gender, birthday, idCard, wedlock, nationId, nativePlace, politicId, email, phone, address, departmentId, jobLevelId, posId, engageForm, tiptopDegree, specialty, school, beginDate, workState, workID, contractTerm, conversionTime, notWorkDate, beginContract, endContract, workAge, #{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{gender,jdbcType=CHAR}, #{birthday,jdbcType=DATE}, #{idCard,jdbcType=CHAR}, #{wedlock,jdbcType=CHAR}, #{nationId,jdbcType=INTEGER}, #{nativePlace,jdbcType=VARCHAR}, #{politicId,jdbcType=INTEGER}, #{email,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{departmentId,jdbcType=INTEGER}, #{jobLevelId,jdbcType=INTEGER}, #{posId,jdbcType=INTEGER}, #{engageForm,jdbcType=VARCHAR}, #{tiptopDegree,jdbcType=CHAR}, #{specialty,jdbcType=VARCHAR}, #{school,jdbcType=VARCHAR}, #{beginDate,jdbcType=DATE}, #{workState,jdbcType=CHAR}, #{workID,jdbcType=CHAR}, #{contractTerm,jdbcType=DOUBLE}, #{conversionTime,jdbcType=DATE}, #{notWorkDate,jdbcType=DATE}, #{beginContract,jdbcType=DATE}, #{endContract,jdbcType=DATE}, #{workAge,jdbcType=INTEGER}, update employee name = #{name,jdbcType=VARCHAR}, gender = #{gender,jdbcType=CHAR}, birthday = #{birthday,jdbcType=DATE}, idCard = #{idCard,jdbcType=CHAR}, wedlock = #{wedlock,jdbcType=CHAR}, nationId = #{nationId,jdbcType=INTEGER}, nativePlace = #{nativePlace,jdbcType=VARCHAR}, politicId = #{politicId,jdbcType=INTEGER}, email = #{email,jdbcType=VARCHAR}, phone = #{phone,jdbcType=VARCHAR}, address = #{address,jdbcType=VARCHAR}, departmentId = #{departmentId,jdbcType=INTEGER}, jobLevelId = #{jobLevelId,jdbcType=INTEGER}, posId = #{posId,jdbcType=INTEGER}, engageForm = #{engageForm,jdbcType=VARCHAR}, tiptopDegree = #{tiptopDegree,jdbcType=CHAR}, specialty = #{specialty,jdbcType=VARCHAR}, school = #{school,jdbcType=VARCHAR}, beginDate = #{beginDate,jdbcType=DATE}, workState = #{workState,jdbcType=CHAR}, workID = #{workID,jdbcType=CHAR}, contractTerm = #{contractTerm,jdbcType=DOUBLE}, conversionTime = #{conversionTime,jdbcType=DATE}, notWorkDate = #{notWorkDate,jdbcType=DATE}, beginContract = #{beginContract,jdbcType=DATE}, endContract = #{endContract,jdbcType=DATE}, workAge = #{workAge,jdbcType=INTEGER}, where id = #{id,jdbcType=INTEGER} update employee set name = #{name,jdbcType=VARCHAR}, gender = #{gender,jdbcType=CHAR}, birthday = #{birthday,jdbcType=DATE}, idCard = #{idCard,jdbcType=CHAR}, wedlock = #{wedlock,jdbcType=CHAR}, nationId = #{nationId,jdbcType=INTEGER}, nativePlace = #{nativePlace,jdbcType=VARCHAR}, politicId = #{politicId,jdbcType=INTEGER}, email = #{email,jdbcType=VARCHAR}, phone = #{phone,jdbcType=VARCHAR}, address = #{address,jdbcType=VARCHAR}, departmentId = #{departmentId,jdbcType=INTEGER}, jobLevelId = #{jobLevelId,jdbcType=INTEGER}, posId = #{posId,jdbcType=INTEGER}, engageForm = #{engageForm,jdbcType=VARCHAR}, tiptopDegree = #{tiptopDegree,jdbcType=CHAR}, specialty = #{specialty,jdbcType=VARCHAR}, school = #{school,jdbcType=VARCHAR}, beginDate = #{beginDate,jdbcType=DATE}, workState = #{workState,jdbcType=CHAR}, workID = #{workID,jdbcType=CHAR}, contractTerm = #{contractTerm,jdbcType=DOUBLE}, conversionTime = #{conversionTime,jdbcType=DATE}, notWorkDate = #{notWorkDate,jdbcType=DATE}, beginContract = #{beginContract,jdbcType=DATE}, endContract = #{endContract,jdbcType=DATE}, workAge = #{workAge,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeecMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Employeeec; public interface EmployeeecMapper { int deleteByPrimaryKey(Integer id); int insert(Employeeec record); int insertSelective(Employeeec record); Employeeec selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Employeeec record); int updateByPrimaryKey(Employeeec record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeecMapper.xml ================================================ id, eid, ecDate, ecReason, ecPoint, ecType, remark delete from employeeec where id = #{id,jdbcType=INTEGER} insert into employeeec (id, eid, ecDate, ecReason, ecPoint, ecType, remark) values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{ecdate,jdbcType=DATE}, #{ecreason,jdbcType=VARCHAR}, #{ecpoint,jdbcType=INTEGER}, #{ectype,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}) insert into employeeec id, eid, ecDate, ecReason, ecPoint, ecType, remark, #{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{ecdate,jdbcType=DATE}, #{ecreason,jdbcType=VARCHAR}, #{ecpoint,jdbcType=INTEGER}, #{ectype,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}, update employeeec eid = #{eid,jdbcType=INTEGER}, ecDate = #{ecdate,jdbcType=DATE}, ecReason = #{ecreason,jdbcType=VARCHAR}, ecPoint = #{ecpoint,jdbcType=INTEGER}, ecType = #{ectype,jdbcType=INTEGER}, remark = #{remark,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update employeeec set eid = #{eid,jdbcType=INTEGER}, ecDate = #{ecdate,jdbcType=DATE}, ecReason = #{ecreason,jdbcType=VARCHAR}, ecPoint = #{ecpoint,jdbcType=INTEGER}, ecType = #{ectype,jdbcType=INTEGER}, remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeremoveMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Employeeremove; public interface EmployeeremoveMapper { int deleteByPrimaryKey(Integer id); int insert(Employeeremove record); int insertSelective(Employeeremove record); Employeeremove selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Employeeremove record); int updateByPrimaryKey(Employeeremove record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeremoveMapper.xml ================================================ id, eid, afterDepId, afterJobId, removeDate, reason, remark delete from employeeremove where id = #{id,jdbcType=INTEGER} insert into employeeremove (id, eid, afterDepId, afterJobId, removeDate, reason, remark) values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{afterdepid,jdbcType=INTEGER}, #{afterjobid,jdbcType=INTEGER}, #{removedate,jdbcType=DATE}, #{reason,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}) insert into employeeremove id, eid, afterDepId, afterJobId, removeDate, reason, remark, #{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{afterdepid,jdbcType=INTEGER}, #{afterjobid,jdbcType=INTEGER}, #{removedate,jdbcType=DATE}, #{reason,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, update employeeremove eid = #{eid,jdbcType=INTEGER}, afterDepId = #{afterdepid,jdbcType=INTEGER}, afterJobId = #{afterjobid,jdbcType=INTEGER}, removeDate = #{removedate,jdbcType=DATE}, reason = #{reason,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update employeeremove set eid = #{eid,jdbcType=INTEGER}, afterDepId = #{afterdepid,jdbcType=INTEGER}, afterJobId = #{afterjobid,jdbcType=INTEGER}, removeDate = #{removedate,jdbcType=DATE}, reason = #{reason,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeetrainMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Employeetrain; public interface EmployeetrainMapper { int deleteByPrimaryKey(Integer id); int insert(Employeetrain record); int insertSelective(Employeetrain record); Employeetrain selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Employeetrain record); int updateByPrimaryKey(Employeetrain record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeetrainMapper.xml ================================================ id, eid, trainDate, trainContent, remark delete from employeetrain where id = #{id,jdbcType=INTEGER} insert into employeetrain (id, eid, trainDate, trainContent, remark) values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{traindate,jdbcType=DATE}, #{traincontent,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}) insert into employeetrain id, eid, trainDate, trainContent, remark, #{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{traindate,jdbcType=DATE}, #{traincontent,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, update employeetrain eid = #{eid,jdbcType=INTEGER}, trainDate = #{traindate,jdbcType=DATE}, trainContent = #{traincontent,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update employeetrain set eid = #{eid,jdbcType=INTEGER}, trainDate = #{traindate,jdbcType=DATE}, trainContent = #{traincontent,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrMapper.java ================================================ package org.javaboy.vhr.mapper; import org.apache.ibatis.annotations.Param; import org.javaboy.vhr.model.Hr; import org.javaboy.vhr.model.Role; import java.util.List; public interface HrMapper { int deleteByPrimaryKey(Integer id); int insert(Hr record); int insertSelective(Hr record); Hr selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Hr record); int updateByPrimaryKey(Hr record); Hr loadUserByUsername(String username); List getHrRolesById(Integer id); List
getAllHrs(@Param("hrid") Integer hrid, @Param("keywords") String keywords); List
getAllHrsExceptCurrentHr(Integer id); Integer updatePasswd(@Param("hrid") Integer hrid, @Param("encodePass") String encodePass); Integer updateUserface(@Param("url") String url, @Param("id") Integer id); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrMapper.xml ================================================ id, name, phone, telephone, address, enabled, username, password, userface, remark delete from hr where id = #{id,jdbcType=INTEGER} insert into hr (id, name, phone, telephone, address, enabled, username, password, userface, remark) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{phone,jdbcType=CHAR}, #{telephone,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{userface,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}) insert into hr id, name, phone, telephone, address, enabled, username, password, userface, remark, #{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{phone,jdbcType=CHAR}, #{telephone,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{userface,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, update hr name = #{name,jdbcType=VARCHAR}, phone = #{phone,jdbcType=CHAR}, telephone = #{telephone,jdbcType=VARCHAR}, address = #{address,jdbcType=VARCHAR}, enabled = #{enabled,jdbcType=BIT}, username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, userface = #{userface,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update hr set userface = #{url} where id=#{id}; update hr set password = #{encodePass} where id=#{hrid}; update hr set name = #{name,jdbcType=VARCHAR}, phone = #{phone,jdbcType=CHAR}, telephone = #{telephone,jdbcType=VARCHAR}, address = #{address,jdbcType=VARCHAR}, enabled = #{enabled,jdbcType=BIT}, username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, userface = #{userface,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrRoleMapper.java ================================================ package org.javaboy.vhr.mapper; import org.apache.ibatis.annotations.Param; import org.javaboy.vhr.model.HrRole; public interface HrRoleMapper { int deleteByPrimaryKey(Integer id); int insert(HrRole record); int insertSelective(HrRole record); HrRole selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(HrRole record); int updateByPrimaryKey(HrRole record); void deleteByHrid(Integer hrid); Integer addRole(@Param("hrid") Integer hrid, @Param("rids") Integer[] rids); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrRoleMapper.xml ================================================ id, hrid, rid delete from hr_role where hrid=#{hrid} insert into hr_role (hrid,rid) values (#{hrid},#{rid}) delete from hr_role where id = #{id,jdbcType=INTEGER} insert into hr_role (id, hrid, rid ) values (#{id,jdbcType=INTEGER}, #{hrid,jdbcType=INTEGER}, #{rid,jdbcType=INTEGER} ) insert into hr_role id, hrid, rid, #{id,jdbcType=INTEGER}, #{hrid,jdbcType=INTEGER}, #{rid,jdbcType=INTEGER}, update hr_role hrid = #{hrid,jdbcType=INTEGER}, rid = #{rid,jdbcType=INTEGER}, where id = #{id,jdbcType=INTEGER} update hr_role set hrid = #{hrid,jdbcType=INTEGER}, rid = #{rid,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/JobLevelMapper.java ================================================ package org.javaboy.vhr.mapper; import org.apache.ibatis.annotations.Param; import org.javaboy.vhr.model.JobLevel; import java.util.List; public interface JobLevelMapper { int deleteByPrimaryKey(Integer id); int insert(JobLevel record); int insertSelective(JobLevel record); JobLevel selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(JobLevel record); int updateByPrimaryKey(JobLevel record); List getAllJobLevels(); Integer deleteJobLevelsByIds(@Param("ids") Integer[] ids); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/JobLevelMapper.xml ================================================ id, name, titleLevel, createDate, enabled delete from joblevel where id in #{id} delete from joblevel where id = #{id,jdbcType=INTEGER} insert into joblevel (id, name, titleLevel, createDate, enabled) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{titleLevel,jdbcType=CHAR}, #{createDate,jdbcType=TIMESTAMP}, #{enabled,jdbcType=BIT}) insert into joblevel id, name, titleLevel, createDate, enabled, #{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{titleLevel,jdbcType=CHAR}, #{createDate,jdbcType=TIMESTAMP}, #{enabled,jdbcType=BIT}, update joblevel name = #{name,jdbcType=VARCHAR}, titleLevel = #{titleLevel,jdbcType=CHAR}, createDate = #{createDate,jdbcType=TIMESTAMP}, enabled = #{enabled,jdbcType=BIT}, where id = #{id,jdbcType=INTEGER} update joblevel set name = #{name,jdbcType=VARCHAR}, titleLevel = #{titleLevel,jdbcType=CHAR}, createDate = #{createDate,jdbcType=TIMESTAMP}, enabled = #{enabled,jdbcType=BIT} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MailSendLogMapper.java ================================================ package org.javaboy.vhr.mapper; import org.apache.ibatis.annotations.Param; import org.javaboy.vhr.model.MailSendLog; import java.util.Date; import java.util.List; public interface MailSendLogMapper { Integer updateMailSendLogStatus(@Param("msgId") String msgId, @Param("status") Integer status); Integer insert(MailSendLog mailSendLog); List getMailSendLogsByStatus(); Integer updateCount(@Param("msgId") String msgId, @Param("date") Date date); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MailSendLogMapper.xml ================================================ update mail_send_log set status = #{status} where msgId=#{msgId}; insert into mail_send_log (msgId,empId,routeKey,exchange,tryTime,createTime) values (#{msgId},#{empId},#{routeKey},#{exchange},#{tryTime},#{createTime}); update mail_send_log set count=count+1,updateTime=#{date} where msgId=#{msgId}; ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Menu; import java.util.List; public interface MenuMapper { int deleteByPrimaryKey(Integer id); int insert(Menu record); int insertSelective(Menu record); Menu selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Menu record); int updateByPrimaryKey(Menu record); List getMenusByHrId(Integer hrid); List getAllMenusWithRole(); List getAllMenus(); List getMidsByRid(Integer rid); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuMapper.xml ================================================ id, url, path, component, name, iconCls, keepAlive, requireAuth, parentId, enabled delete from menu where id = #{id,jdbcType=INTEGER} insert into menu (id, url, path, component, name, iconCls, keepAlive, requireAuth, parentId, enabled) values (#{id,jdbcType=INTEGER}, #{url,jdbcType=VARCHAR}, #{path,jdbcType=VARCHAR}, #{component,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{iconcls,jdbcType=VARCHAR}, #{keepalive,jdbcType=BIT}, #{requireauth,jdbcType=BIT}, #{parentid,jdbcType=INTEGER}, #{enabled,jdbcType=BIT}) insert into menu id, url, path, component, name, iconCls, keepAlive, requireAuth, parentId, enabled, #{id,jdbcType=INTEGER}, #{url,jdbcType=VARCHAR}, #{path,jdbcType=VARCHAR}, #{component,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{iconcls,jdbcType=VARCHAR}, #{keepalive,jdbcType=BIT}, #{requireauth,jdbcType=BIT}, #{parentid,jdbcType=INTEGER}, #{enabled,jdbcType=BIT}, update menu url = #{url,jdbcType=VARCHAR}, path = #{path,jdbcType=VARCHAR}, component = #{component,jdbcType=VARCHAR}, name = #{name,jdbcType=VARCHAR}, iconCls = #{iconcls,jdbcType=VARCHAR}, keepAlive = #{keepalive,jdbcType=BIT}, requireAuth = #{requireauth,jdbcType=BIT}, parentId = #{parentid,jdbcType=INTEGER}, enabled = #{enabled,jdbcType=BIT}, where id = #{id,jdbcType=INTEGER} update menu set url = #{url,jdbcType=VARCHAR}, path = #{path,jdbcType=VARCHAR}, component = #{component,jdbcType=VARCHAR}, name = #{name,jdbcType=VARCHAR}, iconCls = #{iconcls,jdbcType=VARCHAR}, keepAlive = #{keepalive,jdbcType=BIT}, requireAuth = #{requireauth,jdbcType=BIT}, parentId = #{parentid,jdbcType=INTEGER}, enabled = #{enabled,jdbcType=BIT} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuRoleMapper.java ================================================ package org.javaboy.vhr.mapper; import org.apache.ibatis.annotations.Param; import org.javaboy.vhr.model.MenuRole; public interface MenuRoleMapper { int deleteByPrimaryKey(Integer id); int insert(MenuRole record); int insertSelective(MenuRole record); MenuRole selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(MenuRole record); int updateByPrimaryKey(MenuRole record); void deleteByRid(Integer rid); Integer insertRecord(@Param("rid") Integer rid, @Param("mids") Integer[] mids); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuRoleMapper.xml ================================================ id, mid, rid delete from menu_role where rid=#{rid} insert into menu_role (mid,rid) values (#{mid},#{rid}) delete from menu_role where id = #{id,jdbcType=INTEGER} insert into menu_role (id, mid, rid) values (#{id,jdbcType=INTEGER}, #{mid,jdbcType=INTEGER}, #{rid,jdbcType=INTEGER}) insert into menu_role id, mid, rid, #{id,jdbcType=INTEGER}, #{mid,jdbcType=INTEGER}, #{rid,jdbcType=INTEGER}, update menu_role mid = #{mid,jdbcType=INTEGER}, rid = #{rid,jdbcType=INTEGER}, where id = #{id,jdbcType=INTEGER} update menu_role set mid = #{mid,jdbcType=INTEGER}, rid = #{rid,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MsgContentMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.MsgContent; public interface MsgContentMapper { int deleteByPrimaryKey(Integer id); int insert(MsgContent record); int insertSelective(MsgContent record); MsgContent selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(MsgContent record); int updateByPrimaryKey(MsgContent record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MsgContentMapper.xml ================================================ id, title, message, createDate delete from msgcontent where id = #{id,jdbcType=INTEGER} insert into msgcontent (id, title, message, createDate) values (#{id,jdbcType=INTEGER}, #{title,jdbcType=VARCHAR}, #{message,jdbcType=VARCHAR}, #{createdate,jdbcType=TIMESTAMP}) insert into msgcontent id, title, message, createDate, #{id,jdbcType=INTEGER}, #{title,jdbcType=VARCHAR}, #{message,jdbcType=VARCHAR}, #{createdate,jdbcType=TIMESTAMP}, update msgcontent title = #{title,jdbcType=VARCHAR}, message = #{message,jdbcType=VARCHAR}, createDate = #{createdate,jdbcType=TIMESTAMP}, where id = #{id,jdbcType=INTEGER} update msgcontent set title = #{title,jdbcType=VARCHAR}, message = #{message,jdbcType=VARCHAR}, createDate = #{createdate,jdbcType=TIMESTAMP} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/NationMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Nation; import java.util.List; public interface NationMapper { int deleteByPrimaryKey(Integer id); int insert(Nation record); int insertSelective(Nation record); Nation selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Nation record); int updateByPrimaryKey(Nation record); List getAllNations(); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/NationMapper.xml ================================================ id, name delete from nation where id = #{id,jdbcType=INTEGER} insert into nation (id, name) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}) insert into nation id, name, #{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, update nation name = #{name,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update nation set name = #{name,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/OpLogMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.OpLog; public interface OpLogMapper { int deleteByPrimaryKey(Integer id); int insert(OpLog record); int insertSelective(OpLog record); OpLog selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(OpLog record); int updateByPrimaryKey(OpLog record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/OpLogMapper.xml ================================================ id, addDate, operate, hrid delete from oplog where id = #{id,jdbcType=INTEGER} insert into oplog (id, addDate, operate, hrid) values (#{id,jdbcType=INTEGER}, #{adddate,jdbcType=DATE}, #{operate,jdbcType=VARCHAR}, #{hrid,jdbcType=INTEGER}) insert into oplog id, addDate, operate, hrid, #{id,jdbcType=INTEGER}, #{adddate,jdbcType=DATE}, #{operate,jdbcType=VARCHAR}, #{hrid,jdbcType=INTEGER}, update oplog addDate = #{adddate,jdbcType=DATE}, operate = #{operate,jdbcType=VARCHAR}, hrid = #{hrid,jdbcType=INTEGER}, where id = #{id,jdbcType=INTEGER} update oplog set addDate = #{adddate,jdbcType=DATE}, operate = #{operate,jdbcType=VARCHAR}, hrid = #{hrid,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PoliticsstatusMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Politicsstatus; import java.util.List; public interface PoliticsstatusMapper { int deleteByPrimaryKey(Integer id); int insert(Politicsstatus record); int insertSelective(Politicsstatus record); Politicsstatus selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Politicsstatus record); int updateByPrimaryKey(Politicsstatus record); List getAllPoliticsstatus(); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PoliticsstatusMapper.xml ================================================ id, name delete from politicsstatus where id = #{id,jdbcType=INTEGER} insert into politicsstatus (id, name) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}) insert into politicsstatus id, name, #{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, update politicsstatus name = #{name,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update politicsstatus set name = #{name,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PositionMapper.java ================================================ package org.javaboy.vhr.mapper; import org.apache.ibatis.annotations.Param; import org.javaboy.vhr.model.Position; import java.util.List; public interface PositionMapper { int deleteByPrimaryKey(Integer id); int insert(Position record); int insertSelective(Position record); Position selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Position record); int updateByPrimaryKey(Position record); List getAllPositions(); Integer deletePositionsByIds(@Param("ids") Integer[] ids); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PositionMapper.xml ================================================ id, name, createDate, enabled delete from position where id = #{id,jdbcType=INTEGER} insert into position (id, name, createDate, enabled) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{enabled,jdbcType=BIT}) insert into position id, name, createDate, enabled, #{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{enabled,jdbcType=BIT}, delete from position where id in #{id} update position name = #{name,jdbcType=VARCHAR}, createDate = #{createDate,jdbcType=TIMESTAMP}, enabled = #{enabled,jdbcType=BIT}, where id = #{id,jdbcType=INTEGER} update position set name = #{name,jdbcType=VARCHAR}, createDate = #{createDate,jdbcType=TIMESTAMP}, enabled = #{enabled,jdbcType=BIT} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/RoleMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Role; import java.util.List; public interface RoleMapper { int deleteByPrimaryKey(Integer id); int insert(Role record); int insertSelective(Role record); Role selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Role record); int updateByPrimaryKey(Role record); List getAllRoles(); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/RoleMapper.xml ================================================ id, name, nameZh delete from role where id = #{id,jdbcType=INTEGER} insert into role (id, name, nameZh ) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{nameZh,jdbcType=VARCHAR} ) insert into role id, name, nameZh, #{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{nameZh,jdbcType=VARCHAR}, update role name = #{name,jdbcType=VARCHAR}, nameZh = #{nameZh,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update role set name = #{name,jdbcType=VARCHAR}, nameZh = #{nameZh,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SalaryMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.Salary; import java.util.List; public interface SalaryMapper { int deleteByPrimaryKey(Integer id); int insert(Salary record); int insertSelective(Salary record); Salary selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(Salary record); int updateByPrimaryKey(Salary record); List getAllSalaries(); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SalaryMapper.xml ================================================ id, basicSalary, bonus, lunchSalary, trafficSalary, allSalary, pensionBase, pensionPer, createDate, medicalBase, medicalPer, accumulationFundBase, accumulationFundPer, name delete from salary where id = #{id,jdbcType=INTEGER} insert into salary (id, basicSalary, bonus, lunchSalary, trafficSalary, allSalary, pensionBase, pensionPer, createDate, medicalBase, medicalPer, accumulationFundBase, accumulationFundPer, name) values (#{id,jdbcType=INTEGER}, #{basicSalary,jdbcType=INTEGER}, #{bonus,jdbcType=INTEGER}, #{lunchSalary,jdbcType=INTEGER}, #{trafficSalary,jdbcType=INTEGER}, #{allSalary,jdbcType=INTEGER}, #{pensionBase,jdbcType=INTEGER}, #{pensionPer,jdbcType=REAL}, #{createDate,jdbcType=TIMESTAMP}, #{medicalBase,jdbcType=INTEGER}, #{medicalPer,jdbcType=REAL}, #{accumulationFundBase,jdbcType=INTEGER}, #{accumulationFundPer,jdbcType=REAL}, #{name,jdbcType=VARCHAR}) insert into salary id, basicSalary, bonus, lunchSalary, trafficSalary, allSalary, pensionBase, pensionPer, createDate, medicalBase, medicalPer, accumulationFundBase, accumulationFundPer, name, #{id,jdbcType=INTEGER}, #{basicSalary,jdbcType=INTEGER}, #{bonus,jdbcType=INTEGER}, #{lunchSalary,jdbcType=INTEGER}, #{trafficSalary,jdbcType=INTEGER}, #{allSalary,jdbcType=INTEGER}, #{pensionBase,jdbcType=INTEGER}, #{pensionPer,jdbcType=REAL}, #{createDate,jdbcType=TIMESTAMP}, #{medicalBase,jdbcType=INTEGER}, #{medicalPer,jdbcType=REAL}, #{accumulationFundBase,jdbcType=INTEGER}, #{accumulationFundPer,jdbcType=REAL}, #{name,jdbcType=VARCHAR}, update salary basicSalary = #{basicSalary,jdbcType=INTEGER}, bonus = #{bonus,jdbcType=INTEGER}, lunchSalary = #{lunchSalary,jdbcType=INTEGER}, trafficSalary = #{trafficSalary,jdbcType=INTEGER}, allSalary = #{allSalary,jdbcType=INTEGER}, pensionBase = #{pensionBase,jdbcType=INTEGER}, pensionPer = #{pensionPer,jdbcType=REAL}, createDate = #{createDate,jdbcType=TIMESTAMP}, medicalBase = #{medicalBase,jdbcType=INTEGER}, medicalPer = #{medicalPer,jdbcType=REAL}, accumulationFundBase = #{accumulationFundBase,jdbcType=INTEGER}, accumulationFundPer = #{accumulationFundPer,jdbcType=REAL}, name = #{name,jdbcType=VARCHAR}, where id = #{id,jdbcType=INTEGER} update salary set basicSalary = #{basicSalary,jdbcType=INTEGER}, bonus = #{bonus,jdbcType=INTEGER}, lunchSalary = #{lunchSalary,jdbcType=INTEGER}, trafficSalary = #{trafficSalary,jdbcType=INTEGER}, allSalary = #{allSalary,jdbcType=INTEGER}, pensionBase = #{pensionBase,jdbcType=INTEGER}, pensionPer = #{pensionPer,jdbcType=REAL}, createDate = #{createDate,jdbcType=TIMESTAMP}, medicalBase = #{medicalBase,jdbcType=INTEGER}, medicalPer = #{medicalPer,jdbcType=REAL}, accumulationFundBase = #{accumulationFundBase,jdbcType=INTEGER}, accumulationFundPer = #{accumulationFundPer,jdbcType=REAL}, name = #{name,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SysMsgMapper.java ================================================ package org.javaboy.vhr.mapper; import org.javaboy.vhr.model.SysMsg; public interface SysMsgMapper { int deleteByPrimaryKey(Integer id); int insert(SysMsg record); int insertSelective(SysMsg record); SysMsg selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(SysMsg record); int updateByPrimaryKey(SysMsg record); } ================================================ FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SysMsgMapper.xml ================================================ id, mid, type, hrid, state delete from sysmsg where id = #{id,jdbcType=INTEGER} insert into sysmsg (id, mid, type, hrid, state) values (#{id,jdbcType=INTEGER}, #{mid,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}, #{hrid,jdbcType=INTEGER}, #{state,jdbcType=INTEGER}) insert into sysmsg id, mid, type, hrid, state, #{id,jdbcType=INTEGER}, #{mid,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}, #{hrid,jdbcType=INTEGER}, #{state,jdbcType=INTEGER}, update sysmsg mid = #{mid,jdbcType=INTEGER}, type = #{type,jdbcType=INTEGER}, hrid = #{hrid,jdbcType=INTEGER}, state = #{state,jdbcType=INTEGER}, where id = #{id,jdbcType=INTEGER} update sysmsg set mid = #{mid,jdbcType=INTEGER}, type = #{type,jdbcType=INTEGER}, hrid = #{hrid,jdbcType=INTEGER}, state = #{state,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} ================================================ FILE: vhr/vhrserver/vhr-model/pom.xml ================================================ vhrserver org.javaboy 1.0-SNAPSHOT 4.0.0 vhr-model org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-security ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/AdjustSalary.java ================================================ package org.javaboy.vhr.model; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Date; public class AdjustSalary { private Integer id; private Integer eid; private Date asdate; private Integer beforesalary; private Integer aftersalary; private String reason; private String remark; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getEid() { return eid; } public void setEid(Integer eid) { this.eid = eid; } public Date getAsdate() { return asdate; } public void setAsdate(Date asdate) { this.asdate = asdate; } public Integer getBeforesalary() { return beforesalary; } public void setBeforesalary(Integer beforesalary) { this.beforesalary = beforesalary; } public Integer getAftersalary() { return aftersalary; } public void setAftersalary(Integer aftersalary) { this.aftersalary = aftersalary; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason == null ? null : reason.trim(); } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark == null ? null : remark.trim(); } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Appraise.java ================================================ package org.javaboy.vhr.model; import java.util.Date; public class Appraise { private Integer id; private Integer eid; private Date appdate; private String appresult; private String appcontent; private String remark; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getEid() { return eid; } public void setEid(Integer eid) { this.eid = eid; } public Date getAppdate() { return appdate; } public void setAppdate(Date appdate) { this.appdate = appdate; } public String getAppresult() { return appresult; } public void setAppresult(String appresult) { this.appresult = appresult == null ? null : appresult.trim(); } public String getAppcontent() { return appcontent; } public void setAppcontent(String appcontent) { this.appcontent = appcontent == null ? null : appcontent.trim(); } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark == null ? null : remark.trim(); } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/ChatMsg.java ================================================ package org.javaboy.vhr.model; import java.util.Date; public class ChatMsg { private String from; private String to; private String content; private Date date; private String fromNickname; public String getFromNickname() { return fromNickname; } public void setFromNickname(String fromNickname) { this.fromNickname = fromNickname; } public String getFrom() { return from; } public void setFrom(String from) { this.from = from; } public String getTo() { return to; } public void setTo(String to) { this.to = to; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Department.java ================================================ package org.javaboy.vhr.model; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Objects; public class Department implements Serializable { private Integer id; private String name; private Integer parentId; public Department() { } public Department(String name) { this.name = name; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Department that = (Department) o; return Objects.equals(name, that.name); } @Override public int hashCode() { return Objects.hash(name); } private String depPath; private Boolean enabled; private Boolean isParent; private List children = new ArrayList<>(); private Integer result; public Integer getResult() { return result; } public void setResult(Integer result) { this.result = result; } public List getChildren() { return children; } public void setChildren(List children) { this.children = children; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public Boolean getEnabled() { return enabled; } public void setEnabled(Boolean enabled) { this.enabled = enabled; } public Integer getParentId() { return parentId; } public void setParentId(Integer parentId) { this.parentId = parentId; } public String getDepPath() { return depPath; } public void setDepPath(String depPath) { this.depPath = depPath; } public Boolean getParent() { return isParent; } public void setParent(Boolean parent) { isParent = parent; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/EmpSalary.java ================================================ package org.javaboy.vhr.model; public class EmpSalary { private Integer id; private Integer eid; private Integer sid; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getEid() { return eid; } public void setEid(Integer eid) { this.eid = eid; } public Integer getSid() { return sid; } public void setSid(Integer sid) { this.sid = sid; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employee.java ================================================ package org.javaboy.vhr.model; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serializable; import java.util.Date; public class Employee implements Serializable { private Integer id; private String name; private String gender; @Override public String toString() { return "Employee{" + "id=" + id + ", name='" + name + '\'' + ", gender='" + gender + '\'' + ", birthday=" + birthday + ", idCard='" + idCard + '\'' + ", wedlock='" + wedlock + '\'' + ", nationId=" + nationId + ", nativePlace='" + nativePlace + '\'' + ", politicId=" + politicId + ", email='" + email + '\'' + ", phone='" + phone + '\'' + ", address='" + address + '\'' + ", departmentId=" + departmentId + ", jobLevelId=" + jobLevelId + ", posId=" + posId + ", engageForm='" + engageForm + '\'' + ", tiptopDegree='" + tiptopDegree + '\'' + ", specialty='" + specialty + '\'' + ", school='" + school + '\'' + ", beginDate=" + beginDate + ", workState='" + workState + '\'' + ", workID='" + workID + '\'' + ", contractTerm=" + contractTerm + ", conversionTime=" + conversionTime + ", notWorkDate=" + notWorkDate + ", beginContract=" + beginContract + ", endContract=" + endContract + ", workAge=" + workAge + ", nation=" + nation + ", politicsstatus=" + politicsstatus + ", department=" + department + ", jobLevel=" + jobLevel + ", position=" + position + '}'; } @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai") private Date birthday; private String idCard; private String wedlock; private Integer nationId; private String nativePlace; private Integer politicId; private String email; private String phone; private String address; private Integer departmentId; private Integer jobLevelId; private Integer posId; private String engageForm; private String tiptopDegree; private String specialty; private String school; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai") private Date beginDate; private String workState; private String workID; private Double contractTerm; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai") private Date conversionTime; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai") private Date notWorkDate; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai") private Date beginContract; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai") private Date endContract; private Integer workAge; private Nation nation; private Politicsstatus politicsstatus; private Department department; private JobLevel jobLevel; private Position position; private Salary salary; public Salary getSalary() { return salary; } public void setSalary(Salary salary) { this.salary = salary; } public Nation getNation() { return nation; } public void setNation(Nation nation) { this.nation = nation; } public Politicsstatus getPoliticsstatus() { return politicsstatus; } public void setPoliticsstatus(Politicsstatus politicsstatus) { this.politicsstatus = politicsstatus; } public Department getDepartment() { return department; } public void setDepartment(Department department) { this.department = department; } public JobLevel getJobLevel() { return jobLevel; } public void setJobLevel(JobLevel jobLevel) { this.jobLevel = jobLevel; } public Position getPosition() { return position; } public void setPosition(Position position) { this.position = position; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getIdCard() { return idCard; } public void setIdCard(String idCard) { this.idCard = idCard; } public String getWedlock() { return wedlock; } public void setWedlock(String wedlock) { this.wedlock = wedlock; } public Integer getNationId() { return nationId; } public void setNationId(Integer nationId) { this.nationId = nationId; } public String getNativePlace() { return nativePlace; } public void setNativePlace(String nativePlace) { this.nativePlace = nativePlace; } public Integer getPoliticId() { return politicId; } public void setPoliticId(Integer politicId) { this.politicId = politicId; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Integer getDepartmentId() { return departmentId; } public void setDepartmentId(Integer departmentId) { this.departmentId = departmentId; } public Integer getJobLevelId() { return jobLevelId; } public void setJobLevelId(Integer jobLevelId) { this.jobLevelId = jobLevelId; } public Integer getPosId() { return posId; } public void setPosId(Integer posId) { this.posId = posId; } public String getEngageForm() { return engageForm; } public void setEngageForm(String engageForm) { this.engageForm = engageForm; } public String getTiptopDegree() { return tiptopDegree; } public void setTiptopDegree(String tiptopDegree) { this.tiptopDegree = tiptopDegree; } public String getSpecialty() { return specialty; } public void setSpecialty(String specialty) { this.specialty = specialty; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } public Date getBeginDate() { return beginDate; } public void setBeginDate(Date beginDate) { this.beginDate = beginDate; } public String getWorkState() { return workState; } public void setWorkState(String workState) { this.workState = workState; } public String getWorkID() { return workID; } public void setWorkID(String workID) { this.workID = workID; } public Double getContractTerm() { return contractTerm; } public void setContractTerm(Double contractTerm) { this.contractTerm = contractTerm; } public Date getConversionTime() { return conversionTime; } public void setConversionTime(Date conversionTime) { this.conversionTime = conversionTime; } public Date getNotWorkDate() { return notWorkDate; } public void setNotWorkDate(Date notWorkDate) { this.notWorkDate = notWorkDate; } public Date getBeginContract() { return beginContract; } public void setBeginContract(Date beginContract) { this.beginContract = beginContract; } public Date getEndContract() { return endContract; } public void setEndContract(Date endContract) { this.endContract = endContract; } public Integer getWorkAge() { return workAge; } public void setWorkAge(Integer workAge) { this.workAge = workAge; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeeec.java ================================================ package org.javaboy.vhr.model; import java.util.Date; public class Employeeec { private Integer id; private Integer eid; private Date ecdate; private String ecreason; private Integer ecpoint; private Integer ectype; private String remark; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getEid() { return eid; } public void setEid(Integer eid) { this.eid = eid; } public Date getEcdate() { return ecdate; } public void setEcdate(Date ecdate) { this.ecdate = ecdate; } public String getEcreason() { return ecreason; } public void setEcreason(String ecreason) { this.ecreason = ecreason == null ? null : ecreason.trim(); } public Integer getEcpoint() { return ecpoint; } public void setEcpoint(Integer ecpoint) { this.ecpoint = ecpoint; } public Integer getEctype() { return ectype; } public void setEctype(Integer ectype) { this.ectype = ectype; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark == null ? null : remark.trim(); } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeeremove.java ================================================ package org.javaboy.vhr.model; import java.util.Date; public class Employeeremove { private Integer id; private Integer eid; private Integer afterdepid; private Integer afterjobid; private Date removedate; private String reason; private String remark; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getEid() { return eid; } public void setEid(Integer eid) { this.eid = eid; } public Integer getAfterdepid() { return afterdepid; } public void setAfterdepid(Integer afterdepid) { this.afterdepid = afterdepid; } public Integer getAfterjobid() { return afterjobid; } public void setAfterjobid(Integer afterjobid) { this.afterjobid = afterjobid; } public Date getRemovedate() { return removedate; } public void setRemovedate(Date removedate) { this.removedate = removedate; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason == null ? null : reason.trim(); } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark == null ? null : remark.trim(); } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeetrain.java ================================================ package org.javaboy.vhr.model; import java.util.Date; public class Employeetrain { private Integer id; private Integer eid; private Date traindate; private String traincontent; private String remark; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getEid() { return eid; } public void setEid(Integer eid) { this.eid = eid; } public Date getTraindate() { return traindate; } public void setTraindate(Date traindate) { this.traindate = traindate; } public String getTraincontent() { return traincontent; } public void setTraincontent(String traincontent) { this.traincontent = traincontent == null ? null : traincontent.trim(); } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark == null ? null : remark.trim(); } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Hr.java ================================================ package org.javaboy.vhr.model; import com.fasterxml.jackson.annotation.JsonIgnore; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Objects; public class Hr implements UserDetails { private Integer id; private String name; private String phone; private String telephone; private String address; private Boolean enabled; private String username; private String password; private String userface; private String remark; private List roles; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Hr hr = (Hr) o; return Objects.equals(username, hr.username); } @Override public int hashCode() { return Objects.hash(username); } public List getRoles() { return roles; } public void setRoles(List roles) { this.roles = roles; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone == null ? null : phone.trim(); } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone == null ? null : telephone.trim(); } public String getAddress() { return address; } public void setAddress(String address) { this.address = address == null ? null : address.trim(); } public void setEnabled(Boolean enabled) { this.enabled = enabled; } public String getUsername() { return username; } @Override public boolean isAccountNonExpired() { return true; } @Override public boolean isAccountNonLocked() { return true; } @Override public boolean isCredentialsNonExpired() { return true; } @Override public boolean isEnabled() { return enabled; } public void setUsername(String username) { this.username = username == null ? null : username.trim(); } @Override @JsonIgnore public Collection getAuthorities() { List authorities = new ArrayList<>(roles.size()); for (Role role : roles) { authorities.add(new SimpleGrantedAuthority(role.getName())); } return authorities; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password == null ? null : password.trim(); } public String getUserface() { return userface; } public void setUserface(String userface) { this.userface = userface == null ? null : userface.trim(); } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark == null ? null : remark.trim(); } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/HrRole.java ================================================ package org.javaboy.vhr.model; public class HrRole { private Integer id; private Integer hrid; private Integer rid; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getHrid() { return hrid; } public void setHrid(Integer hrid) { this.hrid = hrid; } public Integer getRid() { return rid; } public void setRid(Integer rid) { this.rid = rid; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/JobLevel.java ================================================ package org.javaboy.vhr.model; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serializable; import java.util.Date; import java.util.Objects; public class JobLevel implements Serializable { private Integer id; private String name; private String titleLevel; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; JobLevel jobLevel = (JobLevel) o; return Objects.equals(name, jobLevel.name); } @Override public int hashCode() { return Objects.hash(name); } public JobLevel() { } public JobLevel(String name) { this.name = name; } @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai") private Date createDate; private Boolean enabled; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTitleLevel() { return titleLevel; } public void setTitleLevel(String titleLevel) { this.titleLevel = titleLevel; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Boolean getEnabled() { return enabled; } public void setEnabled(Boolean enabled) { this.enabled = enabled; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MailConstants.java ================================================ package org.javaboy.vhr.model; public class MailConstants { public static final Integer DELIVERING = 0;//消息投递中 public static final Integer SUCCESS = 1;//消息投递成功 public static final Integer FAILURE = 2;//消息投递失败 public static final Integer MAX_TRY_COUNT = 3;//最大重试次数 public static final Integer MSG_TIMEOUT = 1;//消息超时时间 public static final String MAIL_QUEUE_NAME = "javaboy.mail.queue"; public static final String MAIL_EXCHANGE_NAME = "javaboy.mail.exchange"; public static final String MAIL_ROUTING_KEY_NAME = "javaboy.mail.routing.key"; } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MailSendLog.java ================================================ package org.javaboy.vhr.model; import java.util.Date; public class MailSendLog { private String msgId; private Integer empId; //0 消息投递中 1 投递成功 2投递失败 private Integer status; private String routeKey; private String exchange; private Integer count; private Date tryTime; private Date createTime; private Date updateTime; public String getMsgId() { return msgId; } public void setMsgId(String msgId) { this.msgId = msgId; } public Integer getEmpId() { return empId; } public void setEmpId(Integer empId) { this.empId = empId; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public String getRouteKey() { return routeKey; } public void setRouteKey(String routeKey) { this.routeKey = routeKey; } public String getExchange() { return exchange; } public void setExchange(String exchange) { this.exchange = exchange; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } public Date getTryTime() { return tryTime; } public void setTryTime(Date tryTime) { this.tryTime = tryTime; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Menu.java ================================================ package org.javaboy.vhr.model; import java.io.Serializable; import java.util.List; public class Menu implements Serializable { private Integer id; private String url; private String path; private String component; private String name; private String iconCls; private Meta meta; private Integer parentId; private Boolean enabled; private List children; private List roles; public List getRoles() { return roles; } public void setRoles(List roles) { this.roles = roles; } public Meta getMeta() { return meta; } public void setMeta(Meta meta) { this.meta = meta; } public List getChildren() { return children; } public void setChildren(List children) { this.children = children; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public String getComponent() { return component; } public void setComponent(String component) { this.component = component; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getIconCls() { return iconCls; } public void setIconCls(String iconCls) { this.iconCls = iconCls; } public Integer getParentId() { return parentId; } public void setParentId(Integer parentId) { this.parentId = parentId; } public Boolean getEnabled() { return enabled; } public void setEnabled(Boolean enabled) { this.enabled = enabled; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MenuRole.java ================================================ package org.javaboy.vhr.model; public class MenuRole { private Integer id; private Integer mid; private Integer rid; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getMid() { return mid; } public void setMid(Integer mid) { this.mid = mid; } public Integer getRid() { return rid; } public void setRid(Integer rid) { this.rid = rid; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Meta.java ================================================ package org.javaboy.vhr.model; import java.io.Serializable; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-27 7:07 */ public class Meta implements Serializable { private Boolean keepAlive; private Boolean requireAuth; public Boolean getKeepAlive() { return keepAlive; } public void setKeepAlive(Boolean keepAlive) { this.keepAlive = keepAlive; } public Boolean getRequireAuth() { return requireAuth; } public void setRequireAuth(Boolean requireAuth) { this.requireAuth = requireAuth; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MsgContent.java ================================================ package org.javaboy.vhr.model; import java.util.Date; public class MsgContent { private Integer id; private String title; private String message; private Date createdate; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title == null ? null : title.trim(); } public String getMessage() { return message; } public void setMessage(String message) { this.message = message == null ? null : message.trim(); } public Date getCreatedate() { return createdate; } public void setCreatedate(Date createdate) { this.createdate = createdate; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Nation.java ================================================ package org.javaboy.vhr.model; import java.io.Serializable; import java.util.Objects; public class Nation implements Serializable { private Integer id; private String name; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Nation nation = (Nation) o; return Objects.equals(name, nation.name); } public Nation() { } public Nation(String name) { this.name = name; } @Override public int hashCode() { return Objects.hash(name); } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/OpLog.java ================================================ package org.javaboy.vhr.model; import java.util.Date; public class OpLog { private Integer id; private Date adddate; private String operate; private Integer hrid; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Date getAdddate() { return adddate; } public void setAdddate(Date adddate) { this.adddate = adddate; } public String getOperate() { return operate; } public void setOperate(String operate) { this.operate = operate == null ? null : operate.trim(); } public Integer getHrid() { return hrid; } public void setHrid(Integer hrid) { this.hrid = hrid; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Politicsstatus.java ================================================ package org.javaboy.vhr.model; import java.io.Serializable; import java.util.Objects; public class Politicsstatus implements Serializable { private Integer id; private String name; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Politicsstatus that = (Politicsstatus) o; return Objects.equals(name, that.name); } @Override public int hashCode() { return Objects.hash(name); } public Politicsstatus() { } public Politicsstatus(String name) { this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Position.java ================================================ package org.javaboy.vhr.model; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serializable; import java.util.Date; import java.util.Objects; public class Position implements Serializable { private Integer id; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Position position = (Position) o; return Objects.equals(name, position.name); } @Override public int hashCode() { return Objects.hash(name); } public Position() { } public Position(String name) { this.name = name; } private String name; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai") private Date createDate; private Boolean enabled; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Boolean getEnabled() { return enabled; } public void setEnabled(Boolean enabled) { this.enabled = enabled; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/RespBean.java ================================================ package org.javaboy.vhr.model; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-20 8:39 */ public class RespBean { private Integer status; private String msg; private Object obj; public static RespBean build() { return new RespBean(); } public static RespBean ok(String msg) { return new RespBean(200, msg, null); } public static RespBean ok(String msg, Object obj) { return new RespBean(200, msg, obj); } public static RespBean error(String msg) { return new RespBean(500, msg, null); } public static RespBean error(String msg, Object obj) { return new RespBean(500, msg, obj); } private RespBean() { } private RespBean(Integer status, String msg, Object obj) { this.status = status; this.msg = msg; this.obj = obj; } public Integer getStatus() { return status; } public RespBean setStatus(Integer status) { this.status = status; return this; } public String getMsg() { return msg; } public RespBean setMsg(String msg) { this.msg = msg; return this; } public Object getObj() { return obj; } public RespBean setObj(Object obj) { this.obj = obj; return this; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/RespPageBean.java ================================================ package org.javaboy.vhr.model; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-29 7:42 */ public class RespPageBean { private Long total; private List data; public Long getTotal() { return total; } public void setTotal(Long total) { this.total = total; } public List getData() { return data; } public void setData(List data) { this.data = data; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Role.java ================================================ package org.javaboy.vhr.model; import java.io.Serializable; import java.util.List; public class Role implements Serializable { private Integer id; private String name; private String nameZh; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public String getNameZh() { return nameZh; } public void setNameZh(String nameZh) { this.nameZh = nameZh; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Salary.java ================================================ package org.javaboy.vhr.model; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; public class Salary { private Integer id; private Integer basicSalary; private Integer bonus; private Integer lunchSalary; private Integer trafficSalary; private Integer allSalary; private Integer pensionBase; private Float pensionPer; @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; private Integer medicalBase; private Float medicalPer; private Integer accumulationFundBase; private Float accumulationFundPer; private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getBasicSalary() { return basicSalary; } public void setBasicSalary(Integer basicSalary) { this.basicSalary = basicSalary; } public Integer getBonus() { return bonus; } public void setBonus(Integer bonus) { this.bonus = bonus; } public Integer getLunchSalary() { return lunchSalary; } public void setLunchSalary(Integer lunchSalary) { this.lunchSalary = lunchSalary; } public Integer getTrafficSalary() { return trafficSalary; } public void setTrafficSalary(Integer trafficSalary) { this.trafficSalary = trafficSalary; } public Integer getAllSalary() { return allSalary; } public void setAllSalary(Integer allSalary) { this.allSalary = allSalary; } public Integer getPensionBase() { return pensionBase; } public void setPensionBase(Integer pensionBase) { this.pensionBase = pensionBase; } public Float getPensionPer() { return pensionPer; } public void setPensionPer(Float pensionPer) { this.pensionPer = pensionPer; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Integer getMedicalBase() { return medicalBase; } public void setMedicalBase(Integer medicalBase) { this.medicalBase = medicalBase; } public Float getMedicalPer() { return medicalPer; } public void setMedicalPer(Float medicalPer) { this.medicalPer = medicalPer; } public Integer getAccumulationFundBase() { return accumulationFundBase; } public void setAccumulationFundBase(Integer accumulationFundBase) { this.accumulationFundBase = accumulationFundBase; } public Float getAccumulationFundPer() { return accumulationFundPer; } public void setAccumulationFundPer(Float accumulationFundPer) { this.accumulationFundPer = accumulationFundPer; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ================================================ FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/SysMsg.java ================================================ package org.javaboy.vhr.model; public class SysMsg { private Integer id; private Integer mid; private Integer type; private Integer hrid; private Integer state; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getMid() { return mid; } public void setMid(Integer mid) { this.mid = mid; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public Integer getHrid() { return hrid; } public void setHrid(Integer hrid) { this.hrid = hrid; } public Integer getState() { return state; } public void setState(Integer state) { this.state = state; } } ================================================ FILE: vhr/vhrserver/vhr-service/pom.xml ================================================ vhrserver org.javaboy 1.0-SNAPSHOT 4.0.0 vhr-service org.javaboy vhr-mapper 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-cache org.springframework.boot spring-boot-starter-amqp org.apache.poi poi 4.1.1 ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/config/RabbitConfig.java ================================================ package org.javaboy.vhr.config; import org.javaboy.vhr.model.MailConstants; import org.javaboy.vhr.service.MailSendLogService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amqp.core.DirectExchange; import org.springframework.amqp.core.Queue; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class RabbitConfig { public final static Logger logger = LoggerFactory.getLogger(RabbitConfig.class); @Autowired CachingConnectionFactory cachingConnectionFactory; @Autowired MailSendLogService mailSendLogService; @Bean RabbitTemplate rabbitTemplate() { RabbitTemplate rabbitTemplate = new RabbitTemplate(cachingConnectionFactory); rabbitTemplate.setConfirmCallback((data, ack, cause) -> { String msgId = data.getId(); if (ack) { logger.info(msgId + ":消息发送成功"); mailSendLogService.updateMailSendLogStatus(msgId, 1);//修改数据库中的记录,消息投递成功 } else { logger.info(msgId + ":消息发送失败"); } }); rabbitTemplate.setReturnCallback((msg, repCode, repText, exchange, routingkey) -> { logger.info("消息发送失败"); }); return rabbitTemplate; } @Bean Queue mailQueue() { return new Queue(MailConstants.MAIL_QUEUE_NAME, true); } @Bean DirectExchange mailExchange() { return new DirectExchange(MailConstants.MAIL_EXCHANGE_NAME, true, false); } @Bean Binding mailBinding() { return BindingBuilder.bind(mailQueue()).to(mailExchange()).with(MailConstants.MAIL_ROUTING_KEY_NAME); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/DepartmentService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.DepartmentMapper; import org.javaboy.vhr.model.Department; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-21 8:04 */ @Service public class DepartmentService { @Autowired DepartmentMapper departmentMapper; public List getAllDepartments() { return departmentMapper.getAllDepartmentsByParentId(-1); } public void addDep(Department dep) { dep.setEnabled(true); departmentMapper.addDep(dep); } public void deleteDepById(Department dep) { departmentMapper.deleteDepById(dep); } public List getAllDepartmentsWithOutChildren() { return departmentMapper.getAllDepartmentsWithOutChildren(); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/EmployeeService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.EmployeeMapper; import org.javaboy.vhr.model.Employee; import org.javaboy.vhr.model.MailConstants; import org.javaboy.vhr.model.MailSendLog; import org.javaboy.vhr.model.RespPageBean; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.UUID; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-29 7:44 */ @Service public class EmployeeService { @Autowired EmployeeMapper employeeMapper; @Autowired RabbitTemplate rabbitTemplate; @Autowired MailSendLogService mailSendLogService; public final static Logger logger = LoggerFactory.getLogger(EmployeeService.class); SimpleDateFormat yearFormat = new SimpleDateFormat("yyyy"); SimpleDateFormat monthFormat = new SimpleDateFormat("MM"); DecimalFormat decimalFormat = new DecimalFormat("##.00"); public RespPageBean getEmployeeByPage(Integer page, Integer size, Employee employee, Date[] beginDateScope) { if (page != null && size != null) { page = (page - 1) * size; } List data = employeeMapper.getEmployeeByPage(page, size, employee, beginDateScope); Long total = employeeMapper.getTotal(employee, beginDateScope); RespPageBean bean = new RespPageBean(); bean.setData(data); bean.setTotal(total); return bean; } public Integer addEmp(Employee employee) { Date beginContract = employee.getBeginContract(); Date endContract = employee.getEndContract(); double month = (Double.parseDouble(yearFormat.format(endContract)) - Double.parseDouble(yearFormat.format(beginContract))) * 12 + (Double.parseDouble(monthFormat.format(endContract)) - Double.parseDouble(monthFormat.format(beginContract))); employee.setContractTerm(Double.parseDouble(decimalFormat.format(month / 12))); int result = employeeMapper.insertSelective(employee); if (result == 1) { Employee emp = employeeMapper.getEmployeeById(employee.getId()); //生成消息的唯一id String msgId = UUID.randomUUID().toString(); MailSendLog mailSendLog = new MailSendLog(); mailSendLog.setMsgId(msgId); mailSendLog.setCreateTime(new Date()); mailSendLog.setExchange(MailConstants.MAIL_EXCHANGE_NAME); mailSendLog.setRouteKey(MailConstants.MAIL_ROUTING_KEY_NAME); mailSendLog.setEmpId(emp.getId()); mailSendLog.setTryTime(new Date(System.currentTimeMillis() + 1000 * 60 * MailConstants.MSG_TIMEOUT)); mailSendLogService.insert(mailSendLog); rabbitTemplate.convertAndSend(MailConstants.MAIL_EXCHANGE_NAME, MailConstants.MAIL_ROUTING_KEY_NAME, emp, new CorrelationData(msgId)); } return result; } public Integer maxWorkID() { return employeeMapper.maxWorkID(); } public Integer deleteEmpByEid(Integer id) { return employeeMapper.deleteByPrimaryKey(id); } public Integer updateEmp(Employee employee) { return employeeMapper.updateByPrimaryKeySelective(employee); } public Integer addEmps(List list) { return employeeMapper.addEmps(list); } public RespPageBean getEmployeeByPageWithSalary(Integer page, Integer size) { if (page != null && size != null) { page = (page - 1) * size; } List list = employeeMapper.getEmployeeByPageWithSalary(page, size); RespPageBean respPageBean = new RespPageBean(); respPageBean.setData(list); respPageBean.setTotal(employeeMapper.getTotal(null, null)); return respPageBean; } public Integer updateEmployeeSalaryById(Integer eid, Integer sid) { return employeeMapper.updateEmployeeSalaryById(eid, sid); } public Employee getEmployeeById(Integer empId) { return employeeMapper.getEmployeeById(empId); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/HrService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.HrMapper; import org.javaboy.vhr.mapper.HrRoleMapper; import org.javaboy.vhr.model.Hr; import org.javaboy.vhr.utils.HrUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-20 8:21 */ @Service public class HrService implements UserDetailsService { @Autowired HrMapper hrMapper; @Autowired HrRoleMapper hrRoleMapper; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { Hr hr = hrMapper.loadUserByUsername(username); if (hr == null) { throw new UsernameNotFoundException("用户名不存在!"); } hr.setRoles(hrMapper.getHrRolesById(hr.getId())); return hr; } public List
getAllHrs(String keywords) { return hrMapper.getAllHrs(HrUtils.getCurrentHr().getId(),keywords); } public Integer updateHr(Hr hr) { return hrMapper.updateByPrimaryKeySelective(hr); } @Transactional public boolean updateHrRole(Integer hrid, Integer[] rids) { hrRoleMapper.deleteByHrid(hrid); return hrRoleMapper.addRole(hrid, rids) == rids.length; } public Integer deleteHrById(Integer id) { return hrMapper.deleteByPrimaryKey(id); } public List
getAllHrsExceptCurrentHr() { return hrMapper.getAllHrsExceptCurrentHr(HrUtils.getCurrentHr().getId()); } public Integer updateHyById(Hr hr) { return hrMapper.updateByPrimaryKeySelective(hr); } public boolean updateHrPasswd(String oldpass, String pass, Integer hrid) { Hr hr = hrMapper.selectByPrimaryKey(hrid); BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); if (encoder.matches(oldpass, hr.getPassword())) { String encodePass = encoder.encode(pass); Integer result = hrMapper.updatePasswd(hrid, encodePass); if (result == 1) { return true; } } return false; } public Integer updateUserface(String url, Integer id) { return hrMapper.updateUserface(url, id); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/JobLevelService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.JobLevelMapper; import org.javaboy.vhr.model.JobLevel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-01 18:00 */ @Service public class JobLevelService { @Autowired JobLevelMapper jobLevelMapper; public List getAllJobLevels() { return jobLevelMapper.getAllJobLevels(); } public Integer addJobLevel(JobLevel jobLevel) { jobLevel.setCreateDate(new Date()); jobLevel.setEnabled(true); return jobLevelMapper.insertSelective(jobLevel); } public Integer updateJobLevelById(JobLevel jobLevel) { return jobLevelMapper.updateByPrimaryKeySelective(jobLevel); } public Integer deleteJobLevelById(Integer id) { return jobLevelMapper.deleteByPrimaryKey(id); } public Integer deleteJobLevelsByIds(Integer[] ids) { return jobLevelMapper.deleteJobLevelsByIds(ids); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/MailSendLogService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.MailSendLogMapper; import org.javaboy.vhr.model.MailSendLog; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; @Service public class MailSendLogService { @Autowired MailSendLogMapper mailSendLogMapper; public Integer updateMailSendLogStatus(String msgId, Integer status) { return mailSendLogMapper.updateMailSendLogStatus(msgId, status); } public Integer insert(MailSendLog mailSendLog) { return mailSendLogMapper.insert(mailSendLog); } public List getMailSendLogsByStatus() { return mailSendLogMapper.getMailSendLogsByStatus(); } public Integer updateCount(String msgId, Date date) { return mailSendLogMapper.updateCount(msgId,date); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/MenuService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.MenuMapper; import org.javaboy.vhr.mapper.MenuRoleMapper; import org.javaboy.vhr.model.Hr; import org.javaboy.vhr.model.Menu; import org.javaboy.vhr.model.MenuRole; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.Cacheable; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-27 7:13 */ @Service @CacheConfig(cacheNames = "menus_cache") public class MenuService { @Autowired MenuMapper menuMapper; @Autowired MenuRoleMapper menuRoleMapper; public List getMenusByHrId() { return menuMapper.getMenusByHrId(((Hr) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getId()); } @Cacheable public List getAllMenusWithRole() { return menuMapper.getAllMenusWithRole(); } public List getAllMenus() { return menuMapper.getAllMenus(); } public List getMidsByRid(Integer rid) { return menuMapper.getMidsByRid(rid); } @Transactional public boolean updateMenuRole(Integer rid, Integer[] mids) { menuRoleMapper.deleteByRid(rid); if (mids == null || mids.length == 0) { return true; } Integer result = menuRoleMapper.insertRecord(rid, mids); return result==mids.length; } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/NationService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.NationMapper; import org.javaboy.vhr.model.Nation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-11-03 23:20 */ @Service public class NationService { @Autowired NationMapper nationMapper; public List getAllNations() { return nationMapper.getAllNations(); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/PoliticsstatusService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.PoliticsstatusMapper; import org.javaboy.vhr.model.Politicsstatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-11-03 23:20 */ @Service public class PoliticsstatusService { @Autowired PoliticsstatusMapper politicsstatusMapper; public List getAllPoliticsstatus() { return politicsstatusMapper.getAllPoliticsstatus(); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/PositionService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.PositionMapper; import org.javaboy.vhr.model.Position; import org.javaboy.vhr.model.RespBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-01 15:54 */ @Service public class PositionService { @Autowired PositionMapper positionMapper; public List getAllPositions() { return positionMapper.getAllPositions(); } public Integer addPosition(Position position) { position.setEnabled(true); position.setCreateDate(new Date()); return positionMapper.insertSelective(position); } public Integer updatePositions(Position position) { return positionMapper.updateByPrimaryKeySelective(position); } public Integer deletePositionById(Integer id) { return positionMapper.deleteByPrimaryKey(id); } public Integer deletePositionsByIds(Integer[] ids) { return positionMapper.deletePositionsByIds(ids); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/RoleService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.RoleMapper; import org.javaboy.vhr.model.Role; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-01 19:41 */ @Service public class RoleService { @Autowired RoleMapper roleMapper; public List getAllRoles() { return roleMapper.getAllRoles(); } public Integer addRole(Role role) { if (!role.getName().startsWith("ROLE_")) { role.setName("ROLE_" + role.getName()); } return roleMapper.insert(role); } public Integer deleteRoleById(Integer rid) { return roleMapper.deleteByPrimaryKey(rid); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/SalaryService.java ================================================ package org.javaboy.vhr.service; import org.javaboy.vhr.mapper.SalaryMapper; import org.javaboy.vhr.model.Salary; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; @Service public class SalaryService { @Autowired SalaryMapper salaryMapper; public List getAllSalaries() { return salaryMapper.getAllSalaries(); } public Integer addSalary(Salary salary) { salary.setCreateDate(new Date()); return salaryMapper.insertSelective(salary); } public Integer deleteSalaryById(Integer id) { return salaryMapper.deleteByPrimaryKey(id); } public Integer updateSalaryById(Salary salary) { return salaryMapper.updateByPrimaryKeySelective(salary); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/task/MailSendTask.java ================================================ package org.javaboy.vhr.task; import org.javaboy.vhr.model.Employee; import org.javaboy.vhr.model.MailConstants; import org.javaboy.vhr.model.MailSendLog; import org.javaboy.vhr.service.EmployeeService; import org.javaboy.vhr.service.MailSendLogService; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Date; import java.util.List; @Component public class MailSendTask { @Autowired MailSendLogService mailSendLogService; @Autowired RabbitTemplate rabbitTemplate; @Autowired EmployeeService employeeService; @Scheduled(cron = "0/10 * * * * ?") public void mailResendTask() { List logs = mailSendLogService.getMailSendLogsByStatus(); if (logs == null || logs.size() == 0) { return; } logs.forEach(mailSendLog->{ if (mailSendLog.getCount() >= 3) { mailSendLogService.updateMailSendLogStatus(mailSendLog.getMsgId(), 2);//直接设置该条消息发送失败 }else{ mailSendLogService.updateCount(mailSendLog.getMsgId(), new Date()); Employee emp = employeeService.getEmployeeById(mailSendLog.getEmpId()); rabbitTemplate.convertAndSend(MailConstants.MAIL_EXCHANGE_NAME, MailConstants.MAIL_ROUTING_KEY_NAME, emp, new CorrelationData(mailSendLog.getMsgId())); } }); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/utils/HrUtils.java ================================================ package org.javaboy.vhr.utils; import org.javaboy.vhr.model.Hr; import org.springframework.security.core.context.SecurityContextHolder; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-24 8:11 */ public class HrUtils { public static Hr getCurrentHr() { return ((Hr) SecurityContextHolder.getContext().getAuthentication().getPrincipal()); } } ================================================ FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/utils/POIUtils.java ================================================ package org.javaboy.vhr.utils; import org.apache.poi.hpsf.DocumentSummaryInformation; import org.apache.poi.hpsf.SummaryInformation; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.FillPatternType; import org.apache.poi.ss.usermodel.IndexedColors; import org.javaboy.vhr.model.*; import org.springframework.context.support.BeanDefinitionDslKt; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.MultiValueMap; import org.springframework.web.multipart.MultipartFile; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-11-11 23:25 */ public class POIUtils { public static ResponseEntity employee2Excel(List list) { //1. 创建一个 Excel 文档 HSSFWorkbook workbook = new HSSFWorkbook(); //2. 创建文档摘要 workbook.createInformationProperties(); //3. 获取并配置文档信息 DocumentSummaryInformation docInfo = workbook.getDocumentSummaryInformation(); //文档类别 docInfo.setCategory("员工信息"); //文档管理员 docInfo.setManager("javaboy"); //设置公司信息 docInfo.setCompany("www.javaboy.org"); //4. 获取文档摘要信息 SummaryInformation summInfo = workbook.getSummaryInformation(); //文档标题 summInfo.setTitle("员工信息表"); //文档作者 summInfo.setAuthor("javaboy"); // 文档备注 summInfo.setComments("本文档由 javaboy 提供"); //5. 创建样式 //创建标题行的样式 HSSFCellStyle headerStyle = workbook.createCellStyle(); headerStyle.setFillForegroundColor(IndexedColors.YELLOW.index); headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); HSSFCellStyle dateCellStyle = workbook.createCellStyle(); dateCellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy")); HSSFSheet sheet = workbook.createSheet("员工信息表"); //设置列的宽度 sheet.setColumnWidth(0, 5 * 256); sheet.setColumnWidth(1, 12 * 256); sheet.setColumnWidth(2, 10 * 256); sheet.setColumnWidth(3, 5 * 256); sheet.setColumnWidth(4, 12 * 256); sheet.setColumnWidth(5, 20 * 256); sheet.setColumnWidth(6, 10 * 256); sheet.setColumnWidth(7, 10 * 256); sheet.setColumnWidth(8, 16 * 256); sheet.setColumnWidth(9, 12 * 256); sheet.setColumnWidth(10, 15 * 256); sheet.setColumnWidth(11, 20 * 256); sheet.setColumnWidth(12, 16 * 256); sheet.setColumnWidth(13, 14 * 256); sheet.setColumnWidth(14, 14 * 256); sheet.setColumnWidth(15, 12 * 256); sheet.setColumnWidth(16, 8 * 256); sheet.setColumnWidth(17, 20 * 256); sheet.setColumnWidth(18, 20 * 256); sheet.setColumnWidth(19, 15 * 256); sheet.setColumnWidth(20, 8 * 256); sheet.setColumnWidth(21, 25 * 256); sheet.setColumnWidth(22, 14 * 256); sheet.setColumnWidth(23, 15 * 256); sheet.setColumnWidth(24, 15 * 256); //6. 创建标题行 HSSFRow r0 = sheet.createRow(0); HSSFCell c0 = r0.createCell(0); c0.setCellValue("编号"); c0.setCellStyle(headerStyle); HSSFCell c1 = r0.createCell(1); c1.setCellStyle(headerStyle); c1.setCellValue("姓名"); HSSFCell c2 = r0.createCell(2); c2.setCellStyle(headerStyle); c2.setCellValue("工号"); HSSFCell c3 = r0.createCell(3); c3.setCellStyle(headerStyle); c3.setCellValue("性别"); HSSFCell c4 = r0.createCell(4); c4.setCellStyle(headerStyle); c4.setCellValue("出生日期"); HSSFCell c5 = r0.createCell(5); c5.setCellStyle(headerStyle); c5.setCellValue("身份证号码"); HSSFCell c6 = r0.createCell(6); c6.setCellStyle(headerStyle); c6.setCellValue("婚姻状况"); HSSFCell c7 = r0.createCell(7); c7.setCellStyle(headerStyle); c7.setCellValue("民族"); HSSFCell c8 = r0.createCell(8); c8.setCellStyle(headerStyle); c8.setCellValue("籍贯"); HSSFCell c9 = r0.createCell(9); c9.setCellStyle(headerStyle); c9.setCellValue("政治面貌"); HSSFCell c10 = r0.createCell(10); c10.setCellStyle(headerStyle); c10.setCellValue("电话号码"); HSSFCell c11 = r0.createCell(11); c11.setCellStyle(headerStyle); c11.setCellValue("联系地址"); HSSFCell c12 = r0.createCell(12); c12.setCellStyle(headerStyle); c12.setCellValue("所属部门"); HSSFCell c13 = r0.createCell(13); c13.setCellStyle(headerStyle); c13.setCellValue("职称"); HSSFCell c14 = r0.createCell(14); c14.setCellStyle(headerStyle); c14.setCellValue("职位"); HSSFCell c15 = r0.createCell(15); c15.setCellStyle(headerStyle); c15.setCellValue("聘用形式"); HSSFCell c16 = r0.createCell(16); c16.setCellStyle(headerStyle); c16.setCellValue("最高学历"); HSSFCell c17 = r0.createCell(17); c17.setCellStyle(headerStyle); c17.setCellValue("专业"); HSSFCell c18 = r0.createCell(18); c18.setCellStyle(headerStyle); c18.setCellValue("毕业院校"); HSSFCell c19 = r0.createCell(19); c19.setCellStyle(headerStyle); c19.setCellValue("入职日期"); HSSFCell c20 = r0.createCell(20); c20.setCellStyle(headerStyle); c20.setCellValue("在职状态"); HSSFCell c21 = r0.createCell(21); c21.setCellStyle(headerStyle); c21.setCellValue("邮箱"); HSSFCell c22 = r0.createCell(22); c22.setCellStyle(headerStyle); c22.setCellValue("合同期限(年)"); HSSFCell c23 = r0.createCell(23); c23.setCellStyle(headerStyle); c23.setCellValue("合同起始日期"); HSSFCell c24 = r0.createCell(24); c24.setCellStyle(headerStyle); c24.setCellValue("合同终止日期"); for (int i = 0; i < list.size(); i++) { Employee emp = list.get(i); HSSFRow row = sheet.createRow(i + 1); row.createCell(0).setCellValue(emp.getId()); row.createCell(1).setCellValue(emp.getName()); row.createCell(2).setCellValue(emp.getWorkID()); row.createCell(3).setCellValue(emp.getGender()); HSSFCell cell4 = row.createCell(4); cell4.setCellStyle(dateCellStyle); cell4.setCellValue(emp.getBirthday()); row.createCell(5).setCellValue(emp.getIdCard()); row.createCell(6).setCellValue(emp.getWedlock()); row.createCell(7).setCellValue(emp.getNation().getName()); row.createCell(8).setCellValue(emp.getNativePlace()); row.createCell(9).setCellValue(emp.getPoliticsstatus().getName()); row.createCell(10).setCellValue(emp.getPhone()); row.createCell(11).setCellValue(emp.getAddress()); row.createCell(12).setCellValue(emp.getDepartment().getName()); row.createCell(13).setCellValue(emp.getJobLevel().getName()); row.createCell(14).setCellValue(emp.getPosition().getName()); row.createCell(15).setCellValue(emp.getEngageForm()); row.createCell(16).setCellValue(emp.getTiptopDegree()); row.createCell(17).setCellValue(emp.getSpecialty()); row.createCell(18).setCellValue(emp.getSchool()); HSSFCell cell19 = row.createCell(19); cell19.setCellStyle(dateCellStyle); cell19.setCellValue(emp.getBeginDate()); row.createCell(20).setCellValue(emp.getWorkState()); row.createCell(21).setCellValue(emp.getEmail()); row.createCell(22).setCellValue(emp.getContractTerm()); HSSFCell cell23 = row.createCell(23); cell23.setCellStyle(dateCellStyle); cell23.setCellValue(emp.getBeginContract()); HSSFCell cell24 = row.createCell(24); cell24.setCellStyle(dateCellStyle); cell24.setCellValue(emp.getEndContract()); HSSFCell cell25 = row.createCell(25); cell25.setCellStyle(dateCellStyle); cell25.setCellValue(emp.getConversionTime()); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); HttpHeaders headers = new HttpHeaders(); try { headers.setContentDispositionFormData("attachment", new String("员工表.xls".getBytes("UTF-8"), "ISO-8859-1")); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); workbook.write(baos); } catch (IOException e) { e.printStackTrace(); } return new ResponseEntity(baos.toByteArray(), headers, HttpStatus.CREATED); } /** * Excel 解析成 员工数据集合 * * @param file * @param allNations * @param allPoliticsstatus * @param allDepartments * @param allPositions * @param allJobLevels * @return */ public static List excel2Employee(MultipartFile file, List allNations, List allPoliticsstatus, List allDepartments, List allPositions, List allJobLevels) { List list = new ArrayList<>(); Employee employee = null; try { //1. 创建一个 workbook 对象 HSSFWorkbook workbook = new HSSFWorkbook(file.getInputStream()); //2. 获取 workbook 中表单的数量 int numberOfSheets = workbook.getNumberOfSheets(); for (int i = 0; i < numberOfSheets; i++) { //3. 获取表单 HSSFSheet sheet = workbook.getSheetAt(i); //4. 获取表单中的行数 int physicalNumberOfRows = sheet.getPhysicalNumberOfRows(); for (int j = 0; j < physicalNumberOfRows; j++) { //5. 跳过标题行 if (j == 0) { continue;//跳过标题行 } //6. 获取行 HSSFRow row = sheet.getRow(j); if (row == null) { continue;//防止数据中间有空行 } //7. 获取列数 int physicalNumberOfCells = row.getPhysicalNumberOfCells(); employee = new Employee(); for (int k = 0; k < physicalNumberOfCells; k++) { HSSFCell cell = row.getCell(k); switch (cell.getCellType()) { case STRING: String cellValue = cell.getStringCellValue(); switch (k) { case 1: employee.setName(cellValue); break; case 2: employee.setWorkID(cellValue); break; case 3: employee.setGender(cellValue); break; case 5: employee.setIdCard(cellValue); break; case 6: employee.setWedlock(cellValue); break; case 7: int nationIndex = allNations.indexOf(new Nation(cellValue)); employee.setNationId(allNations.get(nationIndex).getId()); break; case 8: employee.setNativePlace(cellValue); break; case 9: int politicstatusIndex = allPoliticsstatus.indexOf(new Politicsstatus(cellValue)); employee.setPoliticId(allPoliticsstatus.get(politicstatusIndex).getId()); break; case 10: employee.setPhone(cellValue); break; case 11: employee.setAddress(cellValue); break; case 12: int departmentIndex = allDepartments.indexOf(new Department(cellValue)); employee.setDepartmentId(allDepartments.get(departmentIndex).getId()); break; case 13: int jobLevelIndex = allJobLevels.indexOf(new JobLevel(cellValue)); employee.setJobLevelId(allJobLevels.get(jobLevelIndex).getId()); break; case 14: int positionIndex = allPositions.indexOf(new Position(cellValue)); employee.setPosId(allPositions.get(positionIndex).getId()); break; case 15: employee.setEngageForm(cellValue); break; case 16: employee.setTiptopDegree(cellValue); break; case 17: employee.setSpecialty(cellValue); break; case 18: employee.setSchool(cellValue); break; case 20: employee.setWorkState(cellValue); break; case 21: employee.setEmail(cellValue); break; } break; default: { switch (k) { case 4: employee.setBirthday(cell.getDateCellValue()); break; case 19: employee.setBeginDate(cell.getDateCellValue()); break; case 23: employee.setBeginContract(cell.getDateCellValue()); break; case 24: employee.setEndContract(cell.getDateCellValue()); break; case 22: employee.setContractTerm(cell.getNumericCellValue()); break; case 25: employee.setConversionTime(cell.getDateCellValue()); break; } } break; } } list.add(employee); } } } catch (IOException e) { e.printStackTrace(); } return list; } } ================================================ FILE: vhr/vhrserver/vhr-web/pom.xml ================================================ vhrserver org.javaboy 1.0-SNAPSHOT 4.0.0 org.javaboy vhr-web 0.0.1-SNAPSHOT vhr-web Demo project for Spring Boot 1.8 org.javaboy vhr-service 1.0-SNAPSHOT mysql mysql-connector-java runtime org.springframework.boot spring-boot-starter-websocket net.oschina.zcx7878 fastdfs-client-java 1.27.0.0 org.springframework.boot spring-boot-starter-test test org.springframework.security spring-security-test test src/main/resources src/main/java **/*.xml org.springframework.boot spring-boot-maven-plugin ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/VhrApplication.java ================================================ package org.javaboy.vhr; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCaching; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableCaching @MapperScan(basePackages = "org.javaboy.vhr.mapper") @EnableScheduling public class VhrApplication { public static void main(String[] args) { SpringApplication.run(VhrApplication.class, args); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/CustomFilterInvocationSecurityMetadataSource.java ================================================ package org.javaboy.vhr.config; import org.javaboy.vhr.model.Menu; import org.javaboy.vhr.model.Role; import org.javaboy.vhr.service.MenuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.ConfigAttribute; import org.springframework.security.access.SecurityConfig; import org.springframework.security.web.FilterInvocation; import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource; import org.springframework.stereotype.Component; import org.springframework.util.AntPathMatcher; import java.util.Collection; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-29 7:37 * * 这个类的作用,主要是根据用户传来的请求地址,分析出请求需要的角色 */ @Component public class CustomFilterInvocationSecurityMetadataSource implements FilterInvocationSecurityMetadataSource { @Autowired MenuService menuService; AntPathMatcher antPathMatcher = new AntPathMatcher(); @Override public Collection getAttributes(Object object) throws IllegalArgumentException { String requestUrl = ((FilterInvocation) object).getRequestUrl(); List menus = menuService.getAllMenusWithRole(); for (Menu menu : menus) { if (antPathMatcher.match(menu.getUrl(), requestUrl)) { List roles = menu.getRoles(); String[] str = new String[roles.size()]; for (int i = 0; i < roles.size(); i++) { str[i] = roles.get(i).getName(); } return SecurityConfig.createList(str); } } return SecurityConfig.createList("ROLE_LOGIN"); } @Override public Collection getAllConfigAttributes() { return null; } @Override public boolean supports(Class clazz) { return true; } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/CustomUrlDecisionManager.java ================================================ package org.javaboy.vhr.config; import org.springframework.security.access.AccessDecisionManager; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.access.ConfigAttribute; import org.springframework.security.authentication.AnonymousAuthenticationToken; import org.springframework.security.authentication.InsufficientAuthenticationException; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import org.springframework.stereotype.Component; import java.util.Collection; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-29 7:53 */ @Component public class CustomUrlDecisionManager implements AccessDecisionManager { @Override public void decide(Authentication authentication, Object object, Collection configAttributes) throws AccessDeniedException, InsufficientAuthenticationException { for (ConfigAttribute configAttribute : configAttributes) { String needRole = configAttribute.getAttribute(); if ("ROLE_LOGIN".equals(needRole)) { if (authentication instanceof AnonymousAuthenticationToken) { throw new AccessDeniedException("尚未登录,请登录!"); }else { return; } } Collection authorities = authentication.getAuthorities(); for (GrantedAuthority authority : authorities) { if (authority.getAuthority().equals(needRole)) { return; } } } throw new AccessDeniedException("权限不足,请联系管理员!"); } @Override public boolean supports(ConfigAttribute attribute) { return true; } @Override public boolean supports(Class clazz) { return true; } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/FastDFSUtils.java ================================================ package org.javaboy.vhr.config; import org.csource.common.MyException; import org.csource.fastdfs.ClientGlobal; import org.csource.fastdfs.StorageClient1; import org.csource.fastdfs.TrackerClient; import org.csource.fastdfs.TrackerServer; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2020-03-02 23:26 */ public class FastDFSUtils { private static StorageClient1 client1; static { try { ClientGlobal.initByProperties("fastdfs-client.properties"); TrackerClient trackerClient = new TrackerClient(); TrackerServer trackerServer = trackerClient.getConnection(); client1 = new StorageClient1(trackerServer, null); } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } } public static String upload(MultipartFile file) { String oldName = file.getOriginalFilename(); try { return client1.upload_file1(file.getBytes(), oldName.substring(oldName.lastIndexOf(".") + 1), null); } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } return null; } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/LoginFilter.java ================================================ package org.javaboy.vhr.config; import com.fasterxml.jackson.databind.ObjectMapper; import org.javaboy.vhr.model.Hr; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.security.authentication.AuthenticationServiceException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.session.SessionRegistry; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * @作者 江南一点雨 * @微信公众号 江南一点雨 * @网站 http://www.javaboy.org * @微信 a_java_boy * @GitHub https://github.com/lenve * @Gitee https://gitee.com/lenve */ public class LoginFilter extends UsernamePasswordAuthenticationFilter { @Autowired SessionRegistry sessionRegistry; @Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException { if (!request.getMethod().equals("POST")) { throw new AuthenticationServiceException( "Authentication method not supported: " + request.getMethod()); } String verify_code = (String) request.getSession().getAttribute("verify_code"); if (request.getContentType().contains(MediaType.APPLICATION_JSON_VALUE) || request.getContentType().contains(MediaType.APPLICATION_JSON_UTF8_VALUE)) { Map loginData = new HashMap<>(); try { loginData = new ObjectMapper().readValue(request.getInputStream(), Map.class); } catch (IOException e) { }finally { String code = loginData.get("code"); checkCode(response, code, verify_code); } String username = loginData.get(getUsernameParameter()); String password = loginData.get(getPasswordParameter()); if (username == null) { username = ""; } if (password == null) { password = ""; } username = username.trim(); UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken( username, password); setDetails(request, authRequest); Hr principal = new Hr(); principal.setUsername(username); sessionRegistry.registerNewSession(request.getSession(true).getId(), principal); return this.getAuthenticationManager().authenticate(authRequest); } else { checkCode(response, request.getParameter("code"), verify_code); return super.attemptAuthentication(request, response); } } public void checkCode(HttpServletResponse resp, String code, String verify_code) { if (code == null || verify_code == null || "".equals(code) || !verify_code.toLowerCase().equals(code.toLowerCase())) { //验证码不正确 throw new AuthenticationServiceException("验证码不正确"); } } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/SecurityConfig.java ================================================ package org.javaboy.vhr.config; import com.fasterxml.jackson.databind.ObjectMapper; import org.javaboy.vhr.model.Hr; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.service.HrService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.*; import org.springframework.security.config.annotation.ObjectPostProcessor; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.core.session.SessionRegistryImpl; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.access.intercept.FilterSecurityInterceptor; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.authentication.session.ConcurrentSessionControlAuthenticationStrategy; import org.springframework.security.web.session.ConcurrentSessionFilter; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org */ @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired HrService hrService; @Autowired CustomFilterInvocationSecurityMetadataSource customFilterInvocationSecurityMetadataSource; @Autowired CustomUrlDecisionManager customUrlDecisionManager; @Bean PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(hrService); } @Override public void configure(WebSecurity web) throws Exception { web.ignoring().antMatchers("/css/**", "/js/**", "/index.html", "/img/**", "/fonts/**", "/favicon.ico", "/verifyCode"); } @Bean LoginFilter loginFilter() throws Exception { LoginFilter loginFilter = new LoginFilter(); loginFilter.setAuthenticationSuccessHandler((request, response, authentication) -> { response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); Hr hr = (Hr) authentication.getPrincipal(); hr.setPassword(null); RespBean ok = RespBean.ok("登录成功!", hr); String s = new ObjectMapper().writeValueAsString(ok); out.write(s); out.flush(); out.close(); } ); loginFilter.setAuthenticationFailureHandler((request, response, exception) -> { response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); RespBean respBean = RespBean.error(exception.getMessage()); if (exception instanceof LockedException) { respBean.setMsg("账户被锁定,请联系管理员!"); } else if (exception instanceof CredentialsExpiredException) { respBean.setMsg("密码过期,请联系管理员!"); } else if (exception instanceof AccountExpiredException) { respBean.setMsg("账户过期,请联系管理员!"); } else if (exception instanceof DisabledException) { respBean.setMsg("账户被禁用,请联系管理员!"); } else if (exception instanceof BadCredentialsException) { respBean.setMsg("用户名或者密码输入错误,请重新输入!"); } out.write(new ObjectMapper().writeValueAsString(respBean)); out.flush(); out.close(); } ); loginFilter.setAuthenticationManager(authenticationManagerBean()); loginFilter.setFilterProcessesUrl("/doLogin"); ConcurrentSessionControlAuthenticationStrategy sessionStrategy = new ConcurrentSessionControlAuthenticationStrategy(sessionRegistry()); sessionStrategy.setMaximumSessions(1); loginFilter.setSessionAuthenticationStrategy(sessionStrategy); return loginFilter; } @Bean SessionRegistryImpl sessionRegistry() { return new SessionRegistryImpl(); } @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .withObjectPostProcessor(new ObjectPostProcessor() { @Override public O postProcess(O object) { object.setAccessDecisionManager(customUrlDecisionManager); object.setSecurityMetadataSource(customFilterInvocationSecurityMetadataSource); return object; } }) .and() .logout() .logoutSuccessHandler((req, resp, authentication) -> { resp.setContentType("application/json;charset=utf-8"); PrintWriter out = resp.getWriter(); out.write(new ObjectMapper().writeValueAsString(RespBean.ok("注销成功!"))); out.flush(); out.close(); } ) .permitAll() .and() .csrf().disable().exceptionHandling() //没有认证时,在这里处理结果,不要重定向 .authenticationEntryPoint((req, resp, authException) -> { resp.setContentType("application/json;charset=utf-8"); resp.setStatus(401); PrintWriter out = resp.getWriter(); RespBean respBean = RespBean.error("访问失败!"); if (authException instanceof InsufficientAuthenticationException) { respBean.setMsg("请求失败,请联系管理员!"); } out.write(new ObjectMapper().writeValueAsString(respBean)); out.flush(); out.close(); } ); http.addFilterAt(new ConcurrentSessionFilter(sessionRegistry(), event -> { HttpServletResponse resp = event.getResponse(); resp.setContentType("application/json;charset=utf-8"); resp.setStatus(401); PrintWriter out = resp.getWriter(); out.write(new ObjectMapper().writeValueAsString(RespBean.error("您已在另一台设备登录,本次登录已下线!"))); out.flush(); out.close(); }), ConcurrentSessionFilter.class); http.addFilterAt(loginFilter(), UsernamePasswordAuthenticationFilter.class); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/VerificationCode.java ================================================ package org.javaboy.vhr.config; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; import java.util.Random; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-29 7:37 * * 生成验证码的工具类 */ public class VerificationCode { private int width = 100;// 生成验证码图片的宽度 private int height = 30;// 生成验证码图片的高度 private String[] fontNames = { "宋体", "楷体", "隶书", "微软雅黑" }; private Color bgColor = new Color(255, 255, 255);// 定义验证码图片的背景颜色为白色 private Random random = new Random(); private String codes = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; private String text;// 记录随机字符串 /** * 获取一个随意颜色 * * @return */ private Color randomColor() { int red = random.nextInt(150); int green = random.nextInt(150); int blue = random.nextInt(150); return new Color(red, green, blue); } /** * 获取一个随机字体 * * @return */ private Font randomFont() { String name = fontNames[random.nextInt(fontNames.length)]; int style = random.nextInt(4); int size = random.nextInt(5) + 24; return new Font(name, style, size); } /** * 获取一个随机字符 * * @return */ private char randomChar() { return codes.charAt(random.nextInt(codes.length())); } /** * 创建一个空白的BufferedImage对象 * * @return */ private BufferedImage createImage() { BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D) image.getGraphics(); g2.setColor(bgColor);// 设置验证码图片的背景颜色 g2.fillRect(0, 0, width, height); return image; } public BufferedImage getImage() { BufferedImage image = createImage(); Graphics2D g2 = (Graphics2D) image.getGraphics(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < 4; i++) { String s = randomChar() + ""; sb.append(s); g2.setColor(randomColor()); g2.setFont(randomFont()); float x = i * width * 1.0f / 4; g2.drawString(s, x, height - 8); } this.text = sb.toString(); drawLine(image); return image; } /** * 绘制干扰线 * * @param image */ private void drawLine(BufferedImage image) { Graphics2D g2 = (Graphics2D) image.getGraphics(); int num = 5; for (int i = 0; i < num; i++) { int x1 = random.nextInt(width); int y1 = random.nextInt(height); int x2 = random.nextInt(width); int y2 = random.nextInt(height); g2.setColor(randomColor()); g2.setStroke(new BasicStroke(1.5f)); g2.drawLine(x1, y1, x2, y2); } } public String getText() { return text; } public static void output(BufferedImage image, OutputStream out) throws IOException { ImageIO.write(image, "JPEG", out); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/WebSocketConfig.java ================================================ package org.javaboy.vhr.config; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.simp.config.MessageBrokerRegistry; import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; import org.springframework.web.socket.config.annotation.StompEndpointRegistry; import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; @Configuration @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void registerStompEndpoints(StompEndpointRegistry registry) { registry.addEndpoint("/ws/ep") .setAllowedOrigins("http://localhost:8080") .withSockJS(); } @Override public void configureMessageBroker(MessageBrokerRegistry registry) { registry.enableSimpleBroker("/queue"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/ChatController.java ================================================ package org.javaboy.vhr.controller; import org.javaboy.vhr.model.Hr; import org.javaboy.vhr.service.HrService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/chat") public class ChatController { @Autowired HrService hrService; @GetMapping("/hrs") public List
getAllHrs() { return hrService.getAllHrsExceptCurrentHr(); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/HrInfoController.java ================================================ package org.javaboy.vhr.controller; import org.javaboy.vhr.config.FastDFSUtils; import org.javaboy.vhr.model.Hr; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.service.HrService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.Map; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2020-03-01 13:07 */ @RestController public class HrInfoController { @Autowired HrService hrService; @Value("${fastdfs.nginx.host}") String nginxHost; @GetMapping("/hr/info") public Hr getCurrentHr(Authentication authentication) { return ((Hr) authentication.getPrincipal()); } @PutMapping("/hr/info") public RespBean updateHr(@RequestBody Hr hr, Authentication authentication) { if (hrService.updateHr(hr) == 1) { SecurityContextHolder.getContext().setAuthentication(new UsernamePasswordAuthenticationToken(hr, authentication.getCredentials(), authentication.getAuthorities())); return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } @PutMapping("/hr/pass") public RespBean updateHrPasswd(@RequestBody Map info) { String oldpass = (String) info.get("oldpass"); String pass = (String) info.get("pass"); Integer hrid = (Integer) info.get("hrid"); if (hrService.updateHrPasswd(oldpass, pass, hrid)) { return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } @PostMapping("/hr/userface") public RespBean updateHrUserface(MultipartFile file, Integer id,Authentication authentication) { String fileId = FastDFSUtils.upload(file); String url = nginxHost + fileId; if (hrService.updateUserface(url, id) == 1) { Hr hr = (Hr) authentication.getPrincipal(); hr.setUserface(url); SecurityContextHolder.getContext().setAuthentication(new UsernamePasswordAuthenticationToken(hr, authentication.getCredentials(), authentication.getAuthorities())); return RespBean.ok("更新成功!", url); } return RespBean.error("更新失败!"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/LoginController.java ================================================ package org.javaboy.vhr.controller; import org.javaboy.vhr.config.VerificationCode; import org.javaboy.vhr.model.RespBean; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.awt.image.BufferedImage; import java.io.IOException; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-21 21:15 */ @RestController public class LoginController { @GetMapping("/login") public RespBean login() { return RespBean.error("尚未登录,请登录!"); } @GetMapping("/verifyCode") public void verifyCode(HttpServletRequest request, HttpServletResponse resp) throws IOException { VerificationCode code = new VerificationCode(); BufferedImage image = code.getImage(); String text = code.getText(); HttpSession session = request.getSession(true); session.setAttribute("verify_code", text); VerificationCode.output(image,resp.getOutputStream()); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/WsController.java ================================================ package org.javaboy.vhr.controller; import org.javaboy.vhr.model.ChatMsg; import org.javaboy.vhr.model.Hr; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.handler.annotation.MessageMapping; import org.springframework.messaging.simp.SimpMessagingTemplate; import org.springframework.security.core.Authentication; import org.springframework.stereotype.Controller; import java.security.Principal; import java.util.Date; @Controller public class WsController { @Autowired SimpMessagingTemplate simpMessagingTemplate; @MessageMapping("/ws/chat") public void handleMsg(Authentication authentication, ChatMsg chatMsg) { Hr hr = (Hr) authentication.getPrincipal(); chatMsg.setFrom(hr.getUsername()); chatMsg.setFromNickname(hr.getName()); chatMsg.setDate(new Date()); simpMessagingTemplate.convertAndSendToUser(chatMsg.getTo(), "/queue/chat", chatMsg); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/config/SystemConfigController.java ================================================ package org.javaboy.vhr.controller.config; import org.javaboy.vhr.model.Menu; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.service.MenuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-09-27 7:10 */ @RestController @RequestMapping("/system/config") public class SystemConfigController { @Autowired MenuService menuService; @GetMapping("/menu") public List getMenusByHrId() { return menuService.getMenusByHrId(); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/emp/EmpBasicController.java ================================================ package org.javaboy.vhr.controller.emp; import org.javaboy.vhr.model.*; import org.javaboy.vhr.service.*; import org.javaboy.vhr.utils.POIUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.Date; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-29 7:41 */ @RestController @RequestMapping("/employee/basic") public class EmpBasicController { @Autowired EmployeeService employeeService; @Autowired NationService nationService; @Autowired PoliticsstatusService politicsstatusService; @Autowired JobLevelService jobLevelService; @Autowired PositionService positionService; @Autowired DepartmentService departmentService; @GetMapping("/") public RespPageBean getEmployeeByPage(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size, Employee employee, Date[] beginDateScope) { return employeeService.getEmployeeByPage(page, size, employee,beginDateScope); } @PostMapping("/") public RespBean addEmp(@RequestBody Employee employee) { if (employeeService.addEmp(employee) == 1) { return RespBean.ok("添加成功!"); } return RespBean.error("添加失败!"); } @DeleteMapping("/{id}") public RespBean deleteEmpByEid(@PathVariable Integer id) { if (employeeService.deleteEmpByEid(id) == 1) { return RespBean.ok("删除成功!"); } return RespBean.error("删除失败!"); } @PutMapping("/") public RespBean updateEmp(@RequestBody Employee employee) { if (employeeService.updateEmp(employee) == 1) { return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } @GetMapping("/nations") public List getAllNations() { return nationService.getAllNations(); } @GetMapping("/politicsstatus") public List getAllPoliticsstatus() { return politicsstatusService.getAllPoliticsstatus(); } @GetMapping("/joblevels") public List getAllJobLevels() { return jobLevelService.getAllJobLevels(); } @GetMapping("/positions") public List getAllPositions() { return positionService.getAllPositions(); } @GetMapping("/maxWorkID") public RespBean maxWorkID() { RespBean respBean = RespBean.build().setStatus(200) .setObj(String.format("%08d", employeeService.maxWorkID() + 1)); return respBean; } @GetMapping("/deps") public List getAllDepartments() { return departmentService.getAllDepartments(); } @GetMapping("/export") public ResponseEntity exportData() { List list = (List) employeeService.getEmployeeByPage(null, null, new Employee(),null).getData(); return POIUtils.employee2Excel(list); } @PostMapping("/import") public RespBean importData(MultipartFile file) throws IOException { List list = POIUtils.excel2Employee(file, nationService.getAllNations(), politicsstatusService.getAllPoliticsstatus(), departmentService.getAllDepartmentsWithOutChildren(), positionService.getAllPositions(), jobLevelService.getAllJobLevels()); if (employeeService.addEmps(list) == list.size()) { return RespBean.ok("上传成功"); } return RespBean.error("上传失败"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/salary/SalaryController.java ================================================ package org.javaboy.vhr.controller.salary; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.model.Salary; import org.javaboy.vhr.service.SalaryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/salary/sob") public class SalaryController { @Autowired SalaryService salaryService; @GetMapping("/") public List getAllSalaries() { return salaryService.getAllSalaries(); } @PostMapping("/") public RespBean addSalary(@RequestBody Salary salary) { if (salaryService.addSalary(salary) == 1) { return RespBean.ok("添加成功!"); } return RespBean.error("添加失败!"); } @DeleteMapping("/{id}") public RespBean deleteSalaryById(@PathVariable Integer id) { if (salaryService.deleteSalaryById(id) == 1) { return RespBean.ok("删除成功!"); } return RespBean.error("删除失败!"); } @PutMapping("/") public RespBean updateSalaryById(@RequestBody Salary salary) { if (salaryService.updateSalaryById(salary) == 1) { return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/salary/SobConfigController.java ================================================ package org.javaboy.vhr.controller.salary; import org.javaboy.vhr.model.Employee; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.model.RespPageBean; import org.javaboy.vhr.model.Salary; import org.javaboy.vhr.service.EmployeeService; import org.javaboy.vhr.service.SalaryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/salary/sobcfg") public class SobConfigController { @Autowired EmployeeService employeeService; @Autowired SalaryService salaryService; @GetMapping("/") public RespPageBean getEmployeeByPageWithSalary(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size) { return employeeService.getEmployeeByPageWithSalary(page, size); } @GetMapping("/salaries") public List getAllSalaries() { return salaryService.getAllSalaries(); } @PutMapping("/") public RespBean updateEmployeeSalaryById(Integer eid, Integer sid) { Integer result = employeeService.updateEmployeeSalaryById(eid, sid); if (result == 1 || result == 2) { return RespBean.ok("更新成功"); } return RespBean.error("更新失败"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/HrController.java ================================================ package org.javaboy.vhr.controller.system; import org.javaboy.vhr.model.Hr; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.model.Role; import org.javaboy.vhr.service.HrService; import org.javaboy.vhr.service.RoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-24 8:09 */ @RestController @RequestMapping("/system/hr") public class HrController { @Autowired HrService hrService; @Autowired RoleService roleService; @GetMapping("/") public List
getAllHrs(String keywords) { return hrService.getAllHrs(keywords); } @PutMapping("/") public RespBean updateHr(@RequestBody Hr hr) { if (hrService.updateHr(hr) == 1) { return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } @GetMapping("/roles") public List getAllRoles() { return roleService.getAllRoles(); } @PutMapping("/role") public RespBean updateHrRole(Integer hrid, Integer[] rids) { if (hrService.updateHrRole(hrid, rids)) { return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } @DeleteMapping("/{id}") public RespBean deleteHrById(@PathVariable Integer id) { if (hrService.deleteHrById(id) == 1) { return RespBean.ok("删除成功!"); } return RespBean.error("删除失败!"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/DepartmentController.java ================================================ package org.javaboy.vhr.controller.system.basic; import org.javaboy.vhr.model.Department; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.service.DepartmentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-21 8:02 */ @RestController @RequestMapping("/system/basic/department") public class DepartmentController { @Autowired DepartmentService departmentService; @GetMapping("/") public List getAllDepartments() { return departmentService.getAllDepartments(); } @PostMapping("/") public RespBean addDep(@RequestBody Department dep) { departmentService.addDep(dep); if (dep.getResult() == 1) { return RespBean.ok("添加成功", dep); } return RespBean.error("添加失败"); } @DeleteMapping("/{id}") public RespBean deleteDepById(@PathVariable Integer id) { Department dep = new Department(); dep.setId(id); departmentService.deleteDepById(dep); if (dep.getResult() == -2) { return RespBean.error("该部门下有子部门,删除失败"); } else if (dep.getResult() == -1) { return RespBean.error("该部门下有员工,删除失败"); } else if (dep.getResult() == 1) { return RespBean.ok("删除成功"); } return RespBean.error("删除失败"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/JobLevelController.java ================================================ package org.javaboy.vhr.controller.system.basic; import org.apache.ibatis.annotations.Delete; import org.javaboy.vhr.model.JobLevel; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.service.JobLevelService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-01 17:59 */ @RestController @RequestMapping("/system/basic/joblevel") public class JobLevelController { @Autowired JobLevelService jobLevelService; @GetMapping("/") public List getAllJobLevels() { return jobLevelService.getAllJobLevels(); } @PostMapping("/") public RespBean addJobLevel(@RequestBody JobLevel jobLevel) { if (jobLevelService.addJobLevel(jobLevel) == 1) { return RespBean.ok("添加成功!"); } return RespBean.error("添加失败!"); } @PutMapping("/") public RespBean updateJobLevelById(@RequestBody JobLevel jobLevel) { if (jobLevelService.updateJobLevelById(jobLevel) == 1) { return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } @DeleteMapping("/{id}") public RespBean deleteJobLevelById(@PathVariable Integer id) { if (jobLevelService.deleteJobLevelById(id) == 1) { return RespBean.ok("删除成功!"); } return RespBean.error("删除失败!"); } @DeleteMapping("/") public RespBean deleteJobLevelsByIds(Integer[] ids) { if (jobLevelService.deleteJobLevelsByIds(ids) == ids.length) { return RespBean.ok("删除成功!"); } return RespBean.error("删除失败!"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/PermissController.java ================================================ package org.javaboy.vhr.controller.system.basic; import org.javaboy.vhr.model.Menu; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.model.Role; import org.javaboy.vhr.service.MenuService; import org.javaboy.vhr.service.RoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-01 19:41 */ @RestController @RequestMapping("/system/basic/permiss") public class PermissController { @Autowired RoleService roleService; @Autowired MenuService menuService; @GetMapping("/") public List getAllRoles() { return roleService.getAllRoles(); } @GetMapping("/menus") public List getAllMenus() { return menuService.getAllMenus(); } @GetMapping("/mids/{rid}") public List getMidsByRid(@PathVariable Integer rid) { return menuService.getMidsByRid(rid); } @PutMapping("/") public RespBean updateMenuRole(Integer rid, Integer[] mids) { if (menuService.updateMenuRole(rid, mids)) { return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } @PostMapping("/role") public RespBean addRole(@RequestBody Role role) { if (roleService.addRole(role) == 1) { return RespBean.ok("添加成功!"); } return RespBean.error("添加失败!"); } @DeleteMapping("/role/{rid}") public RespBean deleteRoleById(@PathVariable Integer rid) { if (roleService.deleteRoleById(rid) == 1) { return RespBean.ok("删除成功!"); } return RespBean.error("删除失败!"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/PositionController.java ================================================ package org.javaboy.vhr.controller.system.basic; import org.javaboy.vhr.model.Position; import org.javaboy.vhr.model.RespBean; import org.javaboy.vhr.service.PositionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-01 15:52 */ @RestController @RequestMapping("/system/basic/pos") public class PositionController { @Autowired PositionService positionService; @GetMapping("/") public List getAllPositions() { return positionService.getAllPositions(); } @PostMapping("/") public RespBean addPosition(@RequestBody Position position) { if (positionService.addPosition(position) == 1) { return RespBean.ok("添加成功!"); } return RespBean.error("添加失败!"); } @PutMapping("/") public RespBean updatePositions(@RequestBody Position position) { if (positionService.updatePositions(position) == 1) { return RespBean.ok("更新成功!"); } return RespBean.error("更新失败!"); } @DeleteMapping("/{id}") public RespBean deletePositionById(@PathVariable Integer id) { if (positionService.deletePositionById(id) == 1) { return RespBean.ok("删除成功!"); } return RespBean.error("删除失败!"); } @DeleteMapping("/") public RespBean deletePositionsByIds(Integer[] ids) { if (positionService.deletePositionsByIds(ids) == ids.length) { return RespBean.ok("删除成功!"); } return RespBean.error("删除失败!"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/converter/DateConverter.java ================================================ package org.javaboy.vhr.converter; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-11-20 8:08 */ @Component public class DateConverter implements Converter { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @Override public Date convert(String source) { try { return sdf.parse(source); } catch (ParseException e) { e.printStackTrace(); } return null; } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/exception/GlobalExceptionHandler.java ================================================ package org.javaboy.vhr.exception; import org.javaboy.vhr.model.RespBean; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import java.sql.SQLException; import java.sql.SQLIntegrityConstraintViolationException; /** * @作者 江南一点雨 * @公众号 江南一点雨 * @微信号 a_java_boy * @GitHub https://github.com/lenve * @博客 http://wangsong.blog.csdn.net * @网站 http://www.javaboy.org * @时间 2019-10-01 16:53 */ @RestControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(SQLException.class) public RespBean sqlException(SQLException e) { if (e instanceof SQLIntegrityConstraintViolationException) { return RespBean.error("该数据有关联数据,操作失败!"); } return RespBean.error("数据库异常,操作失败!"); } } ================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/application.yml ================================================ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource username: root password: 123 url: jdbc:mysql://localhost:3306/vhr?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai rabbitmq: username: guest password: guest host: 127.0.0.1 publisher-confirms: true publisher-returns: true redis: host: 127.0.0.1 database: 0 port: 6379 password: 123 cache: cache-names: menus_cache server: port: 8081 compression: enabled: true fastdfs: nginx: host: http://192.168.91.128/ ================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/db/migration/V1__vhr.sql ================================================ /* SQLyog Ultimate v12.08 (32 bit) MySQL - 8.0.18 : Database - vhr ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; /*Table structure for table `adjustsalary` */ DROP TABLE IF EXISTS `adjustsalary`; CREATE TABLE `adjustsalary` ( `id` int(11) NOT NULL AUTO_INCREMENT, `eid` int(11) DEFAULT NULL, `asDate` date DEFAULT NULL COMMENT '调薪日期', `beforeSalary` int(11) DEFAULT NULL COMMENT '调前薪资', `afterSalary` int(11) DEFAULT NULL COMMENT '调后薪资', `reason` varchar(255) DEFAULT NULL COMMENT '调薪原因', `remark` varchar(255) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), KEY `pid` (`eid`), CONSTRAINT `adjustsalary_ibfk_1` FOREIGN KEY (`eid`) REFERENCES `employee` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*Data for the table `adjustsalary` */ /*Table structure for table `appraise` */ DROP TABLE IF EXISTS `appraise`; CREATE TABLE `appraise` ( `id` int(11) NOT NULL AUTO_INCREMENT, `eid` int(11) DEFAULT NULL, `appDate` date DEFAULT NULL COMMENT '考评日期', `appResult` varchar(32) DEFAULT NULL COMMENT '考评结果', `appContent` varchar(255) DEFAULT NULL COMMENT '考评内容', `remark` varchar(255) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), KEY `pid` (`eid`), CONSTRAINT `appraise_ibfk_1` FOREIGN KEY (`eid`) REFERENCES `employee` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `mail_send_log`; CREATE TABLE `mail_send_log` ( `msgId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `empId` int(11) DEFAULT NULL, `status` int(11) DEFAULT '0' COMMENT '0发送中,1发送成功,2发送失败', `routeKey` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `exchange` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `count` int(11) DEFAULT 0 COMMENT '重试次数', `tryTime` datetime DEFAULT NULL COMMENT '第一次重试时间', `createTime` datetime DEFAULT NULL, `updateTime` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*Data for the table `appraise` */ /*Table structure for table `department` */ DROP TABLE IF EXISTS `department`; CREATE TABLE `department` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL COMMENT '部门名称', `parentId` int(11) DEFAULT NULL, `depPath` varchar(255) DEFAULT NULL, `enabled` tinyint(1) DEFAULT '1', `isParent` tinyint(1) DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=105 DEFAULT CHARSET=utf8; /*Data for the table `department` */ insert into `department`(`id`,`name`,`parentId`,`depPath`,`enabled`,`isParent`) values (1,'股东会',-1,'.1',1,1),(4,'董事会',1,'.1.4',1,1),(5,'总办',4,'.1.4.5',1,1),(8,'财务部',5,'.1.4.5.8',1,0),(78,'市场部',5,'.1.4.5.78',1,1),(81,'华北市场部',78,'.1.4.5.78.81',1,1),(82,'华南市场部',78,'.1.4.5.78.82',1,0),(85,'石家庄市场部',81,'.1.4.5.78.81.85',1,0),(86,'西北市场部',78,'.1.4.5.78.86',1,1),(87,'西安市场',86,'.1.4.5.78.86.87',1,1),(89,'莲湖区市场',87,'.1.4.5.78.86.87.89',1,0),(91,'技术部',5,'.1.4.5.91',1,0),(92,'运维部',5,'.1.4.5.92',1,1),(93,'运维1部',92,'.1.4.5.92.93',1,0),(94,'运维2部',92,'.1.4.5.92.94',1,0),(96,'bbb',1,'.1.96',1,1),(104,'111',96,'.1.96.104',1,0); /*Table structure for table `employee` */ DROP TABLE IF EXISTS `employee`; CREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '员工编号', `name` varchar(10) DEFAULT NULL COMMENT '员工姓名', `gender` char(4) DEFAULT NULL COMMENT '性别', `birthday` date DEFAULT NULL COMMENT '出生日期', `idCard` char(18) DEFAULT NULL COMMENT '身份证号', `wedlock` enum('已婚','未婚','离异') DEFAULT NULL COMMENT '婚姻状况', `nationId` int(8) DEFAULT NULL COMMENT '民族', `nativePlace` varchar(20) DEFAULT NULL COMMENT '籍贯', `politicId` int(8) DEFAULT NULL COMMENT '政治面貌', `email` varchar(20) DEFAULT NULL COMMENT '邮箱', `phone` varchar(11) DEFAULT NULL COMMENT '电话号码', `address` varchar(64) DEFAULT NULL COMMENT '联系地址', `departmentId` int(11) DEFAULT NULL COMMENT '所属部门', `jobLevelId` int(11) DEFAULT NULL COMMENT '职称ID', `posId` int(11) DEFAULT NULL COMMENT '职位ID', `engageForm` varchar(8) DEFAULT NULL COMMENT '聘用形式', `tiptopDegree` enum('博士','硕士','本科','大专','高中','初中','小学','其他') DEFAULT NULL COMMENT '最高学历', `specialty` varchar(32) DEFAULT NULL COMMENT '所属专业', `school` varchar(32) DEFAULT NULL COMMENT '毕业院校', `beginDate` date DEFAULT NULL COMMENT '入职日期', `workState` enum('在职','离职') DEFAULT '在职' COMMENT '在职状态', `workID` char(8) DEFAULT NULL COMMENT '工号', `contractTerm` double DEFAULT NULL COMMENT '合同期限', `conversionTime` date DEFAULT NULL COMMENT '转正日期', `notWorkDate` date DEFAULT NULL COMMENT '离职日期', `beginContract` date DEFAULT NULL COMMENT '合同起始日期', `endContract` date DEFAULT NULL COMMENT '合同终止日期', `workAge` int(11) DEFAULT NULL COMMENT '工龄', PRIMARY KEY (`id`), KEY `departmentId` (`departmentId`), KEY `jobId` (`jobLevelId`), KEY `dutyId` (`posId`), KEY `nationId` (`nationId`), KEY `politicId` (`politicId`), KEY `workID_key` (`workID`), CONSTRAINT `employee_ibfk_1` FOREIGN KEY (`departmentId`) REFERENCES `department` (`id`), CONSTRAINT `employee_ibfk_2` FOREIGN KEY (`jobLevelId`) REFERENCES `joblevel` (`id`), CONSTRAINT `employee_ibfk_3` FOREIGN KEY (`posId`) REFERENCES `position` (`id`), CONSTRAINT `employee_ibfk_4` FOREIGN KEY (`nationId`) REFERENCES `nation` (`id`), CONSTRAINT `employee_ibfk_5` FOREIGN KEY (`politicId`) REFERENCES `politicsstatus` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1942 DEFAULT CHARSET=utf8; /*Data for the table `employee` */ insert into `employee`(`id`,`name`,`gender`,`birthday`,`idCard`,`wedlock`,`nationId`,`nativePlace`,`politicId`,`email`,`phone`,`address`,`departmentId`,`jobLevelId`,`posId`,`engageForm`,`tiptopDegree`,`specialty`,`school`,`beginDate`,`workState`,`workID`,`contractTerm`,`conversionTime`,`notWorkDate`,`beginContract`,`endContract`,`workAge`) values (1,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',2,'2018-04-01',NULL,'2018-01-01','2020-01-01',NULL),(2,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',91,12,29,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(3,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(4,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(5,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','硕士','室内装修设计','西北大学','2017-01-02','在职','00000005',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(6,'云星','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000006',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(7,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(8,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(9,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(10,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(11,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(12,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(13,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(14,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(15,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(16,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(17,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(18,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(19,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(20,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(21,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(22,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(24,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(25,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(26,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(27,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(28,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(29,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(31,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(32,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(33,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(34,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(35,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(36,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(37,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(38,'张黎明2','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000038',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(39,'薛磊4','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000039',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(40,'张洁4','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000040',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(41,'江南一点雨5','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000041',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(42,'陈静5','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000042',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(43,'赵琳浩5','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000043',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(44,'鹿存亮5','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000044',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(45,'姚森5','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000045',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(46,'云星5','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000046',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(47,'贾旭明5','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000047',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(48,'张黎明5','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000048',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(49,'薛磊5','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000049',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(50,'张洁5','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000050',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(51,'江南一点雨6','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000051',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(52,'陈静6','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000052',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(53,'赵琳浩6','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000053',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(54,'鹿存亮6','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000054',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(55,'姚森6','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000055',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(56,'云星6','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000056',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1351,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1352,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1353,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1354,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1355,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1357,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1358,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1359,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1360,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1361,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1362,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1363,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1364,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1365,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1366,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1367,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1368,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1369,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1370,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1371,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1372,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1373,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1374,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1375,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1376,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1377,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1378,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1379,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1380,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1381,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1382,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1383,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1384,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1385,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1411,'谢工','女','1970-01-01','618177197001011234','离异',1,'江苏',1,'584991843@qq.com','18558887788','北京',91,12,29,'劳动合同','本科','计算机软件','南华大学','2018-01-01','在职','00000038',5,'2019-01-01',NULL,'2018-01-01','2023-01-01',NULL),(1412,'林昭亮','男','1990-01-01','610122199809091234','已婚',1,'广东',13,'584991843@qq.com','16767776654','广东深圳',91,15,33,'劳动合同','大专','计算机软件','广东职业技术学院','2018-01-01','在职','00000039',5,'2018-04-01',NULL,'2018-01-01','2023-01-01',NULL),(1413,'11','男','2018-01-01','610122201801011234','已婚',1,'1',1,'584991843@qq.com','111','1',89,9,29,'劳动合同','本科','1','1','2018-01-01','在职','00000040',4,'2018-04-01',NULL,'2018-01-01','2022-01-26',NULL),(1414,'1','男','2018-01-01','610188199809091234','已婚',1,'1',1,'584991843@qq.com','1','1',89,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000041',1,'2018-01-31',NULL,'2018-01-31','2019-01-31',NULL),(1415,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000042',1,'2018-01-31',NULL,'2018-01-31','2019-01-31',NULL),(1416,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',81,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000043',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1417,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',87,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000044',0,'2018-01-01',NULL,'2018-01-01','2018-01-31',NULL),(1418,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000045',0,'2018-01-01',NULL,'2018-01-01','2018-01-31',NULL),(1419,'林伯渠','男','2018-01-01','610122199909099999','未婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000046',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1420,'1','男','2018-01-01','610122199909091234','已婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000047',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1421,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',2,NULL,NULL,'2018-01-01','2020-01-01',NULL),(1422,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',8,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1423,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1424,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1425,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','硕士','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1426,'云星','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000006',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1427,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1428,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1429,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1430,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1431,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1432,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1433,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1434,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1435,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1436,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1437,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1438,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1439,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1440,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1441,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1442,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1443,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1444,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1445,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1446,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1447,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1448,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1449,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1450,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1451,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1452,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1453,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1454,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1455,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1456,'张黎明2','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000038',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1457,'薛磊4','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000039',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1458,'张洁4','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000040',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1459,'江南一点雨5','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000041',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1460,'陈静5','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000042',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1461,'赵琳浩5','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000043',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1462,'鹿存亮5','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000044',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1463,'姚森5','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000045',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1464,'云星5','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000046',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1465,'贾旭明5','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000047',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1466,'张黎明5','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000048',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1467,'薛磊5','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000049',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1468,'张洁5','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000050',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1469,'江南一点雨6','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000051',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1470,'陈静6','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000052',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1471,'赵琳浩6','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000053',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1472,'鹿存亮6','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000054',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1473,'姚森6','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000055',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1474,'云星6','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000056',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1475,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1476,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1477,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1478,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1479,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1480,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1481,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1482,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1483,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1484,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1485,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1486,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1487,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1488,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1489,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1490,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1491,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1492,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1493,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1494,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1495,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1496,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1497,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1498,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1499,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1500,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1501,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1502,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1503,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1504,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1505,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1506,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1507,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1508,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1509,'谢工','女','1970-01-01','618177197001011234','离异',1,'江苏',1,'584991843@qq.com','18558887788','北京',91,12,29,'劳动合同','本科','计算机软件','南华大学','2018-01-01','在职','00000038',5,NULL,NULL,'2018-01-01','2023-01-01',NULL),(1510,'林昭亮','男','1990-01-01','610122199809091234','已婚',1,'广东',13,'584991843@qq.com','16767776654','广东深圳',91,15,33,'劳动合同','大专','计算机软件','广东职业技术学院','2018-01-01','在职','00000039',5,NULL,NULL,'2018-01-01','2023-01-01',NULL),(1511,'11','男','2018-01-01','610122201801011234','已婚',1,'1',1,'584991843@qq.com','111','1',89,9,29,'劳动合同','本科','1','1','2018-01-01','在职','00000040',4,NULL,NULL,'2018-01-01','2022-01-26',NULL),(1512,'1','男','2018-01-01','610188199809091234','已婚',1,'1',1,'584991843@qq.com','1','1',89,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000041',1,NULL,NULL,'2018-01-31','2019-01-31',NULL),(1513,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000042',1,NULL,NULL,'2018-01-31','2019-01-31',NULL),(1514,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',81,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000043',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1515,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',87,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000044',0,NULL,NULL,'2018-01-01','2018-01-31',NULL),(1516,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000045',0,NULL,NULL,'2018-01-01','2018-01-31',NULL),(1517,'林伯渠','男','2018-01-01','610122199909099999','未婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000046',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1518,'1','男','2018-01-01','610122199909091234','已婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000047',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1519,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000057',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1520,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',93,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2019-11-05','在职','00000058',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1521,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'',13,'laowang@qq.com','18565558897','深圳市南山区',93,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2019-11-05','在职','00000059',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1522,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowan@123.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000060',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1523,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowan@123.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000060',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1526,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000061',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1527,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000062',6.17,'2018-03-31',NULL,'2017-12-31','2024-02-29',NULL),(1528,'javaboy666','男','2019-11-10','610122199911111111','已婚',1,'广东',13,'123@qq.com','12345678901','广东深圳',78,9,29,'劳动合同','本科','信管','深圳大学','2019-11-10','在职','00000063',3.25,'2020-02-10',NULL,'2019-11-10','2023-02-22',NULL),(1529,'javaboy666','男','2019-11-10','610122199911111111','已婚',1,'广东',13,'123@qq.com','12345678901','广东深圳',78,9,29,'劳动合同','本科','信管','深圳大学','2019-11-10','在职','00000063',3.25,'2020-02-10',NULL,'2019-11-10','2023-02-22',NULL),(1530,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',2,'2018-04-01',NULL,'2018-01-01','2020-01-01',NULL),(1531,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',91,12,29,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1532,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1533,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1534,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','硕士','室内装修设计','西北大学','2017-01-02','在职','00000005',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1535,'云星','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000006',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1536,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1537,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1538,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(1539,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(1540,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1541,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1542,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1543,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1544,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1545,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1546,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1547,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1548,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1549,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(1550,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1551,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1552,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1553,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1554,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1555,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1556,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1557,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(1558,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1559,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1560,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1561,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1562,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1563,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1564,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1565,'张黎明2','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000038',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1566,'薛磊4','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000039',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(1567,'张洁4','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000040',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(1568,'江南一点雨5','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000041',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1569,'陈静5','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000042',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1570,'赵琳浩5','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000043',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1571,'鹿存亮5','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000044',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1572,'姚森5','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000045',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1573,'云星5','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000046',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1574,'贾旭明5','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000047',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1575,'张黎明5','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000048',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1576,'薛磊5','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000049',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(1577,'张洁5','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000050',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(1578,'江南一点雨6','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000051',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1579,'陈静6','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000052',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1580,'赵琳浩6','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000053',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1581,'鹿存亮6','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000054',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1582,'姚森6','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000055',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1583,'云星6','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000056',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1584,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1585,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1586,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1587,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1588,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1589,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1590,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1591,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1592,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1593,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1594,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1595,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1596,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1597,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1598,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1599,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1600,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1601,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1602,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1603,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1604,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1605,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1606,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1607,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1608,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1609,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1610,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1611,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1612,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1613,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1614,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1615,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1616,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1617,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1618,'谢工','女','1970-01-01','618177197001011234','离异',1,'江苏',1,'584991843@qq.com','18558887788','北京',91,12,29,'劳动合同','本科','计算机软件','南华大学','2018-01-01','在职','00000038',5,'2019-01-01',NULL,'2018-01-01','2023-01-01',NULL),(1619,'林昭亮','男','1990-01-01','610122199809091234','已婚',1,'广东',13,'584991843@qq.com','16767776654','广东深圳',91,15,33,'劳动合同','大专','计算机软件','广东职业技术学院','2018-01-01','在职','00000039',5,'2018-04-01',NULL,'2018-01-01','2023-01-01',NULL),(1620,'11','男','2018-01-01','610122201801011234','已婚',1,'1',1,'584991843@qq.com','111','1',89,9,29,'劳动合同','本科','1','1','2018-01-01','在职','00000040',4,'2018-04-01',NULL,'2018-01-01','2022-01-26',NULL),(1621,'1','男','2018-01-01','610188199809091234','已婚',1,'1',1,'584991843@qq.com','1','1',89,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000041',1,'2018-01-31',NULL,'2018-01-31','2019-01-31',NULL),(1622,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000042',1,'2018-01-31',NULL,'2018-01-31','2019-01-31',NULL),(1623,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',81,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000043',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1624,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',87,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000044',0,'2018-01-01',NULL,'2018-01-01','2018-01-31',NULL),(1625,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000045',0,'2018-01-01',NULL,'2018-01-01','2018-01-31',NULL),(1626,'林伯渠','男','2018-01-01','610122199909099999','未婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000046',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1627,'1','男','2018-01-01','610122199909091234','已婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000047',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1628,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',2,NULL,NULL,'2018-01-01','2020-01-01',NULL),(1629,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',8,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1630,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1631,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1632,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','硕士','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1633,'云星','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000006',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1634,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1635,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1636,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1637,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1638,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1639,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1640,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1641,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1642,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1643,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1644,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1645,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1646,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1647,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1648,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1649,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1650,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1651,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1652,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1653,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1654,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1655,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1656,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1657,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1658,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1659,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1660,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1661,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1662,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1663,'张黎明2','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000038',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1664,'薛磊4','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000039',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1665,'张洁4','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000040',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1666,'江南一点雨5','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000041',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1667,'陈静5','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000042',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1668,'赵琳浩5','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000043',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1669,'鹿存亮5','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000044',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1670,'姚森5','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000045',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1671,'云星5','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000046',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1672,'贾旭明5','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000047',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1673,'张黎明5','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000048',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1674,'薛磊5','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000049',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1675,'张洁5','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000050',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1676,'江南一点雨6','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000051',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1677,'陈静6','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000052',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1678,'赵琳浩6','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000053',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1679,'鹿存亮6','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000054',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1680,'姚森6','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000055',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1681,'云星6','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000056',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1682,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1683,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1684,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1685,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1686,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1687,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1688,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1689,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1690,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1691,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1692,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1693,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1694,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1695,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1696,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1697,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1698,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1699,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1700,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1701,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1702,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1703,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1704,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1705,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1706,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1707,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1708,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1709,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1710,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1711,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1712,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1713,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1714,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1715,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1716,'谢工','女','1970-01-01','618177197001011234','离异',1,'江苏',1,'584991843@qq.com','18558887788','北京',91,12,29,'劳动合同','本科','计算机软件','南华大学','2018-01-01','在职','00000038',5,NULL,NULL,'2018-01-01','2023-01-01',NULL),(1717,'林昭亮','男','1990-01-01','610122199809091234','已婚',1,'广东',13,'584991843@qq.com','16767776654','广东深圳',91,15,33,'劳动合同','大专','计算机软件','广东职业技术学院','2018-01-01','在职','00000039',5,NULL,NULL,'2018-01-01','2023-01-01',NULL),(1718,'11','男','2018-01-01','610122201801011234','已婚',1,'1',1,'584991843@qq.com','111','1',89,9,29,'劳动合同','本科','1','1','2018-01-01','在职','00000040',4,NULL,NULL,'2018-01-01','2022-01-26',NULL),(1719,'1','男','2018-01-01','610188199809091234','已婚',1,'1',1,'584991843@qq.com','1','1',89,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000041',1,NULL,NULL,'2018-01-31','2019-01-31',NULL),(1720,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000042',1,NULL,NULL,'2018-01-31','2019-01-31',NULL),(1721,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',81,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000043',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1722,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',87,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000044',0,NULL,NULL,'2018-01-01','2018-01-31',NULL),(1723,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000045',0,NULL,NULL,'2018-01-01','2018-01-31',NULL),(1724,'林伯渠','男','2018-01-01','610122199909099999','未婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000046',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1725,'1','男','2018-01-01','610122199909091234','已婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000047',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1726,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000057',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1727,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',93,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2019-11-05','在职','00000058',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1728,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'',13,'laowang@qq.com','18565558897','深圳市南山区',93,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2019-11-05','在职','00000059',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1729,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowan@123.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000060',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1730,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowan@123.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000060',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1731,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000061',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1732,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000062',6.17,'2018-03-31',NULL,'2017-12-31','2024-02-29',NULL),(1733,'javaboy666','男','2019-11-10','610122199911111111','已婚',1,'广东',13,'123@qq.com','12345678901','广东深圳',78,9,29,'劳动合同','本科','信管','深圳大学','2019-11-10','在职','00000063',3.25,'2020-02-10',NULL,'2019-11-10','2023-02-22',NULL),(1734,'javaboy666','男','2019-11-10','610122199911111111','已婚',1,'广东',13,'123@qq.com','12345678901','广东深圳',78,9,29,'劳动合同','本科','信管','深圳大学','2019-11-10','在职','00000063',3.25,'2020-02-10',NULL,'2019-11-10','2023-02-22',NULL),(1735,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',2,'2018-04-01',NULL,'2018-01-01','2020-01-01',NULL),(1736,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',91,12,29,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1737,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1738,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1739,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','硕士','室内装修设计','西北大学','2017-01-02','在职','00000005',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1740,'云星','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000006',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1741,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1742,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1743,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(1744,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(1745,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1746,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1747,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1748,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1749,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1750,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1751,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1752,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1753,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1754,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(1755,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1756,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1757,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1758,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1759,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1760,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1761,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1762,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(1763,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1764,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1765,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1766,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1767,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1768,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1769,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1770,'张黎明2','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000038',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1771,'薛磊4','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000039',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(1772,'张洁4','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000040',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(1773,'江南一点雨5','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000041',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1774,'陈静5','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000042',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1775,'赵琳浩5','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000043',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1776,'鹿存亮5','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000044',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1777,'姚森5','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000045',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1778,'云星5','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000046',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1779,'贾旭明5','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000047',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1780,'张黎明5','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000048',7,'2018-04-01',NULL,'2018-01-01','2025-01-30',NULL),(1781,'薛磊5','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000049',6,'2018-04-01',NULL,'2018-01-01','2024-01-17',NULL),(1782,'张洁5','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000050',1,'2018-01-31',NULL,'2018-01-01','2019-01-01',NULL),(1783,'江南一点雨6','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000051',1,'2018-04-01',NULL,'2018-01-01','2019-01-01',NULL),(1784,'陈静6','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000052',3,'2015-09-10',NULL,'2015-06-09','2018-06-08',NULL),(1785,'赵琳浩6','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000053',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1786,'鹿存亮6','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000054',3.5,'2018-04-01',NULL,'2018-01-01','2021-07-14',NULL),(1787,'姚森6','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000055',7,'2017-04-02',NULL,'2017-01-02','2024-01-17',NULL),(1788,'云星6','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000056',5.25,'2018-04-01',NULL,'2018-01-01','2023-04-13',NULL),(1789,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1790,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1791,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1792,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1793,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1794,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1795,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1796,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1797,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1798,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1799,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1800,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1801,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1802,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1803,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1804,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1805,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1806,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1807,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1808,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1809,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1810,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1811,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1812,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1813,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1814,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1815,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1816,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1817,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1818,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1819,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1820,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1821,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1822,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1823,'谢工','女','1970-01-01','618177197001011234','离异',1,'江苏',1,'584991843@qq.com','18558887788','北京',91,12,29,'劳动合同','本科','计算机软件','南华大学','2018-01-01','在职','00000038',5,'2019-01-01',NULL,'2018-01-01','2023-01-01',NULL),(1824,'林昭亮','男','1990-01-01','610122199809091234','已婚',1,'广东',13,'584991843@qq.com','16767776654','广东深圳',91,15,33,'劳动合同','大专','计算机软件','广东职业技术学院','2018-01-01','在职','00000039',5,'2018-04-01',NULL,'2018-01-01','2023-01-01',NULL),(1825,'11','男','2018-01-01','610122201801011234','已婚',1,'1',1,'584991843@qq.com','111','1',89,9,29,'劳动合同','本科','1','1','2018-01-01','在职','00000040',4,'2018-04-01',NULL,'2018-01-01','2022-01-26',NULL),(1826,'1','男','2018-01-01','610188199809091234','已婚',1,'1',1,'584991843@qq.com','1','1',89,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000041',1,'2018-01-31',NULL,'2018-01-31','2019-01-31',NULL),(1827,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000042',1,'2018-01-31',NULL,'2018-01-31','2019-01-31',NULL),(1828,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',81,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000043',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1829,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',87,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000044',0,'2018-01-01',NULL,'2018-01-01','2018-01-31',NULL),(1830,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000045',0,'2018-01-01',NULL,'2018-01-01','2018-01-31',NULL),(1831,'林伯渠','男','2018-01-01','610122199909099999','未婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000046',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1832,'1','男','2018-01-01','610122199909091234','已婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000047',0,'2018-01-31',NULL,'2018-01-31','2018-01-31',NULL),(1833,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',2,NULL,NULL,'2018-01-01','2020-01-01',NULL),(1834,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',8,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1835,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1836,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1837,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','硕士','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1838,'云星','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000006',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1839,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1840,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1841,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1842,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1843,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1844,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1845,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1846,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1847,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1848,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1849,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1850,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1851,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1852,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1853,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1854,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1855,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1856,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1857,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1858,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1859,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1860,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1861,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1862,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1863,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1864,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1865,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1866,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1867,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1868,'张黎明2','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000038',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1869,'薛磊4','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000039',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1870,'张洁4','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000040',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1871,'江南一点雨5','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000041',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1872,'陈静5','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000042',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1873,'赵琳浩5','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000043',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1874,'鹿存亮5','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000044',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1875,'姚森5','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000045',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1876,'云星5','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000046',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1877,'贾旭明5','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000047',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1878,'张黎明5','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000048',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1879,'薛磊5','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000049',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1880,'张洁5','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000050',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1881,'江南一点雨6','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000051',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1882,'陈静6','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000052',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1883,'赵琳浩6','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000053',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1884,'鹿存亮6','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000054',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1885,'姚森6','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000055',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1886,'云星6','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000056',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1887,'江南一点雨','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000001',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1888,'陈静','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000002',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1889,'赵琳浩','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000003',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1890,'鹿存亮','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000004',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1891,'姚森','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000005',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1892,'贾旭明','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000007',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1893,'张黎明','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000008',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1894,'薛磊','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000009',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1895,'张洁','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000010',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1896,'江南一点雨2','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000011',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1897,'陈静2','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000012',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1898,'赵琳浩2','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000013',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1899,'鹿存亮2','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000014',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1900,'姚森2','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000015',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1901,'云星2','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000016',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1902,'贾旭明2','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000017',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1903,'王一亭','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000018',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1904,'薛磊2','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000019',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1905,'张洁2','女','1990-10-09','420177199010093652','未婚',1,'海南',5,'zhangjie@qq.com','13695557742','海口市美兰区',92,16,34,'劳动合同','高中','无','海南侨中','2018-01-01','在职','00000020',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1906,'江南一点雨3','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000021',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1907,'陈静3','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000022',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1908,'鹿存亮3','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000024',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1909,'姚森3','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000025',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1910,'云星3','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000026',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1911,'贾旭明3','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000027',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1912,'张黎明3','男','1991-02-01','610144199102014569','已婚',1,'广东',6,'zhangliming@qq.com','18979994478','广东珠海',91,15,33,'劳动合同','高中','考古','清华大学','2018-01-01','在职','00000028',7,NULL,NULL,'2018-01-01','2025-01-30',NULL),(1913,'薛磊3','男','1992-07-01','610144199207017895','已婚',1,'陕西西安',13,'xuelei@qq.com','15648887741','西安市雁塔区',92,14,34,'劳动合同','初中','无','华胥中学','2018-01-01','在职','00000029',6,NULL,NULL,'2018-01-01','2024-01-17',NULL),(1914,'江南一点雨4','男','1990-01-01','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',8,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2018-01-01','在职','00000031',1,NULL,NULL,'2018-01-01','2019-01-01',NULL),(1915,'陈静4','女','1989-02-01','421288198902011234','已婚',1,'海南',1,'chenjing@qq.com','18795556693','海南省海口市美兰区',82,12,30,'劳动合同','高中','市场营销','武汉大学','2015-06-09','在职','00000032',3,NULL,NULL,'2015-06-09','2018-06-08',NULL),(1916,'赵琳浩4','男','1993-03-04','610122199303041456','未婚',1,'陕西',3,'zhao@qq.com','15698887795','陕西省西安市莲湖区',91,12,33,'劳动合同','博士','电子工程','哈尔滨理工大学','2018-01-01','在职','00000033',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1917,'鹿存亮4','男','1990-01-03','610122199001031456','已婚',1,'陕西',3,'zhao@qq.com','15612347795','陕西省西安市莲湖区',92,12,34,'劳动合同','高中','电子工程','哈尔滨理工大学','2018-01-01','在职','00000034',3.5,NULL,NULL,'2018-01-01','2021-07-14',NULL),(1918,'姚森4','男','1991-02-05','610122199102058952','已婚',1,'河南',3,'yaosen@qq.com','14785559936','河南洛阳人民大道58号',92,15,34,'劳动合同','初中','室内装修设计','西北大学','2017-01-02','在职','00000035',7,NULL,NULL,'2017-01-02','2024-01-17',NULL),(1919,'云星4','女','1993-01-05','610122199301054789','已婚',1,'陕西西安',1,'yunxing@qq.com','15644442252','陕西西安新城区',92,16,34,'劳务合同','硕士','通信工程','西安电子科技学校','2018-01-01','在职','00000036',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1920,'贾旭明4','男','1993-11-11','610122199311111234','已婚',1,'广东广州',4,'jiaxuming@qq.com','15644441234','广东省广州市天河区冼村路',78,15,33,'劳务合同','初中','通信工程','西北大学','2018-01-01','在职','00000037',5.25,NULL,NULL,'2018-01-01','2023-04-13',NULL),(1921,'谢工','女','1970-01-01','618177197001011234','离异',1,'江苏',1,'584991843@qq.com','18558887788','北京',91,12,29,'劳动合同','本科','计算机软件','南华大学','2018-01-01','在职','00000038',5,NULL,NULL,'2018-01-01','2023-01-01',NULL),(1922,'林昭亮','男','1990-01-01','610122199809091234','已婚',1,'广东',13,'584991843@qq.com','16767776654','广东深圳',91,15,33,'劳动合同','大专','计算机软件','广东职业技术学院','2018-01-01','在职','00000039',5,NULL,NULL,'2018-01-01','2023-01-01',NULL),(1923,'11','男','2018-01-01','610122201801011234','已婚',1,'1',1,'584991843@qq.com','111','1',89,9,29,'劳动合同','本科','1','1','2018-01-01','在职','00000040',4,NULL,NULL,'2018-01-01','2022-01-26',NULL),(1924,'1','男','2018-01-01','610188199809091234','已婚',1,'1',1,'584991843@qq.com','1','1',89,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000041',1,NULL,NULL,'2018-01-31','2019-01-31',NULL),(1925,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000042',1,NULL,NULL,'2018-01-31','2019-01-31',NULL),(1926,'1','男','2018-01-01','610122199909090000','已婚',1,'1',1,'584991843@qq.com','1','1',81,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000043',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1927,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',87,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000044',0,NULL,NULL,'2018-01-01','2018-01-31',NULL),(1928,'1','男','2018-01-01','610122199909099999','已婚',1,'1',1,'584991843@qq.com','1','1',78,9,29,'劳动合同','大专','1','1','2018-01-01','在职','00000045',0,NULL,NULL,'2018-01-01','2018-01-31',NULL),(1929,'林伯渠','男','2018-01-01','610122199909099999','未婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000046',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1930,'1','男','2018-01-01','610122199909091234','已婚',1,'1',1,'584991843@qq.com','1','1',8,9,29,'劳动合同','大专','1','1','2018-01-31','在职','00000047',0,NULL,NULL,'2018-01-31','2018-01-31',NULL),(1931,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000057',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1932,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',93,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2019-11-05','在职','00000058',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1933,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'',13,'laowang@qq.com','18565558897','深圳市南山区',93,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2019-11-05','在职','00000059',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1934,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowan@123.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000060',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1935,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowan@123.com','18565558897','深圳市南山区',5,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000060',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1936,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000061',2,'2018-03-31',NULL,'2017-12-31','2019-12-31',NULL),(1937,'javaboy','男','1989-12-31','610122199001011256','已婚',1,'陕西',13,'laowang@qq.com','18565558897','深圳市南山区',91,9,29,'劳务合同','本科','信息管理与信息系统','深圳大学','2017-12-31','在职','00000062',6.17,'2018-03-31',NULL,'2017-12-31','2024-02-29',NULL),(1938,'javaboy666','男','2019-11-10','610122199911111111','已婚',1,'广东',13,'123@qq.com','12345678901','广东深圳',78,9,29,'劳动合同','本科','信管','深圳大学','2019-11-10','在职','00000063',3.25,'2020-02-10',NULL,'2019-11-10','2023-02-22',NULL),(1939,'javaboy666','男','2019-11-10','610122199911111111','已婚',1,'广东',13,'123@qq.com','12345678901','广东深圳',78,9,29,'劳动合同','本科','信管','深圳大学','2019-11-10','在职','00000063',3.25,'2020-02-10',NULL,'2019-11-10','2023-02-22',NULL),(1940,'javaboy','男','2017-11-01','610144199905059999','已婚',1,'广东',13,'584991843@qq.com','18564447789','广东深圳',85,9,29,'劳动合同','本科','信息管理与信息系统','深圳大学','2019-11-24','在职','00000064',3,'2020-01-10',NULL,'2019-11-24','2022-11-27',NULL),(1941,'javaboy','男','2019-11-24','610144199905056666','已婚',1,'广东',13,'584991843@qq.com','18566667777','广东深圳',89,9,29,'劳动合同','本科','计算机科学','深圳大学','2019-11-24','在职','00000065',3,'2020-02-23',NULL,'2019-11-24','2022-11-27',NULL); /*Table structure for table `employeeec` */ DROP TABLE IF EXISTS `employeeec`; CREATE TABLE `employeeec` ( `id` int(11) NOT NULL AUTO_INCREMENT, `eid` int(11) DEFAULT NULL COMMENT '员工编号', `ecDate` date DEFAULT NULL COMMENT '奖罚日期', `ecReason` varchar(255) DEFAULT NULL COMMENT '奖罚原因', `ecPoint` int(11) DEFAULT NULL COMMENT '奖罚分', `ecType` int(11) DEFAULT NULL COMMENT '奖罚类别,0:奖,1:罚', `remark` varchar(255) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), KEY `pid` (`eid`), CONSTRAINT `employeeec_ibfk_1` FOREIGN KEY (`eid`) REFERENCES `employee` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*Data for the table `employeeec` */ /*Table structure for table `employeeremove` */ DROP TABLE IF EXISTS `employeeremove`; CREATE TABLE `employeeremove` ( `id` int(11) NOT NULL AUTO_INCREMENT, `eid` int(11) DEFAULT NULL, `afterDepId` int(11) DEFAULT NULL COMMENT '调动后部门', `afterJobId` int(11) DEFAULT NULL COMMENT '调动后职位', `removeDate` date DEFAULT NULL COMMENT '调动日期', `reason` varchar(255) DEFAULT NULL COMMENT '调动原因', `remark` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), KEY `pid` (`eid`), CONSTRAINT `employeeremove_ibfk_1` FOREIGN KEY (`eid`) REFERENCES `employee` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*Data for the table `employeeremove` */ /*Table structure for table `employeetrain` */ DROP TABLE IF EXISTS `employeetrain`; CREATE TABLE `employeetrain` ( `id` int(11) NOT NULL AUTO_INCREMENT, `eid` int(11) DEFAULT NULL COMMENT '员工编号', `trainDate` date DEFAULT NULL COMMENT '培训日期', `trainContent` varchar(255) DEFAULT NULL COMMENT '培训内容', `remark` varchar(255) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), KEY `pid` (`eid`), CONSTRAINT `employeetrain_ibfk_1` FOREIGN KEY (`eid`) REFERENCES `employee` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*Data for the table `employeetrain` */ /*Table structure for table `empsalary` */ DROP TABLE IF EXISTS `empsalary`; CREATE TABLE `empsalary` ( `id` int(11) NOT NULL AUTO_INCREMENT, `eid` int(11) DEFAULT NULL, `sid` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `eid` (`eid`), KEY `empsalary_ibfk_2` (`sid`), CONSTRAINT `empsalary_ibfk_1` FOREIGN KEY (`eid`) REFERENCES `employee` (`id`), CONSTRAINT `empsalary_ibfk_2` FOREIGN KEY (`sid`) REFERENCES `salary` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8; /*Data for the table `empsalary` */ insert into `empsalary`(`id`,`eid`,`sid`) values (6,4,10),(10,5,9),(11,6,13),(12,7,13),(14,8,10),(15,9,10),(20,10,13),(21,11,9),(22,3,13),(24,2,9),(25,1,13),(26,33,10),(28,34,9),(29,44,10),(30,45,10),(31,43,10),(32,47,10),(33,52,13),(34,53,10),(35,54,10),(36,56,10),(38,21,9); /*Table structure for table `hr` */ DROP TABLE IF EXISTS `hr`; CREATE TABLE `hr` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'hrID', `name` varchar(32) DEFAULT NULL COMMENT '姓名', `phone` char(11) DEFAULT NULL COMMENT '手机号码', `telephone` varchar(16) DEFAULT NULL COMMENT '住宅电话', `address` varchar(64) DEFAULT NULL COMMENT '联系地址', `enabled` tinyint(1) DEFAULT '1', `username` varchar(255) DEFAULT NULL COMMENT '用户名', `password` varchar(255) DEFAULT NULL COMMENT '密码', `userface` varchar(255) DEFAULT NULL, `remark` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; /*Data for the table `hr` */ insert into `hr`(`id`,`name`,`phone`,`telephone`,`address`,`enabled`,`username`,`password`,`userface`,`remark`) values (3,'系统管理员','18568887789','029-82881234','深圳南山',1,'admin','$2a$10$ySG2lkvjFHY5O0./CPIE1OI8VJsuKYEzOYzqIa7AJR6sEgSzUFOAm','http://bpic.588ku.com/element_pic/01/40/00/64573ce2edc0728.jpg',NULL),(5,'李白','18568123489','029-82123434','海口美兰',1,'libai','$2a$10$oE39aG10kB/rFu2vQeCJTu/V/v4n6DRR0f8WyXRiAYvBpmadoOBE.','https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1514093920321&di=913e88c23f382933ef430024afd9128a&imgtype=0&src=http%3A%2F%2Fp.3761.com%2Fpic%2F9771429316733.jpg',NULL),(10,'韩愈','18568123666','029-82111555','广州番禺',1,'hanyu','$2a$10$oE39aG10kB/rFu2vQeCJTu/V/v4n6DRR0f8WyXRiAYvBpmadoOBE.','https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1517070040185&di=be0375e0c3db6c311b837b28c208f318&imgtype=0&src=http%3A%2F%2Fimg2.soyoung.com%2Fpost%2F20150213%2F6%2F20150213141918532.jpg',NULL),(11,'柳宗元','18568123377','029-82111333','广州天河',1,'liuzongyuan','$2a$10$oE39aG10kB/rFu2vQeCJTu/V/v4n6DRR0f8WyXRiAYvBpmadoOBE.','https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1515233756&di=0856d923a0a37a87fd26604a2c871370&imgtype=jpg&er=1&src=http%3A%2F%2Fwww.qqzhi.com%2Fuploadpic%2F2014-09-27%2F041716704.jpg',NULL),(12,'曾巩','18568128888','029-82111222','广州越秀',1,'zenggong','$2a$10$oE39aG10kB/rFu2vQeCJTu/V/v4n6DRR0f8WyXRiAYvBpmadoOBE.','https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1517070040185&di=be0375e0c3db6c311b837b28c208f318&imgtype=0&src=http%3A%2F%2Fimg2.soyoung.com%2Fpost%2F20150213%2F6%2F20150213141918532.jpg',NULL); /*Table structure for table `hr_role` */ DROP TABLE IF EXISTS `hr_role`; CREATE TABLE `hr_role` ( `id` int(11) NOT NULL AUTO_INCREMENT, `hrid` int(11) DEFAULT NULL, `rid` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `rid` (`rid`), KEY `hr_role_ibfk_1` (`hrid`), CONSTRAINT `hr_role_ibfk_1` FOREIGN KEY (`hrid`) REFERENCES `hr` (`id`) ON DELETE CASCADE, CONSTRAINT `hr_role_ibfk_2` FOREIGN KEY (`rid`) REFERENCES `role` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=utf8; /*Data for the table `hr_role` */ insert into `hr_role`(`id`,`hrid`,`rid`) values (1,3,6),(35,12,4),(36,12,3),(37,12,2),(43,11,3),(44,11,2),(45,11,4),(46,11,5),(48,10,3),(49,10,4),(72,5,1),(73,5,2),(74,5,3); /*Table structure for table `joblevel` */ DROP TABLE IF EXISTS `joblevel`; CREATE TABLE `joblevel` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL COMMENT '职称名称', `titleLevel` enum('正高级','副高级','中级','初级','员级') DEFAULT NULL, `createDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `enabled` tinyint(1) DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8; /*Data for the table `joblevel` */ insert into `joblevel`(`id`,`name`,`titleLevel`,`createDate`,`enabled`) values (9,'教授','正高级','2018-01-11 00:00:00',1),(10,'副教授','副高级','2018-01-11 21:19:20',1),(12,'助教','初级','2018-01-11 21:35:39',1),(13,'讲师','中级','2018-01-11 00:00:00',0),(14,'初级工程师','初级','2018-01-14 00:00:00',1),(15,'中级工程师66','中级','2018-01-14 00:00:00',1),(16,'高级工程师','副高级','2018-01-14 16:19:14',1),(17,'骨灰级工程师','正高级','2018-01-14 16:19:24',1); /*Table structure for table `menu` */ DROP TABLE IF EXISTS `menu`; CREATE TABLE `menu` ( `id` int(11) NOT NULL AUTO_INCREMENT, `url` varchar(64) DEFAULT NULL, `path` varchar(64) DEFAULT NULL, `component` varchar(64) DEFAULT NULL, `name` varchar(64) DEFAULT NULL, `iconCls` varchar(64) DEFAULT NULL, `keepAlive` tinyint(1) DEFAULT NULL, `requireAuth` tinyint(1) DEFAULT NULL, `parentId` int(11) DEFAULT NULL, `enabled` tinyint(1) DEFAULT '1', PRIMARY KEY (`id`), KEY `parentId` (`parentId`), CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`parentId`) REFERENCES `menu` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8; /*Data for the table `menu` */ insert into `menu`(`id`,`url`,`path`,`component`,`name`,`iconCls`,`keepAlive`,`requireAuth`,`parentId`,`enabled`) values (1,'/',NULL,NULL,'所有',NULL,NULL,NULL,NULL,1),(2,'/','/home','Home','员工资料','fa fa-user-circle-o',NULL,1,1,1),(3,'/','/home','Home','人事管理','fa fa-address-card-o',NULL,1,1,1),(4,'/','/home','Home','薪资管理','fa fa-money',NULL,1,1,1),(5,'/','/home','Home','统计管理','fa fa-bar-chart',NULL,1,1,1),(6,'/','/home','Home','系统管理','fa fa-windows',NULL,1,1,1),(7,'/employee/basic/**','/emp/basic','EmpBasic','基本资料',NULL,NULL,1,2,1),(8,'/employee/advanced/**','/emp/adv','EmpAdv','高级资料',NULL,NULL,1,2,1),(9,'/personnel/emp/**','/per/emp','PerEmp','员工资料',NULL,NULL,1,3,1),(10,'/personnel/ec/**','/per/ec','PerEc','员工奖惩',NULL,NULL,1,3,1),(11,'/personnel/train/**','/per/train','PerTrain','员工培训',NULL,NULL,1,3,1),(12,'/personnel/salary/**','/per/salary','PerSalary','员工调薪',NULL,NULL,1,3,1),(13,'/personnel/remove/**','/per/mv','PerMv','员工调动',NULL,NULL,1,3,1),(14,'/salary/sob/**','/sal/sob','SalSob','工资账套管理',NULL,NULL,1,4,1),(15,'/salary/sobcfg/**','/sal/sobcfg','SalSobCfg','员工账套设置',NULL,NULL,1,4,1),(16,'/salary/table/**','/sal/table','SalTable','工资表管理',NULL,NULL,1,4,1),(17,'/salary/month/**','/sal/month','SalMonth','月末处理',NULL,NULL,1,4,1),(18,'/salary/search/**','/sal/search','SalSearch','工资表查询',NULL,NULL,1,4,1),(19,'/statistics/all/**','/sta/all','StaAll','综合信息统计',NULL,NULL,1,5,1),(20,'/statistics/score/**','/sta/score','StaScore','员工积分统计',NULL,NULL,1,5,1),(21,'/statistics/personnel/**','/sta/pers','StaPers','人事信息统计',NULL,NULL,1,5,1),(22,'/statistics/recored/**','/sta/record','StaRecord','人事记录统计',NULL,NULL,1,5,1),(23,'/system/basic/**','/sys/basic','SysBasic','基础信息设置',NULL,NULL,1,6,1),(24,'/system/cfg/**','/sys/cfg','SysCfg','系统管理',NULL,NULL,1,6,1),(25,'/system/log/**','/sys/log','SysLog','操作日志管理',NULL,NULL,1,6,1),(26,'/system/hr/**','/sys/hr','SysHr','操作员管理',NULL,NULL,1,6,1),(27,'/system/data/**','/sys/data','SysData','备份恢复数据库',NULL,NULL,1,6,1),(28,'/system/init/**','/sys/init','SysInit','初始化数据库',NULL,NULL,1,6,1); /*Table structure for table `menu_role` */ DROP TABLE IF EXISTS `menu_role`; CREATE TABLE `menu_role` ( `id` int(11) NOT NULL AUTO_INCREMENT, `mid` int(11) DEFAULT NULL, `rid` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `mid` (`mid`), KEY `rid` (`rid`), CONSTRAINT `menu_role_ibfk_1` FOREIGN KEY (`mid`) REFERENCES `menu` (`id`), CONSTRAINT `menu_role_ibfk_2` FOREIGN KEY (`rid`) REFERENCES `role` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=283 DEFAULT CHARSET=utf8; /*Data for the table `menu_role` */ insert into `menu_role`(`id`,`mid`,`rid`) values (161,7,3),(162,7,6),(163,9,6),(164,10,6),(165,11,6),(166,12,6),(167,13,6),(168,14,6),(169,15,6),(170,16,6),(171,17,6),(172,18,6),(173,19,6),(174,20,6),(175,21,6),(176,22,6),(177,23,6),(178,25,6),(179,26,6),(180,27,6),(181,28,6),(182,24,6),(247,7,4),(248,8,4),(249,11,4),(250,7,2),(251,8,2),(252,9,2),(253,10,2),(254,12,2),(255,13,2),(256,7,1),(257,8,1),(258,9,1),(259,10,1),(260,11,1),(261,12,1),(262,13,1),(263,14,1),(264,15,1),(265,16,1),(266,17,1),(267,18,1),(268,19,1),(269,20,1),(270,21,1),(271,22,1),(272,23,1),(273,24,1),(274,25,1),(275,26,1),(276,27,1),(277,28,1),(280,7,14),(281,8,14),(282,9,14); /*Table structure for table `msgcontent` */ DROP TABLE IF EXISTS `msgcontent`; CREATE TABLE `msgcontent` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(64) DEFAULT NULL, `message` varchar(255) DEFAULT NULL, `createDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8; /*Data for the table `msgcontent` */ insert into `msgcontent`(`id`,`title`,`message`,`createDate`) values (14,'2222222222','11111111111111111','2018-02-02 20:46:19'),(15,'22222222','3333333333333333333333','2018-02-02 21:45:57'),(16,'通知标题1','通知内容1','2018-02-03 11:41:39'),(17,'通知标题2','通知内容2','2018-02-03 11:52:37'),(18,'通知标题3','通知内容3','2018-02-03 12:19:41'); /*Table structure for table `nation` */ DROP TABLE IF EXISTS `nation`; CREATE TABLE `nation` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8; /*Data for the table `nation` */ insert into `nation`(`id`,`name`) values (1,'汉族'),(2,'蒙古族'),(3,'回族'),(4,'藏族'),(5,'维吾尔族'),(6,'苗族'),(7,'彝族'),(8,'壮族'),(9,'布依族'),(10,'朝鲜族'),(11,'满族'),(12,'侗族'),(13,'瑶族'),(14,'白族'),(15,'土家族'),(16,'哈尼族'),(17,'哈萨克族'),(18,'傣族'),(19,'黎族'),(20,'傈僳族'),(21,'佤族'),(22,'畲族'),(23,'高山族'),(24,'拉祜族'),(25,'水族'),(26,'东乡族'),(27,'纳西族'),(28,'景颇族'),(29,'柯尔克孜族'),(30,'土族'),(31,'达斡尔族'),(32,'仫佬族'),(33,'羌族'),(34,'布朗族'),(35,'撒拉族'),(36,'毛难族'),(37,'仡佬族'),(38,'锡伯族'),(39,'阿昌族'),(40,'普米族'),(41,'塔吉克族'),(42,'怒族'),(43,'乌孜别克族'),(44,'俄罗斯族'),(45,'鄂温克族'),(46,'崩龙族'),(47,'保安族'),(48,'裕固族'),(49,'京族'),(50,'塔塔尔族'),(51,'独龙族'),(52,'鄂伦春族'),(53,'赫哲族'),(54,'门巴族'),(55,'珞巴族'),(56,'基诺族'); /*Table structure for table `oplog` */ DROP TABLE IF EXISTS `oplog`; CREATE TABLE `oplog` ( `id` int(11) NOT NULL AUTO_INCREMENT, `addDate` date DEFAULT NULL COMMENT '添加日期', `operate` varchar(255) DEFAULT NULL COMMENT '操作内容', `hrid` int(11) DEFAULT NULL COMMENT '操作员ID', PRIMARY KEY (`id`), KEY `hrid` (`hrid`), CONSTRAINT `oplog_ibfk_1` FOREIGN KEY (`hrid`) REFERENCES `hr` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*Data for the table `oplog` */ /*Table structure for table `politicsstatus` */ DROP TABLE IF EXISTS `politicsstatus`; CREATE TABLE `politicsstatus` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; /*Data for the table `politicsstatus` */ insert into `politicsstatus`(`id`,`name`) values (1,'中共党员'),(2,'中共预备党员'),(3,'共青团员'),(4,'民革党员'),(5,'民盟盟员'),(6,'民建会员'),(7,'民进会员'),(8,'农工党党员'),(9,'致公党党员'),(10,'九三学社社员'),(11,'台盟盟员'),(12,'无党派民主人士'),(13,'普通公民'); /*Table structure for table `position` */ DROP TABLE IF EXISTS `position`; CREATE TABLE `position` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL COMMENT '职位', `createDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `enabled` tinyint(1) DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8; /*Data for the table `position` */ insert into `position`(`id`,`name`,`createDate`,`enabled`) values (29,'技术总监','2018-01-11 21:13:42',1),(30,'运营总监','2018-01-11 21:13:48',1),(31,'市场总监','2018-01-11 00:00:00',1),(33,'研发工程师','2018-01-14 00:00:00',0),(34,'运维工程师','2018-01-14 16:11:41',1),(36,'Java研发经理','2019-10-01 00:00:00',1); /*Table structure for table `role` */ DROP TABLE IF EXISTS `role`; CREATE TABLE `role` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) DEFAULT NULL, `nameZh` varchar(64) DEFAULT NULL COMMENT '角色名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; /*Data for the table `role` */ insert into `role`(`id`,`name`,`nameZh`) values (1,'ROLE_manager','部门经理'),(2,'ROLE_personnel','人事专员'),(3,'ROLE_recruiter','招聘主管'),(4,'ROLE_train','培训主管'),(5,'ROLE_performance','薪酬绩效主管'),(6,'ROLE_admin','系统管理员'),(13,'ROLE_test2','测试角色2'),(14,'ROLE_test1','测试角色1'),(17,'ROLE_test3','测试角色3'),(18,'ROLE_test4','测试角色4'),(19,'ROLE_test4','测试角色4'),(20,'ROLE_test5','测试角色5'),(21,'ROLE_test6','测试角色6'); /*Table structure for table `salary` */ DROP TABLE IF EXISTS `salary`; CREATE TABLE `salary` ( `id` int(11) NOT NULL AUTO_INCREMENT, `basicSalary` int(11) DEFAULT NULL COMMENT '基本工资', `bonus` int(11) DEFAULT NULL COMMENT '奖金', `lunchSalary` int(11) DEFAULT NULL COMMENT '午餐补助', `trafficSalary` int(11) DEFAULT NULL COMMENT '交通补助', `allSalary` int(11) DEFAULT NULL COMMENT '应发工资', `pensionBase` int(11) DEFAULT NULL COMMENT '养老金基数', `pensionPer` float DEFAULT NULL COMMENT '养老金比率', `createDate` timestamp NULL DEFAULT NULL COMMENT '启用时间', `medicalBase` int(11) DEFAULT NULL COMMENT '医疗基数', `medicalPer` float DEFAULT NULL COMMENT '医疗保险比率', `accumulationFundBase` int(11) DEFAULT NULL COMMENT '公积金基数', `accumulationFundPer` float DEFAULT NULL COMMENT '公积金比率', `name` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8; /*Data for the table `salary` */ insert into `salary`(`id`,`basicSalary`,`bonus`,`lunchSalary`,`trafficSalary`,`allSalary`,`pensionBase`,`pensionPer`,`createDate`,`medicalBase`,`medicalPer`,`accumulationFundBase`,`accumulationFundPer`,`name`) values (9,9000,4000,800,500,NULL,2000,0.07,'2018-01-24 00:00:00',2000,0.07,2000,0.07,'市场部工资账套'),(10,2000,2000,400,1000,NULL,2000,0.07,'2018-01-01 00:00:00',2000,0.07,2000,0.07,'人事部工资账套'),(13,20000,3000,500,500,NULL,4000,0.07,'2018-01-25 00:00:00',4000,0.07,4000,0.07,'运维部工资账套'); /*Table structure for table `sysmsg` */ DROP TABLE IF EXISTS `sysmsg`; CREATE TABLE `sysmsg` ( `id` int(11) NOT NULL AUTO_INCREMENT, `mid` int(11) DEFAULT NULL COMMENT '消息id', `type` int(11) DEFAULT '0' COMMENT '0表示群发消息', `hrid` int(11) DEFAULT NULL COMMENT '这条消息是给谁的', `state` int(11) DEFAULT '0' COMMENT '0 未读 1 已读', PRIMARY KEY (`id`), KEY `hrid` (`hrid`), KEY `sysmsg_ibfk_1` (`mid`), CONSTRAINT `sysmsg_ibfk_1` FOREIGN KEY (`mid`) REFERENCES `msgcontent` (`id`), CONSTRAINT `sysmsg_ibfk_2` FOREIGN KEY (`hrid`) REFERENCES `hr` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=82 DEFAULT CHARSET=utf8; /*Data for the table `sysmsg` */ insert into `sysmsg`(`id`,`mid`,`type`,`hrid`,`state`) values (57,14,0,3,1),(58,14,0,5,1),(59,14,0,10,1),(60,14,0,11,0),(61,14,0,12,0),(62,15,0,3,1),(63,15,0,5,1),(64,15,0,10,1),(65,15,0,11,0),(66,15,0,12,0),(67,16,0,3,1),(68,16,0,5,1),(69,16,0,10,1),(70,16,0,11,0),(71,16,0,12,0),(72,17,0,3,1),(73,17,0,5,1),(74,17,0,10,1),(75,17,0,11,0),(76,17,0,12,0),(77,18,0,3,1),(78,18,0,5,0),(79,18,0,10,0),(80,18,0,11,0),(81,18,0,12,0); /* Procedure structure for procedure `addDep` */ /*!50003 DROP PROCEDURE IF EXISTS `addDep` */; DELIMITER $$ /*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `addDep`(in depName varchar(32),in parentId int,in enabled boolean,out result int,out result2 int) begin declare did int; declare pDepPath varchar(64); insert into department set name=depName,parentId=parentId,enabled=enabled; select row_count() into result; select last_insert_id() into did; set result2=did; select depPath into pDepPath from department where id=parentId; update department set depPath=concat(pDepPath,'.',did) where id=did; update department set isParent=true where id=parentId; end */$$ DELIMITER ; /* Procedure structure for procedure `deleteDep` */ /*!50003 DROP PROCEDURE IF EXISTS `deleteDep` */; DELIMITER $$ /*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `deleteDep`(in did int,out result int) begin declare ecount int; declare pid int; declare pcount int; declare a int; select count(*) into a from department where id=did and isParent=false; if a=0 then set result=-2; else select count(*) into ecount from employee where departmentId=did; if ecount>0 then set result=-1; else select parentId into pid from department where id=did; delete from department where id=did and isParent=false; select row_count() into result; select count(*) into pcount from department where parentId=pid; if pcount=0 then update department set isParent=false where id=pid; end if; end if; end if; end */$$ DELIMITER ; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; ================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/fastdfs-client.properties ================================================ ## fastdfs-client.properties fastdfs.connect_timeout_in_seconds = 5 fastdfs.network_timeout_in_seconds = 30 fastdfs.charset = UTF-8 fastdfs.http_anti_steal_token = false fastdfs.http_secret_key = FastDFS1234567890 fastdfs.http_tracker_http_port = 80 fastdfs.tracker_servers = 192.168.91.128:22122 ## Whether to open the connection pool, if not, create a new connection every time fastdfs.connection_pool.enabled = true ## max_count_per_entry: max connection count per host:port , 0 is not limit fastdfs.connection_pool.max_count_per_entry = 500 ## connections whose the idle time exceeds this time will be closed, unit: second, default value is 3600 fastdfs.connection_pool.max_idle_time = 3600 ## Maximum waiting time when the maximum number of connections is reached, unit: millisecond, default value is 1000 fastdfs.connection_pool.max_wait_time_in_ms = 1000 ================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/static/css/app.4e8a7623.css ================================================ .loginContainer{border-radius:15px;background-clip:padding-box;margin:180px auto;width:350px;padding:15px 35px 15px 35px;background:#fff;border:1px solid #eaeaea;-webkit-box-shadow:0 0 25px #cac6c6;box-shadow:0 0 25px #cac6c6}.loginTitle{margin:15px auto 20px auto;text-align:center;color:#505458}.loginRemember{text-align:left;margin:0 0 15px 0}.el-form-item__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.homeRouterView{margin-top:10px}.homeWelcome{text-align:center;font-size:30px;font-family:华文行楷;color:#409eff;padding-top:50px}.homeHeader{background-color:#409eff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}.homeHeader .title{font-size:30px;font-family:华文行楷;color:#fff}.homeHeader .userInfo{cursor:pointer}.el-dropdown-link img{width:48px;height:48px;border-radius:24px;margin-left:8px}.el-dropdown-link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#card[data-v-7ee9dd77]{padding:12px}#card .avatar[data-v-7ee9dd77]{width:40px;height:40px;vertical-align:middle}#card .name[data-v-7ee9dd77]{display:inline-block;padding:10px;margin-bottom:15px;font-size:16px}#card .search[data-v-7ee9dd77]{background:#26292e;height:30px;line-height:30px;padding:0 10px;border:1px solid #3a3a3a;border-radius:4px;outline:none;color:#fff}#list li[data-v-73709cf4]{padding:16px 15px;border-bottom:1px solid #292c33;cursor:pointer;list-style:none}#list li[data-v-73709cf4]:hover{background-color:hsla(0,0%,100%,.03)}#list li.active[data-v-73709cf4]{background-color:hsla(0,0%,100%,.1)}#list .avatar[data-v-73709cf4]{border-radius:2px;width:30px;height:30px;vertical-align:middle}#list .name[data-v-73709cf4]{display:inline-block;margin-left:15px;margin-top:0;margin-bottom:0}#message[data-v-9f2df1e6]{padding:15px;max-height:68%;overflow-y:scroll}#message ul[data-v-9f2df1e6]{list-style-type:none;padding-left:0}#message ul li[data-v-9f2df1e6]{margin-bottom:15px}#message .time[data-v-9f2df1e6]{text-align:center;margin:7px 0}#message .time>span[data-v-9f2df1e6]{display:inline-block;padding:0 18px;font-size:12px;color:#fff;background-color:#dcdcdc;border-radius:2px}#message .main .avatar[data-v-9f2df1e6]{float:left;margin:0 10px 0 0;border-radius:3px;width:30px;height:30px}#message .main .text[data-v-9f2df1e6]{display:inline-block;padding:0 10px;max-width:80%;background-color:#fafafa;border-radius:4px;line-height:30px}#message .self[data-v-9f2df1e6]{text-align:right}#message .self .avatar[data-v-9f2df1e6]{float:right;margin:0 0 0 10px;border-radius:3px;width:30px;height:30px}#message .self .text[data-v-9f2df1e6]{display:inline-block;padding:0 10px;max-width:80%;background-color:#b2e281;border-radius:4px;line-height:30px}#uesrtext[data-v-1e00b6fb]{position:absolute;bottom:0;right:0;width:100%;height:30%;border-top:1px solid #ddd}#uesrtext>textarea[data-v-1e00b6fb]{padding:10px;width:100%;height:100%;border:none;outline:none}#app[data-v-2e08323c]{margin:20px auto;width:800px;height:600px;overflow:hidden;border-radius:10px}#app .main[data-v-2e08323c],#app .sidebar[data-v-2e08323c]{height:100%}#app .sidebar[data-v-2e08323c]{float:left;color:#f4f4f4;background-color:#2e3238;width:200px}#app .main[data-v-2e08323c]{position:relative;overflow:hidden;background-color:#eee} ================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/static/css/chunk-0c17a57a.42916da5.css ================================================ .depBtn{padding:2px}.addPosInput{width:300px;margin-right:8px}.updatePosInput{width:200px;margin-left:8px}.posManaMain{margin-top:10px}.permissManaTool{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.permissManaTool .el-input{width:300px;margin-right:6px}.permissManaMain{margin-top:10px;width:700px}.userinfo-container div{font-size:12px;color:#409eff}.userinfo-container{margin-top:20px}.img-container{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.userface-img{width:72px;height:72px;border-radius:72px}.hr-container{margin-top:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.hr-card{width:350px;margin-bottom:20px} ================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/static/css/chunk-64435448.3755e146.css ================================================ .slide-fade-enter-active{-webkit-transition:all .8s ease;transition:all .8s ease}.slide-fade-leave-active{-webkit-transition:all .8s cubic-bezier(1,.5,.8,1);transition:all .8s cubic-bezier(1,.5,.8,1)}.slide-fade-enter,.slide-fade-leave-to{-webkit-transform:translateX(10px);transform:translateX(10px);opacity:0} ================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/static/css/chunk-vendors.c805ba07.css ================================================ .el-button,.el-input__inner{-webkit-appearance:none;outline:0}.el-message-box,.el-popup-parent--hidden{overflow:hidden}.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#f56c6c}.el-form--inline .el-form-item,.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form-item:after,.el-form-item__content:after{clear:both}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{border-color:#f56c6c}.el-select-dropdown__item,.el-tag{white-space:nowrap;-webkit-box-sizing:border-box}.el-container,.el-container.is-vertical{-webkit-box-direction:normal}.el-card{border-radius:4px;overflow:hidden}.el-dialog{background:#fff}.el-checkbox-button__inner,.el-tag{-webkit-box-sizing:border-box;white-space:nowrap}.el-table,.el-table__append-wrapper{overflow:hidden}.el-table--hidden,.el-table td.is-hidden>*,.el-table th.is-hidden>*{visibility:hidden}.el-checkbox-button__inner,.el-table th{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;white-space:nowrap}.el-checkbox__input{white-space:nowrap}.el-table,.el-tag{-webkit-box-sizing:border-box}.el-table .hidden-columns{visibility:hidden}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}.el-input__inner,.el-tag{-webkit-box-sizing:border-box}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pager li{background:#fff}.el-checkbox-button__inner,.el-checkbox__input{line-height:1}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-steps--vertical{-webkit-box-direction:normal}.el-button-group>.el-button.is-active,.el-button-group>.el-button.is-disabled,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown-menu,.el-menu--collapse .el-submenu .el-menu{z-index:10}.el-popover{border-radius:4px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-checkbox-button__inner,.el-checkbox__input{white-space:nowrap;vertical-align:middle;outline:0}.el-checkbox{white-space:nowrap}.el-checkbox-button__inner{font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-col-pull-0,.el-col-pull-1,.el-col-pull-2,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-pull-10,.el-col-pull-11,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-push-0,.el-col-push-1,.el-col-push-2,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24{position:relative}.el-col-0{display:none}.el-row{position:relative}.el-row:after,.el-row:before{content:""}.el-row--flex:after,.el-row--flex:before{display:none}.el-upload-cover__title,.el-upload-list__item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-progress-bar,.el-progress-bar__inner:after{display:inline-block;vertical-align:middle}.el-progress-bar__inner:after{content:""}.el-progress-bar__innerText{display:inline-block;vertical-align:middle}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-cover:after{content:""}.el-date-table td,.el-date-table td div{height:30px}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-input__suffix{pointer-events:none}.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.el-radio{font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-radio:last-child{margin-right:0}.el-switch__core,.el-switch__label{vertical-align:middle}.el-notification-fade-leave-active{opacity:0}.el-message__closeBtn:focus,.el-message__content:focus{outline-width:0}.el-message{border-radius:4px;overflow:hidden}.el-pagination--small .arrow.disabled,.el-table--hidden,.el-table .hidden-columns,.el-table td.is-hidden>*,.el-table th.is-hidden>*{visibility:hidden}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing),.el-message__closeBtn:focus,.el-message__content:focus,.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing),.el-rate:active,.el-rate:focus,.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing),.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-input__suffix,.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}@font-face{font-family:element-icons;src:url(../fonts/element-icons.535877f5.woff) format("woff"),url(../fonts/element-icons.732389de.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\E6A0"}.el-icon-ice-cream-square:before{content:"\E6A3"}.el-icon-lollipop:before{content:"\E6A4"}.el-icon-potato-strips:before{content:"\E6A5"}.el-icon-milk-tea:before{content:"\E6A6"}.el-icon-ice-drink:before{content:"\E6A7"}.el-icon-ice-tea:before{content:"\E6A9"}.el-icon-coffee:before{content:"\E6AA"}.el-icon-orange:before{content:"\E6AB"}.el-icon-pear:before{content:"\E6AC"}.el-icon-apple:before{content:"\E6AD"}.el-icon-cherry:before{content:"\E6AE"}.el-icon-watermelon:before{content:"\E6AF"}.el-icon-grape:before{content:"\E6B0"}.el-icon-refrigerator:before{content:"\E6B1"}.el-icon-goblet-square-full:before{content:"\E6B2"}.el-icon-goblet-square:before{content:"\E6B3"}.el-icon-goblet-full:before{content:"\E6B4"}.el-icon-goblet:before{content:"\E6B5"}.el-icon-cold-drink:before{content:"\E6B6"}.el-icon-coffee-cup:before{content:"\E6B8"}.el-icon-water-cup:before{content:"\E6B9"}.el-icon-hot-water:before{content:"\E6BA"}.el-icon-ice-cream:before{content:"\E6BB"}.el-icon-dessert:before{content:"\E6BC"}.el-icon-sugar:before{content:"\E6BD"}.el-icon-tableware:before{content:"\E6BE"}.el-icon-burger:before{content:"\E6BF"}.el-icon-knife-fork:before{content:"\E6C1"}.el-icon-fork-spoon:before{content:"\E6C2"}.el-icon-chicken:before{content:"\E6C3"}.el-icon-food:before{content:"\E6C4"}.el-icon-dish-1:before{content:"\E6C5"}.el-icon-dish:before{content:"\E6C6"}.el-icon-moon-night:before{content:"\E6EE"}.el-icon-moon:before{content:"\E6F0"}.el-icon-cloudy-and-sunny:before{content:"\E6F1"}.el-icon-partly-cloudy:before{content:"\E6F2"}.el-icon-cloudy:before{content:"\E6F3"}.el-icon-sunny:before{content:"\E6F6"}.el-icon-sunset:before{content:"\E6F7"}.el-icon-sunrise-1:before{content:"\E6F8"}.el-icon-sunrise:before{content:"\E6F9"}.el-icon-heavy-rain:before{content:"\E6FA"}.el-icon-lightning:before{content:"\E6FB"}.el-icon-light-rain:before{content:"\E6FC"}.el-icon-wind-power:before{content:"\E6FD"}.el-icon-baseball:before{content:"\E712"}.el-icon-soccer:before{content:"\E713"}.el-icon-football:before{content:"\E715"}.el-icon-basketball:before{content:"\E716"}.el-icon-ship:before{content:"\E73F"}.el-icon-truck:before{content:"\E740"}.el-icon-bicycle:before{content:"\E741"}.el-icon-mobile-phone:before{content:"\E6D3"}.el-icon-service:before{content:"\E6D4"}.el-icon-key:before{content:"\E6E2"}.el-icon-unlock:before{content:"\E6E4"}.el-icon-lock:before{content:"\E6E5"}.el-icon-watch:before{content:"\E6FE"}.el-icon-watch-1:before{content:"\E6FF"}.el-icon-timer:before{content:"\E702"}.el-icon-alarm-clock:before{content:"\E703"}.el-icon-map-location:before{content:"\E704"}.el-icon-delete-location:before{content:"\E705"}.el-icon-add-location:before{content:"\E706"}.el-icon-location-information:before{content:"\E707"}.el-icon-location-outline:before{content:"\E708"}.el-icon-location:before{content:"\E79E"}.el-icon-place:before{content:"\E709"}.el-icon-discover:before{content:"\E70A"}.el-icon-first-aid-kit:before{content:"\E70B"}.el-icon-trophy-1:before{content:"\E70C"}.el-icon-trophy:before{content:"\E70D"}.el-icon-medal:before{content:"\E70E"}.el-icon-medal-1:before{content:"\E70F"}.el-icon-stopwatch:before{content:"\E710"}.el-icon-mic:before{content:"\E711"}.el-icon-copy-document:before{content:"\E718"}.el-icon-full-screen:before{content:"\E719"}.el-icon-switch-button:before{content:"\E71B"}.el-icon-aim:before{content:"\E71C"}.el-icon-crop:before{content:"\E71D"}.el-icon-odometer:before{content:"\E71E"}.el-icon-time:before{content:"\E71F"}.el-icon-bangzhu:before{content:"\E724"}.el-icon-close-notification:before{content:"\E726"}.el-icon-microphone:before{content:"\E727"}.el-icon-turn-off-microphone:before{content:"\E728"}.el-icon-position:before{content:"\E729"}.el-icon-postcard:before{content:"\E72A"}.el-icon-message:before{content:"\E72B"}.el-icon-chat-line-square:before{content:"\E72D"}.el-icon-chat-dot-square:before{content:"\E72E"}.el-icon-chat-dot-round:before{content:"\E72F"}.el-icon-chat-square:before{content:"\E730"}.el-icon-chat-line-round:before{content:"\E731"}.el-icon-chat-round:before{content:"\E732"}.el-icon-set-up:before{content:"\E733"}.el-icon-turn-off:before{content:"\E734"}.el-icon-open:before{content:"\E735"}.el-icon-connection:before{content:"\E736"}.el-icon-link:before{content:"\E737"}.el-icon-cpu:before{content:"\E738"}.el-icon-thumb:before{content:"\E739"}.el-icon-female:before{content:"\E73A"}.el-icon-male:before{content:"\E73B"}.el-icon-guide:before{content:"\E73C"}.el-icon-news:before{content:"\E73E"}.el-icon-price-tag:before{content:"\E744"}.el-icon-discount:before{content:"\E745"}.el-icon-wallet:before{content:"\E747"}.el-icon-coin:before{content:"\E748"}.el-icon-money:before{content:"\E749"}.el-icon-bank-card:before{content:"\E74A"}.el-icon-box:before{content:"\E74B"}.el-icon-present:before{content:"\E74C"}.el-icon-sell:before{content:"\E6D5"}.el-icon-sold-out:before{content:"\E6D6"}.el-icon-shopping-bag-2:before{content:"\E74D"}.el-icon-shopping-bag-1:before{content:"\E74E"}.el-icon-shopping-cart-2:before{content:"\E74F"}.el-icon-shopping-cart-1:before{content:"\E750"}.el-icon-shopping-cart-full:before{content:"\E751"}.el-icon-smoking:before{content:"\E752"}.el-icon-no-smoking:before{content:"\E753"}.el-icon-house:before{content:"\E754"}.el-icon-table-lamp:before{content:"\E755"}.el-icon-school:before{content:"\E756"}.el-icon-office-building:before{content:"\E757"}.el-icon-toilet-paper:before{content:"\E758"}.el-icon-notebook-2:before{content:"\E759"}.el-icon-notebook-1:before{content:"\E75A"}.el-icon-files:before{content:"\E75B"}.el-icon-collection:before{content:"\E75C"}.el-icon-receiving:before{content:"\E75D"}.el-icon-suitcase-1:before{content:"\E760"}.el-icon-suitcase:before{content:"\E761"}.el-icon-film:before{content:"\E763"}.el-icon-collection-tag:before{content:"\E765"}.el-icon-data-analysis:before{content:"\E766"}.el-icon-pie-chart:before{content:"\E767"}.el-icon-data-board:before{content:"\E768"}.el-icon-data-line:before{content:"\E76D"}.el-icon-reading:before{content:"\E769"}.el-icon-magic-stick:before{content:"\E76A"}.el-icon-coordinate:before{content:"\E76B"}.el-icon-mouse:before{content:"\E76C"}.el-icon-brush:before{content:"\E76E"}.el-icon-headset:before{content:"\E76F"}.el-icon-umbrella:before{content:"\E770"}.el-icon-scissors:before{content:"\E771"}.el-icon-mobile:before{content:"\E773"}.el-icon-attract:before{content:"\E774"}.el-icon-monitor:before{content:"\E775"}.el-icon-search:before{content:"\E778"}.el-icon-takeaway-box:before{content:"\E77A"}.el-icon-paperclip:before{content:"\E77D"}.el-icon-printer:before{content:"\E77E"}.el-icon-document-add:before{content:"\E782"}.el-icon-document:before{content:"\E785"}.el-icon-document-checked:before{content:"\E786"}.el-icon-document-copy:before{content:"\E787"}.el-icon-document-delete:before{content:"\E788"}.el-icon-document-remove:before{content:"\E789"}.el-icon-tickets:before{content:"\E78B"}.el-icon-folder-checked:before{content:"\E77F"}.el-icon-folder-delete:before{content:"\E780"}.el-icon-folder-remove:before{content:"\E781"}.el-icon-folder-add:before{content:"\E783"}.el-icon-folder-opened:before{content:"\E784"}.el-icon-folder:before{content:"\E78A"}.el-icon-edit-outline:before{content:"\E764"}.el-icon-edit:before{content:"\E78C"}.el-icon-date:before{content:"\E78E"}.el-icon-c-scale-to-original:before{content:"\E7C6"}.el-icon-view:before{content:"\E6CE"}.el-icon-loading:before{content:"\E6CF"}.el-icon-rank:before{content:"\E6D1"}.el-icon-sort-down:before{content:"\E7C4"}.el-icon-sort-up:before{content:"\E7C5"}.el-icon-sort:before{content:"\E6D2"}.el-icon-finished:before{content:"\E6CD"}.el-icon-refresh-left:before{content:"\E6C7"}.el-icon-refresh-right:before{content:"\E6C8"}.el-icon-refresh:before{content:"\E6D0"}.el-icon-video-play:before{content:"\E7C0"}.el-icon-video-pause:before{content:"\E7C1"}.el-icon-d-arrow-right:before{content:"\E6DC"}.el-icon-d-arrow-left:before{content:"\E6DD"}.el-icon-arrow-up:before{content:"\E6E1"}.el-icon-arrow-down:before{content:"\E6DF"}.el-icon-arrow-right:before{content:"\E6E0"}.el-icon-arrow-left:before{content:"\E6DE"}.el-icon-top-right:before{content:"\E6E7"}.el-icon-top-left:before{content:"\E6E8"}.el-icon-top:before{content:"\E6E6"}.el-icon-bottom:before{content:"\E6EB"}.el-icon-right:before{content:"\E6E9"}.el-icon-back:before{content:"\E6EA"}.el-icon-bottom-right:before{content:"\E6EC"}.el-icon-bottom-left:before{content:"\E6ED"}.el-icon-caret-top:before{content:"\E78F"}.el-icon-caret-bottom:before{content:"\E790"}.el-icon-caret-right:before{content:"\E791"}.el-icon-caret-left:before{content:"\E792"}.el-icon-d-caret:before{content:"\E79A"}.el-icon-share:before{content:"\E793"}.el-icon-menu:before{content:"\E798"}.el-icon-s-grid:before{content:"\E7A6"}.el-icon-s-check:before{content:"\E7A7"}.el-icon-s-data:before{content:"\E7A8"}.el-icon-s-opportunity:before{content:"\E7AA"}.el-icon-s-custom:before{content:"\E7AB"}.el-icon-s-claim:before{content:"\E7AD"}.el-icon-s-finance:before{content:"\E7AE"}.el-icon-s-comment:before{content:"\E7AF"}.el-icon-s-flag:before{content:"\E7B0"}.el-icon-s-marketing:before{content:"\E7B1"}.el-icon-s-shop:before{content:"\E7B4"}.el-icon-s-open:before{content:"\E7B5"}.el-icon-s-management:before{content:"\E7B6"}.el-icon-s-ticket:before{content:"\E7B7"}.el-icon-s-release:before{content:"\E7B8"}.el-icon-s-home:before{content:"\E7B9"}.el-icon-s-promotion:before{content:"\E7BA"}.el-icon-s-operation:before{content:"\E7BB"}.el-icon-s-unfold:before{content:"\E7BC"}.el-icon-s-fold:before{content:"\E7A9"}.el-icon-s-platform:before{content:"\E7BD"}.el-icon-s-order:before{content:"\E7BE"}.el-icon-s-cooperation:before{content:"\E7BF"}.el-icon-bell:before{content:"\E725"}.el-icon-message-solid:before{content:"\E799"}.el-icon-video-camera:before{content:"\E772"}.el-icon-video-camera-solid:before{content:"\E796"}.el-icon-camera:before{content:"\E779"}.el-icon-camera-solid:before{content:"\E79B"}.el-icon-download:before{content:"\E77C"}.el-icon-upload2:before{content:"\E77B"}.el-icon-upload:before{content:"\E7C3"}.el-icon-picture-outline-round:before{content:"\E75F"}.el-icon-picture-outline:before{content:"\E75E"}.el-icon-picture:before{content:"\E79F"}.el-icon-close:before{content:"\E6DB"}.el-icon-check:before{content:"\E6DA"}.el-icon-plus:before{content:"\E6D9"}.el-icon-minus:before{content:"\E6D8"}.el-icon-help:before{content:"\E73D"}.el-icon-s-help:before{content:"\E7B3"}.el-icon-circle-close:before{content:"\E78D"}.el-icon-circle-check:before{content:"\E720"}.el-icon-circle-plus-outline:before{content:"\E723"}.el-icon-remove-outline:before{content:"\E722"}.el-icon-zoom-out:before{content:"\E776"}.el-icon-zoom-in:before{content:"\E777"}.el-icon-error:before{content:"\E79D"}.el-icon-success:before{content:"\E79C"}.el-icon-circle-plus:before{content:"\E7A0"}.el-icon-remove:before{content:"\E7A2"}.el-icon-info:before{content:"\E7A1"}.el-icon-question:before{content:"\E7A4"}.el-icon-warning-outline:before{content:"\E6C9"}.el-icon-warning:before{content:"\E7A3"}.el-icon-goods:before{content:"\E7C2"}.el-icon-s-goods:before{content:"\E7B2"}.el-icon-star-off:before{content:"\E717"}.el-icon-star-on:before{content:"\E797"}.el-icon-more-outline:before{content:"\E6CC"}.el-icon-more:before{content:"\E794"}.el-icon-phone-outline:before{content:"\E6CB"}.el-icon-phone:before{content:"\E795"}.el-icon-user:before{content:"\E6E3"}.el-icon-user-solid:before{content:"\E7A5"}.el-icon-setting:before{content:"\E6CA"}.el-icon-s-tools:before{content:"\E7AC"}.el-icon-delete:before{content:"\E6D7"}.el-icon-delete-solid:before{content:"\E7C9"}.el-icon-eleme:before{content:"\E7C7"}.el-icon-platform-eleme:before{content:"\E7CA"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotating{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination:after,.el-pagination:before{display:table;content:""}.el-pagination:after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409eff}.el-pagination button:disabled{color:#c0c4cc;background-color:#fff;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:50% no-repeat #fff;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#c0c4cc;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .more:before,.el-pagination--small li.more:before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409eff}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#c0c4cc}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409eff}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.el-dialog,.el-pager li{background:#fff;-webkit-box-sizing:border-box}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-moz-user-select:none;user-select:none;list-style:none;font-size:0}.el-date-table,.el-pager,.el-table th{-webkit-user-select:none;-ms-user-select:none}.el-pager .more:before{line-height:30px}.el-pager li{padding:0 4px;font-size:13px;min-width:35.5px;height:28px;line-height:28px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.el-menu--collapse .el-menu .el-submenu,.el-menu--popup{min-width:200px}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#c0c4cc}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409eff}.el-pager li.active{color:#409eff;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409eff}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #e4e7ed;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.el-dropdown-menu,.el-menu--collapse .el-submenu .el-menu{z-index:10;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#fff}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button:before{content:"";position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:hsla(0,0%,100%,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default:before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown-menu{position:absolute;top:0;left:0;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #ebeef5}.el-dropdown-menu__item--divided:before{content:"";height:6px;display:block;margin:0 -20px;background-color:#fff}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:1px solid #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0}.el-menu,.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu:after,.el-menu:before{display:table;content:""}.el-menu:after{clear:both}.el-menu.el-menu--horizontal{border-bottom:1px solid #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409eff;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#fff;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409eff;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;border:1px solid #e4e7ed;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;position:relative;-webkit-box-sizing:border-box;white-space:nowrap;list-style:none}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409eff}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409eff}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{white-space:nowrap;background:#fff;border:1px solid #dcdfe6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409eff}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;-webkit-box-shadow:-1px 0 0 0 #409eff;box-shadow:-1px 0 0 0 #409eff}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-popover,.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409eff;box-shadow:0 0 2px 2px #409eff}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409eff}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #dcdfe6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#dcdfe6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#fff}.el-switch.is-checked .el-switch__core{border-color:#409eff;background-color:#409eff}.el-switch.is-checked .el-switch__core:after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409eff;background-color:#fff}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{position:absolute;right:20px;font-family:element-icons;content:"\E6DA";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item,.el-select .el-tag,.el-table{-webkit-box-sizing:border-box}.el-select-dropdown__item.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#fff}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#f5f7fa}.el-select-dropdown__item.selected{color:#409eff;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#e4e7ed}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#c0c4cc}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409eff}.el-select .el-input .el-select__caret{color:#c0c4cc;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotate(180deg);transform:rotate(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotate(0);transform:rotate(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotate(180deg);transform:rotate(180deg);border-radius:100%;color:#c0c4cc;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#e4e7ed}.el-select .el-input.is-focus .el-input__inner{border-color:#409eff}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#c0c4cc;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select .el-tag__close{margin-top:-2px}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5}.el-select .el-tag__close.el-icon-close{background-color:#c0c4cc;right:-7px;top:0;color:#fff}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#fff}.el-select .el-tag__close.el-icon-close:before{display:block;-webkit-transform:translateY(.5px);transform:translateY(.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table--mini,.el-table--small,.el-table__expand-icon{font-size:12px}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit td.gutter,.el-table--fit th.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th{background:#f5f7fa}.el-table th,.el-table tr{background-color:#fff}.el-table td,.el-table th{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table td.is-center,.el-table th.is-center{text-align:center}.el-table td.is-right,.el-table th.is-right{text-align:right}.el-table td.gutter,.el-table th.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table--medium td,.el-table--medium th{padding:10px 0}.el-table--small td,.el-table--small th{padding:8px 0}.el-table--mini td,.el-table--mini th{padding:6px 0}.el-table .cell,.el-table th div{padding-right:10px;overflow:hidden;text-overflow:ellipsis}.el-table--border td:first-child .cell,.el-table--border th:first-child .cell,.el-table .cell,.el-table th div{padding-left:10px}.el-table tr input[type=checkbox]{margin:0}.el-table td,.el-table th.is-leaf{border-bottom:1px solid #ebeef5}.el-table th.is-sortable{cursor:pointer}.el-table th{white-space:nowrap;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.el-table th div{line-height:40px;white-space:nowrap}.el-table th>.cell,.el-table th div{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.el-table th>.cell{position:relative;word-wrap:normal;text-overflow:ellipsis;vertical-align:middle;width:100%}.el-table th>.cell.highlight{color:#409eff}.el-table th.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.gutter{width:0}.el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;white-space:normal;word-break:break-all;line-height:23px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #ebeef5}.el-table--border:after,.el-table--group:after,.el-table:before{content:"";position:absolute;background-color:#ebeef5;z-index:1}.el-table--border:after,.el-table--group:after{top:0;right:0;width:1px;height:100%}.el-table:before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border td,.el-table--border th,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #ebeef5}.el-table--border th.gutter:last-of-type{border-bottom:1px solid #ebeef5;border-bottom-width:1px}.el-table--border th,.el-table__fixed-right-patch{border-bottom:1px solid #ebeef5}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right:before,.el-table__fixed:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#ebeef5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td{border-top:1px solid #ebeef5;background-color:#f5f7fa;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td{border-top:1px solid #ebeef5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td,.el-table__header-wrapper tbody td{background-color:#f5f7fa;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-picker-panel,.el-table-filter{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #ebeef5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#c0c4cc;top:5px}.el-table .sort-caret.descending{border-top-color:#c0c4cc;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409eff}.el-table .descending .sort-caret.descending{border-top-color:#409eff}.el-table .hidden-columns{position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td{background:#fafafa}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td,.el-table__body tr.hover-row.el-table__row--striped.current-row>td,.el-table__body tr.hover-row.el-table__row--striped>td,.el-table__body tr.hover-row>td{background-color:#f5f7fa}.el-table__body tr.current-row>td{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #ebeef5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#f5f7fa}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #ebeef5;border-radius:2px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0}.el-date-table td,.el-date-table td div{height:30px;-webkit-box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409eff;color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #ebeef5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div,.el-date-table td.in-range div,.el-date-table td.in-range div:hover{background-color:#f2f6fc}.el-table-filter__bottom button:hover{color:#409eff}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-moz-user-select:none;user-select:none}.el-date-table,.el-slider__button-wrapper,.el-time-panel{-webkit-user-select:none;-ms-user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;padding:4px 0;text-align:center;cursor:pointer;position:relative}.el-date-table td,.el-date-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td div{padding:3px 0}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#c0c4cc}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409eff;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#fff}.el-date-table td.available:hover{color:#409eff}.el-date-table td.current:not(.disabled) span{color:#fff;background-color:#409eff}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#fff}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409eff}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#f5f7fa;opacity:1;cursor:not-allowed;color:#c0c4cc}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#f2f6fc;border-radius:15px}.el-date-table td.selected div:hover{background-color:#f2f6fc}.el-date-table td.selected span{background-color:#409eff;color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:1px solid #ebeef5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409eff;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-month-table td.disabled .cell:hover{color:#c0c4cc}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409eff}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#f2f6fc}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#fff;background-color:#409eff}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409eff}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409eff;font-weight:700}.el-year-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-year-table td.disabled .cell:hover{color:#c0c4cc}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409eff}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid #ebeef5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409eff}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409eff;font-weight:700}.time-select-item.disabled{color:#e4e7ed;cursor:not-allowed}.time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input,.el-date-editor .el-range-separator{height:100%;margin:0;text-align:center;display:inline-block;font-size:14px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;padding:0;width:39%;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input:-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-moz-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{padding:0 5px;line-height:32px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409eff}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#e4e7ed}.el-range-editor.is-disabled input{background-color:#f5f7fa;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-moz-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::placeholder{color:#c0c4cc}.el-range-editor.is-disabled .el-range-separator{color:#c0c4cc}.el-picker-panel{color:#606266;border:1px solid #e4e7ed;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel,.el-popover,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409eff}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409eff}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409eff}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409eff}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#c0c4cc;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #e4e7ed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds:after{left:66.66667%}.el-time-panel__content.has-seconds:before{padding-left:33.33333%}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409eff}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #e4e7ed}.el-popover{position:absolute;background:#fff;min-width:150px;border:1px solid #ebeef5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#fff;border-radius:4px;border:1px solid #ebeef5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#f56c6c}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409eff}.el-message-box__content{position:relative;padding:10px 15px;color:#606266;font-size:14px}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67c23a}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#e6a23c}.el-message-box__status.el-icon-error{color:#f56c6c}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#f56c6c;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-container,.el-container.is-vertical,.el-drawer,.el-link,.el-steps--vertical{-webkit-box-direction:normal}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{display:table;content:""}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#c0c4cc}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:#409eff;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item:after,.el-form-item:before{display:table;content:""}.el-form-item:after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content:after,.el-form-item__content:before{display:table;content:""}.el-form-item__content:after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#f56c6c;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:"*";color:#f56c6c;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#f56c6c}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409eff;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-collapse-item__arrow,.el-tabs__nav{-webkit-transition:-webkit-transform .3s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8);transform:scale(.8)}.el-tabs__new-tab:hover{color:#409eff}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#e4e7ed;z-index:1}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after,.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;transition:-webkit-transform .3s;-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409eff inset;box-shadow:inset 0 0 2px 2px #409eff;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs__item .el-icon-close:hover{background-color:#c0c4cc;color:#fff}.el-tabs__item.is-active{color:#409eff}.el-tabs__item:hover{color:#409eff;cursor:pointer}.el-tabs__item.is-disabled{color:#c0c4cc;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #e4e7ed}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #e4e7ed;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close,.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #e4e7ed;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--border-card{background:#fff;border:1px solid #dcdfe6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #e4e7ed;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409eff;background-color:#fff;border-right-color:#dcdfe6;border-left-color:#dcdfe6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409eff}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#c0c4cc}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #dcdfe6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #e4e7ed;border-bottom:none;border-top:1px solid #e4e7ed;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #e4e7ed;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #e4e7ed;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #e4e7ed;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #e4e7ed}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #e4e7ed;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #e4e7ed;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #e4e7ed;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#fff;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409eff}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#f5f7fa}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409eff;color:#fff}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#f5f7fa}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#c0c4cc;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#c0c4cc}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#fff;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#c0c4cc}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#fff}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67c23a}.el-alert--success.is-light .el-alert__description{color:#67c23a}.el-alert--success.is-dark{background-color:#67c23a;color:#fff}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#fff}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#e6a23c}.el-alert--warning.is-light .el-alert__description{color:#e6a23c}.el-alert--warning.is-dark{background-color:#e6a23c;color:#fff}.el-alert--error.is-light{background-color:#fef0f0;color:#f56c6c}.el-alert--error.is-light .el-alert__description{color:#f56c6c}.el-alert--error.is-dark{background-color:#f56c6c;color:#fff}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active{opacity:0}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #ebeef5;position:fixed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67c23a}.el-notification .el-icon-error{color:#f56c6c}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#e6a23c}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409eff}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409eff}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #dcdfe6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #dcdfe6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#e4e7ed;color:#e4e7ed}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#e4e7ed;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #dcdfe6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #dcdfe6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow:after{content:" ";border-width:5px}.el-progress-bar__inner:after,.el-row:after,.el-row:before,.el-slider:after,.el-slider:before,.el-slider__button-wrapper:after,.el-upload-cover:after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow:after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#fff}.el-tooltip__popper.is-light{background:#fff;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow:after{border-top-color:#fff}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow:after{border-bottom-color:#fff}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow:after{border-left-color:#fff}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow:after{border-right-color:#fff}.el-slider:after,.el-slider:before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper:after{vertical-align:middle;display:inline-block}.el-slider:after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#e4e7ed;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button{border-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409eff;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:transparent;text-align:center;user-select:none;line-height:normal}.el-slider__button,.el-slider__button-wrapper,.el-step__icon-inner{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-slider__button-wrapper:after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409eff;background-color:#fff;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#fff;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px}.el-slider.is-vertical .el-slider__button-wrapper,.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #dcdfe6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#c0c4cc}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409eff}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:hsla(0,0%,100%,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-2,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-pull-10,.el-col-pull-11,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-push-0,.el-col-push-1,.el-col-push-2,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-row{position:relative}.el-loading-spinner .el-loading-text{color:#409eff;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409eff;stroke-linecap:round}.el-loading-spinner i{color:#409eff}@-webkit-keyframes loading-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row:after,.el-row:before{display:table}.el-row:after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-upload--picture-card,.el-upload-dragger{-webkit-box-sizing:border-box;cursor:pointer}.el-col-0{width:0}.el-col-offset-0{margin-left:0}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409eff;color:#409eff}.el-upload:focus .el-upload-dragger{border-color:#409eff}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#c0c4cc;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #dcdfe6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409eff;font-style:normal}.el-upload-dragger:hover{border-color:#409eff}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409eff}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67c23a}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409eff}.el-upload-list__item:hover{background-color:#f5f7fa}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409eff;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409eff}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#fff}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner:after,.el-progress-bar__innerText,.el-spinner{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-warning .el-progress-bar__inner{background-color:#e6a23c}.el-progress.is-warning .el-progress__text{color:#e6a23c}.el-progress.is-exception .el-progress-bar__inner{background-color:#f56c6c}.el-progress.is-exception .el-progress__text{color:#f56c6c}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#ebeef5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409eff;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-card,.el-message{border-radius:4px;overflow:hidden}.el-progress-bar__inner:after{height:100%}.el-progress-bar__innerText{color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#ebeef5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67c23a}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#e6a23c}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#f56c6c}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67c23a}.el-message .el-icon-error{color:#f56c6c}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#e6a23c}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#f56c6c;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409eff}.el-badge__content--success{background-color:#67c23a}.el-badge__content--warning{background-color:#e6a23c}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#f56c6c}.el-card{border:1px solid #ebeef5;background-color:#fff;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #ebeef5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px}.el-rate{height:20px;line-height:1}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#c0c4cc;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#f5f7fa}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#c0c4cc;border-color:#c0c4cc}.el-step__head.is-success{color:#67c23a;border-color:#67c23a}.el-step__head.is-error{color:#f56c6c;border-color:#f56c6c}.el-step__head.is-finish{color:#409eff;border-color:#409eff}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#fff;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{display:inline-block;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-button,.el-checkbox,.el-image-viewer__btn,.el-step__icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#c0c4cc}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#c0c4cc}.el-step__title.is-success{color:#67c23a}.el-step__title.is-error{color:#f56c6c}.el-step__title.is-finish{color:#409eff}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#c0c4cc}.el-step__description.is-success{color:#67c23a}.el-step__description.is-error{color:#f56c6c}.el-step__description.is-finish{color:#409eff}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:-webkit-box;display:-ms-flexbox;display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{content:"";display:inline-block;position:absolute;height:15px;width:1px;background:#c0c4cc}.el-step.is-simple .el-step__arrow:before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#fff;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#c0c4cc;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#fff;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;top:0;left:0;position:absolute}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item--card,.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#fff;opacity:.24;-webkit-transition:.2s;transition:.2s}.el-fade-in-enter,.el-fade-in-leave-active,.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active,.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-enter-active,.el-fade-in-leave-active,.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45);transform:scale(.45)}.collapse-transition{-webkit-transition:height .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s ease-in-out;transition:height .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s ease-in-out}.horizontal-collapse-transition{-webkit-transition:width .3s ease-in-out,padding-left .3s ease-in-out,padding-right .3s ease-in-out;transition:width .3s ease-in-out,padding-left .3s ease-in-out,padding-right .3s ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #ebeef5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:-webkit-transform .3s;-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409eff}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;box-sizing:border-box;border-bottom:1px solid #ebeef5}.el-cascader__tags,.el-collapse-item__wrap,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.el-popper .popper__arrow:after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409eff;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409eff}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67c23a}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close:before{display:block}.el-tag--dark{background-color:#409eff;color:#fff}.el-tag--dark,.el-tag--dark.is-hit{border-color:#409eff}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#fff;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67c23a}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#fff;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409eff}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#c0c4cc}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409eff}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#c0c4cc}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#fff;border:1px solid #e4e7ed;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#c0c4cc;color:#fff}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#f5f7fa}.el-cascader__suggestion-item.is-checked{color:#409eff;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#c0c4cc}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#c0c4cc}.el-cascader__search-input:-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-moz-placeholder{color:#c0c4cc}.el-cascader__search-input::placeholder{color:#c0c4cc}.el-color-predefine{font-size:12px;margin-top:8px;width:280px}.el-color-predefine,.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex}.el-color-predefine__colors{-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409eff;box-shadow:0 0 3px 2px #409eff}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,color-stop(0,red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(transparent));background:linear-gradient(0deg,#000,transparent)}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,color-stop(0,hsla(0,0%,100%,0)),to(#fff));background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,hsla(0,0%,100%,0)),to(#fff));background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409eff;border-color:#409eff}.el-color-dropdown__link-btn{cursor:pointer;color:#409eff;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409eff,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:hsla(0,0%,100%,.7)}.el-color-picker__trigger{display:inline-block;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;cursor:pointer}.el-color-picker__color,.el-color-picker__trigger{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-color-picker__color{display:block;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty,.el-color-picker__icon{top:50%;left:50%;font-size:12px;position:absolute}.el-color-picker__empty{color:#999}.el-color-picker__empty,.el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;color:#fff;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#fff;background-image:none;border:1px solid #dcdfe6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::-moz-placeholder{color:#c0c4cc}.el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea__inner:hover{border-color:#c0c4cc}.el-textarea__inner:focus{outline:0;border-color:#409eff}.el-textarea .el-input__count{color:#909399;background:#fff;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea.is-exceed .el-textarea__inner{border-color:#f56c6c}.el-textarea.is-exceed .el-input__count{color:#f56c6c}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#c0c4cc;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#fff;line-height:normal;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-button,.el-input__inner,.el-transfer-panel{-webkit-box-sizing:border-box}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#c0c4cc;text-align:center}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-placeholder{color:#c0c4cc}.el-input__inner::placeholder{color:#c0c4cc}.el-input__inner:hover{border-color:#c0c4cc}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409eff;outline:0}.el-input__suffix{right:5px;-webkit-transition:all .3s;transition:all .3s}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px}.el-input__icon,.el-input__prefix{-webkit-transition:all .3s;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;line-height:40px}.el-input__icon:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409eff;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#fff;border-color:#409eff;color:#409eff}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#fff;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5}.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#ebeef5;color:#c0c4cc}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:hsla(0,0%,100%,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#fff;background-color:#409eff;border-color:#409eff}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#fff;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409eff;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409eff;border-color:#409eff;color:#fff}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#fff;background-color:#67c23a;border-color:#67c23a}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#fff}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#fff}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#fff;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67c23a;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67c23a;border-color:#67c23a;color:#fff}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#fff}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#fff}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#fff;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#e6a23c;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#e6a23c;border-color:#e6a23c;color:#fff}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#fff}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#fff}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#fff;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#f56c6c;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#f56c6c;border-color:#f56c6c;color:#fff}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#fff;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#fff}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--text,.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover,.el-button--text:active{border-color:transparent}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{color:#409eff;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;background-color:transparent}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{display:table;content:""}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#fff;background-color:#409eff;font-size:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #dcdfe6;background-color:#f5f7fa;color:#c0c4cc}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer-panel{border:1px solid #ebeef5;border-radius:4px;overflow:hidden;background:#fff;display:inline-block;vertical-align:middle;width:200px;max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409eff}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#f5f7fa;margin:0;padding-left:15px;border-bottom:1px solid #ebeef5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-divider__text,.el-link{font-weight:500;font-size:14px}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#fff;margin:0;padding:0;border-top:1px solid #ebeef5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner:after{height:6px;width:3px;left:4px}.el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;box-sizing:border-box;min-width:0}.el-aside,.el-container,.el-header{-webkit-box-sizing:border-box}.el-container.is-vertical{-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px}.el-aside,.el-header{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto}.el-footer,.el-main{-webkit-box-sizing:border-box}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;padding:20px}.el-footer,.el-main{-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #e4e7ed}.el-timeline-item__icon{color:#fff;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#e4e7ed;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409eff}.el-timeline-item__node--success{background-color:#67c23a}.el-timeline-item__node--warning{background-color:#e6a23c}.el-timeline-item__node--danger{background-color:#f56c6c}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409eff}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409eff}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409eff}.el-link.el-link--default.is-disabled{color:#c0c4cc}.el-link.el-link--primary{color:#409eff}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#f56c6c}.el-link.el-link--danger{color:#f56c6c}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67c23a}.el-link.el-link--success{color:#67c23a}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#e6a23c}.el-link.el-link--warning{color:#e6a23c}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#dcdfe6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#fff;padding:0 20px;color:#303133}.el-image__error,.el-image__placeholder{background:#f5f7fa}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#c0c4cc;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:40px}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{top:50%;width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #ebeef5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#c0c4cc}.el-backtop,.el-calendar-table td.is-today{color:#409eff}.el-calendar-table td{border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#f2f8fe}.el-calendar-table tr:first-child td{border-top:1px solid #ebeef5}.el-calendar-table tr td:first-child{border-left:1px solid #ebeef5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#f2f8fe}.el-backtop{position:fixed;background-color:#fff;width:40px;height:40px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#f2f6fc}.el-page-header{line-height:24px}.el-page-header,.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex}.el-page-header__left{cursor:pointer;margin-right:40px;position:relative}.el-page-header__left:after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#dcdfe6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox,.el-checkbox-button__inner,.el-radio{font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409eff}.el-checkbox.is-bordered.is-disabled{border-color:#ebeef5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#dcdfe6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:#c0c4cc}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:#c0c4cc}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:#c0c4cc;border-color:#c0c4cc}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409eff;border-color:#409eff}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner:after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409eff}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409eff}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #dcdfe6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409eff}.el-checkbox__inner:after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409eff}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-radio,.el-radio__input{line-height:1;outline:0;white-space:nowrap}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409eff}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#ebeef5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409eff}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio{color:#606266;cursor:pointer;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#409eff}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:#f5f7fa}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:#c0c4cc}.el-radio__input.is-disabled+span.el-radio__label{color:#c0c4cc;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409eff;background:#409eff}.el-radio__input.is-checked .el-radio__inner:after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409eff}.el-radio__input.is-focus .el-radio__inner{border-color:#409eff}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#409eff}.el-radio__inner:after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409eff;box-shadow:0 0 2px 2px #409eff}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity .34s ease-out;transition:opacity .34s ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:background-color .3s;transition:background-color .3s}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity .12s ease-out;transition:opacity .12s ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-node,.el-drawer{display:-webkit-box;display:-ms-flexbox}.el-cascader-panel.is-bordered{border:1px solid #e4e7ed;border-radius:4px}.el-cascader-menu{min-width:180px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;border-right:1px solid #e4e7ed}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.el-avatar,.el-drawer{-webkit-box-sizing:border-box;overflow:hidden}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#c0c4cc}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409eff;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#f5f7fa}.el-cascader-node.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;color:#fff;background:#c0c4cc;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}.el-drawer.btt,.el-drawer.ttb,.el-drawer__container{left:0;right:0;width:100%}.el-drawer.ltr,.el-drawer.rtl,.el-drawer__container{top:0;bottom:0;height:100%}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%);transform:translate(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%);transform:translate(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(100%);transform:translate(100%)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(100%);transform:translate(100%)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%);transform:translate(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%);transform:translate(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(-100%);transform:translate(-100%)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(-100%);transform:translate(-100%)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.el-drawer{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.el-drawer.rtl{-webkit-animation:rtl-drawer-out 225ms cubic-bezier(0,0,.2,1) 0s;animation:rtl-drawer-out 225ms cubic-bezier(0,0,.2,1) 0s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in 225ms cubic-bezier(0,0,.2,1) 0s;animation:rtl-drawer-in 225ms cubic-bezier(0,0,.2,1) 0s}.el-drawer.ltr{-webkit-animation:ltr-drawer-out 225ms cubic-bezier(0,0,.2,1) 0s;animation:ltr-drawer-out 225ms cubic-bezier(0,0,.2,1) 0s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in 225ms cubic-bezier(0,0,.2,1) 0s;animation:ltr-drawer-in 225ms cubic-bezier(0,0,.2,1) 0s}.el-drawer.ttb{-webkit-animation:ttb-drawer-out 225ms cubic-bezier(0,0,.2,1) 0s;animation:ttb-drawer-out 225ms cubic-bezier(0,0,.2,1) 0s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in 225ms cubic-bezier(0,0,.2,1) 0s;animation:ttb-drawer-in 225ms cubic-bezier(0,0,.2,1) 0s}.el-drawer.btt{-webkit-animation:btt-drawer-out 225ms cubic-bezier(0,0,.2,1) 0s;animation:btt-drawer-out 225ms cubic-bezier(0,0,.2,1) 0s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in 225ms cubic-bezier(0,0,.2,1) 0s;animation:btt-drawer-in 225ms cubic-bezier(0,0,.2,1) 0s}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child,.el-drawer__title{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__body>*{-webkit-box-sizing:border-box;box-sizing:border-box}.el-drawer__container{position:relative}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in 225ms cubic-bezier(0,0,.2,1) 0s;animation:el-drawer-fade-in 225ms cubic-bezier(0,0,.2,1) 0s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in 225ms cubic-bezier(0,0,.2,1) 0s reverse} /*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.674f50d2.eot);src:url(../fonts/fontawesome-webfont.674f50d2.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../fonts/fontawesome-webfont.af7ae505.woff2) format("woff2"),url(../fonts/fontawesome-webfont.fee66e71.woff) format("woff"),url(../fonts/fontawesome-webfont.b06871f2.ttf) format("truetype"),url(../img/fontawesome-webfont.912ec66d.svg#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\F000"}.fa-music:before{content:"\F001"}.fa-search:before{content:"\F002"}.fa-envelope-o:before{content:"\F003"}.fa-heart:before{content:"\F004"}.fa-star:before{content:"\F005"}.fa-star-o:before{content:"\F006"}.fa-user:before{content:"\F007"}.fa-film:before{content:"\F008"}.fa-th-large:before{content:"\F009"}.fa-th:before{content:"\F00A"}.fa-th-list:before{content:"\F00B"}.fa-check:before{content:"\F00C"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\F00D"}.fa-search-plus:before{content:"\F00E"}.fa-search-minus:before{content:"\F010"}.fa-power-off:before{content:"\F011"}.fa-signal:before{content:"\F012"}.fa-cog:before,.fa-gear:before{content:"\F013"}.fa-trash-o:before{content:"\F014"}.fa-home:before{content:"\F015"}.fa-file-o:before{content:"\F016"}.fa-clock-o:before{content:"\F017"}.fa-road:before{content:"\F018"}.fa-download:before{content:"\F019"}.fa-arrow-circle-o-down:before{content:"\F01A"}.fa-arrow-circle-o-up:before{content:"\F01B"}.fa-inbox:before{content:"\F01C"}.fa-play-circle-o:before{content:"\F01D"}.fa-repeat:before,.fa-rotate-right:before{content:"\F01E"}.fa-refresh:before{content:"\F021"}.fa-list-alt:before{content:"\F022"}.fa-lock:before{content:"\F023"}.fa-flag:before{content:"\F024"}.fa-headphones:before{content:"\F025"}.fa-volume-off:before{content:"\F026"}.fa-volume-down:before{content:"\F027"}.fa-volume-up:before{content:"\F028"}.fa-qrcode:before{content:"\F029"}.fa-barcode:before{content:"\F02A"}.fa-tag:before{content:"\F02B"}.fa-tags:before{content:"\F02C"}.fa-book:before{content:"\F02D"}.fa-bookmark:before{content:"\F02E"}.fa-print:before{content:"\F02F"}.fa-camera:before{content:"\F030"}.fa-font:before{content:"\F031"}.fa-bold:before{content:"\F032"}.fa-italic:before{content:"\F033"}.fa-text-height:before{content:"\F034"}.fa-text-width:before{content:"\F035"}.fa-align-left:before{content:"\F036"}.fa-align-center:before{content:"\F037"}.fa-align-right:before{content:"\F038"}.fa-align-justify:before{content:"\F039"}.fa-list:before{content:"\F03A"}.fa-dedent:before,.fa-outdent:before{content:"\F03B"}.fa-indent:before{content:"\F03C"}.fa-video-camera:before{content:"\F03D"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\F03E"}.fa-pencil:before{content:"\F040"}.fa-map-marker:before{content:"\F041"}.fa-adjust:before{content:"\F042"}.fa-tint:before{content:"\F043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\F044"}.fa-share-square-o:before{content:"\F045"}.fa-check-square-o:before{content:"\F046"}.fa-arrows:before{content:"\F047"}.fa-step-backward:before{content:"\F048"}.fa-fast-backward:before{content:"\F049"}.fa-backward:before{content:"\F04A"}.fa-play:before{content:"\F04B"}.fa-pause:before{content:"\F04C"}.fa-stop:before{content:"\F04D"}.fa-forward:before{content:"\F04E"}.fa-fast-forward:before{content:"\F050"}.fa-step-forward:before{content:"\F051"}.fa-eject:before{content:"\F052"}.fa-chevron-left:before{content:"\F053"}.fa-chevron-right:before{content:"\F054"}.fa-plus-circle:before{content:"\F055"}.fa-minus-circle:before{content:"\F056"}.fa-times-circle:before{content:"\F057"}.fa-check-circle:before{content:"\F058"}.fa-question-circle:before{content:"\F059"}.fa-info-circle:before{content:"\F05A"}.fa-crosshairs:before{content:"\F05B"}.fa-times-circle-o:before{content:"\F05C"}.fa-check-circle-o:before{content:"\F05D"}.fa-ban:before{content:"\F05E"}.fa-arrow-left:before{content:"\F060"}.fa-arrow-right:before{content:"\F061"}.fa-arrow-up:before{content:"\F062"}.fa-arrow-down:before{content:"\F063"}.fa-mail-forward:before,.fa-share:before{content:"\F064"}.fa-expand:before{content:"\F065"}.fa-compress:before{content:"\F066"}.fa-plus:before{content:"\F067"}.fa-minus:before{content:"\F068"}.fa-asterisk:before{content:"\F069"}.fa-exclamation-circle:before{content:"\F06A"}.fa-gift:before{content:"\F06B"}.fa-leaf:before{content:"\F06C"}.fa-fire:before{content:"\F06D"}.fa-eye:before{content:"\F06E"}.fa-eye-slash:before{content:"\F070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\F071"}.fa-plane:before{content:"\F072"}.fa-calendar:before{content:"\F073"}.fa-random:before{content:"\F074"}.fa-comment:before{content:"\F075"}.fa-magnet:before{content:"\F076"}.fa-chevron-up:before{content:"\F077"}.fa-chevron-down:before{content:"\F078"}.fa-retweet:before{content:"\F079"}.fa-shopping-cart:before{content:"\F07A"}.fa-folder:before{content:"\F07B"}.fa-folder-open:before{content:"\F07C"}.fa-arrows-v:before{content:"\F07D"}.fa-arrows-h:before{content:"\F07E"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\F080"}.fa-twitter-square:before{content:"\F081"}.fa-facebook-square:before{content:"\F082"}.fa-camera-retro:before{content:"\F083"}.fa-key:before{content:"\F084"}.fa-cogs:before,.fa-gears:before{content:"\F085"}.fa-comments:before{content:"\F086"}.fa-thumbs-o-up:before{content:"\F087"}.fa-thumbs-o-down:before{content:"\F088"}.fa-star-half:before{content:"\F089"}.fa-heart-o:before{content:"\F08A"}.fa-sign-out:before{content:"\F08B"}.fa-linkedin-square:before{content:"\F08C"}.fa-thumb-tack:before{content:"\F08D"}.fa-external-link:before{content:"\F08E"}.fa-sign-in:before{content:"\F090"}.fa-trophy:before{content:"\F091"}.fa-github-square:before{content:"\F092"}.fa-upload:before{content:"\F093"}.fa-lemon-o:before{content:"\F094"}.fa-phone:before{content:"\F095"}.fa-square-o:before{content:"\F096"}.fa-bookmark-o:before{content:"\F097"}.fa-phone-square:before{content:"\F098"}.fa-twitter:before{content:"\F099"}.fa-facebook-f:before,.fa-facebook:before{content:"\F09A"}.fa-github:before{content:"\F09B"}.fa-unlock:before{content:"\F09C"}.fa-credit-card:before{content:"\F09D"}.fa-feed:before,.fa-rss:before{content:"\F09E"}.fa-hdd-o:before{content:"\F0A0"}.fa-bullhorn:before{content:"\F0A1"}.fa-bell:before{content:"\F0F3"}.fa-certificate:before{content:"\F0A3"}.fa-hand-o-right:before{content:"\F0A4"}.fa-hand-o-left:before{content:"\F0A5"}.fa-hand-o-up:before{content:"\F0A6"}.fa-hand-o-down:before{content:"\F0A7"}.fa-arrow-circle-left:before{content:"\F0A8"}.fa-arrow-circle-right:before{content:"\F0A9"}.fa-arrow-circle-up:before{content:"\F0AA"}.fa-arrow-circle-down:before{content:"\F0AB"}.fa-globe:before{content:"\F0AC"}.fa-wrench:before{content:"\F0AD"}.fa-tasks:before{content:"\F0AE"}.fa-filter:before{content:"\F0B0"}.fa-briefcase:before{content:"\F0B1"}.fa-arrows-alt:before{content:"\F0B2"}.fa-group:before,.fa-users:before{content:"\F0C0"}.fa-chain:before,.fa-link:before{content:"\F0C1"}.fa-cloud:before{content:"\F0C2"}.fa-flask:before{content:"\F0C3"}.fa-cut:before,.fa-scissors:before{content:"\F0C4"}.fa-copy:before,.fa-files-o:before{content:"\F0C5"}.fa-paperclip:before{content:"\F0C6"}.fa-floppy-o:before,.fa-save:before{content:"\F0C7"}.fa-square:before{content:"\F0C8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\F0C9"}.fa-list-ul:before{content:"\F0CA"}.fa-list-ol:before{content:"\F0CB"}.fa-strikethrough:before{content:"\F0CC"}.fa-underline:before{content:"\F0CD"}.fa-table:before{content:"\F0CE"}.fa-magic:before{content:"\F0D0"}.fa-truck:before{content:"\F0D1"}.fa-pinterest:before{content:"\F0D2"}.fa-pinterest-square:before{content:"\F0D3"}.fa-google-plus-square:before{content:"\F0D4"}.fa-google-plus:before{content:"\F0D5"}.fa-money:before{content:"\F0D6"}.fa-caret-down:before{content:"\F0D7"}.fa-caret-up:before{content:"\F0D8"}.fa-caret-left:before{content:"\F0D9"}.fa-caret-right:before{content:"\F0DA"}.fa-columns:before{content:"\F0DB"}.fa-sort:before,.fa-unsorted:before{content:"\F0DC"}.fa-sort-desc:before,.fa-sort-down:before{content:"\F0DD"}.fa-sort-asc:before,.fa-sort-up:before{content:"\F0DE"}.fa-envelope:before{content:"\F0E0"}.fa-linkedin:before{content:"\F0E1"}.fa-rotate-left:before,.fa-undo:before{content:"\F0E2"}.fa-gavel:before,.fa-legal:before{content:"\F0E3"}.fa-dashboard:before,.fa-tachometer:before{content:"\F0E4"}.fa-comment-o:before{content:"\F0E5"}.fa-comments-o:before{content:"\F0E6"}.fa-bolt:before,.fa-flash:before{content:"\F0E7"}.fa-sitemap:before{content:"\F0E8"}.fa-umbrella:before{content:"\F0E9"}.fa-clipboard:before,.fa-paste:before{content:"\F0EA"}.fa-lightbulb-o:before{content:"\F0EB"}.fa-exchange:before{content:"\F0EC"}.fa-cloud-download:before{content:"\F0ED"}.fa-cloud-upload:before{content:"\F0EE"}.fa-user-md:before{content:"\F0F0"}.fa-stethoscope:before{content:"\F0F1"}.fa-suitcase:before{content:"\F0F2"}.fa-bell-o:before{content:"\F0A2"}.fa-coffee:before{content:"\F0F4"}.fa-cutlery:before{content:"\F0F5"}.fa-file-text-o:before{content:"\F0F6"}.fa-building-o:before{content:"\F0F7"}.fa-hospital-o:before{content:"\F0F8"}.fa-ambulance:before{content:"\F0F9"}.fa-medkit:before{content:"\F0FA"}.fa-fighter-jet:before{content:"\F0FB"}.fa-beer:before{content:"\F0FC"}.fa-h-square:before{content:"\F0FD"}.fa-plus-square:before{content:"\F0FE"}.fa-angle-double-left:before{content:"\F100"}.fa-angle-double-right:before{content:"\F101"}.fa-angle-double-up:before{content:"\F102"}.fa-angle-double-down:before{content:"\F103"}.fa-angle-left:before{content:"\F104"}.fa-angle-right:before{content:"\F105"}.fa-angle-up:before{content:"\F106"}.fa-angle-down:before{content:"\F107"}.fa-desktop:before{content:"\F108"}.fa-laptop:before{content:"\F109"}.fa-tablet:before{content:"\F10A"}.fa-mobile-phone:before,.fa-mobile:before{content:"\F10B"}.fa-circle-o:before{content:"\F10C"}.fa-quote-left:before{content:"\F10D"}.fa-quote-right:before{content:"\F10E"}.fa-spinner:before{content:"\F110"}.fa-circle:before{content:"\F111"}.fa-mail-reply:before,.fa-reply:before{content:"\F112"}.fa-github-alt:before{content:"\F113"}.fa-folder-o:before{content:"\F114"}.fa-folder-open-o:before{content:"\F115"}.fa-smile-o:before{content:"\F118"}.fa-frown-o:before{content:"\F119"}.fa-meh-o:before{content:"\F11A"}.fa-gamepad:before{content:"\F11B"}.fa-keyboard-o:before{content:"\F11C"}.fa-flag-o:before{content:"\F11D"}.fa-flag-checkered:before{content:"\F11E"}.fa-terminal:before{content:"\F120"}.fa-code:before{content:"\F121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\F122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\F123"}.fa-location-arrow:before{content:"\F124"}.fa-crop:before{content:"\F125"}.fa-code-fork:before{content:"\F126"}.fa-chain-broken:before,.fa-unlink:before{content:"\F127"}.fa-question:before{content:"\F128"}.fa-info:before{content:"\F129"}.fa-exclamation:before{content:"\F12A"}.fa-superscript:before{content:"\F12B"}.fa-subscript:before{content:"\F12C"}.fa-eraser:before{content:"\F12D"}.fa-puzzle-piece:before{content:"\F12E"}.fa-microphone:before{content:"\F130"}.fa-microphone-slash:before{content:"\F131"}.fa-shield:before{content:"\F132"}.fa-calendar-o:before{content:"\F133"}.fa-fire-extinguisher:before{content:"\F134"}.fa-rocket:before{content:"\F135"}.fa-maxcdn:before{content:"\F136"}.fa-chevron-circle-left:before{content:"\F137"}.fa-chevron-circle-right:before{content:"\F138"}.fa-chevron-circle-up:before{content:"\F139"}.fa-chevron-circle-down:before{content:"\F13A"}.fa-html5:before{content:"\F13B"}.fa-css3:before{content:"\F13C"}.fa-anchor:before{content:"\F13D"}.fa-unlock-alt:before{content:"\F13E"}.fa-bullseye:before{content:"\F140"}.fa-ellipsis-h:before{content:"\F141"}.fa-ellipsis-v:before{content:"\F142"}.fa-rss-square:before{content:"\F143"}.fa-play-circle:before{content:"\F144"}.fa-ticket:before{content:"\F145"}.fa-minus-square:before{content:"\F146"}.fa-minus-square-o:before{content:"\F147"}.fa-level-up:before{content:"\F148"}.fa-level-down:before{content:"\F149"}.fa-check-square:before{content:"\F14A"}.fa-pencil-square:before{content:"\F14B"}.fa-external-link-square:before{content:"\F14C"}.fa-share-square:before{content:"\F14D"}.fa-compass:before{content:"\F14E"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\F150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\F151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\F152"}.fa-eur:before,.fa-euro:before{content:"\F153"}.fa-gbp:before{content:"\F154"}.fa-dollar:before,.fa-usd:before{content:"\F155"}.fa-inr:before,.fa-rupee:before{content:"\F156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\F157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\F158"}.fa-krw:before,.fa-won:before{content:"\F159"}.fa-bitcoin:before,.fa-btc:before{content:"\F15A"}.fa-file:before{content:"\F15B"}.fa-file-text:before{content:"\F15C"}.fa-sort-alpha-asc:before{content:"\F15D"}.fa-sort-alpha-desc:before{content:"\F15E"}.fa-sort-amount-asc:before{content:"\F160"}.fa-sort-amount-desc:before{content:"\F161"}.fa-sort-numeric-asc:before{content:"\F162"}.fa-sort-numeric-desc:before{content:"\F163"}.fa-thumbs-up:before{content:"\F164"}.fa-thumbs-down:before{content:"\F165"}.fa-youtube-square:before{content:"\F166"}.fa-youtube:before{content:"\F167"}.fa-xing:before{content:"\F168"}.fa-xing-square:before{content:"\F169"}.fa-youtube-play:before{content:"\F16A"}.fa-dropbox:before{content:"\F16B"}.fa-stack-overflow:before{content:"\F16C"}.fa-instagram:before{content:"\F16D"}.fa-flickr:before{content:"\F16E"}.fa-adn:before{content:"\F170"}.fa-bitbucket:before{content:"\F171"}.fa-bitbucket-square:before{content:"\F172"}.fa-tumblr:before{content:"\F173"}.fa-tumblr-square:before{content:"\F174"}.fa-long-arrow-down:before{content:"\F175"}.fa-long-arrow-up:before{content:"\F176"}.fa-long-arrow-left:before{content:"\F177"}.fa-long-arrow-right:before{content:"\F178"}.fa-apple:before{content:"\F179"}.fa-windows:before{content:"\F17A"}.fa-android:before{content:"\F17B"}.fa-linux:before{content:"\F17C"}.fa-dribbble:before{content:"\F17D"}.fa-skype:before{content:"\F17E"}.fa-foursquare:before{content:"\F180"}.fa-trello:before{content:"\F181"}.fa-female:before{content:"\F182"}.fa-male:before{content:"\F183"}.fa-gittip:before,.fa-gratipay:before{content:"\F184"}.fa-sun-o:before{content:"\F185"}.fa-moon-o:before{content:"\F186"}.fa-archive:before{content:"\F187"}.fa-bug:before{content:"\F188"}.fa-vk:before{content:"\F189"}.fa-weibo:before{content:"\F18A"}.fa-renren:before{content:"\F18B"}.fa-pagelines:before{content:"\F18C"}.fa-stack-exchange:before{content:"\F18D"}.fa-arrow-circle-o-right:before{content:"\F18E"}.fa-arrow-circle-o-left:before{content:"\F190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\F191"}.fa-dot-circle-o:before{content:"\F192"}.fa-wheelchair:before{content:"\F193"}.fa-vimeo-square:before{content:"\F194"}.fa-try:before,.fa-turkish-lira:before{content:"\F195"}.fa-plus-square-o:before{content:"\F196"}.fa-space-shuttle:before{content:"\F197"}.fa-slack:before{content:"\F198"}.fa-envelope-square:before{content:"\F199"}.fa-wordpress:before{content:"\F19A"}.fa-openid:before{content:"\F19B"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\F19C"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\F19D"}.fa-yahoo:before{content:"\F19E"}.fa-google:before{content:"\F1A0"}.fa-reddit:before{content:"\F1A1"}.fa-reddit-square:before{content:"\F1A2"}.fa-stumbleupon-circle:before{content:"\F1A3"}.fa-stumbleupon:before{content:"\F1A4"}.fa-delicious:before{content:"\F1A5"}.fa-digg:before{content:"\F1A6"}.fa-pied-piper-pp:before{content:"\F1A7"}.fa-pied-piper-alt:before{content:"\F1A8"}.fa-drupal:before{content:"\F1A9"}.fa-joomla:before{content:"\F1AA"}.fa-language:before{content:"\F1AB"}.fa-fax:before{content:"\F1AC"}.fa-building:before{content:"\F1AD"}.fa-child:before{content:"\F1AE"}.fa-paw:before{content:"\F1B0"}.fa-spoon:before{content:"\F1B1"}.fa-cube:before{content:"\F1B2"}.fa-cubes:before{content:"\F1B3"}.fa-behance:before{content:"\F1B4"}.fa-behance-square:before{content:"\F1B5"}.fa-steam:before{content:"\F1B6"}.fa-steam-square:before{content:"\F1B7"}.fa-recycle:before{content:"\F1B8"}.fa-automobile:before,.fa-car:before{content:"\F1B9"}.fa-cab:before,.fa-taxi:before{content:"\F1BA"}.fa-tree:before{content:"\F1BB"}.fa-spotify:before{content:"\F1BC"}.fa-deviantart:before{content:"\F1BD"}.fa-soundcloud:before{content:"\F1BE"}.fa-database:before{content:"\F1C0"}.fa-file-pdf-o:before{content:"\F1C1"}.fa-file-word-o:before{content:"\F1C2"}.fa-file-excel-o:before{content:"\F1C3"}.fa-file-powerpoint-o:before{content:"\F1C4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\F1C5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\F1C6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\F1C7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\F1C8"}.fa-file-code-o:before{content:"\F1C9"}.fa-vine:before{content:"\F1CA"}.fa-codepen:before{content:"\F1CB"}.fa-jsfiddle:before{content:"\F1CC"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\F1CD"}.fa-circle-o-notch:before{content:"\F1CE"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\F1D0"}.fa-empire:before,.fa-ge:before{content:"\F1D1"}.fa-git-square:before{content:"\F1D2"}.fa-git:before{content:"\F1D3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\F1D4"}.fa-tencent-weibo:before{content:"\F1D5"}.fa-qq:before{content:"\F1D6"}.fa-wechat:before,.fa-weixin:before{content:"\F1D7"}.fa-paper-plane:before,.fa-send:before{content:"\F1D8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\F1D9"}.fa-history:before{content:"\F1DA"}.fa-circle-thin:before{content:"\F1DB"}.fa-header:before{content:"\F1DC"}.fa-paragraph:before{content:"\F1DD"}.fa-sliders:before{content:"\F1DE"}.fa-share-alt:before{content:"\F1E0"}.fa-share-alt-square:before{content:"\F1E1"}.fa-bomb:before{content:"\F1E2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\F1E3"}.fa-tty:before{content:"\F1E4"}.fa-binoculars:before{content:"\F1E5"}.fa-plug:before{content:"\F1E6"}.fa-slideshare:before{content:"\F1E7"}.fa-twitch:before{content:"\F1E8"}.fa-yelp:before{content:"\F1E9"}.fa-newspaper-o:before{content:"\F1EA"}.fa-wifi:before{content:"\F1EB"}.fa-calculator:before{content:"\F1EC"}.fa-paypal:before{content:"\F1ED"}.fa-google-wallet:before{content:"\F1EE"}.fa-cc-visa:before{content:"\F1F0"}.fa-cc-mastercard:before{content:"\F1F1"}.fa-cc-discover:before{content:"\F1F2"}.fa-cc-amex:before{content:"\F1F3"}.fa-cc-paypal:before{content:"\F1F4"}.fa-cc-stripe:before{content:"\F1F5"}.fa-bell-slash:before{content:"\F1F6"}.fa-bell-slash-o:before{content:"\F1F7"}.fa-trash:before{content:"\F1F8"}.fa-copyright:before{content:"\F1F9"}.fa-at:before{content:"\F1FA"}.fa-eyedropper:before{content:"\F1FB"}.fa-paint-brush:before{content:"\F1FC"}.fa-birthday-cake:before{content:"\F1FD"}.fa-area-chart:before{content:"\F1FE"}.fa-pie-chart:before{content:"\F200"}.fa-line-chart:before{content:"\F201"}.fa-lastfm:before{content:"\F202"}.fa-lastfm-square:before{content:"\F203"}.fa-toggle-off:before{content:"\F204"}.fa-toggle-on:before{content:"\F205"}.fa-bicycle:before{content:"\F206"}.fa-bus:before{content:"\F207"}.fa-ioxhost:before{content:"\F208"}.fa-angellist:before{content:"\F209"}.fa-cc:before{content:"\F20A"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\F20B"}.fa-meanpath:before{content:"\F20C"}.fa-buysellads:before{content:"\F20D"}.fa-connectdevelop:before{content:"\F20E"}.fa-dashcube:before{content:"\F210"}.fa-forumbee:before{content:"\F211"}.fa-leanpub:before{content:"\F212"}.fa-sellsy:before{content:"\F213"}.fa-shirtsinbulk:before{content:"\F214"}.fa-simplybuilt:before{content:"\F215"}.fa-skyatlas:before{content:"\F216"}.fa-cart-plus:before{content:"\F217"}.fa-cart-arrow-down:before{content:"\F218"}.fa-diamond:before{content:"\F219"}.fa-ship:before{content:"\F21A"}.fa-user-secret:before{content:"\F21B"}.fa-motorcycle:before{content:"\F21C"}.fa-street-view:before{content:"\F21D"}.fa-heartbeat:before{content:"\F21E"}.fa-venus:before{content:"\F221"}.fa-mars:before{content:"\F222"}.fa-mercury:before{content:"\F223"}.fa-intersex:before,.fa-transgender:before{content:"\F224"}.fa-transgender-alt:before{content:"\F225"}.fa-venus-double:before{content:"\F226"}.fa-mars-double:before{content:"\F227"}.fa-venus-mars:before{content:"\F228"}.fa-mars-stroke:before{content:"\F229"}.fa-mars-stroke-v:before{content:"\F22A"}.fa-mars-stroke-h:before{content:"\F22B"}.fa-neuter:before{content:"\F22C"}.fa-genderless:before{content:"\F22D"}.fa-facebook-official:before{content:"\F230"}.fa-pinterest-p:before{content:"\F231"}.fa-whatsapp:before{content:"\F232"}.fa-server:before{content:"\F233"}.fa-user-plus:before{content:"\F234"}.fa-user-times:before{content:"\F235"}.fa-bed:before,.fa-hotel:before{content:"\F236"}.fa-viacoin:before{content:"\F237"}.fa-train:before{content:"\F238"}.fa-subway:before{content:"\F239"}.fa-medium:before{content:"\F23A"}.fa-y-combinator:before,.fa-yc:before{content:"\F23B"}.fa-optin-monster:before{content:"\F23C"}.fa-opencart:before{content:"\F23D"}.fa-expeditedssl:before{content:"\F23E"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\F240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\F241"}.fa-battery-2:before,.fa-battery-half:before{content:"\F242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\F243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\F244"}.fa-mouse-pointer:before{content:"\F245"}.fa-i-cursor:before{content:"\F246"}.fa-object-group:before{content:"\F247"}.fa-object-ungroup:before{content:"\F248"}.fa-sticky-note:before{content:"\F249"}.fa-sticky-note-o:before{content:"\F24A"}.fa-cc-jcb:before{content:"\F24B"}.fa-cc-diners-club:before{content:"\F24C"}.fa-clone:before{content:"\F24D"}.fa-balance-scale:before{content:"\F24E"}.fa-hourglass-o:before{content:"\F250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\F251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\F252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\F253"}.fa-hourglass:before{content:"\F254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\F255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\F256"}.fa-hand-scissors-o:before{content:"\F257"}.fa-hand-lizard-o:before{content:"\F258"}.fa-hand-spock-o:before{content:"\F259"}.fa-hand-pointer-o:before{content:"\F25A"}.fa-hand-peace-o:before{content:"\F25B"}.fa-trademark:before{content:"\F25C"}.fa-registered:before{content:"\F25D"}.fa-creative-commons:before{content:"\F25E"}.fa-gg:before{content:"\F260"}.fa-gg-circle:before{content:"\F261"}.fa-tripadvisor:before{content:"\F262"}.fa-odnoklassniki:before{content:"\F263"}.fa-odnoklassniki-square:before{content:"\F264"}.fa-get-pocket:before{content:"\F265"}.fa-wikipedia-w:before{content:"\F266"}.fa-safari:before{content:"\F267"}.fa-chrome:before{content:"\F268"}.fa-firefox:before{content:"\F269"}.fa-opera:before{content:"\F26A"}.fa-internet-explorer:before{content:"\F26B"}.fa-television:before,.fa-tv:before{content:"\F26C"}.fa-contao:before{content:"\F26D"}.fa-500px:before{content:"\F26E"}.fa-amazon:before{content:"\F270"}.fa-calendar-plus-o:before{content:"\F271"}.fa-calendar-minus-o:before{content:"\F272"}.fa-calendar-times-o:before{content:"\F273"}.fa-calendar-check-o:before{content:"\F274"}.fa-industry:before{content:"\F275"}.fa-map-pin:before{content:"\F276"}.fa-map-signs:before{content:"\F277"}.fa-map-o:before{content:"\F278"}.fa-map:before{content:"\F279"}.fa-commenting:before{content:"\F27A"}.fa-commenting-o:before{content:"\F27B"}.fa-houzz:before{content:"\F27C"}.fa-vimeo:before{content:"\F27D"}.fa-black-tie:before{content:"\F27E"}.fa-fonticons:before{content:"\F280"}.fa-reddit-alien:before{content:"\F281"}.fa-edge:before{content:"\F282"}.fa-credit-card-alt:before{content:"\F283"}.fa-codiepie:before{content:"\F284"}.fa-modx:before{content:"\F285"}.fa-fort-awesome:before{content:"\F286"}.fa-usb:before{content:"\F287"}.fa-product-hunt:before{content:"\F288"}.fa-mixcloud:before{content:"\F289"}.fa-scribd:before{content:"\F28A"}.fa-pause-circle:before{content:"\F28B"}.fa-pause-circle-o:before{content:"\F28C"}.fa-stop-circle:before{content:"\F28D"}.fa-stop-circle-o:before{content:"\F28E"}.fa-shopping-bag:before{content:"\F290"}.fa-shopping-basket:before{content:"\F291"}.fa-hashtag:before{content:"\F292"}.fa-bluetooth:before{content:"\F293"}.fa-bluetooth-b:before{content:"\F294"}.fa-percent:before{content:"\F295"}.fa-gitlab:before{content:"\F296"}.fa-wpbeginner:before{content:"\F297"}.fa-wpforms:before{content:"\F298"}.fa-envira:before{content:"\F299"}.fa-universal-access:before{content:"\F29A"}.fa-wheelchair-alt:before{content:"\F29B"}.fa-question-circle-o:before{content:"\F29C"}.fa-blind:before{content:"\F29D"}.fa-audio-description:before{content:"\F29E"}.fa-volume-control-phone:before{content:"\F2A0"}.fa-braille:before{content:"\F2A1"}.fa-assistive-listening-systems:before{content:"\F2A2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\F2A3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\F2A4"}.fa-glide:before{content:"\F2A5"}.fa-glide-g:before{content:"\F2A6"}.fa-sign-language:before,.fa-signing:before{content:"\F2A7"}.fa-low-vision:before{content:"\F2A8"}.fa-viadeo:before{content:"\F2A9"}.fa-viadeo-square:before{content:"\F2AA"}.fa-snapchat:before{content:"\F2AB"}.fa-snapchat-ghost:before{content:"\F2AC"}.fa-snapchat-square:before{content:"\F2AD"}.fa-pied-piper:before{content:"\F2AE"}.fa-first-order:before{content:"\F2B0"}.fa-yoast:before{content:"\F2B1"}.fa-themeisle:before{content:"\F2B2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\F2B3"}.fa-fa:before,.fa-font-awesome:before{content:"\F2B4"}.fa-handshake-o:before{content:"\F2B5"}.fa-envelope-open:before{content:"\F2B6"}.fa-envelope-open-o:before{content:"\F2B7"}.fa-linode:before{content:"\F2B8"}.fa-address-book:before{content:"\F2B9"}.fa-address-book-o:before{content:"\F2BA"}.fa-address-card:before,.fa-vcard:before{content:"\F2BB"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\F2BC"}.fa-user-circle:before{content:"\F2BD"}.fa-user-circle-o:before{content:"\F2BE"}.fa-user-o:before{content:"\F2C0"}.fa-id-badge:before{content:"\F2C1"}.fa-drivers-license:before,.fa-id-card:before{content:"\F2C2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\F2C3"}.fa-quora:before{content:"\F2C4"}.fa-free-code-camp:before{content:"\F2C5"}.fa-telegram:before{content:"\F2C6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\F2C7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\F2C8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\F2C9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\F2CA"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\F2CB"}.fa-shower:before{content:"\F2CC"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\F2CD"}.fa-podcast:before{content:"\F2CE"}.fa-window-maximize:before{content:"\F2D0"}.fa-window-minimize:before{content:"\F2D1"}.fa-window-restore:before{content:"\F2D2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\F2D3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\F2D4"}.fa-bandcamp:before{content:"\F2D5"}.fa-grav:before{content:"\F2D6"}.fa-etsy:before{content:"\F2D7"}.fa-imdb:before{content:"\F2D8"}.fa-ravelry:before{content:"\F2D9"}.fa-eercast:before{content:"\F2DA"}.fa-microchip:before{content:"\F2DB"}.fa-snowflake-o:before{content:"\F2DC"}.fa-superpowers:before{content:"\F2DD"}.fa-wpexplorer:before{content:"\F2DE"}.fa-meetup:before{content:"\F2E0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} ================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/static/index.html ================================================ vuehr
================================================ FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/app.36643c7a.js ================================================ (function(e){function t(t){for(var r,o,a=t[0],c=t[1],u=t[2],l=0,f=[];l1&&void 0!==arguments[1])||arguments[1];this[it]("info",e,t)}},{key:"warning",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this[it]("warning",e,t)}},{key:"error",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this[it]("error",e,t)}},{key:"success",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this[it]("success",e,t)}}]),e}(),at=new st;nt.a.interceptors.response.use((function(e){if(!e.status||200!=e.status||500!=e.data.status)return e.data.msg&&et.a.success({message:e.data.msg}),e.data;et.a.error({message:e.data.msg})}),(function(e){504==e.response.status||404==e.response.status?et.a.error({message:"服务器被吃了( ╯□╰ )"}):403==e.response.status?et.a.error({message:"权限不足,请联系管理员"}):401==e.response.status?(at.error({message:e.response.data.msg?e.response.data.msg:"尚未登录,请登录"}),Ke.replace("/")):e.response.data.msg?et.a.error({message:e.response.data.msg}):et.a.error({message:"未知错误!"})}));var ct="",ut=function(e,t){return nt()({method:"post",url:"".concat(ct).concat(e),data:t,transformRequest:[function(e){var t="";for(var n in e)t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n])+"&";return t}],headers:{"Content-Type":"application/x-www-form-urlencoded"}})},lt=function(e,t){return nt()({method:"post",url:"".concat(ct).concat(e),data:t})},ft=function(e,t){return nt()({method:"put",url:"".concat(ct).concat(e),data:t})},dt=function(e,t){return nt()({method:"get",url:"".concat(ct).concat(e),params:t})},ht=function(e,t){return nt()({method:"delete",url:"".concat(ct).concat(e),params:t})};n("34ef"),n("6b54"),n("28a5"),n("3b2b"),n("386d"),n("4917"),n("7f7f");(function(){var e,t,n,r,o={}.hasOwnProperty,i=[].slice;e={LF:"\n",NULL:"\0"},n=function(){var t;function n(e,t,n){this.command=e,this.headers=null!=t?t:{},this.body=null!=n?n:""}return n.prototype.toString=function(){var t,r,i,s,a;for(r in t=[this.command],i=!1===this.headers["content-length"],i&&delete this.headers["content-length"],a=this.headers,a)o.call(a,r)&&(s=a[r],t.push(r+":"+s));return this.body&&!i&&t.push("content-length:"+n.sizeOfUTF8(this.body)),t.push(e.LF+this.body),t.join(e.LF)},n.sizeOfUTF8=function(e){return e?encodeURI(e).match(/%..|./g).length:0},t=function(t){var r,o,i,s,a,c,u,l,f,d,h,p,m,v,b,g,y;for(s=t.search(RegExp(""+e.LF+e.LF)),a=t.substring(0,s).split(e.LF),i=a.shift(),c={},p=function(e){return e.replace(/^\s+|\s+$/g,"")},g=a.reverse(),m=0,b=g.length;my;u=h<=y?++v:--v){if(o=t.charAt(u),o===e.NULL)break;r+=o}return new n(i,c,r)},n.unmarshall=function(n){var r,o,i,s;return o=n.split(RegExp(""+e.NULL+e.LF+"*")),s={frames:[],partial:""},s.frames=function(){var e,n,i,s;for(i=o.slice(0,-1),s=[],e=0,n=i.length;e>> "+o);while(1){if(!(o.length>this.maxWebSocketFrameSize))return this.ws.send(o);this.ws.send(o.substring(0,this.maxWebSocketFrameSize)),o=o.substring(this.maxWebSocketFrameSize),"function"===typeof this.debug&&this.debug("remaining = "+o.length)}},o.prototype._setupHeartbeat=function(n){var o,i,s,a,c,u;if((c=n.version)===r.VERSIONS.V1_1||c===r.VERSIONS.V1_2)return u=function(){var e,t,r,o;for(r=n["heart-beat"].split(","),o=[],e=0,t=r.length;e>> PING"):void 0}}(this))),0!==this.heartbeat.incoming&&0!==i?(s=Math.max(this.heartbeat.incoming,i),"function"===typeof this.debug&&this.debug("check PONG every "+s+"ms"),this.ponger=r.setInterval(s,function(e){return function(){var n;if(n=t()-e.serverActivity,n>2*s)return"function"===typeof e.debug&&e.debug("did not receive server activity for the last "+n+"ms"),e.ws.close()}}(this))):void 0},o.prototype._parseConnect=function(){var e,t,n,r;switch(e=1<=arguments.length?i.call(arguments,0):[],r={},e.length){case 2:r=e[0],t=e[1];break;case 3:e[1]instanceof Function?(r=e[0],t=e[1],n=e[2]):(r.login=e[0],r.passcode=e[1],t=e[2]);break;case 4:r.login=e[0],r.passcode=e[1],t=e[2],n=e[3];break;default:r.login=e[0],r.passcode=e[1],t=e[2],n=e[3],r.host=e[4]}return[r,t,n]},o.prototype.connect=function(){var o,s,a,c;return o=1<=arguments.length?i.call(arguments,0):[],c=this._parseConnect.apply(this,o),a=c[0],this.connectCallback=c[1],s=c[2],"function"===typeof this.debug&&this.debug("Opening Web Socket..."),this.ws.onmessage=function(r){return function(o){var i,a,c,u,l,f,d,h,p,m,v,b,g;if(u="undefined"!==typeof ArrayBuffer&&o.data instanceof ArrayBuffer?(i=new Uint8Array(o.data),"function"===typeof r.debug&&r.debug("--- got data length: "+i.length),function(){var e,t,n;for(n=[],e=0,t=i.length;e10?n.content.substr(0,10):n.content,position:"bottom-right"}),Ue["default"].set(e.state.isDot,e.state.currentHr.username+"#"+n.from,!0)),n.notSelf=!0,n.to=n.from,e.commit("addMessage",n)}))}),(function(e){}))},initData:function(e){e.commit("INIT_DATA"),dt("/chat/hrs").then((function(t){t&&e.commit("INIT_HR",t)}))}}});pt.watch((function(e){return e.sessions}),(function(e){localStorage.setItem("vue-chat-session",JSON.stringify(e))}),{deep:!0});var mt=pt,vt=(n("0fae"),n("f559"),n("ac6a"),function(e,t){t.state.routes.length>0||dt("/system/config/menu").then((function(n){if(n){var r=bt(n);e.addRoutes(r),t.commit("initRoutes",r),t.dispatch("connect")}}))}),bt=function e(t){var r=[];return t.forEach((function(t){var o=t.path,i=t.component,s=t.name,a=t.meta,c=t.iconCls,u=t.children;u&&u instanceof Array&&(u=e(u));var l={path:o,name:s,iconCls:c,meta:a,children:u,component:function(e){i.startsWith("Home")?Promise.all([n.e("chunk-0c17a57a"),n.e("chunk-64435448"),n.e("chunk-33b8cd94")]).then(function(){var t=[n("feca")("./"+i+".vue")];e.apply(null,t)}.bind(this)).catch(n.oe):i.startsWith("Emp")?Promise.all([n.e("chunk-64435448"),n.e("chunk-2d237c54")]).then(function(){var t=[n("fd11")("./"+i+".vue")];e.apply(null,t)}.bind(this)).catch(n.oe):i.startsWith("Per")?n.e("chunk-4e552d82").then(function(){var t=[n("ee1c")("./"+i+".vue")];e.apply(null,t)}.bind(this)).catch(n.oe):i.startsWith("Sal")?n.e("chunk-df7e035a").then(function(){var t=[n("d7e6")("./"+i+".vue")];e.apply(null,t)}.bind(this)).catch(n.oe):i.startsWith("Sta")?n.e("chunk-18458ebc").then(function(){var t=[n("0b22")("./"+i+".vue")];e.apply(null,t)}.bind(this)).catch(n.oe):i.startsWith("Sys")&&Promise.all([n.e("chunk-0c17a57a"),n.e("chunk-2d0d03c8")]).then(function(){var t=[n("66b4")("./"+i+".vue")];e.apply(null,t)}.bind(this)).catch(n.oe)}};r.push(l)})),r};n("1f54");Ue["default"].prototype.$ELEMENT={size:"small",zIndex:3e3},Ue["default"].use(De.a),Ue["default"].use(Le.a),Ue["default"].use(Ae.a),Ue["default"].use(Te.a),Ue["default"].use(Ce.a),Ue["default"].use(Oe.a),Ue["default"].use(Se.a),Ue["default"].use(_e.a),Ue["default"].use(we.a),Ue["default"].use(ge.a),Ue["default"].use(ve.a),Ue["default"].use(pe.a),Ue["default"].use(de.a),Ue["default"].use(le.a),Ue["default"].use(ce.a),Ue["default"].use(se.a),Ue["default"].use(oe.a),Ue["default"].use(ne.a),Ue["default"].use(ee.a),Ue["default"].use(Q.a),Ue["default"].use(X.a),Ue["default"].use(z.a),Ue["default"].use(B.a),Ue["default"].use(W.a),Ue["default"].use(V.a),Ue["default"].use($.a),Ue["default"].use(F.a),Ue["default"].use(D.a),Ue["default"].use(L.a),Ue["default"].use(A.a),Ue["default"].use(T.a),Ue["default"].use(C.a),Ue["default"].use(O.a),Ue["default"].use(S.a),Ue["default"].use(_.a),Ue["default"].use(w.a),Ue["default"].use(g.a),Ue["default"].use(v.a),Ue["default"].use(p.a),Ue["default"].use(d.a),Ue["default"].use(l.a),Ue["default"].use(c.a),Ue["default"].use(s.a),Ue["default"].prototype.$alert=o.a.alert,Ue["default"].prototype.$confirm=o.a.confirm,Ue["default"].prototype.postRequest=lt,Ue["default"].prototype.postKeyValueRequest=ut,Ue["default"].prototype.putRequest=ft,Ue["default"].prototype.deleteRequest=ht,Ue["default"].prototype.getRequest=dt,Ue["default"].config.productionTip=!1,Ke.beforeEach((function(e,t,n){"/"==e.path?n():window.sessionStorage.getItem("user")?(vt(Ke,mt),n()):n("/?redirect="+e.path)})),new Ue["default"]({router:Ke,store:mt,render:function(e){return e(He)}}).$mount("#app")},8963:function(e,t,n){"use strict";var r=n("c4aa"),o=n.n(r);o.a},"8a18":function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"sidebar"},[n("card"),n("list")],1),n("div",{staticClass:"main"},[n("message"),n("usertext")],1)])},o=[],i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"card"}},[n("header",[n("img",{staticClass:"avatar",attrs:{src:e.user.userface,alt:e.user.name}}),n("p",{staticClass:"name"},[e._v(e._s(e.user.name))])]),n("footer",[n("input",{directives:[{name:"model",rawName:"v-model",value:e.$store.state.filterKey,expression:"$store.state.filterKey"}],staticClass:"search",attrs:{type:"text",placeholder:"search user..."},domProps:{value:e.$store.state.filterKey},on:{input:function(t){t.target.composing||e.$set(e.$store.state,"filterKey",t.target.value)}}})])])},s=[],a={name:"card",data:function(){return{user:JSON.parse(window.sessionStorage.getItem("user"))}}},c=a,u=(n("55ba"),n("2877")),l=Object(u["a"])(c,i,s,!1,null,"7ee9dd77",null),f=l.exports,d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"list"}},[n("ul",{staticStyle:{"padding-left":"0px"}},e._l(e.hrs,(function(t){return n("li",{class:{active:!!e.currentSession&&t.username===e.currentSession.username},on:{click:function(n){return e.changeCurrentSession(t)}}},[n("img",{staticClass:"avatar",attrs:{src:t.userface,alt:t.name}}),n("el-badge",{attrs:{"is-dot":e.isDot[e.user.username+"#"+t.username]}},[n("p",{staticClass:"name"},[e._v(e._s(t.name))])])],1)})),0)])},h=[],p=n("2f62"),m={name:"list",data:function(){return{user:JSON.parse(window.sessionStorage.getItem("user"))}},computed:Object(p["b"])(["hrs","isDot","currentSession"]),methods:{changeCurrentSession:function(e){this.$store.commit("changeCurrentSession",e)}}},v=m,b=(n("25f8"),Object(u["a"])(v,d,h,!1,null,"73709cf4",null)),g=b.exports,y=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"scroll-bottom",rawName:"v-scroll-bottom",value:e.sessions,expression:"sessions"}],attrs:{id:"message"}},[e.currentSession?n("ul",e._l(e.sessions[e.user.username+"#"+e.currentSession.username],(function(t){return n("li",[n("p",{staticClass:"time"},[n("span",[e._v(e._s(e._f("time")(t.date)))])]),n("div",{staticClass:"main",class:{self:t.self}},[n("img",{staticClass:"avatar",attrs:{src:t.self?e.user.userface:e.currentSession.userface,alt:""}}),n("p",{staticClass:"text"},[e._v(e._s(t.content))])])])})),0):e._e()])},w=[],x={name:"message",data:function(){return{user:JSON.parse(window.sessionStorage.getItem("user"))}},computed:Object(p["b"])(["sessions","currentSession"]),filters:{time:function(e){return e&&(e=new Date(e)),"".concat(e.getHours(),":").concat(e.getMinutes())}},directives:{"scroll-bottom":function(e){setTimeout((function(){e.scrollTop+=9999}),1)}}},_=x,E=(n("55b0"),Object(u["a"])(_,y,w,!1,null,"9f2df1e6",null)),S=E.exports,k=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"uesrtext"}},[n("textarea",{directives:[{name:"model",rawName:"v-model",value:e.content,expression:"content"}],attrs:{placeholder:"按 Ctrl + Enter 发送"},domProps:{value:e.content},on:{keyup:e.addMessage,input:function(t){t.target.composing||(e.content=t.target.value)}}})])},O=[],j={name:"uesrtext",data:function(){return{content:""}},computed:Object(p["b"])(["sessions","currentSession"]),methods:{addMessage:function(e){if(e.ctrlKey&&13===e.keyCode&&this.content.length){var t=new Object;t.to=this.currentSession.username,t.content=this.content,this.$store.state.stomp.send("/ws/chat",{},JSON.stringify(t)),this.$store.commit("addMessage",t),this.content=""}}}},C=j,N=(n("04c6"),Object(u["a"])(C,k,O,!1,null,"1e00b6fb",null)),T=N.exports,I={name:"FriendChat",data:function(){return{}},mounted:function(){this.$store.dispatch("initData")},components:{card:f,list:g,message:S,usertext:T}},A=I,R=(n("8963"),Object(u["a"])(A,r,o,!1,null,"2e08323c",null));t["default"]=R.exports},"92d8":function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.hr?n("div",[n("el-card",{staticClass:"box-card",staticStyle:{width:"400px"}},[n("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[n("span",[e._v(e._s(e.hr.name))])]),n("div",[n("div",{staticStyle:{display:"flex","justify-content":"center"}},[n("el-upload",{attrs:{"show-file-list":!1,"on-success":e.onSuccess,data:e.hr,action:"/hr/userface"}},[n("img",{staticStyle:{width:"100px",height:"100px","border-radius":"50px"},attrs:{title:"点击修改用户图像",src:e.hr.userface,alt:""}})])],1),n("div",[e._v("电话号码:\n "),n("el-tag",[e._v(e._s(e.hr.telephone))])],1),n("div",[e._v("手机号码:\n "),n("el-tag",[e._v(e._s(e.hr.phone))])],1),n("div",[e._v("居住地址:\n "),n("el-tag",[e._v(e._s(e.hr.address))])],1),n("div",[e._v("用户标签:\n "),e._l(e.hr.roles,(function(t,r){return n("el-tag",{key:r,staticStyle:{"margin-right":"5px"},attrs:{type:"success"}},[e._v("\n "+e._s(t.nameZh)+"\n ")])}))],2),n("div",{staticStyle:{display:"flex","justify-content":"space-around","margin-top":"10px"}},[n("el-button",{attrs:{type:"primary"},on:{click:e.showUpdateHrInfoView}},[e._v("修改信息")]),n("el-button",{attrs:{type:"danger"},on:{click:e.showUpdatePasswdView}},[e._v("修改密码")])],1)])]),n("el-dialog",{attrs:{title:"修改用户信息",visible:e.dialogVisible,width:"30%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("div",[n("table",[n("tr",[n("td",[n("el-tag",[e._v("用户昵称:")])],1),n("td",[n("el-input",{model:{value:e.hr2.name,callback:function(t){e.$set(e.hr2,"name",t)},expression:"hr2.name"}})],1)]),n("tr",[n("td",[n("el-tag",[e._v("电话号码:")])],1),n("td",[n("el-input",{model:{value:e.hr2.telephone,callback:function(t){e.$set(e.hr2,"telephone",t)},expression:"hr2.telephone"}})],1)]),n("tr",[n("td",[n("el-tag",[e._v("手机号码:")])],1),n("td",[n("el-input",{model:{value:e.hr2.phone,callback:function(t){e.$set(e.hr2,"phone",t)},expression:"hr2.phone"}})],1)]),n("tr",[n("td",[n("el-tag",[e._v("用户地址:")])],1),n("td",[n("el-input",{model:{value:e.hr2.address,callback:function(t){e.$set(e.hr2,"address",t)},expression:"hr2.address"}})],1)])])]),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),n("el-button",{attrs:{type:"primary"},on:{click:e.updateHrInfo}},[e._v("确 定")])],1)]),n("el-dialog",{attrs:{title:"修改密码",visible:e.passwdDialogVisible,width:"30%"},on:{"update:visible":function(t){e.passwdDialogVisible=t}}},[n("div",[n("el-form",{ref:"ruleForm",staticClass:"demo-ruleForm",attrs:{model:e.ruleForm,"status-icon":"",rules:e.rules,"label-width":"100px"}},[n("el-form-item",{attrs:{label:"请输入旧密码",prop:"oldpass"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.ruleForm.oldpass,callback:function(t){e.$set(e.ruleForm,"oldpass",t)},expression:"ruleForm.oldpass"}})],1),n("el-form-item",{attrs:{label:"请输入新密码",prop:"pass"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.ruleForm.pass,callback:function(t){e.$set(e.ruleForm,"pass",t)},expression:"ruleForm.pass"}})],1),n("el-form-item",{attrs:{label:"新确认密码",prop:"checkPass"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.ruleForm.checkPass,callback:function(t){e.$set(e.ruleForm,"checkPass",t)},expression:"ruleForm.checkPass"}})],1),n("el-form-item",[n("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.submitForm("ruleForm")}}},[e._v("提交")]),n("el-button",{on:{click:function(t){return e.resetForm("ruleForm")}}},[e._v("重置")])],1)],1)],1)])],1):e._e()},o=[],i=(n("a481"),{name:"HrInfo",data:function(){var e=this,t=function(t,n,r){""===n?r(new Error("请输入密码")):(""!==e.ruleForm.checkPass&&e.$refs.ruleForm.validateField("checkPass"),r())},n=function(t,n,r){""===n?r(new Error("请再次输入密码")):n!==e.ruleForm.pass?r(new Error("两次输入密码不一致!")):r()};return{ruleForm:{oldpass:"",pass:"",checkPass:""},rules:{oldpass:[{validator:t,trigger:"blur"}],pass:[{validator:t,trigger:"blur"}],checkPass:[{validator:n,trigger:"blur"}]},hr:null,hr2:null,dialogVisible:!1,passwdDialogVisible:!1}},mounted:function(){this.initHr()},methods:{onSuccess:function(){this.initHr()},updateHrInfo:function(){var e=this;this.putRequest("/hr/info",this.hr2).then((function(t){t&&(e.dialogVisible=!1,e.initHr())}))},showUpdateHrInfoView:function(){this.dialogVisible=!0},submitForm:function(e){var t=this;this.$refs[e].validate((function(e){if(!e)return!1;t.ruleForm.hrid=t.hr.id,t.putRequest("/hr/pass",t.ruleForm).then((function(e){e&&(t.getRequest("/logout"),window.sessionStorage.removeItem("user"),t.$store.commit("initRoutes",[]),t.$router.replace("/"))}))}))},resetForm:function(e){this.$refs[e].resetFields()},showUpdatePasswdView:function(){this.passwdDialogVisible=!0},initHr:function(){var e=this;this.getRequest("/hr/info").then((function(t){t&&(e.hr=t,e.hr2=Object.assign({},e.hr),window.sessionStorage.setItem("user",JSON.stringify(t)),e.$store.commit("INIT_CURRENTHR",t))}))}}}),s=i,a=n("2877"),c=Object(a["a"])(s,r,o,!1,null,"477e2013",null);t["default"]=c.exports},"997c":function(e,t,n){},a360:function(e,t,n){"use strict";(function(e,t){n("4917"),n("34ef"),n("3b2b"),n("28a5"),n("7f7f"),n("6b54"),n("a481"),n("55dd"),n("ac6a");var r,o=n("7618");(function(r){if("object"===("undefined"===typeof exports?"undefined":Object(o["a"])(exports))&&"undefined"!==typeof t)t.exports=r();else if("function"===typeof define&&n("3c35"))define([],r);else{var i;i="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:this,i.SockJS=r()}})((function(){var t;return function e(t,n,o){function i(a,c){if(!n[a]){if(!t[a]){var u="function"==typeof r&&r;if(!c&&u)return r(a,!0);if(s)return s(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var f=n[a]={exports:{}};t[a][0].call(f.exports,(function(e){var n=t[a][1][e];return i(n||e)}),f,f.exports,e,t,n,o)}return n[a].exports}for(var s="function"==typeof r&&r,a=0;a1?this._listeners[e]=n.slice(0,r).concat(n.slice(r+1)):delete this._listeners[e])}},r.prototype.dispatchEvent=function(){var e=arguments[0],t=e.type,n=1===arguments.length?[e]:Array.apply(null,arguments);if(this["on"+t]&&this["on"+t].apply(this,n),t in this._listeners)for(var r=this._listeners[t],o=0;o=3e3&&e<=4999}"production"!==e.env.NODE_ENV&&(_=t("debug")("sockjs-client:main")),s(E,b),E.prototype.close=function(e,t){if(e&&!S(e))throw new Error("InvalidAccessError: Invalid code");if(t&&t.length>123)throw new SyntaxError("reason argument has an invalid length");if(this.readyState!==E.CLOSING&&this.readyState!==E.CLOSED){var n=!0;this._close(e||1e3,t||"Normal closure",n)}},E.prototype.send=function(e){if("string"!==typeof e&&(e=""+e),this.readyState===E.CONNECTING)throw new Error("InvalidStateError: The connection has not been established yet");this.readyState===E.OPEN&&this._transport.send(u.quote(e))},E.version=t("./version"),E.CONNECTING=0,E.OPEN=1,E.CLOSING=2,E.CLOSED=3,E.prototype._receiveInfo=function(e,t){if(_("_receiveInfo",t),this._ir=null,e){this._rto=this.countRTO(t),this._transUrl=e.base_url?e.base_url:this.url,e=h.extend(e,this._urlInfo),_("info",e);var n=o.filterToEnabled(this._transportsWhitelist,e);this._transports=n.main,_(this._transports.length+" enabled transports"),this._connect()}else this._close(1002,"Cannot connect to server")},E.prototype._connect=function(){for(var e=this._transports.shift();e;e=this._transports.shift()){if(_("attempt",e.transportName),e.needBody&&(!r.document.body||"undefined"!==typeof r.document.readyState&&"complete"!==r.document.readyState&&"interactive"!==r.document.readyState))return _("waiting for body"),this._transports.unshift(e),void f.attachEvent("load",this._connect.bind(this));var t=this._rto*e.roundTrips||5e3;this._transportTimeoutId=setTimeout(this._transportTimeout.bind(this),t),_("using timeout",t);var n=l.addPath(this._transUrl,"/"+this._server+"/"+this._generateSessionId()),o=this._transportOptions[e.transportName];_("transport url",n);var i=new e(n,this._transUrl,o);return i.on("message",this._transportMessage.bind(this)),i.once("close",this._transportClose.bind(this)),i.transportName=e.transportName,void(this._transport=i)}this._close(2e3,"All transports failed",!1)},E.prototype._transportTimeout=function(){_("_transportTimeout"),this.readyState===E.CONNECTING&&this._transportClose(2007,"Transport timed out")},E.prototype._transportMessage=function(e){_("_transportMessage",e);var t,n=this,r=e.slice(0,1),o=e.slice(1);switch(r){case"o":return void this._open();case"h":return this.dispatchEvent(new v("heartbeat")),void _("heartbeat",this.transport)}if(o)try{t=a.parse(o)}catch(i){_("bad json",o)}if("undefined"!==typeof t)switch(r){case"a":Array.isArray(t)&&t.forEach((function(e){_("message",n.transport,e),n.dispatchEvent(new w(e))}));break;case"m":_("message",this.transport,t),this.dispatchEvent(new w(t));break;case"c":Array.isArray(t)&&2===t.length&&this._close(t[0],t[1],!0);break}else _("empty payload",o)},E.prototype._transportClose=function(e,t){_("_transportClose",this.transport,e,t),this._transport&&(this._transport.removeAllListeners(),this._transport=null,this.transport=null),S(e)||2e3===e||this.readyState!==E.CONNECTING?this._close(e,t):this._connect()},E.prototype._open=function(){_("_open",this._transport.transportName,this.readyState),this.readyState===E.CONNECTING?(this._transportTimeoutId&&(clearTimeout(this._transportTimeoutId),this._transportTimeoutId=null),this.readyState=E.OPEN,this.transport=this._transport.transportName,this.dispatchEvent(new v("open")),_("connected",this.transport)):this._close(1006,"Server lost session")},E.prototype._close=function(e,t,n){_("_close",this.transport,e,t,n,this.readyState);var r=!1;if(this._ir&&(r=!0,this._ir.close(),this._ir=null),this._transport&&(this._transport.close(),this._transport=null,this.transport=null),this.readyState===E.CLOSED)throw new Error("InvalidStateError: SockJS has already been closed");this.readyState=E.CLOSING,setTimeout(function(){this.readyState=E.CLOSED,r&&this.dispatchEvent(new v("error"));var o=new y("close");o.wasClean=n||!1,o.code=e||1e3,o.reason=t,this.dispatchEvent(o),this.onmessage=this.onclose=this.onerror=null,_("disconnected")}.bind(this),0)},E.prototype.countRTO=function(e){return e>100?4*e:300+e},n.exports=function(e){return o=d(e),t("./iframe-bootstrap")(E,e),E}}).call(this,{env:{}},"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./event/close":2,"./event/event":4,"./event/eventtarget":5,"./event/trans-message":6,"./iframe-bootstrap":8,"./info-receiver":12,"./location":13,"./shims":15,"./utils/browser":44,"./utils/escape":45,"./utils/event":46,"./utils/log":48,"./utils/object":49,"./utils/random":50,"./utils/transport":51,"./utils/url":52,"./version":53,debug:54,inherits:56,json3:57,"url-parse":61}],15:[function(e,t,n){var r,i=Array.prototype,s=Object.prototype,a=Function.prototype,c=String.prototype,u=i.slice,l=s.toString,f=function(e){return"[object Function]"===s.toString.call(e)},d=function(e){return"[object Array]"===l.call(e)},h=function(e){return"[object String]"===l.call(e)},p=Object.defineProperty&&function(){try{return Object.defineProperty({},"x",{}),!0}catch(e){return!1}}();r=p?function(e,t,n,r){!r&&t in e||Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(e,t,n,r){!r&&t in e||(e[t]=n)};var m=function(e,t,n){for(var o in t)s.hasOwnProperty.call(t,o)&&r(e,o,t[o],n)},v=function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)};function b(e){var t=+e;return t!==t?t=0:0!==t&&t!==1/0&&t!==-1/0&&(t=(t>0||-1)*Math.floor(Math.abs(t))),t}function g(e){return e>>>0}function y(){}m(a,{bind:function(e){var t=this;if(!f(t))throw new TypeError("Function.prototype.bind called on incompatible "+t);for(var n=u.call(arguments,1),r=function(){if(this instanceof a){var r=t.apply(this,n.concat(u.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(u.call(arguments)))},o=Math.max(0,t.length-n.length),i=[],s=0;s>>0;if(!f(e))throw new TypeError;while(++o>>0;if(!n)return-1;var r=0;for(arguments.length>1&&(r=b(arguments[1])),r=r>=0?r:Math.max(0,n+r);r1?function(){var e=void 0===/()??/.exec("")[1];c.split=function(t,n){var r=this;if(void 0===t&&0===n)return[];if("[object RegExp]"!==l.call(t))return S.call(this,t,n);var o,s,a,c,u=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.extended?"x":"")+(t.sticky?"y":""),d=0;t=new RegExp(t.source,f+"g"),r+="",e||(o=new RegExp("^"+t.source+"$(?!\\s)",f)),n=void 0===n?-1>>>0:g(n);while(s=t.exec(r)){if(a=s.index+s[0].length,a>d&&(u.push(r.slice(d,s.index)),!e&&s.length>1&&s[0].replace(o,(function(){for(var e=1;e1&&s.index=n))break;t.lastIndex===s.index&&t.lastIndex++}return d===r.length?!c&&t.test("")||u.push(""):u.push(r.slice(d)),u.length>n?u.slice(0,n):u}}():"0".split(void 0,0).length&&(c.split=function(e,t){return void 0===e&&0===t?[]:S.call(this,e,t)});var k=c.substr,O="".substr&&"b"!=="0b".substr(-1);m(c,{substr:function(e,t){return k.call(this,e<0&&(e=this.length+e)<0?0:e,t)}},O)},{}],16:[function(e,t,n){t.exports=[e("./transport/websocket"),e("./transport/xhr-streaming"),e("./transport/xdr-streaming"),e("./transport/eventsource"),e("./transport/lib/iframe-wrap")(e("./transport/eventsource")),e("./transport/htmlfile"),e("./transport/lib/iframe-wrap")(e("./transport/htmlfile")),e("./transport/xhr-polling"),e("./transport/xdr-polling"),e("./transport/lib/iframe-wrap")(e("./transport/xhr-polling")),e("./transport/jsonp-polling")]},{"./transport/eventsource":20,"./transport/htmlfile":21,"./transport/jsonp-polling":23,"./transport/lib/iframe-wrap":26,"./transport/websocket":38,"./transport/xdr-polling":39,"./transport/xdr-streaming":40,"./transport/xhr-polling":41,"./transport/xhr-streaming":42}],17:[function(t,n,r){(function(e,r){var o=t("events").EventEmitter,i=t("inherits"),s=t("../../utils/event"),a=t("../../utils/url"),c=r.XMLHttpRequest,u=function(){};function l(e,t,n,r){u(e,t);var i=this;o.call(this),setTimeout((function(){i._start(e,t,n,r)}),0)}"production"!==e.env.NODE_ENV&&(u=t("debug")("sockjs-client:browser:xhr")),i(l,o),l.prototype._start=function(e,t,n,r){var o=this;try{this.xhr=new c}catch(f){}if(!this.xhr)return u("no xhr"),this.emit("finish",0,"no xhr support"),void this._cleanup();t=a.addQuery(t,"t="+ +new Date),this.unloadRef=s.unloadAdd((function(){u("unload cleanup"),o._cleanup(!0)}));try{this.xhr.open(e,t,!0),this.timeout&&"timeout"in this.xhr&&(this.xhr.timeout=this.timeout,this.xhr.ontimeout=function(){u("xhr timeout"),o.emit("finish",0,""),o._cleanup(!1)})}catch(d){return u("exception",d),this.emit("finish",0,""),void this._cleanup(!1)}if(r&&r.noCredentials||!l.supportsCORS||(u("withCredentials"),this.xhr.withCredentials="true"),r&&r.headers)for(var i in r.headers)this.xhr.setRequestHeader(i,r.headers[i]);this.xhr.onreadystatechange=function(){if(o.xhr){var e,t,n=o.xhr;switch(u("readyState",n.readyState),n.readyState){case 3:try{t=n.status,e=n.responseText}catch(d){}u("status",t),1223===t&&(t=204),200===t&&e&&e.length>0&&(u("chunk"),o.emit("chunk",t,e));break;case 4:t=n.status,u("status",t),1223===t&&(t=204),12005!==t&&12029!==t||(t=0),u("finish",t,n.responseText),o.emit("finish",t,n.responseText),o._cleanup(!1);break}}};try{o.xhr.send(n)}catch(d){o.emit("finish",0,""),o._cleanup(!1)}},l.prototype._cleanup=function(e){if(u("cleanup"),this.xhr){if(this.removeAllListeners(),s.unloadDel(this.unloadRef),this.xhr.onreadystatechange=function(){},this.xhr.ontimeout&&(this.xhr.ontimeout=null),e)try{this.xhr.abort()}catch(t){}this.unloadRef=this.xhr=null}},l.prototype.close=function(){u("close"),this._cleanup(!0)},l.enabled=!!c;var f=["Active"].concat("Object").join("X");!l.enabled&&f in r&&(u("overriding xmlhttprequest"),c=function(){try{return new r[f]("Microsoft.XMLHTTP")}catch(e){return null}},l.enabled=!!new c);var d=!1;try{d="withCredentials"in new c}catch(h){}l.supportsCORS=d,n.exports=l}).call(this,{env:{}},"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/event":46,"../../utils/url":52,debug:54,events:3,inherits:56}],18:[function(t,n,r){(function(e){n.exports=e.EventSource}).call(this,"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],19:[function(t,n,r){(function(e){var t=e.WebSocket||e.MozWebSocket;n.exports=t?function(e){return new t(e)}:void 0}).call(this,"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],20:[function(e,t,n){var r=e("inherits"),o=e("./lib/ajax-based"),i=e("./receiver/eventsource"),s=e("./sender/xhr-cors"),a=e("eventsource");function c(e){if(!c.enabled())throw new Error("Transport created when disabled");o.call(this,e,"/eventsource",i,s)}r(c,o),c.enabled=function(){return!!a},c.transportName="eventsource",c.roundTrips=2,t.exports=c},{"./lib/ajax-based":24,"./receiver/eventsource":29,"./sender/xhr-cors":35,eventsource:18,inherits:56}],21:[function(e,t,n){var r=e("inherits"),o=e("./receiver/htmlfile"),i=e("./sender/xhr-local"),s=e("./lib/ajax-based");function a(e){if(!o.enabled)throw new Error("Transport created when disabled");s.call(this,e,"/htmlfile",o,i)}r(a,s),a.enabled=function(e){return o.enabled&&e.sameOrigin},a.transportName="htmlfile",a.roundTrips=2,t.exports=a},{"./lib/ajax-based":24,"./receiver/htmlfile":30,"./sender/xhr-local":37,inherits:56}],22:[function(e,t,n){(function(n){var r=e("inherits"),o=e("json3"),i=e("events").EventEmitter,s=e("../version"),a=e("../utils/url"),c=e("../utils/iframe"),u=e("../utils/event"),l=e("../utils/random"),f=function(){};function d(e,t,n){if(!d.enabled())throw new Error("Transport created when disabled");i.call(this);var r=this;this.origin=a.getOrigin(n),this.baseUrl=n,this.transUrl=t,this.transport=e,this.windowId=l.string(8);var o=a.addPath(n,"/iframe.html")+"#"+this.windowId;f(e,t,o),this.iframeObj=c.createIframe(o,(function(e){f("err callback"),r.emit("close",1006,"Unable to load an iframe ("+e+")"),r.close()})),this.onmessageCallback=this._message.bind(this),u.attachEvent("message",this.onmessageCallback)}"production"!==n.env.NODE_ENV&&(f=e("debug")("sockjs-client:transport:iframe")),r(d,i),d.prototype.close=function(){if(f("close"),this.removeAllListeners(),this.iframeObj){u.detachEvent("message",this.onmessageCallback);try{this.postMessage("c")}catch(e){}this.iframeObj.cleanup(),this.iframeObj=null,this.onmessageCallback=this.iframeObj=null}},d.prototype._message=function(e){if(f("message",e.data),a.isOriginEqual(e.origin,this.origin)){var t;try{t=o.parse(e.data)}catch(r){return void f("bad json",e.data)}if(t.windowId===this.windowId)switch(t.type){case"s":this.iframeObj.loaded(),this.postMessage("s",o.stringify([s,this.transport,this.transUrl,this.baseUrl]));break;case"t":this.emit("message",t.data);break;case"c":var n;try{n=o.parse(t.data)}catch(r){return void f("bad json",t.data)}this.emit("close",n[0],n[1]),this.close();break}else f("mismatched window id",t.windowId,this.windowId)}else f("not same origin",e.origin,this.origin)},d.prototype.postMessage=function(e,t){f("postMessage",e,t),this.iframeObj.post(o.stringify({windowId:this.windowId,type:e,data:t||""}),this.origin)},d.prototype.send=function(e){f("send",e),this.postMessage("m",e)},d.enabled=function(){return c.iframeEnabled},d.transportName="iframe",d.roundTrips=2,t.exports=d}).call(this,{env:{}})},{"../utils/event":46,"../utils/iframe":47,"../utils/random":50,"../utils/url":52,"../version":53,debug:54,events:3,inherits:56,json3:57}],23:[function(t,n,r){(function(e){var r=t("inherits"),o=t("./lib/sender-receiver"),i=t("./receiver/jsonp"),s=t("./sender/jsonp");function a(e){if(!a.enabled())throw new Error("Transport created when disabled");o.call(this,e,"/jsonp",s,i)}r(a,o),a.enabled=function(){return!!e.document},a.transportName="jsonp-polling",a.roundTrips=1,a.needBody=!0,n.exports=a}).call(this,"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./lib/sender-receiver":28,"./receiver/jsonp":31,"./sender/jsonp":33,inherits:56}],24:[function(e,t,n){(function(n){var r=e("inherits"),o=e("../../utils/url"),i=e("./sender-receiver"),s=function(){};function a(e){return function(t,n,r){s("create ajax sender",t,n);var i={};"string"===typeof n&&(i.headers={"Content-type":"text/plain"});var a=o.addPath(t,"/xhr_send"),c=new e("POST",a,n,i);return c.once("finish",(function(e){if(s("finish",e),c=null,200!==e&&204!==e)return r(new Error("http status "+e));r()})),function(){s("abort"),c.close(),c=null;var e=new Error("Aborted");e.code=1e3,r(e)}}}function c(e,t,n,r){i.call(this,e,t,a(r),n,r)}"production"!==n.env.NODE_ENV&&(s=e("debug")("sockjs-client:ajax-based")),r(c,i),t.exports=c}).call(this,{env:{}})},{"../../utils/url":52,"./sender-receiver":28,debug:54,inherits:56}],25:[function(e,t,n){(function(n){var r=e("inherits"),o=e("events").EventEmitter,i=function(){};function s(e,t){i(e),o.call(this),this.sendBuffer=[],this.sender=t,this.url=e}"production"!==n.env.NODE_ENV&&(i=e("debug")("sockjs-client:buffered-sender")),r(s,o),s.prototype.send=function(e){i("send",e),this.sendBuffer.push(e),this.sendStop||this.sendSchedule()},s.prototype.sendScheduleWait=function(){i("sendScheduleWait");var e,t=this;this.sendStop=function(){i("sendStop"),t.sendStop=null,clearTimeout(e)},e=setTimeout((function(){i("timeout"),t.sendStop=null,t.sendSchedule()}),25)},s.prototype.sendSchedule=function(){i("sendSchedule",this.sendBuffer.length);var e=this;if(this.sendBuffer.length>0){var t="["+this.sendBuffer.join(",")+"]";this.sendStop=this.sender(this.url,t,(function(t){e.sendStop=null,t?(i("error",t),e.emit("close",t.code||1006,"Sending error: "+t),e.close()):e.sendScheduleWait()})),this.sendBuffer=[]}},s.prototype._cleanup=function(){i("_cleanup"),this.removeAllListeners()},s.prototype.close=function(){i("close"),this._cleanup(),this.sendStop&&(this.sendStop(),this.sendStop=null)},t.exports=s}).call(this,{env:{}})},{debug:54,events:3,inherits:56}],26:[function(t,n,r){(function(e){var r=t("inherits"),o=t("../iframe"),i=t("../../utils/object");n.exports=function(t){function n(e,n){o.call(this,t.transportName,e,n)}return r(n,o),n.enabled=function(n,r){if(!e.document)return!1;var s=i.extend({},r);return s.sameOrigin=!0,t.enabled(s)&&o.enabled()},n.transportName="iframe-"+t.transportName,n.needBody=!0,n.roundTrips=o.roundTrips+t.roundTrips-1,n.facadeTransport=t,n}}).call(this,"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/object":49,"../iframe":22,inherits:56}],27:[function(e,t,n){(function(n){var r=e("inherits"),o=e("events").EventEmitter,i=function(){};function s(e,t,n){i(t),o.call(this),this.Receiver=e,this.receiveUrl=t,this.AjaxObject=n,this._scheduleReceiver()}"production"!==n.env.NODE_ENV&&(i=e("debug")("sockjs-client:polling")),r(s,o),s.prototype._scheduleReceiver=function(){i("_scheduleReceiver");var e=this,t=this.poll=new this.Receiver(this.receiveUrl,this.AjaxObject);t.on("message",(function(t){i("message",t),e.emit("message",t)})),t.once("close",(function(n,r){i("close",n,r,e.pollIsClosing),e.poll=t=null,e.pollIsClosing||("network"===r?e._scheduleReceiver():(e.emit("close",n||1006,r),e.removeAllListeners()))}))},s.prototype.abort=function(){i("abort"),this.removeAllListeners(),this.pollIsClosing=!0,this.poll&&this.poll.abort()},t.exports=s}).call(this,{env:{}})},{debug:54,events:3,inherits:56}],28:[function(e,t,n){(function(n){var r=e("inherits"),o=e("../../utils/url"),i=e("./buffered-sender"),s=e("./polling"),a=function(){};function c(e,t,n,r,c){var u=o.addPath(e,t);a(u);var l=this;i.call(this,e,n),this.poll=new s(r,u,c),this.poll.on("message",(function(e){a("poll message",e),l.emit("message",e)})),this.poll.once("close",(function(e,t){a("poll close",e,t),l.poll=null,l.emit("close",e,t),l.close()}))}"production"!==n.env.NODE_ENV&&(a=e("debug")("sockjs-client:sender-receiver")),r(c,i),c.prototype.close=function(){i.prototype.close.call(this),a("close"),this.removeAllListeners(),this.poll&&(this.poll.abort(),this.poll=null)},t.exports=c}).call(this,{env:{}})},{"../../utils/url":52,"./buffered-sender":25,"./polling":27,debug:54,inherits:56}],29:[function(e,t,n){(function(n){var r=e("inherits"),o=e("events").EventEmitter,i=e("eventsource"),s=function(){};function a(e){s(e),o.call(this);var t=this,n=this.es=new i(e);n.onmessage=function(e){s("message",e.data),t.emit("message",decodeURI(e.data))},n.onerror=function(e){s("error",n.readyState,e);var r=2!==n.readyState?"network":"permanent";t._cleanup(),t._close(r)}}"production"!==n.env.NODE_ENV&&(s=e("debug")("sockjs-client:receiver:eventsource")),r(a,o),a.prototype.abort=function(){s("abort"),this._cleanup(),this._close("user")},a.prototype._cleanup=function(){s("cleanup");var e=this.es;e&&(e.onmessage=e.onerror=null,e.close(),this.es=null)},a.prototype._close=function(e){s("close",e);var t=this;setTimeout((function(){t.emit("close",null,e),t.removeAllListeners()}),200)},t.exports=a}).call(this,{env:{}})},{debug:54,events:3,eventsource:18,inherits:56}],30:[function(t,n,r){(function(e,r){var o=t("inherits"),i=t("../../utils/iframe"),s=t("../../utils/url"),a=t("events").EventEmitter,c=t("../../utils/random"),u=function(){};function l(e){u(e),a.call(this);var t=this;i.polluteGlobalNamespace(),this.id="a"+c.string(6),e=s.addQuery(e,"c="+decodeURIComponent(i.WPrefix+"."+this.id)),u("using htmlfile",l.htmlfileEnabled);var n=l.htmlfileEnabled?i.createHtmlfile:i.createIframe;r[i.WPrefix][this.id]={start:function(){u("start"),t.iframeObj.loaded()},message:function(e){u("message",e),t.emit("message",e)},stop:function(){u("stop"),t._cleanup(),t._close("network")}},this.iframeObj=n(e,(function(){u("callback"),t._cleanup(),t._close("permanent")}))}"production"!==e.env.NODE_ENV&&(u=t("debug")("sockjs-client:receiver:htmlfile")),o(l,a),l.prototype.abort=function(){u("abort"),this._cleanup(),this._close("user")},l.prototype._cleanup=function(){u("_cleanup"),this.iframeObj&&(this.iframeObj.cleanup(),this.iframeObj=null),delete r[i.WPrefix][this.id]},l.prototype._close=function(e){u("_close",e),this.emit("close",null,e),this.removeAllListeners()},l.htmlfileEnabled=!1;var f=["Active"].concat("Object").join("X");if(f in r)try{l.htmlfileEnabled=!!new r[f]("htmlfile")}catch(d){}l.enabled=l.htmlfileEnabled||i.iframeEnabled,n.exports=l}).call(this,{env:{}},"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,debug:54,events:3,inherits:56}],31:[function(t,n,r){(function(e,r){var o=t("../../utils/iframe"),i=t("../../utils/random"),s=t("../../utils/browser"),a=t("../../utils/url"),c=t("inherits"),u=t("events").EventEmitter,l=function(){};function f(e){l(e);var t=this;u.call(this),o.polluteGlobalNamespace(),this.id="a"+i.string(6);var n=a.addQuery(e,"c="+encodeURIComponent(o.WPrefix+"."+this.id));r[o.WPrefix][this.id]=this._callback.bind(this),this._createScript(n),this.timeoutId=setTimeout((function(){l("timeout"),t._abort(new Error("JSONP script loaded abnormally (timeout)"))}),f.timeout)}"production"!==e.env.NODE_ENV&&(l=t("debug")("sockjs-client:receiver:jsonp")),c(f,u),f.prototype.abort=function(){if(l("abort"),r[o.WPrefix][this.id]){var e=new Error("JSONP user aborted read");e.code=1e3,this._abort(e)}},f.timeout=35e3,f.scriptErrorTimeout=1e3,f.prototype._callback=function(e){l("_callback",e),this._cleanup(),this.aborting||(e&&(l("message",e),this.emit("message",e)),this.emit("close",null,"network"),this.removeAllListeners())},f.prototype._abort=function(e){l("_abort",e),this._cleanup(),this.aborting=!0,this.emit("close",e.code,e.message),this.removeAllListeners()},f.prototype._cleanup=function(){if(l("_cleanup"),clearTimeout(this.timeoutId),this.script2&&(this.script2.parentNode.removeChild(this.script2),this.script2=null),this.script){var e=this.script;e.parentNode.removeChild(e),e.onreadystatechange=e.onerror=e.onload=e.onclick=null,this.script=null}delete r[o.WPrefix][this.id]},f.prototype._scriptError=function(){l("_scriptError");var e=this;this.errorTimer||(this.errorTimer=setTimeout((function(){e.loadedOkay||e._abort(new Error("JSONP script loaded abnormally (onerror)"))}),f.scriptErrorTimeout))},f.prototype._createScript=function(e){l("_createScript",e);var t,n=this,o=this.script=r.document.createElement("script");if(o.id="a"+i.string(8),o.src=e,o.type="text/javascript",o.charset="UTF-8",o.onerror=this._scriptError.bind(this),o.onload=function(){l("onload"),n._abort(new Error("JSONP script loaded abnormally (onload)"))},o.onreadystatechange=function(){if(l("onreadystatechange",o.readyState),/loaded|closed/.test(o.readyState)){if(o&&o.htmlFor&&o.onclick){n.loadedOkay=!0;try{o.onclick()}catch(e){}}o&&n._abort(new Error("JSONP script loaded abnormally (onreadystatechange)"))}},"undefined"===typeof o.async&&r.document.attachEvent)if(s.isOpera())t=this.script2=r.document.createElement("script"),t.text="try{var a = document.getElementById('"+o.id+"'); if(a)a.onerror();}catch(x){};",o.async=t.async=!1;else{try{o.htmlFor=o.id,o.event="onclick"}catch(c){}o.async=!0}"undefined"!==typeof o.async&&(o.async=!0);var a=r.document.getElementsByTagName("head")[0];a.insertBefore(o,a.firstChild),t&&a.insertBefore(t,a.firstChild)},n.exports=f}).call(this,{env:{}},"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/browser":44,"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,debug:54,events:3,inherits:56}],32:[function(e,t,n){(function(n){var r=e("inherits"),o=e("events").EventEmitter,i=function(){};function s(e,t){i(e),o.call(this);var n=this;this.bufferPosition=0,this.xo=new t("POST",e,null),this.xo.on("chunk",this._chunkHandler.bind(this)),this.xo.once("finish",(function(e,t){i("finish",e,t),n._chunkHandler(e,t),n.xo=null;var r=200===e?"network":"permanent";i("close",r),n.emit("close",null,r),n._cleanup()}))}"production"!==n.env.NODE_ENV&&(i=e("debug")("sockjs-client:receiver:xhr")),r(s,o),s.prototype._chunkHandler=function(e,t){if(i("_chunkHandler",e),200===e&&t)for(var n=-1;;this.bufferPosition+=n+1){var r=t.slice(this.bufferPosition);if(n=r.indexOf("\n"),-1===n)break;var o=r.slice(0,n);o&&(i("message",o),this.emit("message",o))}},s.prototype._cleanup=function(){i("_cleanup"),this.removeAllListeners()},s.prototype.abort=function(){i("abort"),this.xo&&(this.xo.close(),i("close"),this.emit("close",null,"user"),this.xo=null),this._cleanup()},t.exports=s}).call(this,{env:{}})},{debug:54,events:3,inherits:56}],33:[function(t,n,r){(function(e,r){var o,i,s=t("../../utils/random"),a=t("../../utils/url"),c=function(){};function u(e){c("createIframe",e);try{return r.document.createElement('