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: '取消',