From a6a8e49af8c8172f4209dd94e65f53f17825cc44 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期四, 21 十一月 2024 17:30:12 +0800 Subject: [PATCH] 项目管理 --- src/views/safetyReview/expertManage/fillForm/index.vue | 126 ++++++++++++++++++++++------------------- 1 files changed, 67 insertions(+), 59 deletions(-) diff --git a/src/views/safetyReview/expertManage/fillForm/index.vue b/src/views/safetyReview/expertManage/fillForm/index.vue index 2e08534..996a55d 100644 --- a/src/views/safetyReview/expertManage/fillForm/index.vue +++ b/src/views/safetyReview/expertManage/fillForm/index.vue @@ -5,28 +5,29 @@ <el-form :model="state.form" :rules="state.rules" ref="ruleFormRef" label-width="200px"> <el-row> <el-col :span="20"> - <el-form-item label="专业类别" prop="profession"> + <el-form-item label="专业类别" prop="domain"> <el-cascader style="width: 100%" - v-model="state.form.profession" + clearable + v-model="state.form.domain" :options="state.expertsType" - :props="{ expandTrigger: 'hover',value: 'id',label: 'classifyName' }" + :props="{ expandTrigger: 'hover',value: 'classifyName',label: 'classifyName',emitPath: false }" @change="professionChange"></el-cascader> </el-form-item> </el-col> </el-row> - <!-- <el-row>--> - <!-- <el-col :span="20">--> - <!-- <el-form-item label="填报日期" prop="date">--> - <!-- <el-date-picker--> - <!-- style="width: 100%"--> - <!-- v-model="form.date"--> - <!-- type="date"--> - <!-- placeholder="选择日期">--> - <!-- </el-date-picker>--> - <!-- </el-form-item>--> - <!-- </el-col>--> - <!-- </el-row>--> + <el-row> + <el-col :span="20"> + <el-form-item label="业务处室:" prop="deptId"> + <el-cascader + style="width: 100%" + clearable + v-model="state.form.deptId" + :options="state.deptList" + :props="{ expandTrigger: 'hover', value: 'deptId',label: 'deptName',emitPath: false}"></el-cascader> + </el-form-item> + </el-col> + </el-row> <el-row> <el-col :span="20"> <el-form-item label="姓名" prop="name"> @@ -50,7 +51,7 @@ <el-date-picker style="width: 100%" v-model="state.form.birthday" - value-format="YYYY-MM-DD 00:00:00" + value-format="YYYY-MM-DD" type="date" placeholder="选择日期"> </el-date-picker> @@ -318,7 +319,9 @@ import {delPic} from "@/api/login" import { getToken } from "@/utils/auth" import {Base64} from "js-base64" +import {listDept, listOutDept} from "@/api/system/dept"; +const { proxy } = getCurrentInstance(); const imgDialog = ref(false) const ruleFormRef = ref() var validatePass = (rule, value, callback) => { @@ -355,9 +358,8 @@ form:{ name:'', sex:'', - profession: [], - bigClassify:null, - smallClassify: null, + domain: '', + deptId: null, birthday: '', phone:'', title: '', @@ -388,6 +390,7 @@ source: 1 }, expertsType: [], + deptList: [], directionList: [ { value: 1, @@ -410,7 +413,7 @@ label: '其他' } ], - uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile', + uploadUrl: import.meta.env.VITE_APP_BASE_API + '/common/upload', header: { Authorization: 'Bearer ' + getToken() }, @@ -425,7 +428,8 @@ rules:{ name:[{ required: true, message: '请填写姓名', trigger: 'blur' }], sex:[{ required: true, message: '请选择性别', trigger: 'blur' }], - profession: [{ required: true, message: '请选择专业类别', trigger: 'blur' }], + domain: [{ required: true, message: '请选择专业类别', trigger: 'blur' }], + deptId: [{ required: true, message: '请选择业务处室', trigger: 'blur' }], birthday: [{ required: true, message: '请选择出生日期', trigger: 'blur' }], phone:[{ required: true, validator: validatePhone, trigger: 'blur' }], title: [{ required: true, message: '请填写职称', trigger: 'blur' }], @@ -439,6 +443,7 @@ onMounted(()=>{ getExpertsType() + getDepList() }) const getExpertsType = async ()=>{ @@ -451,6 +456,12 @@ message: res.message }); } + } + + function getDepList() { + listOutDept({}).then(response => { + state.deptList = proxy.handleTree(response.data, "deptId",'parentId','children'); + }); } const professionChange=(value)=> { @@ -485,9 +496,9 @@ const handleAvatarSuccess = (res, uploadFile,type) => { if(res.code == 200){ if(type == '证件照'){ - state.form.electronicPhoto = res.data.path + state.form.electronicPhoto = res.url }else{ - uploadFile.name = res.data.path + uploadFile.name = res.url } }else{ ElMessage({ @@ -498,34 +509,36 @@ } const handleRemove = (file, uploadFiles,type) => { - ElMessageBox.confirm( - '该操作将永久删除此文件内容,是否继续?', - '提示', - { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning', - }) - .then(async() => { - let path = '' - if(type == '证件照'){ - path = state.form.electronicPhoto - }else{ - path = file.name - } - const res = await delPic({path: path}) - if(res.code == 200){ - ElMessage({ - type: 'success', - message: '文件已删除' - }) - }else{ - ElMessage({ - type: 'warning', - message: res.message - }) - } - }) + if(file && file.status == 'success') { + ElMessageBox.confirm( + '该操作将永久删除此文件内容,是否继续?', + '提示', + { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then(async () => { + let path = '' + if (type == '证件照') { + path = state.form.electronicPhoto + } else { + path = file.name + } + const res = await delPic({path: path}) + if (res.code == 200) { + ElMessage({ + type: 'success', + message: '文件已删除' + }) + } else { + ElMessage({ + type: 'warning', + message: res.message + }) + } + }) + } } const onSubmit = async (formEl)=> { @@ -540,25 +553,20 @@ data.supportDirectionSafety = data.supportDirectionSafety.join(',') data.supportDirectionPrevention = data.supportDirectionPrevention.join(',') data.supportDirectionEmergency = data.supportDirectionEmergency.join(',') - data.bigClassify = data.profession[0] - data.smallClassify = data.profession[1] data.resumeKey = state.resumeList.map(i=>i.name).join(',') data.paperSituationKey = state.inventionList.map(i=>i.name).join(',') data.rewardKey = state.rewardList.map(i=>i.name).join(',') data.achievementKey = state.achievementList.map(i=>i.name).join(',') data.personalOpinionKey = state.proAdviceList.map(i=>i.name).join(',') data.recommendUnitOpinionKey = state.adviceList.map(i=>i.name).join(',') - delete data.profession delete data.id const res= await addExpertInfo(data) if(res.code == 200){ - ElMessage.success(res.message) + ElMessage.success(res.msg) state.form = { name:'', sex:'', - profession: [], - bigClassify:null, - smallClassify: null, + domain: '', birthday: '', phone:'', title: '', @@ -596,7 +604,7 @@ state.proAdviceList = [] state.adviceList = [] }else{ - ElMessage.warning(res.message) + ElMessage.warning(res.msg) } } else { ElMessage.warning('请完善必填信息') -- Gitblit v1.9.2