wangqiang před 1 rokem
rodič
revize
e9cb907fe3

+ 3 - 2
.env.development

@@ -9,5 +9,6 @@ VUE_APP_SERVER_URL = 'http://localhost:8084'
 
 #单点登录设置
 VUE_APP_SSO_LOGIN  = 'false'
-VUE_APP_CAS_SERVER = 'https://www.cainiao.com:8443/cas'
-VUE_APP_CLIENT_LOGIN = 'http://localhost:3000/#/casLogin'
+VUE_APP_CAS_SERVER = 'http://www.casserver.com:8443'
+VUE_APP_CLIENT_LOGIN = 'http://127.0.0.1:3000/#/casLogin'
+

+ 1 - 0
src/main.js

@@ -34,6 +34,7 @@ import VueEditor from 'vue2-editor'
 import Print from 'vue-print-nb'
 import XEUtils from 'xe-utils'
 import VXETablePluginExportXLSX from 'vxe-table-plugin-export-xlsx'
+
 // 按需导入 vxeTable
 import {
         // 核心

+ 3 - 1
src/router/index.js

@@ -26,9 +26,10 @@ const mainRoutes = {
   path: '/',
   component: _import('main'),
   name: 'main',
-  redirect: {name: 'home'},
+  redirect: {name: 'casLogout'},
   meta: {title: '整体布局'},
   children: [
+    {path: '/casLogout', component: _import('common/CasLogout'), name: 'casLogout', meta: { title: 'CAS退出' }},
     {path: '/redirect/:path(.*)', component: _import('modules/redirect/index')},
     {path: '/home', redirect: '/sys/dashboard/workBench/Pending', name: 'home'},
     {path: '/flowable/task/TaskForm', component: _import('modules/flowable/task/TaskForm'), name: 'task-form', meta: {title: '流程表单'}},
@@ -55,6 +56,7 @@ const router = new Router({
 
   // 添加动态(菜单)路由
 router.beforeEach((to, from, next) => {
+  debugger
   let token = Vue.cookie.get('token')
   if (!token || !/\S/.test(token)) { // token为空,跳转到login登录
     clearLoginInfo()

+ 1 - 2
src/utils/httpRequest.js

@@ -44,7 +44,6 @@ axios.interceptors.request.use(config => {
   if (!config.url.startsWith('http')) {
     config.url = BASE_URL + config.url
   }
-
   const type = config.method
   const arrayFormat = config.headers.arrayFormat || 'indices'
   if (type === 'post' && config.headers['Content-Type'] === 'application/x-www-form-urlencoded; charset=utf-8') {
@@ -77,7 +76,7 @@ axios.interceptors.response.use(response => {
   }
   if (error.response.status === 408 || error.response.status === 401) { // 需要重新登录
     clearLoginInfo()
-    router.push({ name: 'login' })
+    router.push({ name: 'casLogin' })
     Message({
       message: error.response.data,
       type: 'error',

+ 54 - 5
src/views/common/CasLogin.vue

@@ -1,25 +1,74 @@
 
 <template>
- 
+
 </template>
 <script>
+  import UserService from '@/api/sys/UserService'
   export default {
+    userService: null,
+    created () {
+      // 解析URL中的查询参数
+      const urlParams = new URLSearchParams(window.location.search)
+      const resultMapParam = urlParams.get('resultMap')
+      console.log('resultMapParam', resultMapParam)
+      this.userService = new UserService()
+    },
     mounted: function () {
+      debugger
+      console.log('进来了')
+      // 在页面加载时添加退出事件监听器
+      window.addEventListener('message', function (event) {
+        console.log('2222')
+        if (event.data === 'logout') {
+          console.log('进来了2')
+          // 执行退出操作,例如清除用户信息、跳转到登录页面等
+        }
+      })
       this.casLogin()
     },
     methods: {
-  
       // cas登录
       casLogin () {
         let st = this.getTicket()
         let sevice = window.location.protocol + '//' + window.location.host + '/'
+        console.log('st', st)
+        console.log('service', sevice)
         this.$http({
           url: '/sys/casLogin',
           method: 'get',
           params: {'ticket': st, 'service': sevice}
         }).then(({data}) => {
+          console.log('data', data)
           this.$cookie.set('token', data.token)
-          this.$router.push({name: 'home'})
+          // this.$router.push({name: 'home'})
+          this.userService.getMenus().then(({data}) => {
+            localStorage.setItem('routerList', JSON.stringify(data.routerList || '[]'))
+            localStorage.setItem('allMenuList', JSON.stringify(data.menuList || '[]'))
+            localStorage.setItem('permissions', JSON.stringify(data.permissions || '[]'))
+            localStorage.setItem('dictList', JSON.stringify(data.dictList || '[]'))
+            this.$router.push({name: 'home'})
+          }).catch(error => {
+            console.log('error', error)
+          })
+          // let Base64 = require('js-base64').Base64
+          // /* ------ 账号密码的存储 ------ */
+          // if (checked) {
+          //   // eslint-disable-next-line no-undef
+          //   // let password = Base64.encode(passwordLogin) // base64加密
+          //   this.setCookie(Base64.encode(username), Base64.encode(password), 7)
+          // } else {
+          //   this.setCookie('', '', -1) // 修改2值都为空,天数为负1天就好了
+          // }
+          /* ------ http登录请求 ------ */
+          this.$notify({
+            title: '登录成功',
+            message: `欢迎回来!<br/>你上次的登录IP是 ${data.oldLoginIp},登录时间是 ${data.oldLoginDate}。`,
+            dangerouslyUseHTMLString: true,
+            duration: 10000,
+            type: 'success'
+          })
+        }).catch(err => {
+          console.log('error', err)
         })
       },
       getTicket () {
@@ -27,6 +76,6 @@
         return url.split('?')[1].split('#')[0].split('=')[1]
       }
     }
-  
+
 }
-</script>
+</script>

+ 44 - 0
src/views/common/CasLogout.vue

@@ -0,0 +1,44 @@
+
+<template>
+
+</template>
+<script>
+  import UserService from '@/api/sys/UserService'
+  import {clearLoginInfo} from '@/utils'
+  import LoginService from '@/api/auth/LoginService'
+  export default {
+    userService: null,
+    created () {
+      this.userService = new UserService()
+      this.loginService = new LoginService()
+    },
+    mounted: function () {
+      debugger
+      console.log('进来了333')
+      // 在页面加载时添加退出事件监听器
+      // window.addEventListener('message', function (event) {
+      //   console.log('444')
+      //   if (event.data === 'logout') {
+      //     console.log('进来了2')
+      //     // 执行退出操作,例如清除用户信息、跳转到登录页面等
+      //   }
+      // })
+      this.logout()
+    },
+    methods: {
+      // cas登录
+      logout () {
+        this.loginService.logout().then(({data}) => {
+          clearLoginInfo()
+          if (process.env.VUE_APP_SSO_LOGIN === 'true') {
+            let service = window.location.protocol + '//' + window.location.host + '/'
+            window.location.href = `${process.env.VUE_APP_CAS_SERVER}/logout?service=${service}`
+          } else {
+            this.$router.replace({name: 'login'})
+          }
+        })
+      }
+    }
+
+  }
+</script>

+ 9 - 9
src/views/layout/UpdatePassword.vue

@@ -18,9 +18,9 @@
       <el-form-item label="账号">
         <span>{{ userName }}</span>
       </el-form-item>
-      <el-form-item label="原密码" prop="password">
-        <el-input type="password" size="small" v-model="dataForm.password" ></el-input>
-      </el-form-item>
+<!--      <el-form-item label="原密码" prop="password">-->
+<!--        <el-input type="password" size="small" v-model="dataForm.password" ></el-input>-->
+<!--      </el-form-item>-->
       <el-form-item label="新密码" prop="newPassword">
         <el-input type="password" size="small" v-model="dataForm.newPassword" ></el-input>
       </el-form-item>
@@ -51,14 +51,14 @@
         visible: false,
         showTip: false,
         dataForm: {
-          password: '',
+          // password: '',
           newPassword: '',
           confirmPassword: ''
         },
         dataRule: {
-          password: [
-            {required: true, message: '原密码不能为空', trigger: 'blur'}
-          ],
+          // password: [
+          //   {required: true, message: '原密码不能为空', trigger: 'blur'}
+          // ],
           newPassword: [
             {required: true, message: '新密码不能为空', trigger: 'blur'}
           ],
@@ -106,7 +106,7 @@
         this.$refs['dataForm'].validate((valid) => {
           if (valid) {
             this.userService.savePwd({
-              'oldPassword': this.dataForm.password,
+              // 'oldPassword': this.dataForm.password,
               'newPassword': this.dataForm.newPassword
             }).then(({data}) => {
               this.$message({
@@ -118,7 +118,7 @@
               this.$nextTick(() => {
                 this.mainTabs = []
                 clearLoginInfo()
-                this.$router.replace({name: 'login'})
+                this.$router.replace({name: 'casLogin'})
               })
             })
           }

+ 61 - 49
src/views/modules/roster/RosterForm.vue

@@ -11,7 +11,7 @@
       <el-row>
         <el-col :span="24">
           <el-tabs v-model="activeName" @tab-click="tabHandleClick" :before-leave="tabBeforeLeave">
-            <el-tab-pane v-for="(item, index) in $dictUtils.getDictList('roster_person_type')" :label="item.label" :name="item.value">
+            <el-tab-pane v-for="(item, index) in $dictUtils.getDictList('roster_person_type2')" :label="item.label" :name="item.value">
 
             </el-tab-pane>
           </el-tabs>
@@ -53,7 +53,7 @@
             <el-form-item label="姓名" prop="name"
                           :rules="[{required: true, message: '姓名不能为空', trigger: 'blur'}
                  ]">
-              <el-input v-model="inputForm.name" placeholder="请填写姓名"     clearable></el-input>
+              <el-input v-model="inputForm.name" :disabled="true" :readonly="true" placeholder="请填写姓名"     clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
@@ -68,6 +68,8 @@
                 size="middle"
                 :url="`/sys/office/treeData?type=2`"
                 :value="inputForm.officeId"
+                :disabled="true"
+                :readonly="true"
                 :clearable="true"
                 :accordion="true"
                 @getValue="(value) => {inputForm.officeId=value}"/>
@@ -75,7 +77,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="公司" prop="companyId">
-              <el-select v-model="inputForm.companyId" style="width:100%" placeholder="请选择">
+              <el-select v-model="inputForm.companyId" :disabled="true" :readonly="true" style="width:100%" placeholder="请选择">
                 <el-option
                   v-for="company in companyList"
                   :key="company.id"
@@ -87,7 +89,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="角色" prop="roleIdList">
-              <el-select v-model="inputForm.roleIdList" size="middle" style="width:100%" multiple placeholder="请选择">
+              <el-select v-model="inputForm.roleIdList" :disabled="true" :readonly="true" size="middle" style="width:100%" multiple placeholder="请选择">
                 <el-option
                   v-for="role in roleList"
                   :key="role.id"
@@ -99,7 +101,8 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="岗位" prop="postIdList">
-              <el-select v-model="inputForm.postIdList" @change="$forceUpdate()" style="width:100%" multiple placeholder="请选择">
+              <el-select v-model="inputForm.postIdList" @change="$forceUpdate()"
+                         :disabled="true" :readonly="true" style="width:100%" multiple placeholder="请选择">
                 <el-option
                   v-for="item in postList"
                   :key="item.id"
@@ -123,6 +126,8 @@
                 :value="inputForm.manageOfficeIds"
                 :clearable="false"
                 :accordion="true"
+                :disabled="true"
+                :readonly="true"
                 :showCheckbox="true"
                 :checkStrictly="true"
                 :checkOnClickNode="true"
@@ -133,7 +138,7 @@
             <el-form-item label="职位" prop="jobPositionId"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.jobPositionId" style="width:100%" placeholder="请选择职位">
+              <el-select v-model="inputForm.jobPositionId" :disabled="true" :readonly="true" style="width:100%" placeholder="请选择职位">
                 <el-option
                   v-for="item in jobPositionList"
                   :key="item.id"
@@ -147,7 +152,7 @@
             <el-form-item label="职务" prop="positionId"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.positionId" style="width:100%" placeholder="请选择职务">
+              <el-select v-model="inputForm.positionId" :disabled="true" :readonly="true" style="width:100%" placeholder="请选择职务">
                 <el-option
                   v-for="item in positionList"
                   :key="item.id"
@@ -161,7 +166,7 @@
             <el-form-item label="职级" prop="rankId"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.rankId" style="width:100%" placeholder="请选择职级">
+              <el-select v-model="inputForm.rankId" :disabled="true" :readonly="true" style="width:100%" placeholder="请选择职级">
                 <el-option
                   v-for="item in rankList"
                   :key="item.id"
@@ -182,7 +187,7 @@
             <el-form-item label="证件类型" prop="certificatesType"
                           :rules="[{required: true, message: '证件类型不能为空', trigger: 'blur'}
                  ]">
-              <el-select v-model="inputForm.certificatesType" placeholder="请选择证件类型" style="width:100%;">
+              <el-select v-model="inputForm.certificatesType" :disabled="true" :readonly="true" placeholder="请选择证件类型" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('certificates_type')"
                   :key="item.value"
@@ -198,7 +203,7 @@
                     {validator: checkIdCardRule, trigger: 'change'},
                     {validator: checkIdCardRule, trigger: 'blur'}
                   ]">
-              <el-input v-model="inputForm.idCard" placeholder="请填写证件号"  clearable></el-input>
+              <el-input v-model="inputForm.idCard" :disabled="true" :readonly="true" placeholder="请填写证件号"  clearable></el-input>
             </el-form-item>
           </el-col>
 
@@ -209,8 +214,9 @@
               <el-popover
                 placement="left"
                 trigger="hover">
-                <el-button style="width: 100%" @click="onPreview(inputForm.certificatesFrontLsUrl)" :disabled="false" icon="el-icon-zoom-in"></el-button>
+                <el-button style="width: 100%" @click="onPreview(inputForm.certificatesFrontLsUrl)" :disabled="true" icon="el-icon-zoom-in"></el-button>
                 <el-upload
+                  :disabled="true"
                   slot="reference"
                   class="avatar-uploader"
                   :action="`${$http.BASE_URL}/roster/base/webUpload/upload`"
@@ -236,8 +242,9 @@
               <el-popover
                 placement="left"
                 trigger="hover">
-                <el-button style="width: 100%" @click="onPreview(inputForm.certificatesBackLsUrl)" :disabled="false" icon="el-icon-zoom-in"></el-button>
+                <el-button style="width: 100%" @click="onPreview(inputForm.certificatesBackLsUrl)" :disabled="true" icon="el-icon-zoom-in"></el-button>
                 <el-upload
+                  :disabled="true"
                   slot="reference"
                   class="avatar-uploader"
                   :action="`${$http.BASE_URL}/roster/base/webUpload/upload`"
@@ -257,14 +264,14 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="手机号码" prop="mobile">
-              <el-input v-model="inputForm.mobile" placeholder="请填写手机号码"     clearable></el-input>
+              <el-input v-model="inputForm.mobile" :disabled="true" placeholder="请填写手机号码"     clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="合同类型" prop="contractType"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.contractType" placeholder="请选择合同类型" style="width:100%;">
+              <el-select v-model="inputForm.contractType" :disabled="true" placeholder="请选择合同类型" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('roster_contract_type')"
                   :key="item.value"
@@ -278,7 +285,7 @@
             <el-form-item label="员工类型" prop="workerType"
                           :rules="[{required: true, message: '员工类型不能为空', trigger: 'blur'}
                  ]">
-              <el-select v-model="inputForm.workerType" placeholder="请选择员工类型" style="width:100%;">
+              <el-select v-model="inputForm.workerType" :disabled="true" placeholder="请选择员工类型" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('worker_type')"
                   :key="item.value"
@@ -291,6 +298,7 @@
           <el-col :span="12" >
             <el-form-item label="入职日期" prop="onboardingDate">
               <el-date-picker
+                :disabled="true"
                 placement="bottom-start"
                 style="width: 100%"
                 v-model="inputForm.onboardingDate"
@@ -301,21 +309,21 @@
           </el-col>
           <el-col :span="12" >
             <el-form-item label="历史工龄" prop="seniority">
-              <el-input v-model="inputForm.seniority" placeholder="请填写历史工龄"     clearable></el-input>
+              <el-input v-model="inputForm.seniority" :disabled="true" placeholder="请填写历史工龄"     clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="合同公司" prop="contractCompany"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.contractCompany" placeholder="请填写合同公司"     clearable></el-input>
+              <el-input v-model="inputForm.contractCompany" placeholder="请填写合同公司"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="性别" prop="sex"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.sex" placeholder="请选择性别" style="width:100%;">
+              <el-select v-model="inputForm.sex" placeholder="请选择性别" :disabled="true" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('sex')"
                   :key="item.value"
@@ -328,6 +336,7 @@
           <el-col :span="12" >
             <el-form-item label="出生日期" prop="birthDate">
               <el-date-picker
+                :disabled="true"
                 placement="bottom-start"
                 style="width: 100%"
                 v-model="inputForm.birthDate"
@@ -340,21 +349,21 @@
             <el-form-item label="工作地点" prop="workPlace"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.workPlace" placeholder="请填写工作地点"     clearable></el-input>
+              <el-input v-model="inputForm.workPlace" placeholder="请填写工作地点"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="联系地址" prop="contactAddress"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.contactAddress" placeholder="请填写联系地址"     clearable></el-input>
+              <el-input v-model="inputForm.contactAddress" placeholder="请填写联系地址"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="入职年度就业情形" prop="employmentSituation"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.employmentSituation" placeholder="请选择入职年度就业情形" style="width:100%;">
+              <el-select v-model="inputForm.employmentSituation" :disabled="true" placeholder="请选择入职年度就业情形" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('employment_situation')"
                   :key="item.value"
@@ -368,7 +377,7 @@
             <el-form-item label="工时制度" prop="workingHour"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.workingHour" placeholder="请选择入职年度就业情形" style="width:100%;">
+              <el-select v-model="inputForm.workingHour" :disabled="true" placeholder="请选择入职年度就业情形" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('working_hour_type')"
                   :key="item.value"
@@ -382,7 +391,7 @@
             <el-form-item label="民族" prop="ethnic"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.ethnic" filterable placeholder="请选择民族" style="width:100%;">
+              <el-select v-model="inputForm.ethnic" :disabled="true" filterable placeholder="请选择民族" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('ethnic')"
                   :key="item.value"
@@ -396,7 +405,7 @@
             <el-form-item label="户口类型" prop="accountType"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.accountType" placeholder="请选择户口类型" style="width:100%;">
+              <el-select v-model="inputForm.accountType" :disabled="true" placeholder="请选择户口类型" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('account_type')"
                   :key="item.value"
@@ -410,28 +419,28 @@
             <el-form-item label="户口所在地" prop="accountAddr"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.accountAddr" placeholder="请填写户口所在地"     clearable></el-input>
+              <el-input v-model="inputForm.accountAddr" placeholder="请填写户口所在地"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="籍贯" prop="origin"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.origin" placeholder="请填写籍贯"     clearable></el-input>
+              <el-input v-model="inputForm.origin" placeholder="请填写籍贯"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="居住地址" prop="liveAddr"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.liveAddr" placeholder="请填写居住地址"     clearable></el-input>
+              <el-input v-model="inputForm.liveAddr" placeholder="请填写居住地址"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="最高学历" prop="highestEducation"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.highestEducation" placeholder="请选择最高学历" style="width:100%;">
+              <el-select v-model="inputForm.highestEducation" placeholder="请选择最高学历" :disabled="true" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('highest_education')"
                   :key="item.value"
@@ -445,7 +454,7 @@
             <el-form-item label="政治面貌" prop="politicalFace"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.politicalFace" placeholder="请选择政治面貌" style="width:100%;">
+              <el-select v-model="inputForm.politicalFace" :disabled="true" placeholder="请选择政治面貌" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('political_face')"
                   :key="item.value"
@@ -459,7 +468,7 @@
             <el-form-item label="婚姻状况" prop="maritalStatus"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.maritalStatus" placeholder="请选择婚姻状况" style="width:100%;">
+              <el-select v-model="inputForm.maritalStatus" :disabled="true" placeholder="请选择婚姻状况" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('marital_status')"
                   :key="item.value"
@@ -473,7 +482,7 @@
             <el-form-item label="血型" prop="bloodType"
                           :rules="[
                  ]">
-              <el-select v-model="inputForm.bloodType" placeholder="请选择血型" style="width:100%;">
+              <el-select v-model="inputForm.bloodType" :disabled="true" placeholder="请选择血型" style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('blood_type')"
                   :key="item.value"
@@ -487,52 +496,52 @@
             <el-form-item label="紧急联系人姓名" prop="emergencyContactName"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.emergencyContactName" placeholder="请填写紧急联系人姓名"     clearable></el-input>
+              <el-input v-model="inputForm.emergencyContactName" placeholder="请填写紧急联系人姓名"   :disabled="true"  clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="紧急联系人电话" prop="emergencyContactTel"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.emergencyContactTel" placeholder="请填写紧急联系人电话"     clearable></el-input>
+              <el-input v-model="inputForm.emergencyContactTel" placeholder="请填写紧急联系人电话"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="配偶姓名" prop="spouseName"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.spouseName" placeholder="请填写配偶姓名"     clearable></el-input>
+              <el-input v-model="inputForm.spouseName" placeholder="请填写配偶姓名"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="孩子姓名" prop="childName"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.childName" placeholder="请填写孩子姓名"     clearable></el-input>
+              <el-input v-model="inputForm.childName" placeholder="请填写孩子姓名"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="QQ" prop="qq">
-              <el-input v-model="inputForm.qq" placeholder="请填写QQ"     clearable></el-input>
+              <el-input v-model="inputForm.qq" placeholder="请填写QQ"   :disabled="true"  clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="微信" prop="wechat"
                           :rules="[
                  ]">
-              <el-input v-model="inputForm.wechat" placeholder="请填写微信"     clearable></el-input>
+              <el-input v-model="inputForm.wechat" placeholder="请填写微信"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="个人邮箱" prop="email">
-              <el-input v-model="inputForm.email" placeholder="请填写个人邮箱"     clearable></el-input>
+              <el-input v-model="inputForm.email" placeholder="请填写个人邮箱"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="备注" prop="remarks"
                           :rules="[
                  ]">
-              <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.remarks" placeholder="请填写备注"     ></el-input>
+              <el-input type="textarea" style="width:100%" maxlength="1000" :disabled="true" v-model="inputForm.remarks" placeholder="请填写备注"     ></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -543,6 +552,7 @@
                           :rules="[
                ]">
               <el-date-picker
+                :disabled="true"
                 placement="bottom-start"
                 style="width: 100%"
                 v-model="inputForm.rosterContractDTO.beginDate"
@@ -556,6 +566,7 @@
                           :rules="[
                ]">
               <el-date-picker
+                :disabled="true"
                 placement="bottom-start"
                 style="width: 100%"
                 v-model="inputForm.rosterContractDTO.endDate"
@@ -566,14 +577,14 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="工作邮箱" prop="rosterContractDTO.workEmail">
-              <el-input v-model="inputForm.rosterContractDTO.workEmail" placeholder="请填写工作邮箱"     clearable></el-input>
+              <el-input v-model="inputForm.rosterContractDTO.workEmail" placeholder="请填写工作邮箱"  :disabled="true"   clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="工作电话" prop="rosterContractDTO.workMobile"
                           :rules="[
                ]">
-              <el-input v-model="inputForm.rosterContractDTO.workMobile" placeholder="请填写工作电话"     clearable></el-input>
+              <el-input v-model="inputForm.rosterContractDTO.workMobile" placeholder="请填写工作电话" :disabled="true"    clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -581,6 +592,7 @@
                           :rules="[
                ]">
               <el-date-picker
+                :disabled="true"
                 placement="bottom-start"
                 style="width: 100%"
                 v-model="inputForm.rosterContractDTO.probationPeriodEndDate"
@@ -591,7 +603,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="试用期(月)" prop="rosterContractDTO.probationPeriodMonth">
-              <el-input v-model="inputForm.rosterContractDTO.probationPeriodMonth" placeholder="请填写试用期(月)" clearable></el-input>
+              <el-input v-model="inputForm.rosterContractDTO.probationPeriodMonth" :disabled="true" placeholder="请填写试用期(月)" clearable></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -694,7 +706,7 @@
           <el-row :gutter="15">
             <el-col :span="24">
               <el-form-item label="" >
-                <el-button style="width: 100%" type="primary" @click="addRow('bank')" plain>新增银行卡</el-button>
+                <el-button style="width: 100%" type="primary" :disabled="true" @click="addRow('bank')" plain>新增银行卡</el-button>
               </el-form-item>
             </el-col>
           </el-row>
@@ -830,7 +842,7 @@
           <el-row :gutter="15">
             <el-col :span="24">
               <el-form-item label="" >
-                <el-button style="width: 100%" type="primary" @click="addRow('educate')" plain>新增教育经历</el-button>
+                <el-button style="width: 100%" :disabled="true" type="primary" @click="addRow('educate')" plain>新增教育经历</el-button>
               </el-form-item>
             </el-col>
           </el-row>
@@ -899,7 +911,7 @@
           <el-row :gutter="15">
             <el-col :span="24">
               <el-form-item label="" >
-                <el-button style="width: 100%" type="primary" @click="addRow('work')" plain>新增工作经历</el-button>
+                <el-button style="width: 100%" type="primary" :disabled="true" @click="addRow('work')" plain>新增工作经历</el-button>
               </el-form-item>
             </el-col>
           </el-row>
@@ -981,7 +993,7 @@
           <el-row :gutter="15">
             <el-col :span="24">
               <el-form-item label="" >
-                <el-button style="width: 100%" type="primary" @click="addRow('family')" plain>新增家庭成员</el-button>
+                <el-button style="width: 100%" type="primary" :disabled="true" @click="addRow('family')" plain>新增家庭成员</el-button>
               </el-form-item>
             </el-col>
           </el-row>
@@ -1111,7 +1123,7 @@
           <el-row :gutter="15">
             <el-col :span="24">
               <el-form-item label="" >
-                <el-button style="width: 100%" type="primary" @click="addRow('certificate')" plain>新增员工证书</el-button>
+                <el-button style="width: 100%" type="primary" :disabled="true" @click="addRow('certificate')" plain>新增员工证书</el-button>
               </el-form-item>
             </el-col>
           </el-row>
@@ -1250,7 +1262,7 @@
           <el-row :gutter="15">
             <el-col :span="24">
               <el-form-item label="" >
-                <el-button style="width: 100%" type="primary" @click="addRow('certDto')" plain>新增人员资质</el-button>
+                <el-button style="width: 100%" type="primary" :disabled="true" @click="addRow('certDto')" plain>新增人员资质</el-button>
               </el-form-item>
             </el-col>
           </el-row>
@@ -1743,7 +1755,7 @@
                   item.professionList = this.$dictUtils.getDictList('sys_cert_profession_accounting')
                 }
               })
-              this.$refs.uploadComponent.newUpload(method, this.inputForm.rosterFilesDTOList, 'roster', '', '附件')
+              this.$refs.uploadComponent.newUpload('view', this.inputForm.rosterFilesDTOList, 'roster', '', '附件')
               this.loading = false
             })
           }

+ 4 - 4
src/views/modules/roster/RosterList.vue

@@ -92,9 +92,9 @@
       <div class="bg-white top">
         <vxe-toolbar :refresh="{query: refreshList}" import export custom>
           <template #buttons>
-            <el-button v-if="hasPermission('roster:base:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
-            <el-button v-if="hasPermission('roster:base:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.rosterTable && $refs.rosterTable.getCheckboxRecords().length === 0" plain>删除</el-button>
-            <el-button v-if="hasPermission('roster:base:import')" size="small"  @click="template()" plain>模板下载</el-button>
+<!--            <el-button v-if="hasPermission('roster:base:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>-->
+<!--            <el-button v-if="hasPermission('roster:base:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.rosterTable && $refs.rosterTable.getCheckboxRecords().length === 0" plain>删除</el-button>-->
+<!--            <el-button v-if="hasPermission('roster:base:import')" size="small"  @click="template()" plain>模板下载</el-button>-->
             <el-button v-if="showButton" type="primary" size="small" icon="el-icon-arrow-down" @click="showTabs()" plain>展示分类</el-button>
             <el-button v-if="disableButton" type="primary" size="small" icon="el-icon-arrow-up" @click="disableTabs()" plain>收起分类</el-button>
           </template>
@@ -145,7 +145,7 @@
             <vxe-column min-width="150px"  title="证件号" field="idCard" align="center"> </vxe-column>
             <vxe-column min-width="150px"  title="人员类型" field="personType" align="center">
               <template slot-scope="scope">
-                <span> {{$dictUtils.getDictLabel("roster_person_type", scope.row.personType)}} </span>
+                <span> {{$dictUtils.getDictLabel("roster_person_type2", scope.row.personType)}} </span>
               </template>
             </vxe-column>
             <vxe-column min-width="150px"  title="员工类型" field="workerType" align="center">