fix(设备维修):修复巡检,保养

This commit is contained in:
chengzhaofeng 2025-03-20 18:34:21 +08:00
parent 7457ea2044
commit d91280dd5a
5 changed files with 146 additions and 88 deletions

View File

@ -142,3 +142,11 @@ export function getCheckOpinion(query) {
params: query
})
}
export function inspectCheck(obj){
return request({
url: mom_pms('/inspectOrder/check'),
method: 'post',
data: obj
})
}

View File

@ -45,6 +45,14 @@
<el-table :data="detailList">
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column prop="itmeName" label="项目名称"></el-table-column>
<el-table-column label="数值类型" prop="numberType">
<template slot-scope="scope">
<div v-if="scope.row.numberType === 'TEXT'">文字</div>
<div v-if="scope.row.numberType === 'NUM_UP'">数值-单边上限管制</div>
<div v-if="scope.row.numberType === 'NUM_DOWN'">数值-单边下限管制</div>
<div v-if="scope.row.numberType === 'NUM'">数值-双边管制</div>
</template>
</el-table-column>
<el-table-column prop="itmeMax" label="最大值"></el-table-column>
<el-table-column prop="itmeMin" label="最小值"></el-table-column>
<el-table-column prop="itmeUnit" label="单位"></el-table-column>
@ -134,11 +142,10 @@
<script>
import {mapGetters} from "vuex";
import {
addCheckObj,
executeOrder,
getCheckList,
getCheckOpinion,
getDetailList, getRepairOrderStatus,
getDetailList, inspectCheck,
putObj
} from "@/api/mes/pms/inspect-order";
import {isBlank} from "@/util/string";
@ -209,6 +216,7 @@ export default {
location: null,
zpmsPatrolSheetExtBo: null,
zPmsResrceExtBo: null,
checkOpinion: null
}
}
},
@ -241,6 +249,8 @@ export default {
if (newValue.type === 'execute') {
me.title = '点检工单-执行'
me.isExecute = true
me.isCheck = false
me.isHistory = false
// 查询保养计划
if (this.formObj.stateName === 'EXCUTE') {
this.formObj.stateName = 'IN_EXCUTE'
@ -253,6 +263,8 @@ export default {
if (newValue.type === 'history') {
me.title = '点检工单-历史记录'
me.isHistory = true
me.isExecute = false
me.isCheck = false
this.formObj.opinion = this.formObj.checkOpinion
getCheckOpinion({handle: this.formObj.handle}).then(res => {
this.formObj.checkOpinion = res.data.data.checkOpinion
@ -261,6 +273,8 @@ export default {
if (newValue.type === 'check') {
me.title = '点检工单-验收'
me.isCheck = true
me.isHistory = false
me.isExecute = false
}
// 回显数据
if (newValue.type !== 'execute') {
@ -381,61 +395,60 @@ export default {
}
if (type === 'success') {
if (me.formObj.result !== '0') {
if (!me.formObj.repairNum) {
// if (!me.formObj.repairNum) {
this.$confirm('该工单结果为异常,请确认是否验收通过', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.formObj.stateName = 'COMPLETE'
checkObj.ext1 = 'Y'
addCheckObj(checkObj)
putObj(this.formObj)
this.$message.info("验收完成")
this.handleClose()
checkObj.checkResult = 'Y'
})
} else {
getRepairOrderStatus({num:this.formObj.repairNum}).then(resp => {
if (resp.data.data.stateName !== 'COMPLETED') {
this.$confirm('检测到该工单关联的维修工单尚未完成,请确认是否验收通过', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.formObj.stateName = 'COMPLETE'
checkObj.ext1 = 'Y'
addCheckObj(checkObj)
putObj(this.formObj)
this.$message.info("验收完成")
this.goBack()
})
} else {
this.formObj.stateName = 'COMPLETE'
checkObj.ext1 = 'Y'
addCheckObj(checkObj)
putObj(this.formObj)
this.$message.info("验收完成")
this.goBack()
}
})
}
// } else {
// getRepairOrderStatus({num:this.formObj.repairNum}).then(resp => {
// if (resp.data.data.stateName !== 'COMPLETED') {
// this.$confirm('检测到该工单关联的维修工单尚未完成,请确认是否验收通过', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// this.formObj.stateName = 'COMPLETE'
// checkObj.ext1 = 'Y'
// addCheckObj(checkObj)
// putObj(this.formObj)
// this.$message.info("验收完成")
// })
// } else {
// this.formObj.stateName = 'COMPLETE'
// checkObj.ext1 = 'Y'
// addCheckObj(checkObj)
// putObj(this.formObj)
// this.$message.info("验收完成")
// }
// })
// }
} else {
this.formObj.stateName = 'COMPLETE'
checkObj.ext1 = 'Y'
addCheckObj(checkObj)
putObj(this.formObj)
this.$message.info("验收完成")
this.handleClose()
checkObj.checkResult = 'Y'
}
}
if (type === 'fail') {
this.formObj.stateName = 'TB_RECTIFIED'
checkObj.ext1 = 'N'
addCheckObj(checkObj)
putObj(this.formObj)
this.$message.info("验收完成")
this.handleClose()
checkObj.checkResult = 'N'
}
showLoading()
inspectCheck(checkObj).then(res => {
hideLoading()
if (res.data.code !== 0) {
return me.$message.error('操作失败:' + res.data.msg);
}
this.$message.success("验收完成")
me.handleClose()
}).catch((e) => {
hideLoading()
this.$message.error('操作失败:' + e)
})
}
},
getDateTime() {
@ -485,12 +498,9 @@ export default {
});
const file = me.base64ToFile(obj.fileContent, fileName, obj.type);
switch (obj.fileDescription) {
case 'MAINTENANCE_COMPLETE_FILE':
case 'INSPECT_COMPLETE':
me.uploadCompleteList.push(file)
break
case 'MAINTENANCE_SECURE_FILE':
me.uploadSecureList.push(file)
break
}
})
} else {

View File

@ -39,12 +39,12 @@
</el-form-item>
</el-col>
</el-row>
<!-- 保养前状态 -->
<!-- 保养前/后状态 -->
<el-row>
<el-col :span="24">
<el-form-item prop="equipStatusData">
<div style="font-weight: 500; font-size: 150%" slot="label">
保养前设备状态:
设备状态:
</div>
<el-table :data="equipStatusData">
<el-table-column align="center" type="index" label="序号"></el-table-column>
@ -54,10 +54,19 @@
<el-table-column align="center" prop="cheakInputBefore">
<template #header>
<span style="color: red; margin-right: 4px">*</span>
<span>结果值</span>
<span>保养前结果值</span>
</template>
<template slot-scope="scope">
<el-input v-model="scope.row.cheakInputBefore" :disabled='isEdit'></el-input>
<el-input :type = "scope.row.inputType === '数值' ? 'number' : 'text'" v-model="scope.row.cheakInputBefore" :disabled='isEdit'></el-input>
</template>
</el-table-column>
<el-table-column align="center" prop="cheakInputAfter">
<template #header>
<span style="color: red; margin-right: 4px">*</span>
<span>保养后结果值</span>
</template>
<template slot-scope="scope">
<el-input :type = "scope.row.inputType === '数值' ? 'number' : 'text'" v-model="scope.row.cheakInputAfter" :disabled="isEdit"></el-input>
</template>
</el-table-column>
</el-table>
@ -133,30 +142,21 @@
</el-col>
</el-row>
<!-- 保养后设备状态 -->
<el-row>
<el-col :span="24">
<el-form-item prop="equipStatusData">
<div style="font-weight: 500; font-size: 150%" slot="label">
保养后设备状态:
</div>
<el-table :data="equipStatusData">
<el-table-column align="center" type="index" label="序号"></el-table-column>
<el-table-column align="center" prop="cheakItem" label="检查项"></el-table-column>
<el-table-column align="center" prop="cheakUnit" label="单位"></el-table-column>
<el-table-column align="center" prop="inputType" label="输入类型"></el-table-column>
<el-table-column align="center" prop="cheakInputAfter">
<template #header>
<span style="color: red; margin-right: 4px">*</span>
<span>结果值</span>
</template>
<template slot-scope="scope">
<el-input v-model="scope.row.cheakInputAfter" :disabled="isEdit"></el-input>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item prop="equipStatusData">-->
<!-- <div style="font-weight: 500; font-size: 150%" slot="label">-->
<!-- 保养后设备状态:-->
<!-- </div>-->
<!-- <el-table :data="equipStatusData">-->
<!-- <el-table-column align="center" type="index" label="序号"></el-table-column>-->
<!-- <el-table-column align="center" prop="cheakItem" label="检查项"></el-table-column>-->
<!-- <el-table-column align="center" prop="cheakUnit" label="单位"></el-table-column>-->
<!-- <el-table-column align="center" prop="inputType" label="输入类型"></el-table-column>-->
<!-- </el-table>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- 图片上传 -->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
@ -371,39 +371,54 @@ export default {
let me = this
me.formObj = Object.assign(me.formObj, newValue.formObj)
me.formObj.orderWorkPerson = me.userInfo["name"];
me.equipList = []
me.equipStatusData = []
me.consumableRecord = []
if (newValue.type === 'execute') {
me.title = '保养工单-执行'
me.isExecute = true
me.isEdit = false
me.isExecute = true
me.isCheck = false
me.isView = false
// 查询保养计划
getInfo(me.formObj.zpmsMaintenancePlanMasterBo).then(res => {
me.equipList = res.data.data.itemTableData
me.equipStatusData = res.data.data.checkTableData
if (me.consumableRecord.length === 0) {
me.consumableRecord = res.data.data.consumTableData
me.consumableRecord.forEach(iter => {
iter.partName = iter.consumeItemName
iter.specNo = iter.type
iter.qtyUnit = iter.unit
iter.qty = iter.needNumber
})
}
res.data.data.consumTableData.forEach(iter => {
me.consumableRecord.push(
{
partId: iter.ext1,
partName: iter.consumeItemName,
specNo: iter.type,
qtyUnit: iter.unit,
qty: iter.needNumber,
}
)
})
})
me.consumableRecord = []
}
if (newValue.type === 'view') {
me.title = '保养工单-查看'
me.isView = true
me.isExecute = false
me.isCheck = false
me.isView = false
}
if (newValue.type === 'history') {
me.title = '保养工单-历史记录'
me.isHistory = true
me.isExecute = false
me.isCheck = false
me.isView = false
this.formObj.opinion = this.formObj.checkOpinion
}
if (newValue.type === 'check') {
me.title = '保养工单-验收'
me.isCheck = true
me.isExecute = false
me.isHistory = false
me.isView = false
}
// 回显数据
if (newValue.type !== 'execute') {
@ -412,6 +427,17 @@ export default {
getList({handle: this.formObj.handle}).then(res => {
this.equipList = res.data.data.equipList
this.equipStatusData = res.data.data.equipStatusData
res.data.data.consumTableData.forEach(iter => {
me.consumableRecord.push(
{
partId: iter.ext1,
partName: iter.consumeItemName,
specNo: iter.type,
qtyUnit: iter.unit,
qty: iter.needNumber,
}
)
})
})
}
},
@ -480,7 +506,7 @@ export default {
if (me.consumableRecord.length > 0) {
// 组装保存参数
me.consumableRecord.forEach(item => {
item.zPmsReportOrderBo = me.formObj.handle
item.zPmsMaintenanceOrderBo = me.formObj.handle
item.zPmsPartExtBo = ('PartBo:' + getStore({name: 'tenantId'}) + ',' + item.partId)
// 将界面的所需数量赋值
item.needNum = item.qty

View File

@ -177,6 +177,7 @@
<el-table :data="consumTableData" style="width: 100%">
<el-table-column label="序号" type="index"/>
<el-table-column label="耗材名称" prop="consumeItemName"/>
<el-table-column label="耗材ID" prop="ext1"/>
<el-table-column label="单位" prop="unit"/>
<el-table-column label="数量" prop="needNumber"/>
<el-table-column label="操作">
@ -292,6 +293,13 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="耗材ID:" prop="ext1">
<el-input v-model="consumForm.ext1" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="规格型号:" prop="type">
@ -860,6 +868,8 @@ export default {
},
dialogSelected(row) {
this.consumForm.consumeItemName = row.partName
this.consumForm.ext1 = row.partId
this.consumForm.ext2 = row.handle
this.consumForm.type = row.partCategoryId
this.consumForm.unit = row.qtyUnit
},

View File

@ -249,8 +249,11 @@ export default {
async personSelected(row) {
let me = this;
let parentObj = me.personSelectMainObj;
// 此处是因为在搜索界面检索出来时,会返回一个zPmsResrceExtBo,但不为BO,需要加上前缀,否则会报错
if (parentObj.zPmsResrceExtBo && parentObj.zPmsResrceExtBo.indexOf('ResourceBO:') === -1) {
parentObj.zPmsResrceExtBo = ('ResourceBO:' + getStore({name: 'tenantId'}) + ',' + parentObj.zPmsResrceExtBo)
}
parentObj.repairPerson = row.name;
parentObj.zPmsResrceExtBo = '';
parentObj.orderStatus = 'TB_REPAIRED';
parentObj.ext3 = 'Y';
showLoading()
@ -259,6 +262,7 @@ export default {
if (res.data.data === '1') {
return me.$message.error('指派失败:' + res.data.msg)
}
this.getList(this.page)
me.$message.success("指派成功")
}).catch((e) => {
hideLoading()