From b5207f617870bb7e6a513abd430e3f68c9ed0ea1 Mon Sep 17 00:00:00 2001
From: zhaojiale <631455805@qq.com>
Date: 星期六, 06 八月 2022 18:02:00 +0800
Subject: [PATCH] 应急演练修改

---
 src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue |  323 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 312 insertions(+), 11 deletions(-)

diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
index 8b3ea93..37c6b87 100644
--- a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
@@ -6,6 +6,7 @@
         width="769px"
         draggable
         :fullscreen="full"
+        @close="resetForm(ruleFormRef)"
     >
       <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
       <el-form
@@ -17,9 +18,9 @@
       >
         <el-row :gutter="35">
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-            <el-form-item label="演练名称" prop="drillPlanId">
+            <el-form-item label="演练名称" prop="drillName">
               <el-input
-                  v-model="ruleForm.drillPlanId"
+                  v-model="ruleForm.drillName"
                   placeholder="请选择"
                   class="input-with-select"
               >
@@ -29,10 +30,169 @@
               </el-input>
             </el-form-item>
           </el-col>
-          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-            <el-form-item label="实际到场人员" prop="autualUser" >
+        </el-row>
+
+
+        <el-row :gutter="35">
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="演练地点" prop="drillAddress">
+              <el-input :disabled="true" v-model="drillRuleForm.drillAddress" placeholder="请填写演练地点"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="主办部门"  placeholder="请选择" prop="departmentId">
+              <el-tree-select
+                      :disabled="true"
+                      v-model="drillRuleForm.departmentId"
+                      :data="deptData"
+                      check-strictly
+                      class="w100"
+                      :props="propse"
+                      clearable
+                      placeholder="请选择"/>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="演练方式" prop="drillWay">
+              <el-select :disabled="true" v-model="drillRuleForm.drillWay" class="w100" placeholder="请选择">
+
+                <el-option label="综合" value="0"></el-option>
+                <el-option label="桌面" value="1"></el-option>
+                <el-option label="专项" value="2"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="应急预案" prop="planName" >
               <el-input
-                  v-model="ruleForm.autualUser"
+                      :disabled="true"
+                      v-model="drillRuleForm.planName"
+                      placeholder="请选择"
+                      class="input-with-select"
+              >
+                <template #append>
+                  <el-button :disabled="true" :icon="Search" @click="daiInpt"/>
+                </template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="演练级别" prop="drillLevel">
+              <el-select :disabled="true" v-model="drillRuleForm.drillLevel" class="w100" placeholder="请选择">
+                <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>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="计划定制日期" prop="makingPlanDate">
+              <el-date-picker :disabled="true" v-model="drillRuleForm.makingPlanDate"
+                              value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="计划演练日期" prop="drillPlanDate">
+              <el-date-picker :disabled="true" v-model="drillRuleForm.drillPlanDate"
+                              value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="修改时间" prop="gmtModitify">
+              <el-date-picker :disabled="true" v-model="drillRuleForm.gmtModitify"
+                              value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="计划定制人" prop="makingUserName">
+              <el-input :disabled="true" v-model="drillRuleForm.makingUserName" placeholder="请填写计划定制人"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="制定部门" prop="makingDepartmentId">
+              <el-tree-select
+                      :disabled="true"
+                      v-model="drillRuleForm.makingDepartmentId"
+                      check-strictly
+                      :data="deptData"
+                      class="w100"
+                      :props="propse"
+                      clearable
+                      placeholder="请选择"/>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="演练人员" prop="userListString" >
+              <el-input
+                      :disabled="true"
+                      v-model="drillRuleForm.userListString"
+                      placeholder="请选择"
+                      class="input-with-select"
+              >
+                <template #append>
+                  <el-button :disabled="true" :icon="Search" @click="openUser(0)"/>
+                </template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+            <el-form-item label="演练目的" prop="purpose">
+              <el-input
+                      :disabled="true"
+                      v-model="drillRuleForm.purpose"
+                      placeholder="请填写演练目的"
+                      class="input-with-select textarea"
+                      type="textarea"
+              >
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="演练负责人" prop="chargeUserListString" >
+              <el-input
+                      :disabled="true"
+                      v-model="drillRuleForm.chargeUserListString"
+                      placeholder="请选择"
+                      class="input-with-select"
+              >
+                <template #append>
+                  <el-button :disabled="true" :icon="Search" @click="openUser(1)"/>
+                </template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="保险措施" prop="insuranceMeasures">
+              <el-input :disabled="true" v-model="drillRuleForm.insuranceMeasures" placeholder="请填写保险措施"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="演练经费" prop="drillExpense">
+              <el-input :disabled="true" v-model="drillRuleForm.drillExpense" placeholder="请填写演练经费"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+            <el-form-item label="备注信息" prop="remark">
+              <el-input
+                      :disabled="true"
+                      v-model="drillRuleForm.remark"
+                      placeholder="请填写备注信息"
+                      class="input-with-select textarea"
+                      type="textarea"
+              >
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+
+
+
+        <el-row :gutter="35">
+          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+            <el-form-item label="实际到场人员" prop="autualUserListString" >
+              <el-input
+                  v-model="ruleForm.autualUserListString"
                   placeholder="请选择"
                   class="input-with-select"
               >
@@ -53,9 +213,9 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="演练记录人" prop="recordUserUid" >
+            <el-form-item label="演练记录人" prop="recordUserName" >
               <el-input
-                  v-model="ruleForm.recordUserUid"
+                  v-model="ruleForm.recordUserName"
                   placeholder="请选择"
                   class="input-with-select"
               >
@@ -85,8 +245,10 @@
 				</span>
       </template>
     </el-dialog>
+    <!--记录人-->
     <DailogSearchUser ref="Shows" @SearchUser="onUser"/>
-    <UserCheckbox ref="userRef"/>
+    <!--到场人员-->
+    <DailogSearchUser ref="userRef" @SearchUser="selectDCuser"/>
     <RegionsDialog ref="openRef" @SearchUser="onUsers"/>
   </div>
 </template>
@@ -95,7 +257,8 @@
 import {
   // reactive,
   ref,
-  defineComponent
+  defineComponent,
+  onMounted,
 } from 'vue';
 
 import type {
@@ -111,6 +274,8 @@
 import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'
 import RegionsDialog from '/@/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue'
 import {emergencyDrillExecuteApi} from "/@/api/emergencyDrillExecute";
+import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
+import {goalManagementApi} from "/@/api/goalManagement";
 
 export default defineComponent({
   name: 'openAdd',
@@ -127,8 +292,12 @@
     const ruleForm = ref ({
       drillRecordDate: '', // 演练记录时间
       drillPlanId: '', //演练计划ID
+      drillName:'',
       recordUserUid: '', // 记录人ID
+      recordUserName:'',
       processDesc: '', // 演练过程描述
+
+      autualUserListString:'',
       userList: [
         {
           userUid: '',
@@ -151,10 +320,95 @@
             .then((res) => {
               if (res.data.code == 200) {
                 ruleForm.value = res.data.data;
+                ruleForm.value.autualUserListString=''
+                for(var a = 0;a<res.data.data.userList.length;a++){
+                  ruleForm.value.autualUserListString += res.data.data.userList[a].userName+';'
+                }
+
+                releaseDrillPlanApi()
+                  .seeReleaseDrillPlan(res.data.data.drillPlanId)
+                  .then((res1) => {
+                    if (res1.data.code == 200) {
+                      drillRuleForm.value = res1.data.data;
+
+                      drillRuleForm.value.userListString=''
+                      drillRuleForm.value.chargeUserListString=''
+                      for(var a = 0;a<res1.data.data.userList.length;a++){
+                        if(res1.data.data.userList[a].type==1){
+                          drillRuleForm.value.userListString += res1.data.data.userList[a].userName+';'
+                        }
+                        // if(res.data.data.userList[a].type==2){
+                        //   ruleForm.value.chargeUserListString += res.data.data.userList[a].userName+';'
+                        // }
+                      }
+                      // alert(res.data.data.chargeUserList.length)
+                      for(var a = 0;a<res1.data.data.chargeUserList.length;a++){
+                        drillRuleForm.value.chargeUserListString += res1.data.data.chargeUserList[a].userName+';'
+                      }
+                    }
+                  })
               }
             });
       }
     };
+    const data =  [];
+    const deptData = []
+    //部门树
+    // const department = () => {
+    //   goalManagementApi()
+    //           .getTreedepartment()
+    //           .then((res) => {
+    //             if (res.data.code == 200) {
+    //               deptData.value = res.data.data;
+    //               console.log('-------',deptData.value)
+    //             } else {
+    //               ElMessage.error(res.data.msg);
+    //             }
+    //           });
+    // };
+    //
+    // const propse = {
+    //   label: 'depName',
+    //   children: 'children',
+    //   value: 'depId',
+    // };
+    //el-tree-select回显
+    const propse = {
+      label: 'depName',
+      children: 'children',
+    };
+    //得到部门树
+    const department = async () => {
+      await goalManagementApi()
+              .getTreedepartment()
+              .then((res) => {
+                if (res.data.code == 200) {
+                  data.value = res.data.data;
+                  getTreeList(res.data.data, deptData);
+                  console.log('deptData',deptData)
+                } else {
+                  ElMessage.error(res.data.msg);
+                }
+              });
+    };
+    // 递归树状数据且修改字段名
+    const getTreeList = (treeList, deptData) => {
+      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);
+        }
+        deptData.push(tempData);
+      });
+    };
+    onMounted(() => {
+      department();
+    });
     //日期选择器
     const drillRecordDate = ref('')
     // 表单提交验证必填项
@@ -222,6 +476,7 @@
         ruleForm.value = {
           drillRecordDate: '', // 演练记录时间
           drillPlanId: '', //演练计划ID
+          drillName:'',
           recordUserUid: '', // 记录人ID
           processDesc: '', // 演练过程描述
           userList: [
@@ -238,6 +493,7 @@
     const resetForm = (formEl: FormInstance | undefined) => {
       isShowDialog.value = false;
       if (!formEl) return;
+      drillRuleForm.value={}
       formEl.resetFields();
     };
 
@@ -246,15 +502,53 @@
     const regionsDialog = () => {
       openRef.value.openDailog()
     }
+    //定义表单
+    const drillRuleForm = ref ({})
     const onUsers = (e:any) => {
+      console.log(e)
+      releaseDrillPlanApi()
+              .seeReleaseDrillPlan(e.id)
+              .then((res) => {
+                if (res.data.code == 200) {
+                  drillRuleForm.value = res.data.data;
+
+                  drillRuleForm.value.userListString=''
+                  drillRuleForm.value.chargeUserListString=''
+                    for(var a = 0;a<res.data.data.userList.length;a++){
+                      if(res.data.data.userList[a].type==1){
+                        drillRuleForm.value.userListString += res.data.data.userList[a].userName+';'
+                      }
+                      // if(res.data.data.userList[a].type==2){
+                      //   ruleForm.value.chargeUserListString += res.data.data.userList[a].userName+';'
+                      // }
+                    }
+                    // alert(res.data.data.chargeUserList.length)
+                    for(var a = 0;a<res.data.data.chargeUserList.length;a++){
+                      drillRuleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';'
+                    }
+                }
+              })
       ruleForm.value.drillPlanId=e.id
+      ruleForm.value.drillName=e.drillName
     };
     // 实际到场人员弹窗
     const userRef = ref();
     const openUser = () => {
-      userRef.value.openDialog();
+      userRef.value.openDailog(0);
     };
-
+    const selectDCuser = (e) => {
+      ruleForm.value.autualUserListString=''
+      ruleForm.value.userList=[]
+      for(var a = 0;a<e.length;a++){
+        ruleForm.value.userList.push(
+                {
+                  userName: e[a].realName,
+                  userUid: e[a].uid,
+                }
+        )
+        ruleForm.value.autualUserListString+=e[a].realName+';'
+      }
+    }
     // 演练记录人弹窗
     const Shows=ref()
     const daiInpt=()=>{
@@ -262,6 +556,7 @@
     }
     const onUser = (e:any) => {
       ruleForm.value.recordUserUid=e.uid
+      ruleForm.value.recordUserName=e.realName
     };
     //全屏
     const full = ref(false);
@@ -296,6 +591,12 @@
       titles,
       disabled,
       emit,
+      selectDCuser,
+      drillRuleForm,
+      deptData,
+      propse,
+      data,
+      department
     };
   },
 });

--
Gitblit v1.9.2