1.修改巡检计划和报修单页面
							parent
							
								
									e24b326931
								
							
						
					
					
						commit
						f462ffc5a9
					
				| @ -0,0 +1,298 @@ | ||||
| <template> | ||||
|   <div> | ||||
|     <el-card style="margin: 5px;margin-top: -20px"> | ||||
|       <el-form :model="repairOrder" ref="dataForm" label-width="100px" style="margin-bottom: -15px"> | ||||
|         <el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px"> | ||||
|           <el-button | ||||
|             type="primary" | ||||
|             @click.native="selectDevice()" | ||||
|           >选择设备 | ||||
|           </el-button> | ||||
|           <el-button | ||||
|             type="primary" | ||||
|             @click.native="submit()" | ||||
|           >保存 | ||||
|           </el-button> | ||||
|         </el-button-group> | ||||
| 
 | ||||
|         <el-row> | ||||
|           <el-col :span="10"> | ||||
|             <el-form-item class="query-form-item" label="部门:"> | ||||
|               <el-select v-model="repairOrder.deptCode" | ||||
|                          placeholder="请选择部门" | ||||
|                          clearable="true" | ||||
|                          @change="deptChange" | ||||
|                          style="width: 90%" | ||||
|               > | ||||
|                 <el-option | ||||
|                   v-for="item in deptList" | ||||
|                   :key="item.name" | ||||
|                   :label="item.name" | ||||
|                   :value="item.code"> | ||||
|                   <span style="float: left">{{ item.name }}</span> | ||||
|                 </el-option> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
| 
 | ||||
|           <el-col :span="10"> | ||||
|             <el-form-item class="query-form-item" label="仓库:"> | ||||
|               <el-select v-model="repairOrder.invCode" | ||||
|                          placeholder="请选择仓库" | ||||
|                          clearable="true" | ||||
|                          style="width: 90%" | ||||
|               > | ||||
|                 <el-option | ||||
|                   v-for="item in invList" | ||||
|                   :key="item.name" | ||||
|                   :label="item.name" | ||||
|                   :value="item.code"> | ||||
|                   <span style="float: left">{{ item.name }}</span> | ||||
|                 </el-option> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|         </el-row> | ||||
| 
 | ||||
|         <el-row> | ||||
|           <el-col :span="10"> | ||||
|             <el-form-item label="设备名称:"> | ||||
|               <el-input v-model="repairOrder.deviceName" placeholder="请输入设备名称" style="width: 90%" | ||||
|                         disabled | ||||
|                         clearable></el-input> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="10"> | ||||
|             <el-form-item label="物资编码:"> | ||||
|               <el-input v-model="repairOrder.code" placeholder="请输入编码" style="width: 90%" clearable | ||||
|                         disabled></el-input> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|         </el-row> | ||||
| 
 | ||||
|         <el-row> | ||||
|           <el-col :span="18"> | ||||
|             <el-form-item label="报修说明:"> | ||||
|               <el-input v-model="repairOrder.msg" placeholder="请输入报修信息" style="width: 90%" | ||||
|                         type="textarea" | ||||
|                         clearable></el-input> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|         </el-row> | ||||
|       </el-form> | ||||
|     </el-card> | ||||
| 
 | ||||
| 
 | ||||
|     <el-dialog | ||||
|       title="选择巡检设备" | ||||
|       :visible.sync="deviceDialogVisible" | ||||
|       :close-on-click-modal="false" | ||||
|       :close-on-press-escape="false" | ||||
|       width="65%" | ||||
|       v-if="deviceDialogVisible" | ||||
|       append-to-body | ||||
|     > | ||||
|       <el-form class="query-form" :model="filterQuery" :inline="true" label-width="100px"> | ||||
|         <el-form-item class="query-form-item" label="部门:"> | ||||
|           <el-input v-model="deptName" disabled></el-input> | ||||
|         </el-form-item> | ||||
|         <el-form-item class="query-form-item" label="仓库:"> | ||||
|           <el-input v-model="invName" disabled></el-input> | ||||
|         </el-form-item> | ||||
|         <el-form-item class="query-form-item" label="资产编码:"> | ||||
|           <el-input v-model="filterQuery.code" clearable></el-input> | ||||
|         </el-form-item> | ||||
|         <el-form-item> | ||||
|           <el-button-group> | ||||
|             <el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button> | ||||
|             <el-button type="primary" icon="search" @click="queryDevice" | ||||
|             >查询 | ||||
|             </el-button | ||||
|             > | ||||
|             <el-button type="primary" icon="search" @click="combine">确定</el-button> | ||||
|           </el-button-group> | ||||
|         </el-form-item> | ||||
|       </el-form> | ||||
| 
 | ||||
|       <el-table v-loading="deviceLoading" :data="deviceList" style="width: 100%" | ||||
|                 highlight-current-row | ||||
|                 @current-change="handleCurrentChange" | ||||
|               > | ||||
|         <el-table-column label="序号" type="index"></el-table-column> | ||||
|         <el-table-column label="设备名称" prop="deviceName" width="200"></el-table-column> | ||||
|         <el-table-column label="资产编码" prop="code" width="200"></el-table-column> | ||||
|         <el-table-column label="规格型号" prop="ggxh" width="120"></el-table-column> | ||||
|         <el-table-column label="批次号" prop="batchNo" width="120"></el-table-column> | ||||
|         <el-table-column label="生产日期" prop="productionDate" width="120"></el-table-column> | ||||
|         <el-table-column label="失效日期" prop="expireDate" width="120"></el-table-column> | ||||
|         <el-table-column label="生产厂家" prop="manufactory" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="供应商" prop="supName" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="注册证号" prop="zczbhhzbapzbh" width="150" show-overflow-tooltip></el-table-column> | ||||
|       </el-table> | ||||
| 
 | ||||
|       <pagination | ||||
|         v-show="deviceTotal>0" | ||||
|         :total="deviceTotal" | ||||
|         :limit.sync="filterQuery.limit" | ||||
|         :page.sync="filterQuery.page" | ||||
|         @pagination="getDeviceList" | ||||
|       ></pagination> | ||||
|     </el-dialog> | ||||
|   </div> | ||||
| 
 | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import {isBlank} from "@/utils/strUtil"; | ||||
| import {getDeptListByUser} from "@/api/auth/authDept"; | ||||
| import {getInvListByUser} from "@/api/system/invWarehouse"; | ||||
| import {saveDeviceRepairOrder} from "@/api/inventory/deviceRepairOrder"; | ||||
| import {getDeptDeviceList} from "@/api/inventory/deptDevice"; | ||||
| 
 | ||||
| 
 | ||||
| export default { | ||||
|   props: { | ||||
|     repairOrder: { | ||||
|       type: Object, | ||||
|       required: true | ||||
|     }, | ||||
|     closeDialog: { | ||||
|       type: Function, | ||||
|       required: true | ||||
|     } | ||||
|   }, | ||||
|   name: "DeviceRepairOrderModify", | ||||
|   data() { | ||||
|     return { | ||||
|       deptList: [], | ||||
|       invList: [], | ||||
|       deviceDialogVisible: false, | ||||
|       deviceLoading: false, | ||||
|       filterQuery: { | ||||
|         code: null, | ||||
|         deptCode: null, | ||||
|         invCode: null, | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       }, | ||||
|       deviceList: [], | ||||
|       deviceTotal: 0, | ||||
|       deptName: null, | ||||
|       invName: null, | ||||
|       selectRow: null | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     deptChange() { | ||||
|       this.repairOrder.invCode = null; | ||||
|       this.invList = []; | ||||
|       this.getInvList(); | ||||
|     }, | ||||
|     getDeptList() { | ||||
|       getDeptListByUser().then((res) => { | ||||
|         this.deptList = res.data || []; | ||||
|         this.getInvList(); | ||||
|       }); | ||||
|     }, | ||||
|     getInvList() { | ||||
|       let params = {deptCode: this.repairOrder.deptCode}; | ||||
|       getInvListByUser(params) | ||||
|         .then((response) => { | ||||
|           this.invList = response.data || []; | ||||
|           this.getList(); | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }); | ||||
|     }, | ||||
|     submit() { | ||||
|       if (isBlank(this.repairOrder.deptCode) || isBlank(this.repairOrder.invCode) || isBlank(this.repairOrder.code)) { | ||||
|         this.$message.error("请设备相关信息") | ||||
|         return; | ||||
|       } | ||||
|       let formName = isBlank(this.repairOrder.id) ? "add" : "edit"; | ||||
|       saveDeviceRepairOrder(this.repairOrder, formName).then((res) => { | ||||
|         if (res.code === 20000) { | ||||
|           this.$message.success("添加成功"); | ||||
|           this.closeDialog(); | ||||
|         } else { | ||||
|           this.$message.error(res.message); | ||||
|         } | ||||
|       }).catch((error) => { | ||||
|         this.$message.error(error.message); | ||||
|       }); | ||||
|     }, | ||||
|     selectDevice() { | ||||
|       if (isBlank(this.repairOrder.deptCode) || isBlank(this.repairOrder.invCode)) { | ||||
|         this.$message.warning("请先选择报修设备所属部门和仓库"); | ||||
|         return; | ||||
|       } | ||||
|       this.setDeptAnInvName(); | ||||
|       this.deviceDialogVisible = true; | ||||
|       this.filterQuery = { | ||||
|         code: null, | ||||
|         deptCode: this.repairOrder.deptCode, | ||||
|         invCode: this.repairOrder.invCode, | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       } | ||||
|       this.getDeviceList(); | ||||
|     }, | ||||
|     getDeviceList() { | ||||
|       this.deviceLoading = true; | ||||
|       this.deviceList = []; | ||||
|       getDeptDeviceList(this.filterQuery).then((res) => { | ||||
|         this.deviceLoading = false; | ||||
|         if (res.code === 20000) { | ||||
|           this.deviceList = res.data.list || []; | ||||
|           this.deviceTotal = res.data.total || 0; | ||||
|         } else { | ||||
|           this.$message.error(res.message); | ||||
|           this.deviceList = []; | ||||
|           this.deviceTotal = 0; | ||||
|         } | ||||
|       }).catch((error) => { | ||||
|         this.deviceLoading = false; | ||||
|         this.deviceList = []; | ||||
|         this.deviceTotal = 0; | ||||
|       }); | ||||
|     }, | ||||
|     setDeptAnInvName() { | ||||
|       this.deptList.forEach((item) => { | ||||
|         if (item.code === this.repairOrder.deptCode) { | ||||
|           this.deptName = item.name; | ||||
|         } | ||||
|       }); | ||||
| 
 | ||||
|       this.invList.forEach((item) => { | ||||
|         if (item.code === this.repairOrder.invCode) { | ||||
|           this.invName = item.name; | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     onReset() { | ||||
|       this.filterQuery.code = null; | ||||
|       this.filterQuery.page = 1; | ||||
|       this.getDeviceList(); | ||||
|     }, | ||||
|     queryDevice() { | ||||
|       this.filterQuery.page = 1; | ||||
|       this.getDeviceList(); | ||||
|     }, | ||||
|     handleCurrentChange(row) { | ||||
|       this.selectRow = row; | ||||
|     }, | ||||
|     combine() { | ||||
|       this.deviceDialogVisible = false; | ||||
|       this.repairOrder.code = this.selectRow.code; | ||||
|       this.repairOrder.deviceName = this.selectRow.deviceName; | ||||
|     }, | ||||
|   }, | ||||
|   created() { | ||||
|     this.getDeptList(); | ||||
|   }, | ||||
| } | ||||
| </script> | ||||
| 
 | ||||
| <style scoped> | ||||
| 
 | ||||
| </style> | ||||
					Loading…
					
					
				
		Reference in New Issue