From 003d931e17089fe493ff75e290b3d20ad21f46e3 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期四, 06 六月 2024 13:51:25 +0800
Subject: [PATCH] bug修改

---
 src/utils/request.js                                                      |   21 ++++--
 src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue |  108 ++++++++++++++++++++++++++---------
 src/store/modules/user.js                                                 |    7 +
 src/views/safetyReview/userManage/expertUsers/index.vue                   |   13 ++-
 src/assets/images/noPic.png                                               |    0 
 src/views/components/details.vue                                          |    1 
 6 files changed, 106 insertions(+), 44 deletions(-)

diff --git a/src/assets/images/noPic.png b/src/assets/images/noPic.png
new file mode 100644
index 0000000..c70a2cf
--- /dev/null
+++ b/src/assets/images/noPic.png
Binary files differ
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index beee1d5..ab76464 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -26,8 +26,11 @@
           login(username, password, code, uuid, identity).then( async res => {
             setToken(res.data.token)
             Cookies.set('userInfo',JSON.stringify(res.data))
-            await getUserById({userId:res.data.id}).then(res => {
-              Cookies.set('userState',JSON.stringify(res.data.state))
+            await getUserById({userId:res.data.id}).then(ress => {
+              Cookies.set('userState',JSON.stringify(ress.data.state))
+              if(res.data.identity === 1){
+                Cookies.set('attribute',JSON.stringify(ress.data.agency.attribute))
+              }
             })
             this.token = res.data.token
             resolve()
diff --git a/src/utils/request.js b/src/utils/request.js
index d2da40a..68d1bdd 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -104,16 +104,21 @@
       }
       return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
     } else if (code === 500) {
-      ElMessage({ message: msg, type: 'error' })
-      if(msg === 'Token已失效,请重新登录!' || msg === 'token非法无效!'){
-        ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
-          isRelogin.show = false;
-          removeToken()
-          location.href = '/homePage';
-        }).catch(() => {
-        });
+      if(msg === '文件不存在'){
+
+      }else {
+        ElMessage({ message: msg, type: 'error' })
+        if(msg === 'Token已失效,请重新登录!' || msg === 'token非法无效!'){
+          ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
+            isRelogin.show = false;
+            removeToken()
+            location.href = '/homePage';
+          }).catch(() => {
+          });
+        }
       }
 
+
       return Promise.reject(new Error(msg))
     } else if (code === 601) {
       ElMessage({ message: msg, type: 'warning' })
diff --git a/src/views/components/details.vue b/src/views/components/details.vue
index 6709865..2b765a4 100644
--- a/src/views/components/details.vue
+++ b/src/views/components/details.vue
@@ -136,6 +136,7 @@
       state.content = res.data
       if(state.content.updateTime){state.content.updateTime.substring(0.,16)}
       state.content.createTime = state.content.createTime.substring(0.,16)
+      state.content.pubDate = state.content.pubDate.substring(0,10)
     }else{
       ElMessage.warning(res.message)
     }
diff --git a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
index 7600bca..ca97e72 100644
--- a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
+++ b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
@@ -6,7 +6,7 @@
             width="900px"
             :before-close="handleClose"
         >
-            <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px" >
+            <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRulesOut" label-width="150px" >
                 <el-row :gutter="22">
                     <el-col :span="11">
                         <el-form-item label="姓名:" prop="name" v-if="state.title !== '修改密码'">
@@ -122,8 +122,9 @@
                   </el-form-item>
                 </el-col>
               </el-row>
-
-
+              <el-form-item>
+                <div style="margin-left: -50px"><span style="font-size: 16px;color: #ed5565;">提示:疆外企业无需上传社保、医保、工资清单,疆内企业需每季度进行更新。</span></div>
+              </el-form-item>
                 <el-form-item prop="socialAttach" label="社保:" v-if="state.title !== '修改密码'">
                     <el-upload
                         accept="image/*"
@@ -343,7 +344,7 @@
     medicalList: [],
     salaryList: [],
     photoList: [],
-    formRules:{
+    formRulesIn:{
         name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
         username: [{ required: true, validator: validateUsername, trigger: 'blur' }],
         password: [{ required: true, validator: validatePwd, trigger: 'blur' }],
@@ -359,6 +360,22 @@
         salaryAttach: [{required: true, trigger: "blur", message: "请上传工资清单"}],
         idPhoto: [{required: true, trigger: "blur", message: "请上传近期证件照"}],
     },
+  formRulesOut:{
+    name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
+    username: [{ required: true, validator: validateUsername, trigger: 'blur' }],
+    password: [{ required: true, validator: validatePwd, trigger: 'blur' }],
+    confirmPassword: [{ required: true, validator: equalToPassword, trigger: 'blur' }],
+    phone: [{ required: true, validator: validateUserPhone, trigger: 'blur' }],
+    post: [{ required: true, message: '请选择职务', trigger: 'change' }],
+    jobTitle:[{ required: true, message: '请输入职称', trigger: 'blur' }],
+    level: [{ required: true, message: '请选择评价师等级', trigger: 'change' }],
+    majorShow:[{ required: true, message: '请选择专业方向', trigger: 'change' }],
+    agencyId: [{ required: true, message: '请选择所属机构', trigger: 'change' }],
+    // socialAttach: [{required: true, trigger: "blur", message: "请上传社保图片"}],
+    // medicalAttach: [{required: true, trigger: "blur", message: "请上传医保图片"}],
+    // salaryAttach: [{required: true, trigger: "blur", message: "请上传工资清单"}],
+    idPhoto: [{required: true, trigger: "blur", message: "请上传近期证件照"}],
+  },
     areaList: [],
     agencyList: [],
     header: {
@@ -376,16 +393,19 @@
 
 })
 
+const attribute = ref(null);
 const getUserInfoAgency = () => {
   const userInfo = JSON.parse(Cookies.get('userInfo'))
-  if(userInfo.identity === 1){
+  if (userInfo.identity === 1) {
     state.agencyName = userInfo.agentName;
     state.form.agencyId = userInfo.agentId;
     isAgency.value = true;
-  }else {
+    attribute.value = JSON.parse(Cookies.get('attribute'))
+    console.log("attribute", attribute.value)
+
+  } else {
     getAgency()
   }
-  console.log("userinfo",userInfo)
 }
 
 
@@ -401,6 +421,7 @@
         const res = await getUserById(param);
         if(res.code == 200){
             state.form = res.data
+          // debugger
             state.socialList = res.data.socialAttach.map(url => {
                 return {
                     url:  import.meta.env.VITE_APP_BASE_API +'/'+url.path,
@@ -650,7 +671,8 @@
 }
 
 const handlePhotoRemove = async (file) => {
-  console.log("fileD",file)
+  // state.form.idPhoto = ''
+
   let path = ""
   if(file.response && file.response.data){
     path = file.response.data.path
@@ -658,19 +680,37 @@
     const base = import.meta.env.VITE_APP_BASE_API
     path = file.url.substring(base.length+1,file.url.length )
   }
-  const res = await delPic({path: path})
-  if(res.code == 200){
-    ElMessage({
-      type: 'success',
-      message: '文件已删除'
-    })
+  await delPic({path: path}).then(res => {
+    if(res.code == 200){
+      // ElMessage({
+      //   type: 'success',
+      //   message: '文件已删除'
+      // })
+      state.form.idPhoto = ''
+    }else{
+      ElMessage({
+        type: 'warning',
+        message: res.message
+      })
+    }
+  }).catch(() => {
     state.form.idPhoto = ''
-  }else{
-    ElMessage({
-      type: 'warning',
-      message: res.message
-    })
-  }
+  });
+
+
+  // const res = await delPic({path: path})
+  // if(res.code == 200){
+  //   ElMessage({
+  //     type: 'success',
+  //     message: '文件已删除'
+  //   })
+  //   state.form.idPhoto = ''
+  // }else{
+  //   ElMessage({
+  //     type: 'warning',
+  //     message: res.message
+  //   })
+  // }
 }
 
 
@@ -684,18 +724,28 @@
         path = file.response.data.path
     }
 
-    const res = await delPic({path: path})
+  await delPic({path: path}).then(res => {
     if(res.code == 200){
-        ElMessage({
-            type: 'success',
-            message: '文件已删除'
-        })
+      // ElMessage({
+      //   type: 'success',
+      //   message: '文件已删除'
+      // })
     }else{
-        ElMessage({
-            type: 'warning',
-            message: res.message
-        })
+      ElMessage({
+        type: 'warning',
+        message: res.message
+      })
     }
+    }).catch(() => {
+    if(type === 1){
+      state.form.socialAttach = state.form.socialAttach.filter(item => item.path !== path)
+    }else if(type === 2){
+      state.form.medicalAttach = state.form.medicalAttach.filter(item => item.path !== path)
+    }else {
+      state.form.salaryAttach = state.form.salaryAttach.filter(item => item.path !== path)
+    }
+    });
+
     if(type === 1){
         state.form.socialAttach = state.form.socialAttach.filter(item => item.path !== path)
     }else if(type === 2){
diff --git a/src/views/safetyReview/userManage/expertUsers/index.vue b/src/views/safetyReview/userManage/expertUsers/index.vue
index 9205b82..4279d1b 100644
--- a/src/views/safetyReview/userManage/expertUsers/index.vue
+++ b/src/views/safetyReview/userManage/expertUsers/index.vue
@@ -8,13 +8,15 @@
                 @click="openDialog('add',{})"
             >新增</el-button>
         </div>
-        <div style="margin-top: 15px;margin-bottom: 15px">
+        <div style="margin-top: 15px;margin-bottom: 15px;">
             <el-radio-group v-model="queryParams.expertType">
                 <el-radio-button label="">全部</el-radio-button>
                 <el-radio-button label="1">安全评价</el-radio-button>
                 <el-radio-button label="2">检验检测</el-radio-button>
             </el-radio-group>
+
         </div>
+        <div style="margin-bottom: 20px"><span style="font-size: 16px;color: #ed5565;">提示:疆外企业无需上传社保、医保、工资清单,疆内企业需每季度进行更新。</span></div>
         <div style="margin-bottom: 15px; display: flex;align-items: center">
           <el-input
               v-model="queryParams.name"
@@ -174,6 +176,7 @@
 import {getDictList} from "@/api/backManage/evaluate";
 import {ElMessage, ElMessageBox} from "element-plus";
 import projectDialog from "./components/projectDialog.vue";
+import noPic from '@/assets/images/noPic.png'
 import Cookies from "js-cookie";
 import {delMonitor, getExpertList, getMonitorList} from "@/api/sysUsers";
 const { proxy } = getCurrentInstance();
@@ -248,10 +251,10 @@
         data.dataList = res.data.list.map(item => {
             return{
                 ...item,
-                socialAttach: item.socialAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}),
-                medicalAttach: item.medicalAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}),
-                salaryAttach: item.salaryAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}),
-                idPhoto: item.idPhoto ? [import.meta.env.VITE_APP_BASE_API + '/' + item.idPhoto ] : [],
+                socialAttach: item.socialAttach.length >0 ?item.socialAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}): [noPic],
+                medicalAttach: item.medicalAttach.length > 0 ?item.medicalAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}):[noPic],
+                salaryAttach: item.salaryAttach.length > 0 ? item.salaryAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}):[noPic],
+                idPhoto: item.idPhoto ? [import.meta.env.VITE_APP_BASE_API + '/' + item.idPhoto ] : [noPic],
                 lastEstimateTime: item.personProjectVO ? item.personProjectVO.lastEstimateTime.slice(0,10) : '',
                 projectCount: item.personProjectVO ? item.personProjectVO.projectCount : ''
             }

--
Gitblit v1.9.2