Admin
2022-07-20 479a6ca57a82e1208551aec68584d2cbce69633c
src/views/IntelligentXjSys/inspectionTaskManagement/inspectionTask/index.vue
@@ -111,43 +111,85 @@
      </el-scrollbar>
      <el-dialog v-model="dialogDetails" title="巡检任务">
         <el-form :model="details" label-width="120px">
            <el-form-item label="名称">
            <el-form-item label="任务名称">
               <el-input
                     v-model="details.name"
                     readonly
               />
            </el-form-item>
            <el-form-item label="排班类型">
            <el-form-item label="任务类型">
               <el-input
                     v-model="details.type"
                     readonly
               />
            </el-form-item>
            <el-form-item label="自定义循环班" v-if="JSON.parse(JSON.stringify(details.type)) == '循环班'">
               <div>
            <el-form-item label="执行巡检人员">
               <el-input
                     v-model="details.inspector"
                     readonly
               />
            </el-form-item>
            <el-form-item label="检查频次">
               <el-input
                     v-model="details.inspector"
                     readonly
               />
            </el-form-item>
            <el-form-item label="检查频次" prop="frequency">
               <el-input
                     v-model="details.frequency"
                     readonly
               >
                  <template #append>
                     <el-input
                           v-model="details.unit"
                           readonly
                     />
                  </template>
               </el-input>
            </el-form-item>
            <el-form-item label="周期开始时间">
               <el-input
                     v-model="details.startTime"
                     readonly
               />
            </el-form-item>
            <el-form-item label="周期有效时间">
               <el-input
                     v-model="details.validTime"
                     readonly
               />
            </el-form-item>
            <el-form-item label="巡检链">
               <div style="width: 100%;margin-left: -30px">
                  <div v-for="(item,index) in details.shiftSteps" class="stepItem">
                     <div class="stepNum">{{index+1}}</div>
                     <div class="stepCard">
                        <el-card class="box-card" shadow="hover">
                           <template #header>
                              <div class="card-header">
                                 <div>第<span>{{index+1}}</span>班</div>
                                 <div>{{item.name}}</div>
                              </div>
                           </template>
                           <div class="text item">排班名称:<span>{{item.name}}</span></div>
                           <div class="text item">工作天数:<span>{{item.days}}</span></div>
                           <div class="text item">休息天数:<span>{{item.rest}}</span></div>
                           <div class="text item">工作时段:<span>{{item.timeRange}}</span></div>
                           <div>
                              <el-table
                                    :data="item.inspectorData"
                                    style="width: 100%"
                                    :default-sort="{ prop: 'sort', order: 'ascending' }"
                                    :header-cell-style="{background: '#fafafa',padding: '5px'}"
                              >
                                 <el-table-column property="sort" sortable label="排序"/>
                                 <el-table-column property="name" label="巡检点名称"/>
                                 <el-table-column property="section" label="所属设备区域"/>
                                 <el-table-column property="rfid" label="关联RFID"/>
                                 <el-table-column property="norm" label="巡检指标"/>
                                 <el-table-column property="reference" label="数据参考值"/>
                              </el-table>
                           </div>
                        </el-card>
                     </div>
                  </div>
               </div>
            </el-form-item>
            <el-form-item label="工作时段" prop="timeRange" v-if="JSON.parse(JSON.stringify(details.type)) == '固定班'">
               <el-input
                     v-model="details.timeRange"
                     readonly
               />
            </el-form-item>
            <el-form-item>
               <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
@@ -237,8 +279,9 @@
                                 <el-table-column property="rfid" label="关联RFID"/>
                                 <el-table-column property="norm" label="巡检指标"/>
                                 <el-table-column property="reference" label="数据参考值"/>
                                 <el-table-column fixed="right" label="操作" align="center" width="80">
                                 <el-table-column fixed="right" label="操作" align="center" width="100">
                                    <template #default="scope">
                                       <el-button link type="primary" size="small" :icon="Edit" @click="editInspection(index,scope.$index ,scope.row)">修改</el-button>
                                       <el-button link type="danger" size="small" :icon="Delete" @click="deleteInspection(index,scope.$index)">删除</el-button>
                                    </template>
                                 </el-table-column>
@@ -298,6 +341,9 @@
      </el-dialog>
      <el-dialog v-model="dialogAddInspection" title="新增巡检点" @close="closeAddInspection">
         <el-form :model="addInspection" label-width="120px" ref="addInspectionRef" :rules="addInspectionRules">
            <el-form-item label="输入巡检点排序" prop="sort">
               <el-input-number v-model="addInspection.sort" :min="1" :max="999" placeholder="巡检点排序"/>
            </el-form-item>
            <el-form-item label="选择巡检点" prop="name">
               <el-select v-model="addInspection.name">
                  <el-option label="73011" value="73011" />
@@ -305,8 +351,13 @@
                  <el-option label="73013" value="73013" />
               </el-select>
            </el-form-item>
            <el-form-item label="输入巡检点排序" prop="sort">
               <el-input-number v-model="addInspection.sort" :min="1" :max="999" placeholder="请输入用于确定该巡检点位置的序号"/>
            <el-form-item label="选择巡检指标" prop="norm">
               <el-select v-model="addInspection.norm">
                  <el-option label="风机声音" value="风机声音" />
                  <el-option label="设备温度" value="设备温度" />
                  <el-option label="压力" value="压力" />
                  <el-option label="震动" value="震动" />
               </el-select>
            </el-form-item>
            <el-form-item>
               <el-button type="warning" @click="dialogAddInspection = false" size="default" plain>取消</el-button>
@@ -515,6 +566,7 @@
         })
         const addInspectionRules = reactive<FormRules>({
            name:[{required: true, message: '该内容不能为空',trigger:'blur'}],
            norm:[{required: true, message: '该内容不能为空',trigger:'blur'}],
            sort:[{required: true, message: '该内容不能为空',trigger:'blur'}]
         })
         const dialogDetails = ref(false)
@@ -547,7 +599,7 @@
                  if(chosenIndex.value == -1){
                     if(!addRecord.value.shiftSteps || addRecord.value.shiftSteps.length == 0){
                        ElMessage({
                           message: '请先设置自定义排班后再提交',
                           message: '请先设置巡检链后再提交',
                           type: 'warning',
                        })
                        return
@@ -560,13 +612,11 @@
                  }else{
                     if(addRecord.value.shiftSteps.length == 0){
                        ElMessage({
                           message: '请先设置自定义排班后再提交',
                           message: '请先设置巡检链后再提交',
                           type: 'warning',
                        })
                        return
                     }else{
                        if(addRecord.value.type == '固定班'){delete addRecord.value.shiftSteps}
                        console.log(addRecord.value,'addRecord')
                        tableData[chosenIndex.value] = addRecord.value
                     }
                  }
@@ -650,8 +700,13 @@
            await formEl.validate((valid, fields) => {
               if (valid) {
                  if(addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData){
                     addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData.unshift(addInspection.value)
                     addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData.sort(compare('sort'))
                     if(chosenInspectionIndex.value == -1){
                        addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData.unshift(addInspection.value)
                        addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData.sort(compare('sort'))
                     }else{
                        addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData[chosenInspectionIndex.value] = addInspection.value
                        addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData.sort(compare('sort'))
                     }
                  }else{
                     addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData = []
                     addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData.unshift(addInspection.value)
@@ -667,7 +722,12 @@
            chosenShiftIndex.value = i
            chosenInspectionIndex.value = index
            deleteInspectionDialog.value = true
            console.log(chosenShiftIndex.value,chosenInspectionIndex.value)
         }
         const editInspection =(i,index, row)=>{
            chosenShiftIndex.value = i
            chosenInspectionIndex.value = index
            dialogAddInspection.value = true
            addInspection.value = JSON.parse(JSON.stringify(row))
         }
         const conFirmInspectionDelete=()=>{
            addRecord.value.shiftSteps[chosenShiftIndex.value].inspectorData.splice( chosenInspectionIndex.value,1)