1、新增结算模块

2、调整业务模块
3、调整客商模块
This commit is contained in:
2026-08-20 06:33:01 +08:00
parent 4199255186
commit fd5b1484e6
59 changed files with 11745 additions and 1104 deletions
+78 -13
View File
@@ -63,15 +63,6 @@ const parseProcessNodes = value => {
return Array.isArray(value.nodes) ? value.nodes : [];
};
const requiresDriverAcceptConfirmation = processJson =>
parseProcessNodes(processJson).some(
node =>
(node.key === 'accept' || node.name === '接单') &&
node.enabled !== false &&
node.confirmMode === 'yes' &&
node.confirmDriver === true
);
const getProcessConfigNodes = row => {
const sources = [
row.processJson,
@@ -99,11 +90,79 @@ const getProcessConfigNodes = row => {
});
};
const hasAcceptProcessNode = row =>
const isAcceptProcessNode = node => node.key === 'accept' || node.name === '接单';
const requiresDriverAcceptConfirmation = row =>
getProcessConfigNodes(row).some(
node => node.enabled !== false && (node.key === 'accept' || node.name === '接单')
node =>
isAcceptProcessNode(node) &&
node.enabled !== false &&
node.confirmMode === 'yes' &&
node.confirmDriver === true
);
const isDriverRejectedStatus = value => {
if (value === null || value === undefined || typeof value === 'boolean') return false;
return [
'-1',
'2',
'reject',
'rejected',
'refuse',
'refused',
'decline',
'declined',
'deny',
'denied',
'拒绝',
'已拒绝',
'拒绝接单',
'已拒绝接单',
].includes(String(value).trim().toLowerCase());
};
const hasDriverRejectRecord = row => {
const rejectRecordValues = [
row.driverRejectTime,
row.driverRejectedTime,
row.driverRefuseTime,
row.acceptRejectTime,
row.driverRejectReason,
row.driverRefuseReason,
row.acceptRejectReason,
];
if (rejectRecordValues.some(value => !isEmpty(value))) return true;
const driverStatusProps = [
'driverAcceptStatus',
'driverAccepted',
'driverAccept',
'accepted',
'isAccepted',
'acceptStatus',
'driverResponseStatus',
'driverOrderStatus',
'driverAcceptResult',
'acceptResult',
];
if (driverStatusProps.some(prop => isDriverRejectedStatus(row[prop]))) return true;
const nodeStatusProps = [
...driverStatusProps,
'confirmStatus',
'executionStatus',
'nodeStatus',
'status',
'result',
];
return getProcessConfigNodes(row)
.filter(isAcceptProcessNode)
.some(node => nodeStatusProps.some(prop => isDriverRejectedStatus(node[prop])));
};
const isDriverRejectedWaybill = row =>
requiresDriverAcceptConfirmation(row) && hasDriverRejectRecord(row);
const hasDriverAcceptRecord = row => {
const recordValues = [
row.driverAcceptTime,
@@ -304,7 +363,7 @@ export const config = {
formatStatus(row, prop, defaultText) {
if (
prop === 'businessStatus' &&
hasAcceptProcessNode(row) &&
requiresDriverAcceptConfirmation(row) &&
isInProgressStatus(row, defaultText) &&
!hasDriverAcceptRecord(row)
) {
@@ -313,12 +372,18 @@ export const config = {
if (
prop === 'businessStatus' &&
row.businessStatus === 'pending' &&
!requiresDriverAcceptConfirmation(row.processJson)
!requiresDriverAcceptConfirmation(row)
) {
return '进行中';
}
return defaultText;
},
canReassign(row) {
return isDriverRejectedWaybill(row);
},
canEdit(row) {
return !isDriverRejectedWaybill(row);
},
deleteStatus: ['draft'],
editStatus: ['draft', 'pending'],
};