diff --git a/src/api/eam/eam.js b/src/api/eam/eam.js
index e2b1bf4..62072dc 100644
--- a/src/api/eam/eam.js
+++ b/src/api/eam/eam.js
@@ -268,3 +268,6 @@ export const eamMaintainOrderExportExcel= data => createAPI(`/pms/eam/eamMaintai
// 废弃工单
export const abandonedEamWorkOrder = data => createAPI(`/pms/eam/abandonedEamWorkOrder`,'post',data)
+
+// 撤销审核删除协助人
+export const cancelDefect = data => createAPI(`/pms/eam/cancelDefect`,'post',data)
diff --git a/src/views/modules/eam/eamWorkOrderForDefect2.vue b/src/views/modules/eam/eamWorkOrderForDefect2.vue
index baecf0a..f1c84c4 100644
--- a/src/views/modules/eam/eamWorkOrderForDefect2.vue
+++ b/src/views/modules/eam/eamWorkOrderForDefect2.vue
@@ -286,7 +286,23 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
通过
退回
取消
@@ -849,6 +865,7 @@ import {
queryHistoryRecord, // 查看维修历史
getSparPartImages, // 获取备件图片
getConfirmButtonOperator, // 获取确认按钮操作人
+ cancelDefect, // 撤销审核删除协助人
} from "@/api/eam/eam.js"
import {
downLoadObjectFile,
@@ -1564,6 +1581,11 @@ export default {
feedbackBy: '',
actualOperatorName: '',
knowledgeFlag: '',
+ isAgreed: '',
+ disagreeReason: '',
+ assistUser: '',
+ assistUserName: '',
+ functionType: '',
},
abandonedData: {
site: '',
@@ -1588,6 +1610,8 @@ export default {
defectID: '',
defectDesc: '',
actualOperatorName: '',
+ assistUser: '',
+ assistUserName: '',
planDate: '',
reachDate: '',
actualDate: '',
@@ -2542,6 +2566,13 @@ export default {
this.submitData.actualOperatorName = this.detailData.actualOperatorName
this.submitData.knowledgeFlag = this.detailData.knowledgeFlag
this.submitData.updateBy = this.$store.state.user.name
+ this.submitData.isAgreed = ''
+ this.submitData.disagreeReason = ''
+ this.submitData.reachOperator = this.detailData.reachOperator || this.detailData.actualOperator || ''
+ this.submitData.reachOperatorName = this.detailData.reachOperatorName || this.detailData.actualOperatorName || ''
+ this.submitData.assistUser = this.detailData.assistUser
+ this.submitData.assistUserName = this.detailData.assistUserName
+ this.submitData.functionType = this.detailData.functionType
// if (this.detailData.status === '已完工') {
// this.$confirm(`是否取消审核?`, '提示', {
// confirmButtonText: '确定',
@@ -2622,11 +2653,20 @@ export default {
this.$message.warning('请选择难度等级!')
return
}
+ if (this.submitData.isAgreed === '' || this.submitData.isAgreed == null) {
+ this.$message.warning('请选择是否同意!')
+ return
+ }
+ if (this.submitData.isAgreed === 'N' && (this.submitData.disagreeReason === '' || this.submitData.disagreeReason == null)) {
+ this.$message.warning('请填写不同意的理由!')
+ return
+ }
submitDefect(this.submitData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.detailData.status = '已完工'
this.submitModelFlag = false
+ this.detailModelFlag = false
this.$message({
message: '操作成功',
type: 'success',
@@ -2663,7 +2703,7 @@ export default {
}
},
revokeModel(){
- this.$confirm(`是否撤销审核,回退到‘待审核’状态?`, '提示', {
+ this.$confirm(`是否撤销审核,回退到'待审核'状态?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
@@ -2672,35 +2712,62 @@ export default {
this.$message.warning('无审核权限!')
return
}
- this.submitData.site = this.detailData.site
- this.submitData.buNo = this.detailData.buNo
- this.submitData.orderNo = this.detailData.orderNo
- this.submitData.planID = this.detailData.planID
- this.submitData.objectID = this.detailData.objectID
- this.submitData.planDesc = this.detailData.feedBackDesc
- this.submitData.disposalMeasures = this.detailData.disposalMeasures
- this.submitData.defectID = this.detailData.defectID
- this.submitData.defectDesc = this.detailData.defectDesc
- this.submitData.remark = this.detailData.remark
- this.submitData.difficultyLevel = ''
- this.submitData.difficultyRemark = ''
- this.submitData.faultReason = this.detailData.faultReason
- this.submitData.handlingMethod = this.detailData.handlingMethod
- this.submitData.preventiveMeasure = this.detailData.preventiveMeasure
- this.submitData.feedbackBy = this.detailData.createBy
- this.submitData.actualOperatorName = this.detailData.actualOperatorName
- this.submitData.knowledgeFlag = this.detailData.knowledgeFlag
- this.submitData.updateBy = this.$store.state.user.name
- this.submitData.status = '待审核'
- submitDefect(this.submitData).then(({data}) => {
+
+ const deleteData = {
+ site: this.detailData.site,
+ buNo: this.detailData.buNo,
+ orderNo: this.detailData.orderNo,
+ functionType: this.detailData.functionType,
+ assistUser: this.detailData.assistUser
+ }
+
+ cancelDefect(deleteData).then(({data}) => {
if (data && data.code === 0) {
- this.getDataList()
- this.detailData.status = '待审核'
- this.$message({
- message: '操作成功',
- type: 'success',
- duration: 1500,
- onClose: () => {
+ // 删除成功后,再更新工单状态
+ this.submitData.site = this.detailData.site
+ this.submitData.buNo = this.detailData.buNo
+ this.submitData.orderNo = this.detailData.orderNo
+ this.submitData.planID = this.detailData.planID
+ this.submitData.objectID = this.detailData.objectID
+ this.submitData.planDesc = this.detailData.feedBackDesc
+ this.submitData.disposalMeasures = this.detailData.disposalMeasures
+ this.submitData.defectID = this.detailData.defectID
+ this.submitData.defectDesc = this.detailData.defectDesc
+ this.submitData.remark = this.detailData.remark
+ this.submitData.difficultyLevel = ''
+ this.submitData.difficultyRemark = ''
+ this.submitData.faultReason = this.detailData.faultReason
+ this.submitData.handlingMethod = this.detailData.handlingMethod
+ this.submitData.preventiveMeasure = this.detailData.preventiveMeasure
+ this.submitData.feedbackBy = this.detailData.createBy
+ this.submitData.actualOperatorName = this.detailData.actualOperatorName
+ this.submitData.knowledgeFlag = this.detailData.knowledgeFlag
+ this.submitData.updateBy = this.$store.state.user.name
+ this.submitData.isAgreed = ''
+ this.submitData.disagreeReason = ''
+ this.submitData.reachOperator = this.detailData.reachOperator || this.detailData.actualOperator || ''
+ this.submitData.reachOperatorName = this.detailData.reachOperatorName || this.detailData.actualOperatorName || ''
+ this.submitData.assistUser = this.detailData.assistUser
+ this.submitData.assistUserName = this.detailData.assistUserName
+ this.submitData.functionType = this.detailData.functionType
+ this.submitData.status = '待审核'
+
+ submitDefect(this.submitData).then(({data}) => {
+ if (data && data.code === 0) {
+ this.getDataList()
+ this.detailData.status = '待审核'
+ this.detailModelFlag = false
+ this.$message({
+ message: '操作成功',
+ type: 'success',
+ duration: 1500,
+ onClose: () => {
+ }
+ })
+ } else {
+ this.$alert(data.msg, '错误', {
+ confirmButtonText: '确定'
+ })
}
})
} else {
diff --git a/src/views/modules/reportWorkOrder/reportDefectOrder2.vue b/src/views/modules/reportWorkOrder/reportDefectOrder2.vue
index 44754bb..8221e97 100644
--- a/src/views/modules/reportWorkOrder/reportDefectOrder2.vue
+++ b/src/views/modules/reportWorkOrder/reportDefectOrder2.vue
@@ -246,11 +246,15 @@
-
+
- 实际维修人员
-
+ 实际维修人员
+
+
+
+ 协助人
+
故障图片
@@ -614,7 +618,10 @@
-
+
+
+
+
选择到达人员
@@ -625,6 +632,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+ {{ scope.row[item.columnProp] }}
+
+
+
+
+
+
+ 确认
+ 关闭
+
+
+
@@ -1163,6 +1231,8 @@ export default {
defectDesc: '',
operator: '',
operatorName: '',
+ assistUser: '',
+ assistUserName: '',
disposalMeasures: '',
objectID: '',
objectDesc: '',
@@ -1195,6 +1265,7 @@ export default {
operatorModelFlag: false,
operatorList: [],
roleList: [],
+ assistantModelFlag: false,
dataListSelections2: [],
operatorDetailList: [
{
@@ -2176,7 +2247,9 @@ export default {
// 查询人员
getOperatorList(this.operatorData).then(({data}) => {
if (data && data.code === 0) {
- this.operatorList = data.rows
+ // 过滤掉实际操作人员
+ const actualOperators = (this.saveData.operator || '').split(';').filter(item => item.trim() !== '')
+ this.operatorList = data.rows.filter(item => !actualOperators.includes(item.adminID))
} else {
this.operatorList = []
}
@@ -2223,6 +2296,66 @@ export default {
this.operatorModelFlag = false
},
+ // 增加协助人弹窗
+ addAssistantModal () {
+ this.operatorData.bu = this.saveData.site + '_' + this.saveData.buNo
+ if (this.roleList.length > 0) {
+ let filterList = this.roleList.filter(item => item.roleName === '机修')
+ if (filterList.length > 0) {
+ this.operatorData.roleId = filterList[0].roleId
+ } else {
+ this.operatorData.roleId = this.roleList[0].roleId
+ }
+ } else {
+ this.operatorData.roleId = ''
+ }
+ // 先清空缓存选中
+ this.$nextTick(() => this.$refs.operatorTable.clearSelection())
+ // 拿到选中的协助人编号
+ let tempDataList = (this.saveData.assistUser == null ? '' : this.saveData.assistUser).split(';')
+ // 查询人员
+ getOperatorList(this.operatorData).then(({data}) => {
+ if (data && data.code === 0) {
+ // 过滤掉实际操作人员
+ const actualOperators = (this.saveData.operator || '').split(';').filter(item => item.trim() !== '')
+ this.operatorList = data.rows.filter(item => !actualOperators.includes(item.adminID))
+
+ this.operatorList.forEach(val => {
+ // 回显选中的协助人
+ if (tempDataList.includes(val.adminID)) {
+ this.$nextTick(() => this.$refs.operatorTable.toggleRowSelection(val, true))
+ }
+ })
+ this.assistantModelFlag = true
+ } else {
+ this.$alert(data.msg, '错误', {
+ confirmButtonText: '确定'
+ })
+ }
+ })
+ },
+
+ // 确认选择协助人
+ confirmAssistant () {
+ if (!this.dataListSelections2 || this.dataListSelections2.length === 0) {
+ this.$message.warning('请选择协助人!')
+ return
+ }
+ // 直接使用当前选中的数据替换原有数据
+ let assistUsers = []
+ let assistUserNames = []
+
+ for (let i = 0; i < this.dataListSelections2.length; i++) {
+ assistUsers.push(this.dataListSelections2[i].adminID)
+ assistUserNames.push(this.dataListSelections2[i].adminName)
+ }
+
+ // 更新保存数据
+ this.saveData.assistUser = assistUsers.join(';')
+ this.saveData.assistUserName = assistUserNames.join(';')
+ this.assistantModelFlag = false
+ },
+
// 校验用户是否收藏
favoriteIsOk () {
let userFavorite = {
@@ -2460,8 +2593,14 @@ export default {
chooseReachOperator (row) {
this.saveData.site = row.site
this.saveData.buNo = row.buNo
- this.saveData.operator = ''
- this.saveData.operatorName = ''
+ // 只有 03-RFID BU 才固定为计划执行人员
+ if (row.buNo === '03-RFID') {
+ this.saveData.operator = row.planOperator || ''
+ this.saveData.operatorName = row.planOperatorName || ''
+ } else {
+ this.saveData.operator = ''
+ this.saveData.operatorName = ''
+ }
this.operatorData.bu = row.site + '_' + row.buNo
this.reachData = row
this.chooseReachModelFlag = true
@@ -2471,11 +2610,12 @@ export default {
// 到达
reach () {
- if (this.saveData.operator === '' || this.saveData.operator == null) { // 2025-02-13 海波要求
- this.$message.warning('请选择到达人员!')
+ if (this.saveData.operator === '' || this.saveData.operator == null) {
+ this.$message.warning('到达人员不能为空!')
return
}
- if (this.buNo != '01-Label' && this.planPeople){
+ // 只有非 03-RFID BU 才需要验证是否包含计划人员
+ if (this.buNo != '01-Label' && this.buNo != '03-RFID' && this.planPeople){
if (!this.saveData.operatorName.includes(this.planPeople)){
this.$message.warning('到达人员中不包含计划人员!')
return
@@ -2531,8 +2671,10 @@ export default {
checkWorkPlanId: row.checkWorkPlanId,
checkItemNo: row.checkItemNo,
reachDate: row.reachDate,
- operator: row.result == null ? row.reachOperator : row.adminID,
- operatorName: row.result == null ? row.reachOperatorName : row.operator,
+ operator: row.buNo === '03-RFID' ? (row.planOperator || row.reachOperator) : (row.result == null ? row.reachOperator : row.adminID),
+ operatorName: row.buNo === '03-RFID' ? (row.planOperatorName || row.reachOperatorName) : (row.result == null ? row.reachOperatorName : row.operator),
+ assistUser: row.assistUser || '',
+ assistUserName: row.assistUserName || '',
handlingMethod: row.handlingMethod,
feedBackDesc: row.feedBackDesc,
faultReason: row.faultReason,
@@ -2579,7 +2721,7 @@ export default {
this.$message.warning('请填写处理方式,且大于十个字数!')
return
}
- if (this.buNo != '01-Label' && this.saveData.planOperatorName){
+ if (this.buNo != '01-Label' && this.buNo != '03-RFID' && this.saveData.planOperatorName){
if (!this.saveData.operatorName.includes(this.saveData.planOperatorName)){
this.$message.warning('实际执行人员中不包含计划人员,请检查!')
return