13937891274
2022-08-02 db75c6a59acad51cb17577c522e6a4debf72b3b6
src/components/equipmentDailog/DailogS.vue
@@ -1,6 +1,6 @@
<template>
   <el-dialog :fullscreen="full" v-model="isShowDialog" :title="titles" width="60%">
         <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
   <el-dialog :fullscreen="full" v-model="dialogVisible" draggable :title="titles" width="60%">
      <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
      <el-form :model="form" label-width="130px" :disabled="disabled">
         <el-row>
            <el-col :span="11">
@@ -120,7 +120,7 @@
            <el-col :span="24">
               <el-form-item label="现场图片">
                  <el-upload
              v-model="form.scenePic"
                     v-model="form.scenePic"
                     class="avatar-uploader"
                     action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                     :show-file-list="false"
@@ -141,22 +141,24 @@
      </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-table :data="tableData" style="width: 100%">
            <el-button type="primary" size="default" @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="leadingPersonId" label="保养负责人" />
               <el-table-column align="center" prop="takecareDate" label="保养日期" />
               <el-table-column align="center" prop="leadingPersonDepartmentId" label="保养负责人单位" />
               <el-table-column align="center" label="操作">
                  <template #default>
                     <el-button link type="primary" size="small">查看</el-button>
                  <template #default="scope">
                     <el-button link type="primary" @click="openMaintenance('查看', scope.row)" size="small">查看</el-button>
              <el-button link type="primary" @click="openMaintenance('修改', scope.row)" size="small">修改</el-button>
              <el-button link type="primary" @click="deleteA(scope.row)" size="small">删除</el-button>
                  </template>
               </el-table-column>
            </el-table>
         </el-tab-pane>
         <el-tab-pane label="设备检测" name="second">
            <el-button type="primary" size="default" @click="openDetect">新增</el-button>
            <el-table :data="tableData" style="width: 100%">
            <el-button type="primary" size="default" @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" label="检测日期" />
               <el-table-column align="center" prop="testPersonDepartmentId" label="检测人单位" />
@@ -164,15 +166,17 @@
               <el-table-column align="center" prop="testResult" label="检测结果" />
               <el-table-column align="center" prop="testStatus" label="检测状态" />
               <el-table-column align="center" label="操作">
                  <template #default>
                     <el-button link type="primary" size="small">查看</el-button>
                  <template #default="scope">
                     <el-button link type="primary" @click="openDetect('查看', scope.row)" size="small">查看</el-button>
              <el-button link type="primary" @click="openDetect('修改', scope.row)" size="small">修改</el-button>
              <el-button link type="primary" @click="deleteB(scope.row)" size="small">删除</el-button>
                  </template>
               </el-table-column>
            </el-table>
         </el-tab-pane>
         <el-tab-pane label="设备维修" name="third">
            <el-button type="primary" size="default" @click="openRepair">新增</el-button>
            <el-table :data="tableData" style="width: 100%">
            <el-button type="primary" size="default" @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="维修状态" />
               <el-table-column align="center" prop="repairMemo" label="维修情况" />
@@ -181,15 +185,18 @@
               <el-table-column align="center" prop="repairStartDate" label="维修开始日期" />
               <el-table-column align="center" prop="repairEndDate" label="维修结束日期" />
               <el-table-column align="center" label="操作">
                  <template #default>
                     <el-button link type="primary" size="small">查看</el-button>
                  <template #default="scope">
                     <el-button link type="primary" @click="openRepair('查看', scope.row)" size="small">查看</el-button>
              <el-button link type="primary" @click="openRepair('修改', scope.row)" size="small">修改</el-button>
              <el-button link type="primary" @click="deleteC(scope.row)" size="small">删除</el-button>
                  </template>
               </el-table-column>
            </el-table>
         </el-tab-pane>
         <el-tab-pane label="检查标准设置" name="fourth">checkContent
            <el-button type="primary" size="default" @click="openStandard">新增</el-button>
            <el-table :data="tableData" style="width: 100%">
         <el-tab-pane label="检查标准设置" name="fourth"
            >checkContent
            <el-button type="primary" size="default" @click="openStandard('新增', '')">新增</el-button>
            <el-table :data="form.checkStandardeDetailList" style="width: 100%">
               <el-table-column align="center" type="indexNum" label="序号" width="75" />
               <el-table-column align="center" prop="checkContent" label="检查内容" />
               <el-table-column align="center" prop="checkTarget" label="检查指标" />
@@ -197,14 +204,16 @@
               <el-table-column align="center" prop="checkPart" label="巡检部位" />
               <el-table-column align="center" prop="rate" label="频次" />
               <el-table-column align="center" label="操作">
                  <template #default>
                     <el-button link type="primary" size="small">查看</el-button>
                  <template #default="scope">
                     <el-button link type="primary" @click="openStandard('查看', scope.row)" size="small">查看</el-button>
              <el-button link type="primary" @click="openStandard('修改', scope.row)" size="small">修改</el-button>
              <el-button link type="primary" @click="deleteD(scope.row)" size="small">删除</el-button>
                  </template>
               </el-table-column>
            </el-table>
         </el-tab-pane>
         <el-tab-pane label="巡检记录" name="five">
            <el-table :data="tableData" style="width: 100%">
            <el-table :data="name" style="width: 100%">
               <el-table-column align="center" type="selection" width="75" />
               <el-table-column align="center" sortable prop="name" label="任务编号" />
               <el-table-column align="center" sortable prop="address" label="任务名称" />
@@ -235,22 +244,22 @@
      </el-tabs>
      <template #footer>
         <span class="dialog-footer">
            <el-button @click="resetForm(ruleFormRef)">关闭</el-button>
            <el-button type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button>
            <el-button @click="resetForm">关闭</el-button>
            <el-button type="primary" @click="submitForm">确定</el-button>
         </span>
      </template>
   </el-dialog>
   <categoryDailog ref="categoryShow"></categoryDailog>
   <planDailog ref="planShow"></planDailog>
   <DailogSearchUser ref="UserShow"></DailogSearchUser>
   <maintenanceDailog ref="maintenanceShow"></maintenanceDailog>
   <detectDailog ref="detectShow"></detectDailog>
   <repairDailog ref="repairShow"></repairDailog>
   <standardDailog ref="standardShow"></standardDailog>
   <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, reactive } from 'vue';
import { Search,Plus,FullScreen, FormInstance, } from '@element-plus/icons-vue';
import { defineComponent, ref } from 'vue';
import { Search, Plus, FullScreen } from '@element-plus/icons-vue';
import categoryDailog from './categoryDailog.vue';
import planDailog from './planDailog.vue';
import maintenanceDailog from './maintenanceDailog.vue';
@@ -260,129 +269,182 @@
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
import {facilityManagementApi} from "/@/api/facilityManagement";
import { facilityManagementApi } from '/@/api/facilityManagement';
export default defineComponent({
   components: { categoryDailog, planDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
   setup() {
      const isShowDialog = ref(false);
      const form = reactive({
      equipmentTypeId: '',
      treatment: '',
      inputPersonId: '',
      departmentId: '',
      delRepaireDetailList: [],
      delTestDetailList: [],
      takecareDetailList: [{
        leadingPersonId:'',
        takecareDate:'',
        leadingPersonDepartmentId:'',
        equipmentId: '',
        takecareMemo: '',
      }],
      checkDetailList:[],
   setup(props, { emit }) {
      const dialogVisible = ref(false);
      const form = ref({
         equipmentTypeId: '',
         treatment: '',
         inputPersonId: '',
         departmentId: '',
         delRepaireDetailList: [],
         delTestDetailList: [],
         takecareDetailList: [
            {
          leadingPersonDepartmentId: '',
          takecareDate: '',
          equipmentId: '',
          leadingPersonId: '',
          takecareMemo: '',
            },
         ],
      checkDetailList: [],
      responsibilityPersonId: '',
      delTakecareStardardeDetailList: [],
      connectPersonId:'',
      scenePic:'',
      partType:'',
      toDangerous:'',
      dangerousElement:'',
      connectPersonId: '',
      scenePic: '',
      partType: '',
      toDangerous: '',
      dangerousElement: '',
      takecareStardardeDetailList: [
        {
          filePath: '',
        }
      ],
      testDetailList:[{
        testMemo:'',
        testPersonDepartmentId:'',
        testPersonId:'',
        testStatus:'',
        testResult:'',
        testDate:'',
      }],
            {
               filePath: '',
            },
         ],
      testDetailList: [
            {
          testMemo: '',
          testPersonDepartmentId: '',
          testStatus: '',
          testPersonId: '',
          testResult: '',
          testDate: '' ,
            },
         ],
      checkCycle: '',
      repaireDetailList:[{
        repairStatus:'',
        repairPersonDepartmentId:'',
        repairMemo:'',
        infoTpe:'',
        repairPersonId:'',
        repairEndDate:'',
        repairStartDate:'',
        exceptionInfo:'',
      }],
      delCheckStandardeDetailList:[],
      repaireDetailList: [
            {
          repairStatus: '',
          repairPersonDepartmentId: '',
          repairMemo: '',
          infoTpe: '',
          repairPersonId: '',
          repairEndDate: '',
          repairStartDate: '',
          exceptionInfo: '',
            },
         ],
      delCheckStandardeDetailList: [],
      leadingPersonName: '',
      name: '',
      delTakecareDetailList:[],
      position:'',
      emergencePlanId: '',
      checkStandardeDetailList: [{
        checkContent:'',
        checkTarget:'',
        unit:'',
        checkPart:'',
        rate:'',
        indexNum:'',
      }],
         delTakecareDetailList: [],
      position: '',
      emergencePlanId: 0,
      checkStandardeDetailList: [
            {
          indexNum: '',
          checkTarget: '',
          checkPart: '',
          checkContent: '',
          unit: '',
          rate: '',
            },
         ],
      delCheckStandardeDetails: '',
      delTakecareStardardeDetails: '',
      delTakecareDetails: '',
      delRepaireDetails: '',
      delTestDetails: '',
      });
      const Dailogtype = ref(false);
      const openDailog = (type: boolean) => {
      isShowDialog.value = true;
         Dailogtype.value = type;
      };
    const ruleFormRef = ref<FormInstance>()
      const activeName = ref('first');
    const titles = ref();
    const disabled = ref();
    // 打开弹窗
    const openDialog = (title: string, id: number, type: boolean) => {
      isShowDialog.value = true;
      titles.value = title;
      disabled.value = type;
      if (title == '查看仪器仪表' || title == '修改仪器仪表') {
        facilityManagementApi()
            .getkeypointEquipmentInfoDetail(id)
            .then((res) => {
              if (res.data.code == 200) {
                form.value = res.data.data;
              }
            });
    const disabled = ref(false);
    const Dailogtype = ref(false);
      const openDailog = (title: string, type: boolean, id: number, num: any) => {
         dialogVisible.value = true;
         Dailogtype.value = type;
      if (num == 0) {
        titles.value = `${title}仪表信息`;
      } else if (num == 1) {
        titles.value = `${title}设备设施`;
      } else if (num == 2) {
        titles.value = `${title}设备设施`;
      }
      disabled.value = title == '查看' ? true : false;
      if (title == '查看' || title == '修改')
        facilityManagementApi()
        .getkeypointEquipmentInfoDetail(id)
        .then((res) => {
          if (res.data.code == 200) {
            form.value = res.data.data;
          } else {
            ElMessage.error(res.data.msg);
          }
        });
      };
    // 提交
    const submitForm = () => {
      form.value.delTakecareDetails =deleteAId.value.toString()
      form.value.delTestDetails =deleteBId.value.toString()
      form.value.delRepaireDetails =deleteCId.value.toString()
      form.value.delCheckStandardeDetails =deleteDId.value.toString()
      dialogVisible.value = false;
      facilityManagementApi()
          .getkeypointEquipmentInfoAddOrUpdate(form.value)
          .then((res) => {
            if (res.data.code == 200) {
              ElMessage({
                message: res.data.msg,
                type: 'success',
              });
              emit('navAddorUpdata');
            } else {
              ElMessage.error(res.data.msg);
            }
          });
      // form.value = null;
    };
    //   取消
    const resetForm = () => {
      dialogVisible.value = false;
    };
      const activeName = ref('first');
    const index = ref<any>();
    const categoryShow = ref();
    const opencategory = () => {
      categoryShow.value.openDailog();
    };
      const tableData = [
         {
            date: '2016-05-03',
            name: 'Tom',
            address: 'No. 189, Grove St, Los Angeles',
         },
         {
            date: '2016-05-02',
            name: 'Tom',
            address: 'No. 189, Grove St, Los Angeles',
         },
         {
            date: '2016-05-04',
            name: 'Tom',
            address: 'No. 189, Grove St, Los Angeles',
         },
         {
            date: '2016-05-01',
            name: 'Tom',
            address: 'No. 189, Grove St, Los Angeles',
         },
      ];
      const categoryShow = ref();
      const opencategory = () => {
         categoryShow.value.openDailog();
      };
      const planShow = ref();
      const openPlan = () => {
         planShow.value.openDailog();
@@ -392,20 +454,24 @@
         UserShow.value.openDailog();
      };
      const maintenanceShow = ref();
      const openMaintenance = () => {
         maintenanceShow.value.openDailog();
      const openMaintenance = (title: string, data: any) => {
      index.value = form.value.takecareDetailList.indexOf(data);
         maintenanceShow.value.openDailog(title, data);
      };
      const detectShow = ref();
      const openDetect = () => {
         detectShow.value.openDailog();
      const openDetect = (title: string, data: any) => {
      index.value = form.value.testDetailList.indexOf(data);
         detectShow.value.openDailog(title, data);
      };
      const repairShow = ref();
      const openRepair = () => {
         repairShow.value.openDailog();
      const openRepair = (title: string, data: any) => {
      index.value = form.value.repaireDetailList.indexOf(data);
         repairShow.value.openDailog(title, data);
      };
      const standardShow = ref();
      const openStandard = () => {
         standardShow.value.openDailog();
      const openStandard = (title: string, data: any) => {
      index.value = form.value.checkStandardeDetailList.indexOf(data);
         standardShow.value.openDailog(title, data);
      };
      // 上传
      const fileList = ref<UploadUserFile[]>([
@@ -437,6 +503,57 @@
            () => false
         );
      };
    const deleteAId = ref([]);
    const deleteBId = ref([]);
    const deleteCId = ref([]);
    const deleteDId = ref([]);
    // 删除
    const deleteA = (tag: any) => {
      form.value.takecareDetailList.splice(form.value.takecareDetailList.indexOf(tag), 1);
      deleteAId.value.push(tag.id);
    };
    const deleteB = (tag: any) => {
      form.value.testDetailList.splice(form.value.testDetailList.indexOf(tag), 1);
      deleteBId.value.push(tag.id);
    };
    const deleteC = (tag: any) => {
      form.value.repaireDetailList.splice(form.value.repaireDetailList.indexOf(tag), 1);
      deleteCId.value.push(tag.id);
    };
    const deleteD = (tag: any) => {
      form.value.checkStandardeDetailList.splice(form.value.checkStandardeDetailList.indexOf(tag), 1);
      deleteDId.value.push(tag.id);
    };
    // 回传
    const main = (val: any) => {
      if (index.value == -1) {
        form.value.takecareDetailList.push(val);
      } else {
        form.value.takecareDetailList[index.value] = val;
      }
    };
    const delect = (val: any) => {
      if (index.value == -1) {
        form.value.testDetailList.push(val);
      } else {
        form.value.testDetailList[index.value] = val;
      }
    };
    const Repair= (val:any)=>{
      if (index.value == -1) {
        form.value.repaireDetailList.push(val);
      } else {
        form.value.repaireDetailList[index.value] = val;
      }
    }
    const Stand=(val:any)=>{
      if (index.value == -1) {
        form.value.checkStandardeDetailList.push(val);
      } else {
        form.value.checkStandardeDetailList[index.value] = val;
      }
    }
      //图片提交
      const imageUrl = ref('');
@@ -454,23 +571,29 @@
         }
         return true;
      };
         //全屏
      //全屏
      const full = ref(false);
      const toggleFullscreen = () => {
         if (full.value == false) {
            full.value = true;
         }else{
        full.value = false;
      }
         } else {
            full.value = false;
         }
      };
      return {
      isShowDialog,
         submitForm,
         dialogVisible,
         Dailogtype,
         form,
         openDailog,
         Search,
      main,
      delect,
      Repair,
      Stand,
      index,
         activeName,
         tableData,
         categoryShow,
         opencategory,
         planShow,
@@ -489,24 +612,33 @@
         handleRemove,
         handlePreview,
         handleExceed,
      disabled,
      titles,
         beforeRemove,
         imageUrl,
         handleAvatarSuccess,
         beforeAvatarUpload,
         Plus,
            full,
         full,
         toggleFullscreen,
         FullScreen,
      ruleFormRef,
      openDialog,
         resetForm,
      deleteAId,
      deleteBId,
      deleteCId,
      deleteDId,
      deleteA,
      deleteB,
      deleteC,
      deleteD,
      };
   },
});
</script>
<style scoped>
 .el-row{
    padding: 0 0 20px 0;
 }
.el-row {
   padding: 0 0 20px 0;
}
.avatar-uploader .avatar {
   width: 178px;
   height: 178px;
@@ -514,7 +646,7 @@
}
</style>
<style>
   .avatar-uploader .el-upload {
.avatar-uploader .el-upload {
   border: 1px dashed var(--el-border-color);
   border-radius: 6px;
   cursor: pointer;