From d1a430e88df40d76558a14f890ac0dbd3181f3a0 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期二, 06 九月 2022 14:30:14 +0800
Subject: [PATCH] 对接

---
 src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue |  301 +++++++++++++++++++++++++++-----------------------
 1 files changed, 162 insertions(+), 139 deletions(-)

diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
index 207411a..8f988a3 100644
--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/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
@@ -41,16 +42,16 @@
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
             <el-form-item label="演练方式" prop="drillWay">
               <el-select v-model="ruleForm.drillWay" 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>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="应急预案" prop="planId" >
+            <el-form-item label="应急预案" prop="planName" >
               <el-input
-                  v-model="ruleForm.planId"
+                  v-model="ruleForm.planName"
                   placeholder="请选择"
                   class="input-with-select"
               >
@@ -63,9 +64,9 @@
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
             <el-form-item label="演练级别" prop="drillLevel">
               <el-select v-model="ruleForm.drillLevel" 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>
@@ -79,14 +80,14 @@
               <el-date-picker v-model="ruleForm.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 v-model="ruleForm.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="updateDate">
-              <el-date-picker v-model="ruleForm.updateDate" 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="makingUserUid">
-              <el-input v-model="ruleForm.makingUserUid" placeholder="请填写计划定制人" disabled></el-input>
+            <el-form-item label="计划定制人" prop="makingUserName">
+              <el-input v-model="ruleForm.makingUserName" placeholder="请填写计划定制人" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -102,14 +103,14 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="演练人员" prop="telephone" >
+            <el-form-item label="演练人员" prop="userListString" >
               <el-input
-                  v-model="ruleForm.teamLeader"
+                  v-model="ruleForm.userListString"
                   placeholder="请选择"
                   class="input-with-select"
               >
                 <template #append>
-                  <el-button :icon="Search" @click="openUser"/>
+                  <el-button :icon="Search" @click="openUser(0)"/>
                 </template>
               </el-input>
             </el-form-item>
@@ -126,14 +127,14 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="演练负责人" prop="telephone" >
+            <el-form-item label="演练负责人" prop="chargeUserListString" >
               <el-input
-                  v-model="ruleForm.teamLeader"
+                  v-model="ruleForm.chargeUserListString"
                   placeholder="请选择"
                   class="input-with-select"
               >
                 <template #append>
-                  <el-button :icon="Search" @click="openUser"/>
+                  <el-button :icon="Search" @click="openUser(1)"/>
                 </template>
               </el-input>
             </el-form-item>
@@ -161,20 +162,8 @@
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;">
             <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-row>
@@ -186,8 +175,9 @@
 				</span>
       </template>
     </el-dialog>
-    <RegionsDialog ref="Shows" @SearchUser="onUser"/>
-    <UserCheckbox ref="userRef"/>
+    <RegionsDialog ref="Shows" @SearchUser="onUser" />
+    <DailogSearchUser ref="userRef" @SearchUser="SearchUser" />
+    <DailogSearchUser ref="userFZRef" @SearchUser="SearchFZUser" />
   </div>
 </template>
 
@@ -208,16 +198,18 @@
   Search,
   FullScreen
 } from '@element-plus/icons-vue'
-import UserCheckbox from "/@/components/userCheckbox/index.vue"
+import DailogSearchUser from "/@/components/DailogSearchUser/index.vue"
 import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
-import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
+import {releaseDrillPlanApi} from "/@/api/contingencyManagement/emergencyDrillPlan";
 import {goalManagementApi} from "/@/api/goalManagement";
-
+import { Session } from '/@/utils/storage';
+import uploaderFile from '/@/components/uploaderFile/index.vue';
 export default defineComponent({
   name: 'openAdd',
   components: {
     RegionsDialog,
-    UserCheckbox,
+    DailogSearchUser,
+    uploaderFile
   },
   setup(props, { emit }) {
     const isShowDialog = ref(false)
@@ -228,8 +220,10 @@
       makingPlanDate: '', // 计划制定日期
       drillPlanDate: '', //计划演练日期
       makingUserUid: '', //计划制定人ID
+      makingUserName: '', //计划制定人Name
       makingDepartmentId: '', // 计划制定部门ID
       planId: '', // 应急预案ID
+      planName: '', // 应急预案name
       departmentId: '', // 主办部门ID
       drillExpense: '', // 演练经费
       drillLevel: '', //演练级别
@@ -240,26 +234,19 @@
       remark: '', // 备注
       purpose: '', // 演练目的
       fileList: [
-        {
-          fileName: 'name',
-          fileUrl: 'url',
-        }
       ],
       userList: [
-        {
-          userUid: '',
-          type: 1
-        },
-        {
-          userUid: '',
-          type: 2
-        }
-      ]
+      ],
+      chargeUserList:[],
+      userListString:'',//演练人员字段(回填使用)
+      chargeUserListString:'',//演练负责人字段(回填使用)
     });
     const titles = ref();
     const disabled = ref();
     // 打开弹窗
     const openDialog = (title: string, id: number, type: boolean) => {
+      ruleForm.value.makingUserUid = Session.get('uid');
+      ruleForm.value.makingUserName = Session.get('realName');
       isShowDialog.value = true;
       titles.value = title;
       disabled.value = type;
@@ -269,85 +256,52 @@
             .then((res) => {
               if (res.data.code == 200) {
                 ruleForm.value = res.data.data;
+                ruleForm.value.userListString=''
+                ruleForm.value.chargeUserListString=''
+                for(var a = 0;a<res.data.data.userList.length;a++){
+                  if(res.data.data.userList[a].type==1){
+                    ruleForm.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++){
+                  ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';'
+                }
+                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 value1 = ref('')
     // 上传附件
-    const fileList = ref<UploadUserFile[]>([])
+    const fileList = ref([])
     // 可选择树
     const treeSelect = ref()
     const tree = [
-      {
-        value: '1',
-        label: 'Level one 1',
-        children: [
-          {
-            value: '11',
-            label: 'Level two 1-1',
-            children: [
-              {
-                value: '111',
-                label: 'Level three 1-1-1',
-              },
-            ],
-          },
-        ],
-      },
-      {
-        value: '2',
-        label: 'Level one 2',
-        children: [
-          {
-            value: '22',
-            label: 'Level two 2-1',
-            children: [
-              {
-                value: '222',
-                label: 'Level three 2-1-1',
-              },
-            ],
-          },
-          {
-            value: '223',
-            label: 'Level two 2-2',
-            children: [
-              {
-                value: '2233',
-                label: 'Level three 2-2-1',
-              },
-            ],
-          },
-        ],
-      },
-      {
-        value: '3',
-        label: 'Level one 3',
-        children: [
-          {
-            value: '33',
-            label: 'Level two 3-1',
-            children: [
-              {
-                value: '3333',
-                label: 'Level three 3-1-1',
-              },
-            ],
-          },
-          {
-            value: '3334',
-            label: 'Level two 3-2',
-            children: [
-              {
-                value: '333',
-                label: 'Level three 3-2-1',
-              },
-            ],
-          },
-        ],
-      },
     ]
     //部门树
     const department = () => {
@@ -374,6 +328,15 @@
     });
     // 表单提交验证必填项
     const submitForm = async (title: string, formEl: FormInstance | undefined) => {
+      if(!ruleForm.value.fileList){
+        ruleForm.value.fileList = []
+      }
+      ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList)
+      delete ruleForm.value.planName
+      delete ruleForm.value.chargeUserListString
+      delete ruleForm.value.userListString
+      delete ruleForm.value.chargeUserList
+      delete ruleForm.value.gmtModitify
       if (title == '新建应急演练计划发布') {
         if (!formEl) return;
         await formEl.validate((valid, fields) => {
@@ -440,6 +403,7 @@
           makingUserUid: '', //计划制定人ID
           makingDepartmentId: '', // 计划制定部门ID
           planId: '', // 应急预案ID
+          planName: '', // 应急预案name
           departmentId: '', // 主办部门ID
           drillExpense: '', // 演练经费
           drillLevel: '', //演练级别
@@ -450,27 +414,43 @@
           remark: '', // 备注
           purpose: '', // 演练目的
           fileList: [
-            {
-              fileName: 'name',
-              fileUrl: 'url',
-            }
           ],
           userList: [
-            {
-              userUid: '',
-              type: 1
-            },
-            {
-              userUid: '',
-              type: 2
-            }
-          ]
+          ],
+          chargeUserList:[],
+          userListString:'',//演练人员字段(回填使用)
+          chargeUserListString:'',//演练负责人字段(回填使用)
         };
       }
     }
     const resetForm = (formEl: FormInstance | undefined) => {
       isShowDialog.value = false;
+      fileList.value=[]
       if (!formEl) return;
+      ruleForm.value = {
+        makingPlanDate: '', // 计划制定日期
+        drillPlanDate: '', //计划演练日期
+        makingUserUid: '', //计划制定人ID
+        makingDepartmentId: '', // 计划制定部门ID
+        planId: '', // 应急预案ID
+        planName: '', // 应急预案name
+        departmentId: '', // 主办部门ID
+        drillExpense: '', // 演练经费
+        drillLevel: '', //演练级别
+        drillAddress: '', //演练地点
+        drillName: '', // 演练名称
+        drillWay: '', // 演练方式
+        insuranceMeasures: '', // 保险措施
+        remark: '', // 备注
+        purpose: '', // 演练目的
+        fileList: [
+        ],
+        userList: [
+        ],
+        chargeUserList:[],
+        userListString:'',//演练人员字段(回填使用)
+        chargeUserListString:'',//演练负责人字段(回填使用)
+      };
       formEl.resetFields();
     };
     // 应急队伍弹窗
@@ -480,14 +460,52 @@
     }
     const onUser = (e:any) => {
       ruleForm.value.planId=e.id
+      ruleForm.value.planName=e.name
     };
     // 打开用户选择弹窗
     const userRef = ref();
-    const openUser = () => {
-      userRef.value.openDialog();
+    const userFZRef = ref();
+    //打开演练人员和演练负责人弹窗  type 0 演练人员  1 演练负责人
+    const openUser = (type:number) => {
+      if(type==0){
+        userRef.value.openDailog(0);
+      }else if(type==1){
+        userFZRef.value.openDailog(0);
+      }
+    };
+    const SearchUser = (e:any) => {
+      console.log('演练人员',e)
+      ruleForm.value.userListString=''
+      ruleForm.value.userList=[]
+      for(var a = 0;a<e.length;a++){
+        ruleForm.value.userList.push(
+          {
+            type: 1,
+            userName: e[a].realName,
+            userUid: e[a].uid,
+          }
+        )
+        ruleForm.value.userListString+=e[a].realName+';'
+      }
+    };
+    const SearchFZUser = (e:any) => {
+      console.log('演练负责人员',e[0].userName)
+      ruleForm.value.chargeUserListString=''
+      ruleForm.value.chargeUserList=[]
+      // ruleForm.value.chargeUserList = []
+      for(var a = 0;a<e.length;a++){
+        ruleForm.value.chargeUserList.push(
+          {
+            type: 2,
+            userName: e[a].realName,
+            userUid: e[a].uid,
+          }
+        )
+        ruleForm.value.chargeUserListString+=e[a].realName+';'
+      }
     };
     // 计划定制日期
-    const datetime = ref('')
+    const datetime = ref('');
     //全屏
     const full = ref(false);
     const toggleFullscreen = () => {
@@ -525,6 +543,11 @@
       resetForm,
       emit,
       onUser,
+      userFZRef,
+      SearchUser,
+      SearchFZUser,
+      successUploader,
+      initFileListData
     };
   },
 });

--
Gitblit v1.9.2