From 2ae817ec38af9f17837554a8ded86540d8f20f4b Mon Sep 17 00:00:00 2001 From: weicw1996 Date: Sun, 18 Oct 2026 12:15:07 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E8=BF=90=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=96=B0=E5=A2=9E=E3=80=8C=E7=A1=AE=E8=AE=A4=E5=9B=9E?= =?UTF-8?q?=E5=8D=95=E3=80=8D=E8=A1=8C=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 回单节点配成「需业务员确认」时,运单会一直停在进行中等人确认,此前后台没有这个入口。 在与「完成」并列的位置加一个「确认回单」行操作:只在进行中的运单上出现,沿用「完成」的 权限码(它比完成更严——后端还要校验司机打卡节点齐全且无未了结异常,故不会多开出任何权限)。 确认后不可撤销,提示里写明。 --- src/api/business/waybill-manage.js | 7 ++++++ src/option/business/waybill-manage.js | 2 +- .../components/waybill-manage-page.vue | 24 ++++++++++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) 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',