Your Name
2022-08-11 988558aaa309068fd393cc654be537434b0a15ea
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="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">
@@ -12,16 +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.responsibleDepartment"
                        :data="data"
                        v-model="responsibleDepartment"
                        :data="newTreeList"
                        class="w100"
                        clearable
                        :props="propse"
                        multiple
                        :render-after-expand="false"
                        :props="propse"
                        clearable
                show-checkbox
                check-strictly
                check-on-click-node
                placeholder="请选择"
                        check-strictly
                        check-on-click-node
                        placeholder="请选择"
                        @change="changeDepartment"
                     />
                     <el-divider />
                  </el-form-item>
@@ -66,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
@@ -89,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>
@@ -133,7 +141,7 @@
            </span>
         </template>
      </el-dialog>
      <CheckTemplate ref="Shows"  @SearchUser="SearchUser" />
      <CheckTemplate ref="Shows" @SearchUser="SearchUser" />
      <DailogSearchUserManger ref="userRef" @SearchUser="onUser" />
      <RegionsDialog ref="openRef" />
   </div>
@@ -170,17 +178,11 @@
         authorName: '',
         authorDeptId: '', // 编写部门
         releaseDate: '', // 发布实施日期
         fileList: [
            // {
            //    fileUrl: 'url',
            //    fileName: 'name',
            // },
         ],
         emergencyTeam: '', //应急队伍
         fileList: [],
         areaList: [], //区域列表
         teamList: [],
         // teamId: '', //应急队伍
         deptList: [],
         abolishStatus: false,
      });
      const titles = ref();
      const disabled = ref();
@@ -195,12 +197,21 @@
               .seeEmergencyTeam(id)
               .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].emergencyTeam);
              }
              ruleForm.value.emergencyTeam = arr.toString();
                     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)
                        }
                     }
                  }
               });
         }
@@ -209,30 +220,55 @@
      const releaseDate = ref('');
      // 上传附件
      const fileList = ref<UploadUserFile[]>([]);
      //部门树
      const department = () => {
         goalManagementApi()
      //el-tree-select回显
      const propse = {
         label: 'depName',
         children: 'children',
      };
      const newTreeList = [];
      //得到部门树
      const department = async () => {
         await goalManagementApi()
            .getTreedepartment()
            .then((res) => {
               if (res.data.code == 200) {
            data.value = res.data.data;
                  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) => {
@@ -241,6 +277,7 @@
            await formEl.validate((valid, fields) => {
               if (valid) {
                  isShowDialog.value = false;
                  delete ruleForm.value.teamName
                  emergencyPlanApi()
                     .addEmergencyPlan(ruleForm.value)
                     .then((res) => {
@@ -269,8 +306,10 @@
            if (!formEl) return;
            await formEl.validate((valid, fields) => {
               if (valid) {
                  isShowDialog.value = false;
                  emergencyPlanApi()
            ruleForm.value.fileList=[]
            isShowDialog.value = false;
            delete ruleForm.value.teamName
            emergencyPlanApi()
                     .editEmergencyTeam(ruleForm.value)
                     .then((res) => {
                        if (res.data.code == 200) {
@@ -304,18 +343,11 @@
               authorName: '',
               authorDeptId: '', // 编写部门
               releaseDate: '', // 发布实施日期
               fileList: [
                  // {
                  //    fileUrl: 'url',
                  //    fileName: 'name',
                  // },
               ],
               emergencyTeam: '', //应急队伍
               fileList: [],
               // teamId: '', //应急队伍ID
               areaList: [], //区域列表
               teamList: [
          ],
               teamList: [],
               deptList: [],
               abolishStatus: false,
            };
         }
      };
@@ -323,23 +355,24 @@
         isShowDialog.value = false;
         if (!formEl) return;
         formEl.resetFields();
         ruleForm.value = {};
      };
      // 应急队伍弹窗
      const Shows = ref();
      const daiInpt = (data: any) => {
      Shows.value.openDailog(data);
         Shows.value.openDailog(data);
      };
    const SearchUser = (val: any) => {
      let arr = [];
      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,
        });
      }
      ruleForm.value.emergencyTeam = 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 = () => {
@@ -371,13 +404,13 @@
         data,
         Search,
         releaseDate,
         treeSelect,
         // treeSelect,
         // trees,
         propse,
         department,
         daiInpt,
         Shows,
      SearchUser,
         SearchUser,
         submitForm,
         openUser,
         userRef,
@@ -394,6 +427,8 @@
         ruleForm,
         resetForm,
         onUser,
         newTreeList,
         changeDepartment,
      };
   },
});