From d8215ff56e7bf39b43c52d7f27de5e7e427e67cf Mon Sep 17 00:00:00 2001
From: zhaojiale <631455805@qq.com>
Date: 星期三, 10 八月 2022 10:55:23 +0800
Subject: [PATCH] 事故管理修改

---
 src/views/contingencyManagement/panManagement/component/openAdd.vue |  176 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 95 insertions(+), 81 deletions(-)

diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue
index 0bda4be..d6ba777 100644
--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue
+++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue
@@ -1,6 +1,6 @@
 <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 +12,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="ruleForm.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 +30,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 +48,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 +67,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 +89,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>
@@ -127,7 +129,8 @@
 			<template #footer>
 				<span class="dialog-footer">
 					<el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
-					<el-button size="default" type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button>
+					<el-button size="default" type="primary" v-if="disabled == true ? false : true"
+							   @click="submitForm(titles, ruleFormRef)">确定</el-button>
 				</span>
 			</template>
 		</el-dialog>
@@ -146,7 +149,7 @@
 import DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';
 import CheckTemplate from '/@/components/checkTemplate/index.vue';
 import RegionsDialog from '/@/components/regionsDialog/index.vue';
-import { emergencyPlanApi } from '/@/api/emergencyPlan';
+import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';
 import { goalManagementApi } from '/@/api/goalManagement';
 
 export default defineComponent({
@@ -169,15 +172,14 @@
 			authorDeptId: '', // 编写部门
 			releaseDate: '', // 发布实施日期
 			fileList: [
-				{
-					fileUrl: 'url',
-					fileName: 'name',
-				},
+				// {
+				// 	fileUrl: 'url',
+				// 	fileName: 'name',
+				// },
 			],
-			emergencyTeam: '', //应急队伍
 			areaList: [], //区域列表
-			teamList: [
-            ],
+			teamList: [],
+      teamId: '', //应急队伍
 			deptList: [],
 			abolishStatus: false,
 		});
@@ -194,7 +196,17 @@
 					.seeEmergencyTeam(id)
 					.then((res) => {
 						if (res.data.code == 200) {
-							ruleForm.value = res.data.data;
+						  ruleForm.value = res.data.data;
+						  let arr = [];
+						  ruleForm.value.responsibleDepartment = []
+						  for (let i = 0; i < ruleForm.value.teamList.length; i++) {
+							arr.push(ruleForm.value.teamList[i].teamName);
+						  }
+							for (let i = 0; i < ruleForm.value.deptList.length; i++) {
+								ruleForm.value.responsibleDepartment.push(ruleForm.value.deptList[i].departmentId);
+							}
+							console.log(ruleForm.value.responsibleDepartment)
+						  ruleForm.value.teamName = arr.toString();
 						}
 					});
 			}
@@ -203,33 +215,54 @@
 		const releaseDate = ref('');
 		// 上传附件
 		const fileList = ref<UploadUserFile[]>([]);
-		//部门树
-		const department = () => {
-			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();
-					} else {
-						ElMessage.error(res.data.msg);
-					}
-				});
-		};
-		const treeSelect = ref();
-		// const trees = ref();
+		//el-tree-select回显
 		const propse = {
 			label: 'depName',
 			children: 'children',
-			value: 'depId',
+		};
+		const newTreeList = [];
+		//得到部门树
+		const department = async () => {
+			await goalManagementApi()
+					.getTreedepartment()
+					.then((res) => {
+						if (res.data.code == 200) {
+							data.value = res.data.data;
+							getTreeList(res.data.data, newTreeList);
+							console.log('newList',newTreeList)
+						} else {
+							ElMessage.error(res.data.msg);
+						}
+					});
+		};
+		// 递归树状数据且修改字段名
+		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 data = ref();
@@ -304,12 +337,12 @@
 					authorDeptId: '', // 编写部门
 					releaseDate: '', // 发布实施日期
 					fileList: [
-						{
-							fileUrl: 'url',
-							fileName: 'name',
-						},
+						// {
+						// 	fileUrl: 'url',
+						// 	fileName: 'name',
+						// },
 					],
-					emergencyTeam: '', //应急队伍
+          teamId: '', //应急队伍ID
 					areaList: [], //区域列表
 					teamList: [
           ],
@@ -321,45 +354,24 @@
 		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 = {}
 		};
 		// 应急队伍弹窗
 		const Shows = ref();
 		const daiInpt = (data: any) => {
       Shows.value.openDailog(data);
 		};
-    const SearchUser = (e: any) => {
+    const SearchUser = (val: any) => {
       let arr = [];
+      ruleForm.value.teamList=[]
       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,
+        arr.push(val[i].teamName);
+        ruleForm.value.teamList.push({
+			teamId: val[i].id,
         });
       }
-      ruleForm.value.userName = arr.toString();
+      ruleForm.value.teamName = arr.toString();
     };
 		// 选择区域弹窗
 		const openRef = ref();
@@ -392,7 +404,7 @@
 			data,
 			Search,
 			releaseDate,
-			treeSelect,
+			// treeSelect,
 			// trees,
 			propse,
 			department,
@@ -415,6 +427,8 @@
 			ruleForm,
 			resetForm,
 			onUser,
+			newTreeList,
+			changeDepartment
 		};
 	},
 });

--
Gitblit v1.9.2