| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="报修类型"> |
| | | <el-select v-model="form.repairType" |
| | | placeholder="请选择报修类型" |
| | | :disabled="operationType === 'view'"> |
| | | <el-option v-for="dict in device_repair_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="Number(dict.value)"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="维修人"> |
| | | <el-input v-model="form.maintenanceName" |
| | | placeholder="请输入维修人姓名" |
| | |
| | | :value="1"></el-option> |
| | | <el-option label="失败" |
| | | :value="2"></el-option> |
| | | <el-option label="待验收" |
| | | :value="3"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" v-if="form.status !== 0"> |
| | | <el-form-item label="维修时间"> |
| | | <el-input v-model="form.maintenanceTime" |
| | | disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="form.status !== 0"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="维修结果"> |
| | | <el-input v-model="form.maintenanceResult" |
| | | :rows="2" |
| | | type="textarea" |
| | | placeholder="暂无维修结果" |
| | | :disabled="operationType === 'view'" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="form.status !== 0"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="原因分析"> |
| | | <el-input v-model="form.reasonAnalysis" |
| | | :rows="2" |
| | | type="textarea" |
| | | placeholder="请输入原因分析" |
| | | :disabled="operationType === 'view'" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="处理措施"> |
| | | <el-input v-model="form.handlingMeasures" |
| | | :rows="2" |
| | | type="textarea" |
| | | placeholder="请输入处理措施" |
| | | :disabled="operationType === 'view'" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 配件使用明细展示 --> |
| | | <el-row v-if="sparePartsDetails.length > 0"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="配件使用明细"> |
| | | <el-table :data="sparePartsDetails" size="small" border style="width: 100%"> |
| | | <el-table-column prop="sparePartName" label="配件名称" /> |
| | | <el-table-column prop="quantity" label="使用数量" width="100" /> |
| | | </el-table> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="operationType !== 'view'" |
| | | :gutter="30"> |
| | | <el-col :span="24"> |
| | |
| | | }); |
| | | |
| | | const emits = defineEmits(["ok"]); |
| | | const { proxy } = getCurrentInstance(); |
| | | const { device_repair_type } = proxy.useDict("device_repair_type"); |
| | | |
| | | const id = ref(); |
| | | const visible = ref(false); |
| | |
| | | const userStore = useUserStore(); |
| | | const deviceOptions = ref([]); |
| | | const fileList = ref([]); |
| | | const sparePartsDetails = ref([]); |
| | | |
| | | const loadDeviceName = async () => { |
| | | const { data } = await getDeviceLedger(); |
| | |
| | | deviceName: undefined, // 设备名称 |
| | | deviceModel: undefined, // 规格型号 |
| | | repairTime: dayjs().format("YYYY-MM-DD"), // 报修日期,默认当天 |
| | | repairType: undefined, // 报修类型 |
| | | repairName: userStore.nickName, // 报修人 |
| | | remark: undefined, // 故障现象 |
| | | reasonAnalysis: undefined, // 原因分析 |
| | | handlingMeasures: undefined, // 处理措施 |
| | | status: 0, // 报修状态 |
| | | machineryCategory: undefined, |
| | | storageBlobDTOs: [], |
| | | maintenanceName: undefined, // 维修人 |
| | | maintenanceTime: undefined, |
| | | maintenanceResult: undefined, |
| | | }); |
| | | |
| | | const setDeviceModel = deviceId => { |
| | |
| | | form.deviceName = data.deviceName; |
| | | form.deviceModel = data.deviceModel; |
| | | form.repairTime = data.repairTime; |
| | | form.repairType = data.repairType; |
| | | form.repairName = data.repairName; |
| | | form.remark = data.remark; |
| | | form.reasonAnalysis = data.reasonAnalysis; |
| | | form.handlingMeasures = data.handlingMeasures; |
| | | form.status = data.status; |
| | | form.machineryCategory = data.machineryCategory; |
| | | form.storageBlobDTOs = data.storageBlobVOs || []; |
| | | form.maintenanceName = data.maintenanceName; |
| | | form.maintenanceTime = data.maintenanceTime; |
| | | form.maintenanceResult = data.maintenanceResult; |
| | | form.acceptanceName = data.acceptanceName; |
| | | form.acceptanceTime = data.acceptanceTime; |
| | | form.acceptanceRemark = data.acceptanceRemark; |
| | | sparePartsDetails.value = data.sparePartsUseListDetails || []; |
| | | }; |
| | | |
| | | const sendForm = async () => { |
| | |
| | | operationType.value = "add"; |
| | | visible.value = true; |
| | | fileList.value = []; |
| | | sparePartsDetails.value = []; |
| | | await nextTick(); |
| | | await loadDeviceName(); |
| | | }; |