From 3f6bf89b1985b6668f02ffcc9af577b412e92e45 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期一, 24 三月 2025 17:17:45 +0800 Subject: [PATCH] bug修改 --- src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue | 195 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 132 insertions(+), 63 deletions(-) diff --git a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue index 972aeaf..45aebc7 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 !== '修改密码'"> @@ -40,12 +40,12 @@ <el-col :span="11"> <el-form-item label="所属机构:" prop="agencyId" v-if="state.title !== '修改密码'"> <el-input v-if="isAgency" v-model="state.agencyName" disabled></el-input> - <el-select v-model="state.form.agencyId" v-else style="width: 100%" v-loadMore="loadMore" class="m-2" placeholder="请选择机构" popper-class="more_select_dropdown" > + <el-select v-model="state.form.agencyName" @change="selectValue" v-else style="width: 100%" v-loadMore="loadMore" class="m-2" placeholder="请选择机构" popper-class="more_select_dropdown" > <el-option v-for="item in state.agencyList" :key="item.id" :label="item.name" - :value="item.id" + :value="item.name" /> </el-select> </el-form-item> @@ -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/*" @@ -254,12 +255,14 @@ let param = {} if(state.title=='新增') { param = { - phone:value + phone:value, + identity: 2 } }else if(state.title=='编辑'){ param = { phone:value, - id: state.form.id + id: state.form.id, + identity: 2 } } checkPhone(param).then((res)=>{ @@ -341,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' }], @@ -357,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: { @@ -374,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 { - getAgency() + attribute.value = JSON.parse(Cookies.get('attribute')) + console.log("attribute", attribute.value) + + } else { + getAgency('open') } - console.log("userinfo",userInfo) } @@ -399,6 +421,7 @@ const res = await getUserById(param); if(res.code == 200){ state.form = res.data + state.form.agencyName = res.data.agency.name state.socialList = res.data.socialAttach.map(url => { return { url: import.meta.env.VITE_APP_BASE_API +'/'+url.path, @@ -434,7 +457,7 @@ }) } state.form.majorShow = arr; - console.log(state.form.majorShow,'certificateList') + console.log(state.form,'certificateList') } }else{ @@ -648,82 +671,120 @@ } const handlePhotoRemove = async (file) => { - console.log("fileD",file) + if (file && file.status == 'success') { + // state.form.idPhoto = '' + let path = "" - if(file.response && file.response.data){ + if (file.response && file.response.data) { path = file.response.data.path - }else { + } else { const base = import.meta.env.VITE_APP_BASE_API - path = file.url.substring(base.length+1,file.url.length ) + 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 + // }) + // } } const handleRemove = async (file, uploadFiles,type) => { + if(file && file.status == 'success') { + let path = "" - if(state.title === '编辑') { - const base = import.meta.env.VITE_APP_BASE_API - path = file.url.substring(base.length+1,file.url.length ) - }else { - path = file.response.data.path + if (state.title === '编辑') { + const base = import.meta.env.VITE_APP_BASE_API + path = file.url.substring(base.length + 1, file.url.length) + } else { + path = file.response.data.path } - const res = await delPic({path: path}) - if(res.code == 200){ + await delPic({path: path}).then(res => { + if (res.code == 200) { + // ElMessage({ + // type: 'success', + // message: '文件已删除' + // }) + } else { ElMessage({ - type: 'success', - message: '文件已删除' + type: 'warning', + message: res.message }) - }else{ - ElMessage({ - type: 'warning', - message: res.message - }) - } - if(type === 1){ + } + }).catch(() => { + if (type === 1) { state.form.socialAttach = state.form.socialAttach.filter(item => item.path !== path) - }else if(type === 2){ + } else if (type === 2) { state.form.medicalAttach = state.form.medicalAttach.filter(item => item.path !== path) - }else { + } 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) { + state.form.medicalAttach = state.form.medicalAttach.filter(item => item.path !== path) + } else { + state.form.salaryAttach = state.form.salaryAttach.filter(item => item.path !== path) } + } } const finshed = ref(false) -const getAgency = async () => { +const getAgency = async (type) => { + if (type === 'open' && state.pageNum !== 1) { + + } else { const queryParams = { - pageNum: state.pageNum, - pageSize: state.pageSize, + pageNum: state.pageNum, + pageSize: state.pageSize, } const res = await getInsitutionList(queryParams) - if(res.code == 200){ - if(res.data.pageNum === state.pageNum){ - finshed.value = false; - if(state.pageNum == 1){ - state.agencyList = res.data.list - }else { - state.agencyList =state.agencyList .concat(res.data.list) - } - }else { - finshed.value = true; + if (res.code == 200) { + if (res.data.pageNum === state.pageNum) { + finshed.value = false; + if (state.pageNum == 1) { + state.agencyList = res.data.list + } else { + state.agencyList = state.agencyList.concat(res.data.list) } + } else { + finshed.value = true; + } - }else{ - ElMessage.warning(res.message) + } else { + ElMessage.warning(res.message) } + } } @@ -734,7 +795,7 @@ setTimeout(() => { if (finshed.value) return //值为true,则代表没有数据了 state.pageNum += 1 - getAgency() + getAgency('') }, 500) } @@ -743,6 +804,14 @@ // state.form.selectMajorList= val; console.log('选中的xxxx',val) } +const selectValue = (val) => { + state.agencyList.forEach(item => { + if(item.name === val){ + state.form.agencyId = item.id + } + }) + +} defineExpose({ openDialog -- Gitblit v1.9.2