From c1b2db87bab550a24c5a7fd5899342d56e7f414a Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期三, 06 十二月 2023 15:54:46 +0800 Subject: [PATCH] 专家用户、地区维护 --- src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue | 77 +++++++++++++++++++++++++++----------- 1 files changed, 54 insertions(+), 23 deletions(-) diff --git a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue index 3c833b2..adcc458 100644 --- a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue +++ b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue @@ -165,7 +165,7 @@ import {verifyPhone, verifyPwd, verifyUsername} from "../../../../../utils/validate"; import {checkUserName, checkPhone, delPic} from "@/api/login" import { getRegionTree } from "@/api/area" -import {addExpert, addMonitor, editMonitor, getMonitorList} from "@/api/sysUsers" +import {addExpert, addMonitor, editExpert, editMonitor, getMonitorList, getUserById} from "@/api/sysUsers" import {Base64} from "js-base64" import {resetUserPwd} from "../../../../../api/sysUsers"; import {getToken} from "@/utils/auth"; @@ -283,15 +283,38 @@ getAgency() }) -const openDialog = (type, value) => { +const openDialog = async (type, value) => { getArea() state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : type ==='pwd' ? '修改密码' : '查看' ; if(type === 'edit') { - for(let i in state.form){ - if(validKey(i,value)){ - state.form[i] = value[i] - } + const param = { + userId: value.id } + const res = await getUserById(param); + if(res.code == 200){ + state.form = res.data + state.socialList = res.data.socialAttach.map(url => { + return { + url: import.meta.env.VITE_APP_BASE_API +'/'+url.path, + name: url.name + } + }); + state.medicalList = res.data.medicalAttach.map(url => { + return { + url: import.meta.env.VITE_APP_BASE_API +'/'+url.path, + name: url.name + } + }); + state.salaryList = res.data.salaryAttach.map(url => { + return { + url: import.meta.env.VITE_APP_BASE_API +'/'+url.path, + name: url.name + } + }); + }else{ + ElMessage.warning(res.message) + } + } if(type == 'pwd'){ state.form.id = value.id @@ -337,18 +360,19 @@ ElMessage.warning(res.message) } }else if(state.title == '编辑'){ - // const {confirmPassword,...data} = state.form - // data.password = Base64.encode(data.password) - // const res = await editMonitor(data) - // if(res.code == 200){ - // ElMessage.success(res.message) - // emit('getList') - // superRef.value.clearValidate(); - // superRef.value.resetFields(); - // dialogVisible.value = false; - // }else{ - // ElMessage.warning(res.message) - // } + const {confirmPassword,socialList,salaryList,medicalList,...data} = state.form + data.password = Base64.encode(data.password) + console.log('editdata',data) + const res = await editExpert(data) + if(res.code == 200){ + ElMessage.success(res.message) + emit('getList') + superRef.value.clearValidate(); + superRef.value.resetFields(); + dialogVisible.value = false; + }else{ + ElMessage.warning(res.message) + } }else{ const {id,password} = state.form const data = {id,password} @@ -428,7 +452,14 @@ const handleRemove = async (file, uploadFiles,type) => { - const path = file.response.data.path + 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 + } + const res = await delPic({path: path}) if(res.code == 200){ ElMessage({ @@ -442,11 +473,11 @@ }) } if(type === 1){ - state.form.socialAttach = state.form.socialAttach.filter(item => item.path !== file.response.data.path) + 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 !== file.response.data.path) + state.form.medicalAttach = state.form.medicalAttach.filter(item => item.path !== path) }else { - state.form.salaryAttach = state.form.salaryAttach.filter(item => item.path !== file.response.data.path) + state.form.salaryAttach = state.form.salaryAttach.filter(item => item.path !== path) } } const finshed = ref(false) @@ -457,7 +488,7 @@ } const res = await getInsitutionList(queryParams) if(res.code == 200){ - if(res.data.pageNum !== state.pageNum){ + if(res.data.pageNum === state.pageNum){ finshed.value = false; if(state.pageNum == 1){ state.agencyList = res.data.list -- Gitblit v1.9.2