From e220a11760bb56f12da82a18e0b441dfdc588fac Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: Thu, 07 Dec 2023 15:30:25 +0800
Subject: [PATCH] bug修改
---
src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue | 109 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 80 insertions(+), 29 deletions(-)
diff --git a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
index 3c833b2..1c002f1 100644
--- a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
+++ b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
@@ -24,7 +24,7 @@
<el-row :gutter="22">
<el-col :span="11">
<el-form-item label="用户名:" prop="username" v-if="state.title !== '修改密码'">
- <el-input v-model.trim="state.form.username" ></el-input>
+ <el-input v-model.trim="state.form.username" :disabled="state.title === '编辑'"></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
@@ -149,7 +149,7 @@
<template #footer >
<span class="dialog-footer">
<el-button @click="handleClose" size="default">取 消</el-button>
- <el-button type="primary" @click="onSubmit" size="default">确认</el-button>
+ <el-button type="primary" @click="onSubmit" size="default" v-preReClick>确认</el-button>
</span>
</template>
<el-dialog v-model="state.dialogImg">
@@ -159,13 +159,13 @@
</div>
</template>
<script setup>
-import {reactive, ref, toRefs, defineEmits, onMounted} from 'vue'
+import {reactive, ref, toRefs, defineEmits, onMounted, nextTick} from 'vue'
import { View } from "@element-plus/icons-vue";
import {ElMessage} from "element-plus";
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();
+ reset()
+ dialogVisible.value = false;
+ }else{
+ ElMessage.warning(res.message)
+ }
}else{
const {id,password} = state.form
const data = {id,password}
@@ -358,7 +382,7 @@
ElMessage.success(res.message)
emit('getList')
superRef.value.clearValidate();
- superRef.value.resetFields();
+ reset()
dialogVisible.value = false;
}else{
ElMessage.warning(res.message)
@@ -369,12 +393,32 @@
const handleClose = () => {
superRef.value.clearValidate();
- superRef.value.resetFields()
+ reset()
dialogVisible.value = false;
+
+
+}
+const reset = () => {
+ state.form = {
+ id: null,
+ name: '',
+ username: '',
+ sex: 0,
+ phone: '',
+ agencyId: '',
+ socialAttach: [],
+ medicalAttach: [],
+ salaryAttach: [],
+ post: '',
+ jobTitle: '',
+ major: '',
+ expertType: 1,
+ password: '',
+ confirmPassword: '',
+ }
state.salaryList = [];
state.medicalList = [];
state.socialList = [];
-
}
const picSize = async (rawFile) => {
if(rawFile.size / 1024 / 1024 > 5){
@@ -428,7 +472,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 +493,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 +508,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