diff --git a/src/api/business/waybill-manage.js b/src/api/business/waybill-manage.js
index ac31975..e90982c 100644
--- a/src/api/business/waybill-manage.js
+++ b/src/api/business/waybill-manage.js
@@ -14,6 +14,13 @@ export const cancel = api.cancel;
export const reassign = api.reassign;
export const complete = api.complete;
export const batchComplete = api.batchComplete;
+/** 确认回单:回单节点配成「需业务员确认」时用;后端校验司机打卡节点齐全且无未了结异常后才置完成 */
+export const confirmReturn = id =>
+ request({
+ url: `${baseUrl}/confirm-return`,
+ method: 'post',
+ params: { id },
+ });
export const changeRoute = data =>
request({
url: `${baseUrl}/change-route`,
diff --git a/src/option/business/waybill-manage.js b/src/option/business/waybill-manage.js
index 9f617d3..a86078d 100644
--- a/src/option/business/waybill-manage.js
+++ b/src/option/business/waybill-manage.js
@@ -471,7 +471,7 @@ export const config = {
endDateRange: ['endDateStart', 'endDateEnd'],
createTimeRange: ['createTimeStart', 'createTimeEnd'],
},
- actions: ['copy', 'cancel', 'reassign', 'complete', 'batchComplete'],
+ actions: ['copy', 'cancel', 'reassign', 'complete', 'batchComplete', 'confirmReturn'],
detailButton: true,
statusProp: 'businessStatus',
statusTextProp: 'businessStatusName',
diff --git a/src/views/business/components/waybill-manage-page.vue b/src/views/business/components/waybill-manage-page.vue
index dad89a3..9cb1a3d 100644
--- a/src/views/business/components/waybill-manage-page.vue
+++ b/src/views/business/components/waybill-manage-page.vue
@@ -1594,6 +1594,13 @@
{{ completeActionLabel }}
+
+ 确认回单
+
维护里程
@@ -5113,6 +5120,15 @@ export default {
const status = this.statusValue(row);
return status === 'processing' || status === 'running';
},
+ canConfirmReturn(row) {
+ return (
+ this.hasAction('confirmReturn') &&
+ this.hasPermission(`${this.config.permission}_complete`) &&
+ !this.readonlyScope &&
+ !row.readonly &&
+ this.statusValue(row) === 'running'
+ );
+ },
canMaintainMileage(row) {
return (
this.config.permission === 'waybill_manage' &&
@@ -10150,8 +10166,14 @@ export default {
cancel: '取消',
complete: this.completeActionLabel,
reassign: '重新派单',
+ confirmReturn: '确认回单',
}[action];
- this.$confirm(`确定${actionName}该${this.config.title}?`, '提示', {
+ // 确认回单是终态动作(本轮不做撤销),把后果写在提示里,别让人以为还能退回
+ const confirmText =
+ action === 'confirmReturn'
+ ? '确认回单后该运单将置为已完成,且不可撤销。是否继续?'
+ : `确定${actionName}该${this.config.title}?`;
+ this.$confirm(confirmText, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',