diff --git a/src/views/business/components/waybill-manage-page.vue b/src/views/business/components/waybill-manage-page.vue index 8f1416c..1001517 100644 --- a/src/views/business/components/waybill-manage-page.vue +++ b/src/views/business/components/waybill-manage-page.vue @@ -1599,14 +1599,7 @@ 取消 - - {{ completeActionLabel }} - - + {{ completeActionLabel }} @@ -5178,12 +5171,9 @@ export default { return false; } const status = this.statusValue(row); - // 待回单确认的「完成」由确认回单入口承担(走打卡节点与未了结异常校验); - // 只有确认回单不可用时才退回这里的普通完成 - if (status === 'pending_return_confirm') { - return !this.canConfirmReturn(row); - } - return status === 'processing' || status === 'running'; + // 同一枚「完成」按钮覆盖两种状态:待回单确认走确认回单(后端校验司机打卡节点齐全且无未了结异常), + // 进行中/处理中二次确认后直接置完成 + return status === 'processing' || status === 'running' || status === 'pending_return_confirm'; }, canConfirmReturn(row) { return ( @@ -10252,6 +10242,14 @@ export default { this.mileageForm = { id: '', mileage: '', mileageRemark: '' }; this.$refs.mileageFormRef?.clearValidate(); }, + // 行操作「完成」的唯一入口:待回单确认的运单走确认回单(后端校验司机打卡节点齐全且无未了结异常, + // 配置里没有确认回单动作时退回普通完成);进行中/处理中的运单二次确认后直接置完成。 + handleComplete(row) { + if (this.canConfirmReturn(row)) { + return this.handleAction('confirmReturn', row); + } + return this.handleAction('complete', row); + }, handleAction(action, row) { if (action === 'reassign') { this.openReassignDrawer(row); @@ -10265,11 +10263,13 @@ export default { reassign: '重新派单', confirmReturn: '完成', }[action]; - // 回单确认是终态动作(本轮不做撤销),把后果写在提示里,别让人以为还能退回 - const confirmText = - action === 'confirmReturn' - ? '回单确认后该运单将置为已完成,且不可撤销。是否继续?' - : `确定${actionName}该${this.config.title}?`; + // 回单确认与「完成」都是终态动作(本轮不做撤销),把后果写在提示里,别让人以为还能退回 + let confirmText = `确定${actionName}该${this.config.title}?`; + if (action === 'confirmReturn') { + confirmText = '回单确认后该运单将置为已完成,且不可撤销。是否继续?'; + } else if (action === 'complete') { + confirmText = `确定完成该${this.config.title}?完成后将置为已完成,且不可撤销。`; + } this.$confirm(confirmText, '提示', { confirmButtonText: '确定', cancelButtonText: '取消',