Browse Source

撤回

ecss-tx
han\hanst 3 weeks ago
parent
commit
71ba54956e
  1. 68
      src/views/modules/sampleTracking/projectProofTracking.vue

68
src/views/modules/sampleTracking/projectProofTracking.vue

@ -191,6 +191,15 @@
>
<template v-if="isTrackingRowProcessReadonly(scope.row)">
<span class="process-date-display">{{ scope.row[item.actualField] || '' }}</span>
<el-button
v-if="canRollbackProofingComplete(scope.row, item)"
class="process-rollback-btn"
type="warning"
size="mini"
plain
title="撤回Delivery&Package已完成"
@click.stop="rollbackProcessComplete(scope.row, item)"
></el-button>
</template>
<template v-else>
<el-date-picker
@ -5342,7 +5351,7 @@ export default {
if (!row || !processCol || !this.isProcessStatusComplete(row, processCol)) {
return
}
if (this.isTrackingRowProcessReadonly(row)) {
if (this.isTrackingRowProcessReadonly(row) && !this.canRollbackProofingComplete(row, processCol)) {
return
}
// 退
@ -5352,23 +5361,66 @@ export default {
if (!row || !processCol || !this.isProcessStatusComplete(row, processCol)) {
return
}
if (this.isTrackingRowProcessReadonly(row)) {
const rollbackProofingComplete = this.canRollbackProofingComplete(row, processCol)
if (this.isTrackingRowProcessReadonly(row) && !rollbackProofingComplete) {
return
}
const currentActualDate = this.formatDate(row[processCol.actualField])
this.$confirm('确定回退该工序状态为“未完成”吗?', '提示', {
const proofingNoText = this.getRollbackProofingNoDisplay(row)
// Delivery&Package 退
const rollbackTip = rollbackProofingComplete
? `确定撤回打样单(${proofingNoText})的Delivery&Package已完成状态吗?撤回后打样状态恢复为“进行中”。`
: `确定回退该工序状态为“未完成”吗?打样单号:${proofingNoText}`
this.$confirm(rollbackTip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const rollbackRemark = rollbackProofingComplete
? '撤回Delivery&Package已完成并回退打样状态'
: '表格一键回退为未完成'
const rollbackSuccessMsg = rollbackProofingComplete
? 'Delivery&Package已撤回,打样状态恢复为进行中'
: '工序状态已回退为未完成'
// 退退
this.updateProcessFromTable(row, processCol, {
status: '未完成',
actualDate: currentActualDate,
remark: '表格一键回退为未完成'
}, false, '工序状态已回退为未完成')
remark: rollbackRemark
}, false, rollbackSuccessMsg)
}).catch(() => {})
},
isDeliveryPackageProcess (processCol) {
if (!processCol || processCol.code == null) {
return false
}
return String(processCol.code).trim().toLowerCase() === 'deliverypackage'
},
canRollbackProofingComplete (row, processCol) {
if (!row || !processCol) {
return false
}
if (!this.isProofingFinishedForTrackingStatus(row)) {
return false
}
if (!this.isDeliveryPackageProcess(processCol)) {
return false
}
return this.isProcessStatusComplete(row, processCol)
},
getRollbackProofingNoDisplay (row) {
if (!row) {
return '-'
}
const proofingNo = row.proofingNo == null ? '' : String(row.proofingNo).trim()
if (proofingNo) {
return proofingNo
}
if (row.trackingId != null && row.trackingId !== '') {
return `TrackingID:${row.trackingId}`
}
return '-'
},
updateProcessFromTable (row, processCol, processData, silentSuccess, successMsg) {
if (!row || !processCol || !row.trackingId) {
this.$message.error('工序参数缺失')
@ -6199,6 +6251,7 @@ export default {
min-width: 74px;
text-align: center;
color: #606266;
margin-left: 18px;
}
.process-complete-btn {
@ -6206,6 +6259,11 @@ export default {
min-width: 12px;
}
.process-rollback-btn {
padding: 4px 6px;
min-width: 12px;
}
.comments-cell {
display: flex;
align-items: center;

Loading…
Cancel
Save