shj
2022-08-09 c64c8f43ec1a3d88feb1f915fd488040b6358e7d
src/components/equipmentDailog/DailogS.vue
@@ -1,11 +1,11 @@
<template>
   <el-dialog :fullscreen="full" v-model="dialogVisible" draggable :title="titles" width="60%">
   <el-dialog :fullscreen="full" v-model="dialogVisible" draggable :title="titles" width="60%" @close="resetForm(ruleFormRef)">
      <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
      <el-form :model="form" label-width="130px" :disabled="disabled">
      <el-form :model="form" ref="ruleFormRef" label-width="130px" :rules="rules" :disabled="disabled">
         <el-row>
            <el-col :span="11">
               <el-form-item label="类型/类别外键" size="default">
                  <el-input v-model="form.equipmentTypeId" placeholder="请选择">
               <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeId">
                  <el-input v-model="form.equipmentTypeName" placeholder="请选择">
                     <template #append>
                        <el-button :icon="Search" @click="opencategory"></el-button>
                     </template>
@@ -14,7 +14,7 @@
            </el-col>
            <el-col :span="11" :offset="2">
               <el-form-item label="装置/部位名称" size="default">
                  <el-input v-model="form.name" placeholder="请选择" />
                  <el-input v-model="form.name" placeholder="请填写装置/部位名称" />
               </el-form-item>
            </el-col>
         </el-row>
@@ -39,10 +39,10 @@
               </el-form-item>
            </el-col>
            <el-col :span="11" :offset="2">
               <el-form-item label="联系人" size="default">
               <el-form-item label="联系人" size="default" prop="connectPersonName">
                  <el-input v-model="form.connectPersonName" placeholder="请选择">
                     <template #append>
                        <el-button :icon="Search" @click="openUser(0)"></el-button>
                        <el-button :icon="Search" @click="openUser(1)"></el-button>
                     </template>
                  </el-input>
               </el-form-item>
@@ -50,19 +50,19 @@
         </el-row>
         <el-row>
            <el-col :span="11">
               <el-form-item label="录入人" size="default">
               <el-form-item label="录入人" size="default" prop="inputPersonName">
                  <el-input v-model="form.inputPersonName" placeholder="请选择">
                     <template #append>
                        <el-button :icon="Search" @click="openUser(1)"></el-button>
                        <el-button :icon="Search" @click="openUser(2)"></el-button>
                     </template>
                  </el-input>
               </el-form-item>
            </el-col>
            <el-col :span="11" :offset="2">
               <el-form-item label="责任人" size="default">
               <el-form-item label="责任人" size="default" prop="responsibilityPersonName">
                  <el-input v-model="form.responsibilityPersonName" placeholder="请选择">
                     <template #append>
                        <el-button :icon="Search" @click="openUser(2)"></el-button>
                        <el-button :icon="Search" @click="openUser(3)"></el-button>
                     </template>
                  </el-input>
               </el-form-item>
@@ -72,21 +72,21 @@
            <el-col :span="11">
               <el-form-item label="装置部位分类" size="default">
                  <el-select v-model="form.partType" placeholder="请选择" style="width: 100%">
                     <el-option label="关键装置" value="关键装置" />
                     <el-option label="重点部位" value="重点部位" />
                     <el-option label="关键装置" value="1" />
                     <el-option label="重点部位" value="2" />
                  </el-select>
               </el-form-item>
            </el-col>
            <el-col :span="11" :offset="2">
               <el-form-item label="检查周期" size="default">
                  <el-input v-model="form.checkCycle" placeholder="请选择检查周期" />
                  <el-input v-model="form.checkCycle" placeholder="请填写检查周期" />
               </el-form-item>
            </el-col>
         </el-row>
         <el-row>
            <el-col :span="11">
               <el-form-item label="相关应急预案" size="default">
                  <el-input v-model="form.emergencePlanId" placeholder="请选择">
                  <el-input v-model="form.emergencePlanName" placeholder="请选择">
                     <template #append>
                        <el-button :icon="Search" @click="openPlan"></el-button>
                     </template>
@@ -95,21 +95,20 @@
            </el-col>
            <el-col :span="11" :offset="2">
               <el-form-item label="主要危险有害因素" size="default">
                  <el-input v-model="form.dangerousElement" placeholder="请选择" />
                  <el-input v-model="form.dangerousElement" placeholder="请填写主要危险有害因素" />
               </el-form-item>
            </el-col>
         </el-row>
         <el-row>
            <el-col :span="11">
               <el-form-item label="易导致风险" size="default">
                  <el-input v-model="form.toDangerous" placeholder="请选择易导致风险" />
                  <el-input v-model="form.toDangerous" placeholder="请填写易导致风险" />
               </el-form-item>
            </el-col>
            <el-col :span="11" :offset="2">
               <el-form-item label="应急处置措施" size="default">
                  <el-input v-model="form.treatment" placeholder="请选择应急处置措施" />
                  <el-input v-model="form.treatment" placeholder="请填写应急处置措施" />
               </el-form-item>
            </el-col>
         </el-row>
@@ -133,7 +132,7 @@
         </el-row>
         <el-row>
            <el-col :span="11">
               <el-form-item label="备注信息" size="default"> <el-input v-model="form.name" placeholder="请选择应急处置措施" /> </el-form-item>
               <el-form-item label="备注信息" size="default"> <el-input v-model="form.name" placeholder="请填写备注信息" /> </el-form-item>
            </el-col>
         </el-row>
      </el-form>
@@ -241,23 +240,21 @@
      </el-tabs>
      <template #footer>
         <span class="dialog-footer">
            <el-button @click="resetForm">关闭</el-button>
            <el-button type="primary" @click="submitForm">确定</el-button>
            <el-button @click="resetForm(ruleFormRef)">关闭</el-button>
            <el-button type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
         </span>
      </template>
   </el-dialog>
   <categoryDailog ref="categoryShow"></categoryDailog>
   <categoryDailog ref="categoryShow" @typeId="Tid"></categoryDailog>
   <RegionsDialog ref="planShow" @SearchUser="onUser"></RegionsDialog>
   <DailogSearchUser ref="UserOneShow" @SearchUser="userId"></DailogSearchUser>
<!--   <DailogSearchUser ref="UserTwoShow" @SearchUser="userId"></DailogSearchUser>-->
<!--   <DailogSearchUser ref="UserThreeShow" @SearchUser="userId"></DailogSearchUser>-->
   <DailogSearchUser ref="UserShow" @SearchUser="userId"></DailogSearchUser>
   <maintenanceDailog ref="maintenanceShow" @onMain="main"></maintenanceDailog>
   <detectDailog ref="detectShow" @onDelect="delect"></detectDailog>
   <repairDailog ref="repairShow" @onRepair="Repair"></repairDailog>
   <standardDailog ref="standardShow" @onStand="Stand"></standardDailog>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
import { defineComponent, ref ,reactive} from 'vue';
import { Search, Plus, FullScreen } from '@element-plus/icons-vue';
import { timeDate } from '/@/assets/index.ts';
import categoryDailog from './categoryDailog.vue';
@@ -267,21 +264,22 @@
import repairDailog from './repairDailog.vue';
import standardDailog from './standardDailog.vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import { ElMessage, ElMessageBox ,FormInstance ,FormRules,} from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
import { facilityManagementApi } from '/@/api/facilityManagement';
import { goalManagementApi } from '/@/api/goalManagement';
import {deepClone} from '/@/utils/other'
export default defineComponent({
   components: { categoryDailog, RegionsDialog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
   setup(props, { emit }) {
      const dialogVisible = ref(false);
      const form = ref({
         equipmentTypeId: '',
         equipmentTypeId: 1,
      equipmentTypeName:"",
         treatment: '',
         inputPersonId: '',
      inputPersonName:'',
      inputPersonName: '',
         departmentId: '',
         delRepaireDetailList: [],
@@ -292,11 +290,11 @@
         checkDetailList: [],
         responsibilityPersonId: '',
      responsibilityPersonName:'',
      responsibilityPersonName: '',
         delTakecareStardardeDetailList: [],
         connectPersonId: '',
      connectPersonName:'',
      connectPersonName: '',
         scenePic: '',
@@ -324,7 +322,8 @@
         position: '',
         emergencePlanId: '',
      emergencePlanId: '',
      emergencePlanName:'',
         checkStandardeDetailList: [],
         infoTpe: '',
@@ -338,6 +337,7 @@
         delTestDetails: '',
      });
    const ruleFormRef = ref<FormInstance>();
      const titles = ref();
      const disabled = ref(false);
      const Dailogtype = ref(false);
@@ -408,33 +408,29 @@
      };
      const onUser = (e: any) => {
         form.value.emergencePlanId = e.id;
      form.value.emergencePlanName=e.name
      };
      const UserOneShow = ref();
      // const UserTwoShow = ref();
      // const UserThreeShow = ref();
      const openUser = (type: number) => {
         // if (type == 0) {
         //    UserOneShow.value.openDailog();
         // } else if (type == 1) {
         //    UserTwoShow.value.openDailog();
         // } else if (type == 2) {
         //    UserThreeShow.value.openDailog();
         // }
      UserOneShow.value.openDailog();
      const UserShow = ref();
      const openUser = (type: any) => {
      UserShow.value.openDailog(type);
      };
      const userId = ( type: number,val: any) => {
         if (type == 0) {
        form.value.connectPersonId = val.uid;
        form.value.connectPersonName = val.realName;
         } else if (type == 1) {
        form.value.inputPersonId = val.uid;
        form.value.inputPersonName = val.username;
      const userId = (val: any, type: number) => {
         if (type == 1) {
            form.value.connectPersonId = val.uid;
            form.value.connectPersonName = val.realName;
         } else if (type == 2) {
        form.value.responsibilityPersonId = val.id;
        form.value.responsibilityPersonName = val.username;
            form.value.inputPersonId = val.uid;
            form.value.inputPersonName = val.realName;
         } else if (type == 3) {
            form.value.responsibilityPersonId = val.id;
            form.value.responsibilityPersonName = val.realName;
         }
      };
    const Tid=(data:any)=>{
      form.value.equipmentTypeId=data.id
      form.value.equipmentTypeName=data.typeName
    }
      const maintenanceShow = ref();
      const openMaintenance = (title: string, data: any) => {
         index.value = form.value.takecareDetailList.indexOf(data);
@@ -507,35 +503,42 @@
         deleteDId.value.push(tag.id);
      };
      // 回传
      const main = (val: any) => {
      const main = (data: any) => {
      let val=deepClone(data)
         if (index.value == -1) {
            form.value.takecareDetailList.push(val);
         } else {
            form.value.takecareDetailList[index.value] = val;
         }
      };
      const delect = (val: any) => {
      const delect = (data: any) => {
      let val=deepClone(data)
         if (index.value == -1) {
            form.value.testDetailList.push(val);
         } else {
            form.value.testDetailList[index.value] = val;
         }
      };
      const Repair = (val: any) => {
      const Repair = (data: any) => {
      let val=deepClone(data)
         if (index.value == -1) {
            form.value.repaireDetailList.push(val);
         } else {
            form.value.repaireDetailList[index.value] = val;
         }
      };
      const Stand = (val: any) => {
      const Stand = (data: any) => {
      let val=deepClone(data)
         if (index.value == -1) {
            form.value.checkStandardeDetailList.push(val);
         } else {
            form.value.checkStandardeDetailList[index.value] = val;
         }
      };
    const rules = reactive<FormRules>({
      equipmentTypeId: [],
      equipmentTypeName:[],
    })
      //图片提交
      const imageUrl = ref('');
@@ -594,6 +597,7 @@
         delect,
         Repair,
         Stand,
      ruleFormRef,
         index,
         activeName,
         categoryShow,
@@ -601,10 +605,9 @@
         planShow,
         onUser,
         openPlan,
         UserOneShow,
         // UserTwoShow,
         // UserThreeShow,
      UserShow,
         openUser,
      rules,
         maintenanceShow,
         openMaintenance,
         detectShow,
@@ -628,6 +631,7 @@
         full,
         toggleFullscreen,
         FullScreen,
      Tid,
         resetForm,
         deleteAId,
         deleteBId,