shj
2022-08-08 f4d6cf633550fbff55b7daa366b4ed7f41ae2905
src/components/equipmentDailog/Dailog.vue
@@ -1,20 +1,20 @@
<template>
   <el-dialog v-model="dialogVisible" :fullscreen="full" :before-close="resetForm" draggable :title="titles" width="60%">
   <el-dialog v-model="dialogVisible" :fullscreen="full" @close="resetForm(ruleFormRef)" draggable :title="titles" width="60%">
      <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
      <el-form :model="form" ref="ruleFormRef" :rules="rules" :disabled="disabled" label-width="120px" class="formType">
         <el-form-item label="装置设施名称" size="default">
         <el-form-item label="装置设施名称" size="default" prop="qName">
            <el-input v-model="form.qName" placeholder="请填写装置设施名称" />
         </el-form-item>
         <el-form-item label="装置设施位号" size="default">
         <el-form-item label="装置设施位号" size="default" prop="positionNum">
            <el-input v-model="form.positionNum" placeholder="请填写装置设施位号" />
         </el-form-item>
         <el-form-item label="装置设施用途" size="default">
         <el-form-item label="装置设施用途" size="default" prop="qUsage">
            <el-input v-model="form.qUsage" placeholder="请填写装置设施用途" />
         </el-form-item>
         <el-form-item label="装置设施型号" size="default">
         <el-form-item label="装置设施型号" size="default" prop="model">
            <el-input v-model="form.model" placeholder="请填写装置设施型号" />
         </el-form-item>
         <el-form-item label="类型/类别外键" size="default">
         <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeId">
            <el-input v-model="form.equipmentTypeId" placeholder="请选择">
               <template #append>
                  <el-button :icon="Search" @click="opencategory"></el-button>
@@ -28,43 +28,43 @@
               </template>
            </el-input>
         </el-form-item> -->
         <el-form-item label="单位部门" size="default">
         <el-form-item label="单位部门" size="default" prop="departmentId">
            <el-tree-select v-model="form.departmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
         </el-form-item>
         <el-form-item label="设置部位" size="default">
         <el-form-item label="设置部位" size="default" prop="setPart">
            <el-input v-model="form.setPart" placeholder="请填写设置部位" />
         </el-form-item>
         <el-form-item label="生产日期" size="default">
         <el-form-item label="生产日期" size="default" prop="produceTime">
            <el-date-picker v-model="form.produceTime" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
         </el-form-item>
         <el-form-item label="使用期限(天)" size="default">
         <el-form-item label="使用期限(天)" size="default" prop="useEndDay">
            <el-input v-model="form.useEndDay" placeholder="请填写使用期限" />
         </el-form-item>
         <el-form-item label="生命周期" size="default">
         <el-form-item label="生命周期" size="default" prop="lifeCycle">
            <el-select v-model="form.lifeCycle" placeholder="请选择" style="width: 100%">
               <el-option label="已投用" value="1" />
               <el-option label="库存中" value="2" />
               <el-option label="报废" value="3" />
               <el-option label="已投用" :value="1" />
               <el-option label="库存中" :value="2" />
               <el-option label="报废"   :value="3" />
            </el-select>
         </el-form-item>
         <el-form-item label="投用日期" size="default">
         <el-form-item label="投用日期" size="default" prop="useDate">
            <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
         </el-form-item>
         <el-form-item label="维修状态" size="default">
         <el-form-item label="维修状态" size="default" prop="repairStatus">
            <el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%">
               <el-option label="维修中" value="1" />
               <el-option label="已修好" value="2" />
               <el-option label="维修中" :value="1" />
               <el-option label="已修好" :value="2" />
            </el-select>
         </el-form-item>
         <el-form-item label="停用状态" size="default">
         <el-form-item label="停用状态" size="default" prop="stopStatus">
            <el-select v-model="form.stopStatus" placeholder="请选择" style="width: 100%">
               <el-option label="停用" value="1" />
               <el-option label="在用" value="2" />
               <el-option label="维修" value="3" />
               <el-option label="报废" value="4" />
               <el-option label="停用" :value="1" />
               <el-option label="在用" :value="2" />
               <el-option label="维修" :value="3" />
               <el-option label="报废" :value="4" />
            </el-select>
         </el-form-item>
         <el-form-item label="上次检查日期" size="default">
         <el-form-item label="上次检查日期" size="default" prop="previousCheckDate">
            <el-date-picker
               v-model="form.previousCheckDate"
               format="YYYY-MM-DD HH:mm:ss"
@@ -73,10 +73,10 @@
               style="width: 100%"
            />
         </el-form-item>
         <el-form-item label="上次检测日期" size="default">
         <el-form-item label="上次检测日期" size="default" prop="previousTestDate">
            <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
         </el-form-item>
         <el-form-item label="上次保养日期" size="default">
         <el-form-item label="上次保养日期" size="default" prop="previousTakecareDate">
            <el-date-picker
               v-model="form.previousTakecareDate"
               format="YYYY-MM-DD HH:mm:ss"
@@ -85,23 +85,23 @@
               style="width: 100%"
            />
         </el-form-item>
         <el-form-item label="下次检查日期" size="default">
         <el-form-item label="下次检查日期" size="default" prop="nextCheckDate">
            <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
         </el-form-item>
         <el-form-item label="下次检测日期" size="default">
         <el-form-item label="下次检测日期" size="default" prop="nextTestDate">
            <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
         </el-form-item>
         <el-form-item label="下次保养日期" size="default">
         <el-form-item label="下次保养日期" size="default" prop="nextTakecareDate">
            <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
         </el-form-item>
         <el-form-item label="负责人" size="default">
         <el-form-item label="负责人" size="default" prop="leadingPersonName">
            <el-input v-model="form.leadingPersonName" placeholder="请选择">
               <template #append>
                  <el-button :icon="Search" @click="openUser(1)"></el-button>
               </template>
            </el-input>
         </el-form-item>
         <el-form-item label="负责人部门" size="default">
         <el-form-item label="负责人部门" size="default" prop="leadingPersonDepartmentId">
            <el-tree-select
               v-model="form.leadingPersonDepartmentId"
               :data="data"
@@ -111,80 +111,80 @@
               placeholder="请选择"
            />
         </el-form-item>
         <el-form-item label="供应商" size="default">
         <el-form-item label="供应商" size="default" prop="supplyName">
            <el-input v-model="form.supplyName" placeholder="请填写供应商" />
         </el-form-item>
         <el-form-item label="使用说明" size="default">
         <el-form-item label="使用说明" size="default" prop="useMemo">
            <el-input v-model="form.useMemo" placeholder="请填写使用说明" />
         </el-form-item>
         <el-form-item label="是否检查" size="default">
         <el-form-item label="是否检查" size="default" prop="isNeedCheck">
            <el-select v-model="form.isNeedCheck" placeholder="请选择" style="width: 100%">
               <el-option label="是" value="1" />
               <el-option label="否" value="2" />
               <el-option label="是" :value="1" />
               <el-option label="否" :value="2" />
            </el-select>
         </el-form-item>
         <el-form-item label="检查周期" size="default">
         <el-form-item label="检查周期" size="default" prop="checkCycle">
            <el-input v-model="form.checkCycle" placeholder="请填写检查周期" />
         </el-form-item>
         <el-form-item label="检查提前提醒" size="default">
         <el-form-item label="检查提前提醒" size="default" prop="checkWarn">
            <el-input v-model="form.checkWarn" placeholder="请填写检查提前提醒" />
         </el-form-item>
         <el-form-item label="是否检测" size="default">
         <el-form-item label="是否检测" size="default" prop="isNeedTest">
            <el-select v-model="form.isNeedTest" placeholder="请选择" style="width: 100%">
               <el-option label="是" value="1" />
               <el-option label="否" value="2" />
               <el-option label="是" :value="1" />
               <el-option label="否" :value="2" />
            </el-select>
         </el-form-item>
         <el-form-item label="检测周期" size="default">
         <el-form-item label="检测周期" size="default" prop="testCycle">
            <el-input v-model="form.testCycle" placeholder="请填写检测周期" />
         </el-form-item>
         <el-form-item label="检测提前提醒" size="default">
         <el-form-item label="检测提前提醒" size="default" prop="testWarn">
            <el-input v-model="form.testWarn" placeholder="请填写检测提前提醒" />
         </el-form-item>
         <el-form-item label="是否保养" size="default">
         <el-form-item label="是否保养" size="default" prop="isNeedTakecare">
            <el-select v-model="form.isNeedTakecare" placeholder="请选择" style="width: 100%">
               <el-option label="是" value="1" />
               <el-option label="否" value="2" />
               <el-option label="是" :value="1" />
               <el-option label="否" :value="2" />
            </el-select>
         </el-form-item>
         <el-form-item label="检查内容" size="default">
         <el-form-item label="检查内容" size="default" prop="checkContent">
            <el-input v-model="form.checkContent" placeholder="请填写检查内容" />
         </el-form-item>
         <el-form-item label="负责部门" size="default">
         <el-form-item label="负责部门" size="default" prop="leadingDepartmentId">
            <el-tree-select v-model="form.leadingDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
         </el-form-item>
         <el-form-item label="检查指标" size="default">
         <el-form-item label="检查指标" size="default" prop="checkPoint">
            <el-input v-model="form.checkPoint" placeholder="请填写检查指标" />
         </el-form-item>
         <el-form-item label="预警值" size="default">
         <el-form-item label="预警值" size="default" prop="alertNum">
            <el-input v-model="form.alertNum" placeholder="请填写预警值" />
         </el-form-item>
         <el-form-item label="联锁值" size="default">
         <el-form-item label="联锁值" size="default" prop="lockNum">
            <el-input v-model="form.lockNum" placeholder="请填写联锁值" />
         </el-form-item>
         <el-form-item label="停用理由" size="default">
         <el-form-item label="停用理由" size="default" prop="stopReason">
            <el-input v-model="form.stopReason" placeholder="请填写停用理由" />
         </el-form-item>
         <el-form-item label="停用后措施" size="default">
         <el-form-item label="停用后措施" size="default" prop="afterStopStep">
            <el-input v-model="form.afterStopStep" placeholder="请填写停用后措施" />
         </el-form-item>
         <el-form-item label="实际停用日期" size="default">
         <el-form-item label="实际停用日期" size="default" prop="actualStopDate">
            <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
         </el-form-item>
         <el-form-item label="停用提交人" size="default">
         <el-form-item label="停用提交人" size="default" prop="stopSubmitPersonName">
            <el-input v-model="form.stopSubmitPersonName" placeholder="请选择">
               <template #append>
                  <el-button :icon="Search" @click="openUser(2)"></el-button>
               </template>
            </el-input>
         </el-form-item>
         <el-form-item label="停用提交日期" size="default">
         <el-form-item label="停用提交日期" size="default" prop="stopSubmitDate">
            <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
         </el-form-item>
         <el-form-item label="恢复理由" size="default">
         <el-form-item label="恢复理由" size="default" prop="recoveryReason">
            <el-input v-model="form.recoveryReason" placeholder="请填写恢复理由" />
         </el-form-item>
         <el-form-item label="恢复填报日期" size="default">
         <el-form-item label="恢复填报日期" size="default" prop="recoverySubmitDate">
            <el-date-picker
               v-model="form.recoverySubmitDate"
               format="YYYY-MM-DD HH:mm:ss"
@@ -193,7 +193,7 @@
               style="width: 100%"
            />
         </el-form-item>
         <el-form-item label="实际恢复日期" size="default">
         <el-form-item label="实际恢复日期" size="default" prop="actualRecoveryDate">
            <el-date-picker
               v-model="form.actualRecoveryDate"
               format="YYYY-MM-DD HH:mm:ss"
@@ -202,10 +202,10 @@
               style="width: 100%"
            />
         </el-form-item>
         <el-form-item label="报废理由" size="default">
         <el-form-item label="报废理由" size="default" prop="destoryReason">
            <el-input v-model="form.destoryReason" placeholder="请填写报废理由" />
         </el-form-item>
         <el-form-item label="报废填报日期" size="default">
         <el-form-item label="报废填报日期" size="default" prop="destorySubmitDate">
            <el-date-picker
               v-model="form.destorySubmitDate"
               format="YYYY-MM-DD HH:mm:ss"
@@ -214,7 +214,7 @@
               style="width: 100%"
            />
         </el-form-item>
         <el-form-item label="实际报废日期" size="default">
         <el-form-item label="实际报废日期" size="default" prop="actualDestoryDate">
            <el-date-picker
               v-model="form.actualDestoryDate"
               format="YYYY-MM-DD HH:mm:ss"
@@ -226,7 +226,7 @@
      </el-form>
      <el-tabs v-model="activeName" class="demo-tabs">
         <el-tab-pane label="设备保养" name="first">
            <el-button type="primary" size="default" @click="openMaintenance('新增', '')">新增</el-button>
            <el-button type="primary" size="default" :disabled="disabled" @click="openMaintenance('新增', '')">新增</el-button>
            <el-table :data="form.takecareDetailList" style="width: 100%">
               <el-table-column align="center" prop="takecareMemo" label="保养情况" />
               <el-table-column align="center" prop="leadingPersonName" label="保养负责人" />
@@ -242,7 +242,7 @@
            </el-table>
         </el-tab-pane>
         <el-tab-pane label="设备检测" name="second">
            <el-button type="primary" size="default" @click="openDetect('新增', '')">新增</el-button>
            <el-button type="primary" size="default" :disabled="disabled" @click="openDetect('新增', '')">新增</el-button>
            <el-table :data="form.testDetailList" style="width: 100%">
               <el-table-column align="center" prop="testPersonId" label="检测人" />
               <el-table-column align="center" prop="testDate" :formatter="timeDate" label="检测日期" />
@@ -260,7 +260,7 @@
            </el-table>
         </el-tab-pane>
         <el-tab-pane label="设备维修" name="third">
            <el-button type="primary" size="default" @click="openRepair('新增', '')">新增</el-button>
            <el-button type="primary" size="default" :disabled="disabled" @click="openRepair('新增', '')">新增</el-button>
            <el-table :data="form.repaireDetailList" style="width: 100%">
               <el-table-column align="center" prop="exceptionInfo" label="设施异常项" />
               <el-table-column align="center" prop="repairStatus" label="维修状态" />
@@ -279,7 +279,7 @@
            </el-table>
         </el-tab-pane>
         <el-tab-pane label="检查标准设置" name="fourth">
            <el-button type="primary" size="default" @click="openStandard('新增', '')">新增</el-button>
            <el-button type="primary" size="default" :disabled="disabled" @click="openStandard('新增', '')">新增</el-button>
            <el-table :data="form.checkStandardeDetailList" style="width: 100%">
               <el-table-column align="center" prop="indexNum" label="序号" width="75" />
               <el-table-column align="center" prop="checkContent" label="检查内容" />
@@ -513,7 +513,54 @@
                  }
               });
      };
      const rules = reactive<FormRules>({});
      const rules = reactive<FormRules>({
         qName: [],
         positionNum: [],
         qUsage: [],
         model: [],
         equipmentTypeId: [],
         departmentId: [],
         setPart: [],
         produceTime: [],
         useEndDay: [],
         lifeCycle: [],
         useDate: [],
         repairStatus: [],
         stopStatus: [],
         previousCheckDate: [],
         previousTestDate: [],
         previousTakecareDate: [],
         nextCheckDate: [],
         nextTestDate: [],
         nextTakecareDate: [],
         leadingPersonName: [],
         leadingPersonDepartmentId: [],
         supplyName: [],
         useMemo: [],
         isNeedCheck: [],
         checkCycle: [],
         checkWarn: [],
         isNeedTest: [],
         testCycle: [],
         testWarn: [],
         isNeedTakecare: [],
         checkContent: [],
         leadingDepartmentId: [],
         checkPoint: [],
         alertNum: [],
         lockNum: [],
         stopReason: [],
         afterStopStep: [],
         actualStopDate: [],
         stopSubmitPersonName: [],
         stopSubmitDate: [],
         recoveryReason: [],
         recoverySubmitDate: [],
         actualRecoveryDate: [],
         destoryReason: [],
         destorySubmitDate: [],
         actualDestoryDate: [],
      });
      // 提交
      const submitForm = async (formEl: FormInstance | undefined) => {
         if (!formEl) return;
@@ -539,9 +586,20 @@
                  });
            }
         });
         formEl.resetFields();
         form.value.takecareDetailList = [];
         form.value.testDetailList = [];
         form.value.repaireDetailList = [];
         form.value.checkStandardeDetailList = [];
      };
      //   取消
      const resetForm = () => {
      const resetForm = (formEl: FormInstance | undefined) => {
         if (!formEl) return;
         formEl.resetFields();
         form.value.takecareDetailList = [];
         form.value.testDetailList = [];
         form.value.repaireDetailList = [];
         form.value.checkStandardeDetailList = [];
         dialogVisible.value = false;
      };
      const activeName = ref('first');