From 3b54a522b60cc50f9867deb3046f55b84aec1b7f Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期二, 09 八月 2022 19:04:04 +0800
Subject: [PATCH] 对接

---
 src/views/contingencyManagement/panManagement/component/openAdd.vue |   83 +++++++++++++++++++++++++----------------
 1 files changed, 50 insertions(+), 33 deletions(-)

diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue
index 02c44c0..c1cf6c0 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="50%" 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">
@@ -13,15 +13,14 @@
 						<el-form-item label="适用部门" prop="responsibleDepartment">
 							<el-tree-select
 								v-model="ruleForm.responsibleDepartment"
-								:data="data"
-								multiple
-								:render-after-expand="false"
+								:data="newTreeList"
+								class="w100"
 								:props="propse"
 								clearable
-                show-checkbox
-                check-strictly
-                check-on-click-node
-                placeholder="请选择"
+								multiple
+								:render-after-expand="false"
+								show-checkbox
+								placeholder="请选择"
 							/>
 							<el-divider />
 						</el-form-item>
@@ -66,8 +65,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
@@ -89,7 +87,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>
@@ -176,9 +174,9 @@
 				// 	fileName: 'name',
 				// },
 			],
-			emergencyTeam: '', //应急队伍
 			areaList: [], //区域列表
 			teamList: [],
+      teamId: '', //应急队伍
 			deptList: [],
 			abolishStatus: false,
 		});
@@ -198,9 +196,9 @@
               ruleForm.value = res.data.data;
               let arr = [];
               for (let i = 0; i < ruleForm.value.teamList.length; i++) {
-                arr.push(ruleForm.value.teamList[i].emergencyTeam);
+                arr.push(ruleForm.value.teamList[i].teamName);
               }
-              ruleForm.value.emergencyTeam = arr.toString();
+              ruleForm.value.teamName = arr.toString();
 						}
 					});
 			}
@@ -209,24 +207,40 @@
 		const releaseDate = ref('');
 		// 上传附件
 		const fileList = ref<UploadUserFile[]>([]);
-		//部门树
-		const department = () => {
-			goalManagementApi()
-				.getTreedepartment()
-				.then((res) => {
-					if (res.data.code == 200) {
-            data.value = res.data.data;
-					} 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();
@@ -310,7 +324,7 @@
 						// 	fileName: 'name',
 						// },
 					],
-					emergencyTeam: '', //应急队伍
+          teamId: '', //应急队伍ID
 					areaList: [], //区域列表
 					teamList: [
           ],
@@ -323,6 +337,7 @@
 			isShowDialog.value = false;
 			if (!formEl) return;
 			formEl.resetFields();
+      ruleForm.value = {}
 		};
 		// 应急队伍弹窗
 		const Shows = ref();
@@ -331,14 +346,15 @@
 		};
     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({
           userUid: val[i].uid,
-          emergencyTeam: val[i].teamName,
+          teamName: val[i].teamName,
         });
       }
-      ruleForm.value.emergencyTeam = arr.toString();
+      ruleForm.value.teamName = arr.toString();
     };
 		// 选择区域弹窗
 		const openRef = ref();
@@ -371,7 +387,7 @@
 			data,
 			Search,
 			releaseDate,
-			treeSelect,
+			// treeSelect,
 			// trees,
 			propse,
 			department,
@@ -394,6 +410,7 @@
 			ruleForm,
 			resetForm,
 			onUser,
+			newTreeList
 		};
 	},
 });

--
Gitblit v1.9.2