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',