From 60d1b9b5b876f4fb675edb825e04321297f2c945 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期三, 27 七月 2022 09:29:37 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut

---
 src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue |  303 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 209 insertions(+), 94 deletions(-)

diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
index 10ba7d3..e30a816 100644
--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="system-edit-user-container">
     <el-dialog
-        title="新建应急演练计划发布"
+        :title="titles"
         v-model="isShowDialog"
         width="769px"
         draggable
@@ -13,39 +13,40 @@
           :model="ruleForm"
           size="default"
           label-width="120px"
+          :disabled="disabled"
       >
         <el-row :gutter="35">
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="演练名称" prop="teamName">
-              <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></el-input>
+            <el-form-item label="演练名称" prop="drillName">
+              <el-input v-model="ruleForm.drillName" 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="teamName">
-              <el-input v-model="ruleForm.teamName" placeholder="请填写演练地点"></el-input>
+            <el-form-item label="演练地点" prop="drillAddress">
+              <el-input v-model="ruleForm.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="请选择">
+            <el-form-item label="主办部门"  placeholder="请选择" prop="departmentId">
               <el-tree-select
-                  v-model="ruleForm.responsibleDepartment"
+                  v-model="ruleForm.departmentId"
                   :data="data" class="w100"
                   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="teamLevel">
-              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
-                <el-option label="综合" value="admin"></el-option>
-                <el-option label="桌面" value="common3"></el-option>
-                <el-option label="专项" value="common2"></el-option>
+            <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-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="telephone" >
+            <el-form-item label="应急预案" prop="planId" >
               <el-input
-                  v-model="ruleForm.teamLeader"
+                  v-model="ruleForm.planId"
                   placeholder="请选择"
                   class="input-with-select"
               >
@@ -56,38 +57,38 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="演练级别" prop="teamPhone">
-              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
-                <el-option label="公司级" value="admin"></el-option>
-                <el-option label="分厂级" value="common"></el-option>
-                <el-option label="车间级" value="common1"></el-option>
+            <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-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="teamPhone">
-              <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+            <el-form-item label="计划定制日期" prop="makingPlanDate">
+              <el-date-picker v-model="ruleForm.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="teamPhone">
-              <el-date-picker v-model="drillDate" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+            <el-form-item label="计划演练日期" prop="drillPlanDate">
+              <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="teamPhone">
-              <el-date-picker v-model="editDate" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+            <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="teamPhone">
-              <el-input v-model="ruleForm.planCustomizer" disabled placeholder="请填写演练地点"></el-input>
+            <el-form-item label="计划定制人" prop="makingUserUid">
+              <el-input v-model="ruleForm.makingUserUid" 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="telephone">
+            <el-form-item label="制定部门" prop="makingDepartmentId">
               <el-tree-select
-                  v-model="ruleForm.responsibleDepartment"
+                  v-model="ruleForm.makingDepartmentId"
                   :data="data" class="w100"
                   placeholder="请选择"/>
             </el-form-item>
@@ -106,9 +107,9 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-            <el-form-item label="演练目的" prop="telephone">
+            <el-form-item label="演练目的" prop="purpose">
               <el-input
-                  v-model="ruleForm.teamLeader"
+                  v-model="ruleForm.purpose"
                   placeholder="请填写演练目的"
                   class="input-with-select textarea"
                   type="textarea"
@@ -130,19 +131,19 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="保险措施" prop="teamName">
-              <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></el-input>
+            <el-form-item label="保险措施" prop="insuranceMeasures">
+              <el-input v-model="ruleForm.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="teamName">
-              <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></el-input>
+            <el-form-item label="演练经费" prop="drillExpense">
+              <el-input v-model="ruleForm.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="telephone">
+            <el-form-item label="备注信息" prop="remark">
               <el-input
-                  v-model="ruleForm.teamLeader"
+                  v-model="ruleForm.remark"
                   placeholder="请填写备注信息"
                   class="input-with-select textarea"
                   type="textarea"
@@ -172,8 +173,8 @@
       </el-form>
       <template #footer>
 				<span class="dialog-footer">
-					<el-button @click="onCancel" size="default">关闭</el-button>
-          <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
+					<el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
+          <el-button size="default" v-if="disabled == true ? false : true" type="primary" @click="submitForm(titles, ruleFormRef)">确定</el-button>
 				</span>
       </template>
     </el-dialog>
@@ -183,7 +184,8 @@
 </template>
 
 <script lang="ts">
-import { reactive,
+import {
+  // reactive,
   ref,
   defineComponent
 } from 'vue';
@@ -191,15 +193,15 @@
 import type {
   UploadUserFile,
   FormInstance,
-  // FormRules,
 } from 'element-plus'
-
+import { ElMessage } from 'element-plus';
 import {
   Search,
   FullScreen
 } from '@element-plus/icons-vue'
 import UserCheckbox from "/@/components/userCheckbox/index.vue"
 import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
+import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan";
 
 export default defineComponent({
   name: 'openAdd',
@@ -207,31 +209,59 @@
     RegionsDialog,
     UserCheckbox,
   },
-  setup() {
+  setup(props, { emit }) {
     const isShowDialog = ref(false)
 
     const ruleFormRef = ref<FormInstance>()
     //定义表单
-    const ruleForm = reactive({
-        teamName: '', // 队伍名称
-        planCustomizer: '胡海涛', //计划定制人
-        teamLeader: '', //队伍负责人
-        department: [], // 负责人部门
-        phone: '', // 负责人手机
-        telephone: '', // 固定电话
+    const ruleForm = ref ({
+      makingPlanDate: '', // 计划制定日期
+      drillPlanDate: '', //计划演练日期
+      makingUserUid: '', //计划制定人ID
+      makingDepartmentId: '', // 计划制定部门ID
+      planId: '', // 应急预案ID
+      departmentId: '', // 主办部门ID
+      drillExpense: '', // 演练经费
+      drillLevel: '', //演练级别
+      drillAddress: '', //演练地点
+      drillName: '', // 演练名称
+      drillWay: '', // 演练方式
+      insuranceMeasures: '', // 保险措施
+      remark: '', // 备注
+      purpose: '', // 演练目的
+      fileList: [
+        {
+          fileName: 'name',
+          fileUrl: 'url',
+        }
+      ],
+      userList: [
+        {
+          userUid: '',
+          type: 1
+        },
+        {
+          userUid: '',
+          type: 2
+        }
+      ]
     });
+    const titles = ref();
+    const disabled = ref();
     // 打开弹窗
-    const openDialog = () => {
-      // state.ruleForm = row;
+    const openDialog = (title: string, id: number, type: boolean) => {
       isShowDialog.value = true;
-    };
-    // 关闭弹窗
-    const closeDialog = () => {
-      isShowDialog.value = false;
-    };
-    // 取消
-    const onCancel = () => {
-      closeDialog();
+      titles.value = title;
+      disabled.value = type;
+      if (title == '查看应急演练计划发布' || title == '修改应急演练计划发布') {
+        releaseDrillPlanApi()
+            .seeReleaseDrillPlan(id)
+            .then((res) => {
+              if (res.data.code == 200) {
+                ruleForm.value = res.data.data;
+              }
+            });
+      }
     };
     //日期选择器
     const value1 = ref('')
@@ -245,11 +275,11 @@
         label: 'Level one 1',
         children: [
           {
-            value: '1-1',
+            value: '11',
             label: 'Level two 1-1',
             children: [
               {
-                value: '1-1-1',
+                value: '111',
                 label: 'Level three 1-1-1',
               },
             ],
@@ -261,21 +291,21 @@
         label: 'Level one 2',
         children: [
           {
-            value: '2-1',
+            value: '22',
             label: 'Level two 2-1',
             children: [
               {
-                value: '2-1-1',
+                value: '222',
                 label: 'Level three 2-1-1',
               },
             ],
           },
           {
-            value: '2-2',
+            value: '223',
             label: 'Level two 2-2',
             children: [
               {
-                value: '2-2-1',
+                value: '2233',
                 label: 'Level three 2-2-1',
               },
             ],
@@ -287,21 +317,21 @@
         label: 'Level one 3',
         children: [
           {
-            value: '3-1',
+            value: '33',
             label: 'Level two 3-1',
             children: [
               {
-                value: '3-1-1',
+                value: '3333',
                 label: 'Level three 3-1-1',
               },
             ],
           },
           {
-            value: '3-2',
+            value: '3334',
             label: 'Level two 3-2',
             children: [
               {
-                value: '3-2-1',
+                value: '333',
                 label: 'Level three 3-2-1',
               },
             ],
@@ -317,23 +347,23 @@
         label: '广汇能源综合物流发展有限责任公司',
         children: [
           {
-            value: '1-1',
+            value: '11',
             label: '经营班子',
             children: [],
           },
         ],
       },
       {
-        value: '2',
+        value: '12',
         label: '生产运行部',
         children: [
           {
-            value: '2-1',
+            value: '21',
             label: '灌装一班',
             children: []
           },
           {
-            value: '2-2',
+            value: '22',
             label: '工艺四班',
             children: [],
           },
@@ -344,12 +374,12 @@
         label: '设备部',
         children: [
           {
-            value: '3-1',
+            value: '31',
             label: '仪表班',
             children: [],
           },
           {
-            value: '3-2',
+            value: '32',
             label: '机修班',
             children: [],
           },
@@ -358,16 +388,106 @@
     ]
 
     // 表单提交验证必填项
-    const submitForm = async (formEl: FormInstance | undefined) => {
-      if (!formEl) return
-      await formEl.validate((valid, fields) => {
-        if (valid) {
-          console.log('submit!')
-        } else {
-          console.log('error submit!', fields)
-        }
-      })
+    const submitForm = async (title: string, formEl: FormInstance | undefined) => {
+      if (title == '新建应急演练计划发布') {
+        if (!formEl) return;
+        await formEl.validate((valid, fields) => {
+          if (valid) {
+            isShowDialog.value = false;
+            releaseDrillPlanApi()
+                .addReleaseDrillPlan(ruleForm.value)
+                .then((res) => {
+                  if (res.data.code == 200) {
+                    ElMessage({
+                      showClose: true,
+                      message: res.data.msg,
+                      type: 'success',
+                    });
+                    emit('myAdd', true);
+                  } else {
+                    ElMessage({
+                      showClose: true,
+                      message: res.data.msg,
+                      type: 'error',
+                    });
+                    emit('myAdd', true);
+                  }
+                  formEl.resetFields();
+                });
+          } else {
+            console.log('error submit!', fields);
+          }
+        });
+      }
+      else if (title == '修改应急演练计划发布') {
+        if (!formEl) return;
+        await formEl.validate((valid, fields) => {
+          if (valid) {
+            isShowDialog.value = false;
+            releaseDrillPlanApi()
+                .editReleaseDrillPlan(ruleForm.value)
+                .then((res) => {
+                  if (res.data.code == 200) {
+                    ElMessage({
+                      showClose: true,
+                      message: '修改成功',
+                      type: 'success',
+                    });
+                    emit('myAdd', true);
+                  } else {
+                    ElMessage({
+                      showClose: true,
+                      message: res.data.msg,
+                      type: 'error',
+                    });
+                    emit('myAdd', true);
+                  }
+                  formEl.resetFields();
+                });
+          } else {
+            console.log('error submit!', fields);
+          }
+        });
+        formEl.resetFields();
+        ruleForm.value = {
+          makingPlanDate: '', // 计划制定日期
+          drillPlanDate: '', //计划演练日期
+          makingUserUid: '', //计划制定人ID
+          makingDepartmentId: '', // 计划制定部门ID
+          planId: '', // 应急预案ID
+          departmentId: '', // 主办部门ID
+          drillExpense: '', // 演练经费
+          drillLevel: '', //演练级别
+          drillAddress: '', //演练地点
+          drillName: '', // 演练名称
+          drillWay: '', // 演练方式
+          insuranceMeasures: '', // 保险措施
+          remark: '', // 备注
+          purpose: '', // 演练目的
+          fileList: [
+            {
+              fileName: 'name',
+              fileUrl: 'url',
+            }
+          ],
+          userList: [
+            {
+              userUid: '',
+              type: 1
+            },
+            {
+              userUid: '',
+              type: 2
+            }
+          ]
+        };
+      }
     }
+    const resetForm = (formEl: FormInstance | undefined) => {
+      isShowDialog.value = false;
+      if (!formEl) return;
+      formEl.resetFields();
+    };
     // 应急队伍弹窗
     const Shows=ref()
     const daiInpt=()=>{
@@ -380,10 +500,6 @@
     };
     // 计划定制日期
     const datetime = ref('')
-    // 计划演练日期
-    const drillDate = ref('')
-    // 修改时间
-    const editDate = ref('')
     //全屏
     const full = ref(false);
     const toggleFullscreen = () => {
@@ -395,9 +511,7 @@
     };
     return {
       openDialog,
-      closeDialog,
       isShowDialog,
-      onCancel,
       fileList,
       responsibleDepartment,
       data,
@@ -410,15 +524,16 @@
       Shows,
       ruleFormRef,
       submitForm,
-      // rules,
       openUser,
       userRef,
       datetime,
-      drillDate,
-      editDate,
       toggleFullscreen,
       FullScreen,
       full,
+      titles,
+      disabled,
+      resetForm,
+      emit,
     };
   },
 });

--
Gitblit v1.9.2