Merge remote-tracking branch 'origin/dev_ksck' into dev_ksck
						commit
						e673b2a932
					
				| @ -0,0 +1,212 @@ | ||||
| <template> | ||||
|   <div> | ||||
|     <el-card> | ||||
|       <div slot="header" class="clearfix"> | ||||
|         <!--        <div class="fl">--> | ||||
|         <!--          {{ `巡检记录表--${itemRow.itemName}[${itemRow.itemCode}]` }}--> | ||||
|         <!--        </div>--> | ||||
|         <div class="fr"> | ||||
|           <el-button @click="itemRow = null">取消</el-button> | ||||
|           <el-button type="primary" @click="commitItemCheck">提交</el-button> | ||||
|         </div> | ||||
|       </div> | ||||
|       <el-form :model="itemRow" :rules="itemRules" ref="itemForm" label-width="auto"> | ||||
|         <el-descriptions border :column="2" label-style="width:100px"> | ||||
|           <el-descriptions-item label="所属部门"> | ||||
|             {{ itemRow.deptName }} | ||||
|           </el-descriptions-item> | ||||
|           <el-descriptions-item label="设备名称"> | ||||
|             {{ itemRow.productName }} | ||||
|           </el-descriptions-item> | ||||
|           <el-descriptions-item label="设备编码"> | ||||
|             {{ itemRow.deviceCode }} | ||||
|           </el-descriptions-item> | ||||
|           <el-descriptions-item label="规格型号"> | ||||
|             {{ itemRow.ggxh }} | ||||
|           </el-descriptions-item> | ||||
|           <el-descriptions-item label="巡检项目内容" :span="2"> | ||||
|             <el-table :data="itemList" v-loading="itemLoading" :border="false" | ||||
|                       :row-style="{height:'35px'}" | ||||
|                       :cell-style="{padding:'10px'}" | ||||
|                       :show-header="false" | ||||
|                       style="width: 100%;margin-top: 20px;margin-bottom: 20px"> | ||||
|               <el-table-column label="序号" width="50" type="index"/> | ||||
|               <el-table-column label="项目编码" width="120" prop="itemCode"/> | ||||
|               <el-table-column label="项目名称" width="140" prop="itemName"/> | ||||
|               <el-table-column label="项目内容" width="220" prop="itemContent"/> | ||||
|               <el-table-column label="完成情况" width="180" prop="finishFlag"> | ||||
|                 <template slot-scope="scope"> | ||||
|                   <div> | ||||
|                     <el-radio-group v-model="scope.row.normalFlag" size="mini"> | ||||
|                       <el-radio :label="true" border>正常</el-radio> | ||||
|                       <el-radio :label="false" border style="margin-left: -15px">异常</el-radio> | ||||
|                     </el-radio-group> | ||||
| 
 | ||||
|                   </div> | ||||
|                 </template> | ||||
|               </el-table-column> | ||||
|             </el-table> | ||||
| 
 | ||||
|           </el-descriptions-item> | ||||
| 
 | ||||
|           <el-descriptions-item label="补充说明" :span="2"> | ||||
|             <el-form-item label=" " prop="suggestion" style="margin-bottom: 10px"> | ||||
|               <el-input type="textarea" resize="none" :autosize="{ minRows: 4, maxRows: 4 }" clearable | ||||
|                         show-word-limit | ||||
|                         maxlength="300" v-model.trim="itemRow.suggestion"/> | ||||
|             </el-form-item> | ||||
|           </el-descriptions-item> | ||||
|           <el-descriptions-item label="现场图片" :span="2" label-style="height:100px"> | ||||
|             <el-upload | ||||
|               multiple | ||||
|               :action="uploadFileUrl" | ||||
|               :before-upload="handleBeforeUpload" | ||||
|               :file-list="fileList" | ||||
|               :limit="limit" | ||||
|               :on-error="handleUploadError" | ||||
|               :on-exceed="handleExceed" | ||||
|               :on-success="handleUploadSuccess" | ||||
|               :show-file-list="false" | ||||
|               :headers="headers" | ||||
|               class="upload-file-uploader" | ||||
|               ref="fileUpload" | ||||
|             > | ||||
|               <!-- 上传按钮 --> | ||||
|               <el-button size="mini" type="primary">选取文件</el-button> | ||||
|               <!-- 上传提示 --> | ||||
|               <div class="el-upload__tip" slot="tip" v-if="showTip"> | ||||
|                 请上传 | ||||
|                 <template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b></template> | ||||
|                 <template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b></template> | ||||
|                 的文件 | ||||
|               </div> | ||||
|             </el-upload> | ||||
|           </el-descriptions-item> | ||||
|           <el-descriptions-item label="巡检结果" :span="2"> | ||||
|             <el-form-item label=" " prop="normalFlag" style="margin-bottom: 0px"> | ||||
|               <el-radio-group v-model="itemRow.normalFlag"> | ||||
|                 <el-radio :label="true">正常</el-radio> | ||||
|                 <el-radio :label="false">异常</el-radio> | ||||
|               </el-radio-group> | ||||
|             </el-form-item> | ||||
|           </el-descriptions-item> | ||||
|         </el-descriptions> | ||||
|       </el-form> | ||||
|     </el-card> | ||||
|   </div> | ||||
| 
 | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import {getLoading} from "@/utils"; | ||||
| import {deviceCheckDetailItemFinish, deviceCheckDetailItemPage} from "@/api/dev/deviceCheckDetailItemApi"; | ||||
| import {deviceCheckDetailFinish} from "@/api/dev/deviceCheckDetailApi"; | ||||
| 
 | ||||
| let itemQuery = { | ||||
|   page: 1, | ||||
|   limit: 10, | ||||
|   taskId: null, | ||||
|   deviceCode: null, | ||||
| } | ||||
| export default { | ||||
|   name: "deptDeviceCheckDetail", | ||||
|   computed: { | ||||
|     iRowStyle: function ({row, rowIndex}) { | ||||
|       return 'height:50px'; | ||||
|     }, | ||||
|     iHeaderRowStyle: function ({row, rowIndex}) { | ||||
|       return 'height:50px'; | ||||
|     }, | ||||
|     iCellStyle: function ({row, column, rowIndex, columnIndex}) { | ||||
|       return 'padding:0px' | ||||
|     }, | ||||
|   }, | ||||
|   props: { | ||||
|     originData: { | ||||
|       type: Object, | ||||
|       required: true | ||||
|     }, | ||||
|     closeCheckDialog: {required: false, type: Function} | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       itemRow: {}, | ||||
|       itemLoading: false, | ||||
|       itemList: [], | ||||
|       itemTotal: 0, | ||||
|       itemQuery: {...itemQuery}, | ||||
|       itemRules: { | ||||
|         normalFlag: [{required: true, message: "请选择异常情况", trigger: ["change", "blur"]}], | ||||
|         suggestion: [{required: true, message: "巡检意见不能为空", trigger: ["change", "blur"]}], | ||||
|       }, | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     commitItemCheck() { | ||||
|       this.$refs.itemForm.validate(b => { | ||||
|         if (!b) { | ||||
|           return | ||||
|         } | ||||
|         for (let item of this.itemList) { | ||||
|           if (item.normalFlag == null) { | ||||
|             this.$message.error(item.itemName + "未勾选,请检查后提交"); | ||||
|             return | ||||
|           } | ||||
|         } | ||||
|         let load = getLoading(this) | ||||
|         let itemParam = { | ||||
|           taskId: this.itemRow.taskId, | ||||
|           deviceCode: this.itemRow.deviceCode, | ||||
|           suggestion: this.itemRow.suggestion, | ||||
|           normalFlag: this.itemRow.normalFlag, | ||||
|           detailItemEntities: this.itemList | ||||
|         } | ||||
|         deviceCheckDetailFinish(itemParam).then(res => { | ||||
|           load.close() | ||||
|           if (res.code != 20000) { | ||||
|             this.$message.error(res.message) | ||||
|             return | ||||
|           } | ||||
|           this.$message.success(res.message) | ||||
|           this.closeCheckDialog(); | ||||
|         }).catch(() => { | ||||
|           load.close() | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
| 
 | ||||
|     //获取巡检项目 | ||||
|     getDetailItemList() { | ||||
|       this.itemLoading = true | ||||
|       deviceCheckDetailItemPage(this.itemQuery).then(res => { | ||||
|         this.itemLoading = false | ||||
|         if (res.code != 20000) { | ||||
|           this.$message.error(res.message) | ||||
|           return | ||||
|         } | ||||
|         this.itemList = res.data.list || [] | ||||
|         this.itemTotal = res.data.total || 0 | ||||
|       }).catch(e => { | ||||
|         this.itemLoading = false | ||||
|         this.itemList = [] | ||||
|         this.itemTotal = 0 | ||||
|       }) | ||||
|     }, | ||||
| 
 | ||||
| 
 | ||||
|   }, | ||||
|   created() { | ||||
|     this.itemRow = this.originData | ||||
|     this.itemQuery = {...itemQuery, deviceCode: this.itemRow.deviceCode, taskId: this.itemRow.taskId} | ||||
|     this.getDetailItemList() | ||||
|   }, | ||||
| } | ||||
| </script> | ||||
| 
 | ||||
| <style scoped> | ||||
| /* 假设你想要更改表格的字体大小 */ | ||||
| 
 | ||||
| .custom-table .el-table__row { | ||||
|   height: 100px; | ||||
| } | ||||
| </style> | ||||
| @ -1,220 +0,0 @@ | ||||
| import {detailByUserPage, deviceLogs, devicePage} from "@/api/dev/deviceInfoApi"; | ||||
| import {deviceChangeStatus, deviceChangeType, deviceStatus} from "@/utils/enum"; | ||||
| import { | ||||
|   deviceCheckPage, | ||||
|   deviceCheckPageByDept, | ||||
|   deviceCheckPrint, | ||||
|   deviceCheckPrintByDeviceCode | ||||
| } from "@/api/dev/deviceCheckApi"; | ||||
| import {deviceCheckDetailPage, deviceCheckDetailRepair} from "@/api/dev/deviceCheckDetailApi"; | ||||
| import {deviceCheckDetailItemFinish, deviceCheckDetailItemPage} from "@/api/dev/deviceCheckDetailItemApi"; | ||||
| import {copyProperties, getLoading} from "@/utils"; | ||||
| 
 | ||||
| let query = { | ||||
|   page: 1, | ||||
|   limit: 10, | ||||
|   chargeDeptCode: null, | ||||
|   finishFlag: null, | ||||
| } | ||||
| 
 | ||||
| let detailQuery = { | ||||
|   page: 1, | ||||
|   limit: 10, | ||||
|   taskId: null, | ||||
|   deviceCode:null, | ||||
| } | ||||
| 
 | ||||
| let itemQuery = { | ||||
|   page: 1, | ||||
|   limit: 10, | ||||
|   taskId: null, | ||||
|   deviceCode: null, | ||||
| } | ||||
| let repairData = { | ||||
|   taskId: null, | ||||
|   deviceCode: null, | ||||
|   description: null, | ||||
|   diagnosisInfo: null, | ||||
|   innerFlag: true, | ||||
|   repairUserName: null, | ||||
|   repairUserPhone: null, | ||||
| } | ||||
| 
 | ||||
| export default { | ||||
|   name: "deptDeviceCheck", | ||||
|   computed: {}, | ||||
|   data() { | ||||
|     return { | ||||
|       clickRow: null, | ||||
|       showSearch: true, | ||||
|       loading: false, | ||||
|       total: .0, | ||||
|       list: [], | ||||
|       query: {...query}, | ||||
|       //设备详情=============================================
 | ||||
|       detailLoading: false, | ||||
|       detailQuery: {...detailQuery}, | ||||
|       detailList: [], | ||||
|       detailTotal: 0, | ||||
|       showLog: false, | ||||
|       //===================================================
 | ||||
|       itemDialogFlag: false, | ||||
|       itemQuery: {...itemQuery}, | ||||
|       itemList: [], | ||||
|       itemTotal: 0, | ||||
|       itemLoading: false, | ||||
|       checkPrintData: null, | ||||
|       itemRow: null, | ||||
|       itemRules: { | ||||
|         normalFlag: [{required: true, message: "请选择异常情况", trigger: ["change", "blur"]}], | ||||
|         suggestion: [{required: true, message: "巡检意见不能为空", trigger: ["change", "blur"]}], | ||||
|       }, | ||||
|       repairRow: null, | ||||
|       repairRules: { | ||||
|         innerFlag: [{ | ||||
|           required: true, | ||||
|           message: "请选择维修方式", | ||||
|           trigger: ["change", "blur"] | ||||
|         }], | ||||
|         repairUserName: [{ | ||||
|           required: true, | ||||
|           message: "维修人姓名不能为空", | ||||
|           trigger: ["change", "blur"] | ||||
|         }], | ||||
|         repairUserPhone: [{ | ||||
|           required: true, | ||||
|           message: "维修人电话不能为空", | ||||
|           trigger: ["change", "blur"] | ||||
|         }], | ||||
|         description: [{required: true, message: "问题描述不能为空", trigger: ["change", "blur"]}], | ||||
|         diagnosisInfo: [{required: true, message: "诊断信息不能为空", trigger: ["change", "blur"]}], | ||||
|       }, | ||||
|       repairId:null, | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.getList() | ||||
|   }, | ||||
|   methods: { | ||||
|     commitRepair(){ | ||||
|       this.$refs.repairForm.validate(b => { | ||||
|         if (!b) { | ||||
|           return | ||||
|         } | ||||
|         let load = getLoading(this) | ||||
|         deviceCheckDetailRepair(this.repairRow).then(res => { | ||||
|           load.close() | ||||
|           if (res.code != 20000) { | ||||
|             this.$message.error(res.message) | ||||
|             return | ||||
|           } | ||||
|           this.$message.success(res.message) | ||||
|           this.getDetailList() | ||||
|           this.getList() | ||||
|           this.repairRow = null | ||||
|         }).catch(() => { | ||||
|           load.close() | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     createRepair(row) { | ||||
|       let data = copyProperties(row, {...repairData}); | ||||
|       this.repairRow = _.extend({}, row, data) | ||||
|     }, | ||||
|     commitItemCheck() { | ||||
|       this.$refs.itemForm.validate(b => { | ||||
|         if (!b) { | ||||
|           return | ||||
|         } | ||||
|         let load = getLoading(this) | ||||
|         deviceCheckDetailItemFinish(this.itemRow).then(res => { | ||||
|           load.close() | ||||
|           if (res.code != 20000) { | ||||
|             this.$message.error(res.message) | ||||
|             return | ||||
|           } | ||||
|           this.$message.success(res.message) | ||||
|           this.getDetailItemList() | ||||
|           this.getDetailList() | ||||
|           this.getList() | ||||
|           this.itemRow = null | ||||
|         }).catch(() => { | ||||
|           load.close() | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     openItem(row) { | ||||
|       this.itemQuery = { | ||||
|         ...itemQuery, | ||||
|         taskId: row.taskId, | ||||
|         deviceCode: row.deviceCode, | ||||
|         title: `[${row.deviceCode}]--${row.productName}(${row.nameCode})` | ||||
|       } | ||||
|       this.itemDialogFlag = true | ||||
|       this.getDetailItemList() | ||||
|     }, | ||||
|     getDetailItemList() { | ||||
|       this.itemLoading = true | ||||
|       deviceCheckDetailItemPage(this.itemQuery).then(res => { | ||||
|         this.itemLoading = false | ||||
|         if (res.code != 20000) { | ||||
|           this.$message.error(res.message) | ||||
|           return | ||||
|         } | ||||
|         this.itemList = res.data.list || [] | ||||
|         this.itemTotal = res.data.total || 0 | ||||
|       }).catch(e => { | ||||
|         this.itemLoading = false | ||||
|         this.itemList = [] | ||||
|         this.itemTotal = 0 | ||||
|       }) | ||||
|     }, | ||||
|     rowClick(row) { | ||||
|       if (this.clickRow && row.taskId == this.clickRow.taskId) { | ||||
|         return false | ||||
|       } | ||||
|       this.clickRow = row | ||||
|       this.detailQuery = {...detailQuery, taskId: row.taskId} | ||||
|       this.getDetailList() | ||||
|     }, | ||||
|     getDetailList() { | ||||
|       this.detailLoading = true | ||||
|       deviceCheckDetailPage(this.detailQuery).then(res => { | ||||
|         this.detailLoading = false | ||||
|         if (res.code != 20000) { | ||||
|           this.$message.error(res.message) | ||||
|           return | ||||
|         } | ||||
|         this.detailList = res.data.list || [] | ||||
|         this.detailTotal = res.data.total || 0 | ||||
|       }).catch(e => { | ||||
|         this.detailLoading = false | ||||
|       }) | ||||
|     }, | ||||
|     search() { | ||||
|       this.query.page = 1 | ||||
|       this.getList() | ||||
|     }, | ||||
|     onReset() { | ||||
|       this.query = {...query} | ||||
|       this.getList() | ||||
|     }, | ||||
|     getList() { | ||||
|       this.loading = true | ||||
|       deviceCheckPageByDept(this.query).then(res => { | ||||
|         this.loading = false | ||||
|         if (res.code != 20000) { | ||||
|           this.$message.error(res.message) | ||||
|           return | ||||
|         } | ||||
|         this.list = res.data.list || [] | ||||
|         this.total = res.data.total || 0 | ||||
| 
 | ||||
|       }).catch(e => { | ||||
|         this.list = [] | ||||
|         this.total = 0 | ||||
|         this.loading = false | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue