shj
2022-08-03 96103611f97b412453ecf0948792987956e4f29f
src/components/equipmentDailog/Dailog.vue
@@ -21,39 +21,30 @@
               </template>
            </el-input>
         </el-form-item>
         <el-form-item label="区域名称" size="default">
         <!-- <el-form-item label="区域名称" size="default">
            <el-input v-model="form.name" placeholder="请选择">
               <template #append>
                  <el-button :icon="Search" @click="openRegion"></el-button>
               </template>
            </el-input>
         </el-form-item>
         </el-form-item> -->
         <el-form-item label="单位部门" size="default">
            <el-select v-model="form.departmentId" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
            </el-select>
            <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-input v-model="form.setPart" placeholder="请填写设置部位" />
         </el-form-item>
         <el-form-item label="生产日期" size="default">
            <el-date-picker
               v-model="form.produceTime"
               :size="large"
               format="YYYY-MM-DD HH:mm:ss"
               type="datetime"
               placeholder="选择日期时间"
               style="width: 100%"
            />
            <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-input v-model="form.useEndDay" placeholder="请填写使用期限" />
         </el-form-item>
         <el-form-item label="生命周期" size="default">
            <el-select v-model="form.lifeCycle" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
               <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">
@@ -61,14 +52,16 @@
         </el-form-item>
         <el-form-item label="维修状态" size="default">
            <el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
               <el-option label="维修中" value="1" />
               <el-option label="已修好" value="2" />
            </el-select>
         </el-form-item>
         <el-form-item label="停用状态" size="default">
            <el-select v-model="form.stopStatus" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
               <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">
@@ -104,15 +97,19 @@
         <el-form-item label="负责人" size="default">
            <el-input v-model="form.leadingPersonId" placeholder="请选择">
               <template #append>
                  <el-button :icon="Search" @click="openUser"></el-button>
                  <el-button :icon="Search" @click="openUser(0)"></el-button>
               </template>
            </el-input>
         </el-form-item>
         <el-form-item label="负责人部门" size="default">
            <el-select v-model="form.leadingPersonDepartmentId" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
            </el-select>
            <el-tree-select
               v-model="form.leadingPersonDepartmentId"
               :data="data"
               check-strictly="true"
               class="w100"
               :props="propse"
               placeholder="请选择"
            />
         </el-form-item>
         <el-form-item label="供应商" size="default">
            <el-input v-model="form.supplyName" placeholder="请填写供应商" />
@@ -122,8 +119,8 @@
         </el-form-item>
         <el-form-item label="是否检查" size="default">
            <el-select v-model="form.isNeedCheck" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
               <el-option label="是" value="1" />
               <el-option label="否" value="2" />
            </el-select>
         </el-form-item>
         <el-form-item label="检查周期" size="default">
@@ -134,8 +131,8 @@
         </el-form-item>
         <el-form-item label="是否检测" size="default">
            <el-select v-model="form.isNeedTest" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
               <el-option label="是" value="1" />
               <el-option label="否" value="2" />
            </el-select>
         </el-form-item>
         <el-form-item label="检测周期" size="default">
@@ -146,18 +143,15 @@
         </el-form-item>
         <el-form-item label="是否保养" size="default">
            <el-select v-model="form.isNeedTakecare" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
               <el-option label="是" value="1" />
               <el-option label="否" value="2" />
            </el-select>
         </el-form-item>
         <el-form-item label="检查内容" size="default">
            <el-input v-model="form.checkContent" placeholder="请填写检查内容" />
         </el-form-item>
         <el-form-item label="负责部门" size="default">
            <el-select v-model="form.leadingDepartmentId" placeholder="请选择" style="width: 100%">
               <el-option label="Zone one" value="shanghai" />
               <el-option label="Zone two" value="beijing" />
            </el-select>
            <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-input v-model="form.checkPoint" placeholder="请填写检查指标" />
@@ -180,7 +174,7 @@
         <el-form-item label="停用提交人" size="default">
            <el-input v-model="form.stopSubmitPersonId" placeholder="请选择">
               <template #append>
                  <el-button :icon="Search" @click="openUser"></el-button>
                  <el-button :icon="Search" @click="openUser(1)"></el-button>
               </template>
            </el-input>
         </el-form-item>
@@ -241,6 +235,8 @@
               <el-table-column align="center" label="操作">
                  <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>
@@ -257,6 +253,8 @@
               <el-table-column align="center" label="操作">
                  <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>
@@ -272,9 +270,10 @@
               <el-table-column align="center" prop="repairStartDate" label="维修开始日期" />
               <el-table-column align="center" prop="repairEndDate" label="维修结束日期" />
               <el-table-column align="center" label="操作">
                  <template #default="scope"
                     >
                  <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>
@@ -291,6 +290,8 @@
               <el-table-column align="center" label="操作">
                  <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>
@@ -334,7 +335,7 @@
   </el-dialog>
   <categoryDailog ref="categoryShow"></categoryDailog>
   <regionDailog ref="regionShow"></regionDailog>
   <DailogSearchUser ref="UserShow"></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>
@@ -353,54 +354,46 @@
import { ElMessage, ElMessageBox } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
import { facilityManagementApi } from '/@/api/facilityManagement';
import { goalManagementApi } from '/@/api/goalManagement';
import { number } from 'echarts';
export default defineComponent({
   components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
   setup(props, { emit }) {
      const dialogVisible = ref(false);
      const form = ref({
         supplyName: 'name1',
         supplyName: '',
         nextTestDate: 1658279204173,
         nextTestDate: '',
         qUsage: '23',
         qUsage: '',
         departmentId: 1,
         departmentId: '',
         produceTime: 1658279204173,
         produceTime: '',
         actualStopDate: 1658279204173,
         actualStopDate: '',
         takecareDetailList: [
            {
               leadingPersonDepartmentId: 2,
         takecareDetailList: [],
               takecareDate: 1658279204172,
         infoType: '',
               leadingPersonId: 4,
         leadingDepartmentId: '',
               takecareMemo: '',
            },
         ],
         useEndDay: '',
         infoType: 2,
         previousTakecareDate: '',
         leadingDepartmentId: 2,
         useEndDay: '1234',
         previousTakecareDate: 1658279204173,
         previousCheckDate: 1658279204173,
         previousCheckDate: '',
         model: '',
         stopStatus: 0,
         stopStatus: '',
         testWarn: '',
         stopSubmitDate: 1658279204173,
         stopSubmitDate: '',
         repairStatus: 0,
         repairStatus: '',
         takecareStardardeDetailList: [
            {
@@ -408,142 +401,102 @@
            },
         ],
         nextCheckDate: 1658279204173,
         nextCheckDate: '',
         checkCycle: '发多少',
         checkCycle: '',
         checkPoint: '发多少',
         checkPoint: '',
         leadingPersonId: 0,
         leadingPersonId: '',
         qName: '发顺丰',
         qName: '',
         nextTakecareDate: 1658279204173,
         nextTakecareDate: '',
         setPart: '改好',
         setPart: '',
         checkStandardeDetailList: [
            {
               checkTarget: '3',
         checkStandardeDetailList: [],
               checkPart: '5',
         actualDestoryDate: '',
               checkContent: '2',
         isNeedTest: '',
               indexNum: '1',
         alertNum: '',
               unit: '4',
         checkContent: '',
               rate: '6',
            },
         ],
         useMemo: '',
         actualDestoryDate: 1658279204173,
         previousTestDate: '',
         isNeedTest: 0,
         isNeedTakecare: '',
         alertNum: '321',
         checkContent: '312',
         useMemo: '312',
         previousTestDate: 1658279204173,
         isNeedTakecare: 1,
         destoryReason: '312',
         destoryReason: '',
         checkDetailList: [],
         positionNum: '34',
         positionNum: '',
         testCycle: '566',
         testCycle: '',
         recoveryReason: '89',
         recoveryReason: '',
         isNeedCheck: 0,
         isNeedCheck: '',
         actualRecoveryDate: 1658279204173,
         actualRecoveryDate: '',
         leadingPersonDepartmentId: 3,
         leadingPersonDepartmentId: '',
         stopReason: 'fdf',
         stopReason: '',
         destorySubmitDate: 1658279204173,
         destorySubmitDate: '',
         testDetailList: [
            {
               testMemo: '',
               testPersonDepartmentId: 0,
               testStatus: '',
               testPersonId: 0,
               testResult: 0,
               testDate: 1658279204171,
            },
         ],
         testDetailList: [],
         checkWarn: '',
         repaireDetailList: [
            {
               repairStatus: 0,
         repaireDetailList: [],
               repairPersonDepartmentId: 0,
         equipmentTypeId: 1,
               repairMemo: '发生的',
         useDate: '',
               repairPersonId: 0,
         recoverySubmitDate: '',
               repairEndDate: 1658279204171,
         lockNum: '',
               repairStartDate: 1658279204171,
         stopSubmitPersonId: '',
               exceptionInfo: 'ddd对对对',
            },
         ],
         afterStopStep: '',
         equipmentTypeId: 4,
         lifeCycle: '',
         useDate: 1658279204173,
         delCheckStandardeDetails: '',
         recoverySubmitDate: 1658279204173,
         delTakecareStardardeDetails: '',
         lockNum: '94',
         delTakecareDetails: '',
         stopSubmitPersonId: 2,
         delRepaireDetails: '',
         afterStopStep: '32',
         lifeCycle: 1,
         delCheckStandardeDetails: '1,2',
         delTakecareStardardeDetails: '1,2',
         delTakecareDetails: '1,2',
         delRepaireDetails: '1,2',
         delTestDetails: '1,2',
         delTestDetails: '',
      });
      const titles = ref();
      const disabled = ref(false);
      const Dailogtype = ref(false);
      const openDailog = (title: string, type: boolean, id: number, num: any) => {
         dialogVisible.value = true;
         department();
         Dailogtype.value = type;
         if (num == 0) {
            titles.value = `${title}仪表信息`;
            form.value.infoType = num;
         } else if (num == 1) {
            titles.value = `${title}设备设施`;
            form.value.infoType = num;
         } else if (num == 2) {
            titles.value = `${title}设备设施`;
            form.value.infoType = num;
         }
         disabled.value = title == '查看' ? true : false;
@@ -560,6 +513,10 @@
      };
      // 提交
      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()
            .getequipmentInfoAddOrUpdate(form.value)
@@ -582,7 +539,7 @@
         // form.value = null;
      };
      const activeName = ref('first');
      const index = ref<any>();
      const categoryShow = ref();
      const opencategory = () => {
         categoryShow.value.openDailog();
@@ -592,23 +549,27 @@
         regionShow.value.openDailog();
      };
      const UserShow = ref();
      const openUser = () => {
         UserShow.value.openDailog();
      const openUser = (type: any) => {
         UserShow.value.openDailog(type);
      };
      const maintenanceShow = ref();
      const openMaintenance = (title: string, data: any) => {
         index.value = form.value.takecareDetailList.indexOf(data);
         maintenanceShow.value.openDailog(title, data);
      };
      const detectShow = ref();
      const openDetect = (title: string, data: any) => {
         index.value = form.value.testDetailList.indexOf(data);
         detectShow.value.openDailog(title, data);
      };
      const repairShow = ref();
      const openRepair = (title: string, data: any) => {
         index.value = form.value.repaireDetailList.indexOf(data);
         repairShow.value.openDailog(title, data);
      };
      const standardShow = ref();
      const openStandard = (title: string, data: any) => {
         index.value = form.value.checkStandardeDetailList.indexOf(data);
         standardShow.value.openDailog(title, data);
      };
      // 上传
@@ -641,19 +602,64 @@
            () => 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) => {
         form.value.takecareDetailList.push(val);
         if (index.value == -1) {
            form.value.takecareDetailList.push(val);
         } else {
            form.value.takecareDetailList[index.value] = val;
         }
      };
      const delect = (val: any) => {
         form.value.testDetailList.push(val);
         if (index.value == -1) {
            form.value.testDetailList.push(val);
         } else {
            form.value.testDetailList[index.value] = val;
         }
      };
      const Repair= (val:any)=>{
         form.value.repaireDetailList.push(val);
      }
      const Stand=(val:any)=>{
         form.value.checkStandardeDetailList.push(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 userId = (val: any, type: number) => {
         console.log(val, type);
         if (type == 0) {
            form.value.leadingPersonId = val.uid;
         } else if (type == 1) {
            form.value.stopSubmitPersonId = val.uid;
         }
      };
      //全屏
      const full = ref(false);
      const toggleFullscreen = () => {
@@ -663,8 +669,39 @@
            full.value = false;
         }
      };
      //部门树
      const department = () => {
         goalManagementApi()
            .getTreedepartment()
            .then((res) => {
               if (res.data.code == 200) {
                  data.value = res.data.data;
               } else {
                  ElMessage.error(res.data.msg);
               }
            });
      };
      const propse = {
         label: 'depName',
         children: 'children',
         value: 'depId',
      };
      const data = ref();
      return {
         userId,
         department,
         propse,
         data,
         deleteAId,
         deleteBId,
         deleteCId,
         deleteDId,
         deleteA,
         deleteB,
         deleteC,
         deleteD,
         main,
         index,
         delect,
         Repair,
         Stand,