From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 04 三月 2025 08:39:55 +0800 Subject: [PATCH] 修改作业等级名称 --- src/views/contingencyManagement/panManagement/component/openAdd.vue | 247 ++++++++++++++++++++++++++++--------------------- 1 files changed, 140 insertions(+), 107 deletions(-) diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue index a5d978a..58c5501 100644 --- a/src/views/contingencyManagement/panManagement/component/openAdd.vue +++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue @@ -1,6 +1,14 @@ <template> <div class="system-edit-user-container"> - <el-dialog :title="titles" v-model="isShowDialog" width="40%" draggable :fullscreen="full" :close-on-click-modal="false"> + <el-dialog + :title="titles" + v-model="isShowDialog" + width="50%" + draggable + :fullscreen="full" + :close-on-click-modal="false" + @close="resetForm(ruleFormRef)" + > <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> <el-form ref="ruleFormRef" :model="ruleForm" size="default" label-width="120px" :disabled="disabled"> <el-row :gutter="35"> @@ -12,14 +20,17 @@ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="适用部门" prop="responsibleDepartment"> <el-tree-select - v-model="ruleForm.treeSelect" - :data="data" - multiple - :render-after-expand="true" - :props="propse" - show-checkbox + v-model="responsibleDepartment" + :data="newTreeList" + class="w100" clearable + :props="propse" + multiple + :render-after-expand="false" check-strictly + check-on-click-node + placeholder="请选择" + @change="changeDepartment" /> <el-divider /> </el-form-item> @@ -27,10 +38,10 @@ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="预案类型" prop="type"> <el-select v-model="ruleForm.type" class="w100" placeholder="请选择"> - <el-option label="综合应急预案" value="综合应急预案"></el-option> - <el-option label="现场处置方案" value="现场处置方案"></el-option> - <el-option label="专项应急预案" value="专项应急预案"></el-option> - <el-option label="其他预案" value="其他预案"></el-option> + <el-option label="综合应急预案" :value="1"></el-option> + <el-option label="现场处置方案" :value="2"></el-option> + <el-option label="专项应急预案" :value="3"></el-option> + <el-option label="其他预案" value="4"></el-option> </el-select> </el-form-item> </el-col> @@ -45,9 +56,9 @@ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="预案级别" prop="level"> <el-select v-model="ruleForm.level" class="w100" placeholder="请选择"> - <el-option label="公司级" value="公司级"></el-option> - <el-option label="分厂级" value="分厂级"></el-option> - <el-option label="车间级" value="车间级"></el-option> + <el-option label="公司级" :value="1"></el-option> + <el-option label="分厂级" :value="2"></el-option> + <el-option label="车间级" :value="3"></el-option> </el-select> </el-form-item> </el-col> @@ -64,8 +75,7 @@ <el-form-item label="编写部门" prop="authorDeptId"> <el-tree-select v-model="ruleForm.authorDeptId" - check-strictly - :data="data" + :data="newTreeList" class="w100" :props="propse" clearable @@ -87,7 +97,7 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="应急队伍" prop="emergencyTeam"> - <el-input v-model="ruleForm.emergencyTeam" placeholder="请选择" class="input-with-select"> + <el-input v-model="ruleForm.teamName" placeholder="请选择" class="input-with-select"> <template #append> <el-button :icon="Search" @click="daiInpt(0)" /> </template> @@ -96,17 +106,8 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="相关附件"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - :on-change="handleChange" - > - <el-button type="primary">点击上传</el-button> - <template #tip> - <div class="el-upload__tip">添加相关附件</div> - </template> - </el-upload> + <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-form-item> </el-col> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> @@ -131,7 +132,7 @@ </span> </template> </el-dialog> - <CheckTemplate ref="Shows" @SearchUser="SearchUser" /> + <CheckTemplate ref="Shows" @SearchUser="SearchUser" /> <DailogSearchUserManger ref="userRef" @SearchUser="onUser" /> <RegionsDialog ref="openRef" /> </div> @@ -148,13 +149,14 @@ import RegionsDialog from '/@/components/regionsDialog/index.vue'; import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan'; import { goalManagementApi } from '/@/api/goalManagement'; - +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ name: 'openAdd', components: { CheckTemplate, DailogSearchUserManger, RegionsDialog, + uploaderFile }, setup(prop, { emit }) { const isShowDialog = ref(false); @@ -168,18 +170,11 @@ authorName: '', authorDeptId: '', // 编写部门 releaseDate: '', // 发布实施日期 - fileList: [ - { - fileUrl: 'url', - fileName: 'name', - }, - ], - emergencyTeam: '', //应急队伍 + fileList: [], areaList: [], //区域列表 - teamList: [ - ], + teamList: [], + // teamId: '', //应急队伍 deptList: [], - abolishStatus: false, }); const titles = ref(); const disabled = ref(); @@ -195,51 +190,108 @@ .then((res) => { if (res.data.code == 200) { ruleForm.value = res.data.data; + ruleForm.value.teamName = '' + responsibleDepartment.value = [] + if(res.data.data.teamList){ + for(var a = 0;a<res.data.data.teamList.length;a++){ + ruleForm.value.teamName+=res.data.data.teamList[a].teamName+';' + } + } + if(res.data.data.deptList){ + for(var a = 0;a<res.data.data.deptList.length;a++){ + responsibleDepartment.value.push(res.data.data.deptList[a].departmentId) + } + } + fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + initFileListData() } }); } }; + const initFileListData = async () => { + for(var a = 0;a<fileList.value.length;a++){ + fileList.value[a].name = fileList.value[a].fileName + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + fileName:fileList.value[a].fileName, + fileUrl:'' + } + ) + } + ruleForm.value.fileList = formFileList + } //日期选择器 const releaseDate = ref(''); // 上传附件 - const fileList = ref<UploadUserFile[]>([]); - //部门树 - const department = () => { - goalManagementApi() + const fileList = ref([]); + //el-tree-select回显 + const propse = { + label: 'depName', + children: 'children', + }; + const newTreeList = []; + //得到部门树 + const department = async () => { + await goalManagementApi() .getTreedepartment() .then((res) => { if (res.data.code == 200) { - ruleForm.value = res.data.data; - let arr = []; - for (let i = 0; i < ruleForm.value.teamList.length; i++) { - arr.push(ruleForm.value.teamList[i].userName); - } - ruleForm.value.userName = arr.toString(); + data.value = res.data.data; + getTreeList(res.data.data, newTreeList); } else { ElMessage.error(res.data.msg); } }); }; - const treeSelect = ref(); - // const trees = ref(); - const propse = { - label: 'depName', - children: 'children', - value: 'depId', + // 递归树状数据且修改字段名 + const getTreeList = (treeList, newTreeList) => { + treeList.map((c) => { + let tempData = { + depName: c.depName, + value: c.depId, + children: [], + }; + if (c.children && c.children.length > 0) { + tempData.children = []; + getTreeList(c.children, tempData.children); + } + newTreeList.push(tempData); + }); }; onMounted(() => { department(); }); + const changeDepartment = (e) => { + var temList = []; + for (var a = 0; a < e.length; a++) { + temList.push({ + departmentId: e[a], + }); + } + ruleForm.value.deptList = temList; + console.log(ruleForm); + }; //定义树形下拉框 - const responsibleDepartment = ref(); + const responsibleDepartment = ref([]); const data = ref(); const submitForm = async (title: string, formEl: FormInstance | undefined) => { + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } if (title == '新建应急预案管理') { if (!formEl) return; await formEl.validate((valid, fields) => { if (valid) { isShowDialog.value = false; + delete ruleForm.value.teamName emergencyPlanApi() .addEmergencyPlan(ruleForm.value) .then((res) => { @@ -268,10 +320,13 @@ if (!formEl) return; await formEl.validate((valid, fields) => { if (valid) { - isShowDialog.value = false; - emergencyPlanApi() - .editEmergencyTeam(ruleForm.value) + delete ruleForm.value.teamName + ruleForm.value.teamList = JSON.parse(JSON.stringify(ruleForm.value.teamList)) + ruleForm.value.fileList = JSON.parse(JSON.stringify(ruleForm.value.fileList)) + ruleForm.value.deptList = JSON.parse(JSON.stringify(ruleForm.value.deptList)) + emergencyPlanApi().editEmergencyTeam(ruleForm.value) .then((res) => { + console.log(res,'res') if (res.data.code == 200) { ElMessage({ showClose: true, @@ -288,7 +343,8 @@ emit('myAdd', true); } formEl.resetFields(); - }); + }) + isShowDialog.value = false; } else { console.log('error submit!', fields); } @@ -303,64 +359,37 @@ authorName: '', authorDeptId: '', // 编写部门 releaseDate: '', // 发布实施日期 - fileList: [ - { - fileUrl: 'url', - fileName: 'name', - }, - ], - emergencyTeam: '', //应急队伍 + fileList: [], + // teamId: '', //应急队伍ID areaList: [], //区域列表 - teamList: [ - ], + teamList: [], deptList: [], - abolishStatus: false, }; } }; const resetForm = (formEl: FormInstance | undefined) => { isShowDialog.value = false; if (!formEl) return; - ruleForm.value = { - name: '', // 预案名称 - type: '', //预案类型 - associatedDanger: '', // 危险源关联 - level: '', // 预案级别 - authorUid: '', // 编写人 - authorName: '', - authorDeptId: '', // 编写部门 - releaseDate: '', // 发布实施日期 - fileList: [ - { - fileUrl: 'url', - fileName: 'name', - }, - ], - emergencyTeam: '', //应急队伍 - areaList: [], //区域列表 - teamList: [ - ], - deptList: [], - abolishStatus: false, - }; formEl.resetFields(); + ruleForm.value = {}; + fileList.value = [] }; // 应急队伍弹窗 const Shows = ref(); const daiInpt = (data: any) => { - Shows.value.openDailog(data); + Shows.value.openDailog(data); }; - const SearchUser = (e: any) => { - let arr = []; - for (let i = 0; i < val.length; i++) { - arr.push(val[i].realName); - ruleForm.value.userList.push({ - userUid: val[i].uid, - userName: val[i].realName, - }); - } - ruleForm.value.userName = arr.toString(); - }; + const SearchUser = (val: any) => { + let arr = []; + ruleForm.value.teamList = []; + for (let i = 0; i < val.length; i++) { + arr.push(val[i].teamName); + ruleForm.value.teamList.push({ + teamId: val[i].id, + }); + } + ruleForm.value.teamName = arr.toString(); + }; // 选择区域弹窗 const openRef = ref(); const regionsDialog = () => { @@ -392,13 +421,13 @@ data, Search, releaseDate, - treeSelect, + // treeSelect, // trees, propse, department, daiInpt, Shows, - SearchUser, + SearchUser, submitForm, openUser, userRef, @@ -415,6 +444,10 @@ ruleForm, resetForm, onUser, + newTreeList, + changeDepartment, + successUploader, + initFileListData }; }, }); -- Gitblit v1.9.2