You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

76 lines
3.0 KiB

export function getOrderPage(status) {
// 收款相关状态(0-5)
const receiveStatusMap = {
0: '/moneyManage/receiveDetail/receiveFinance', // 线下财务待审核
1: '/moneyManage/receiveDetail/receiveService', // 线下财务审核通过待填手续费
2: '/moneyManage/receiveDetail/receiveService', // 线下财务审核驳回
3: '/moneyManage/receiveDetail/receiveService', // link线上财务复核待填手续费
// 4: '/moneyManage/receiveDetail', // 收款流程全部结束
5: '/moneyManage/receiveDetail/receiveService' // 手动撤回待编辑提交
};
// 退款相关状态(6及10-41中退款流程状态)
const refundStatusMap = {
6: '/moneyManage/refundDetail', // 退款
10: '/moneyManage/refundDetail/refundFinance', // 地区财务待审核
11: '/moneyManage/refundDetail/refundFinance', // 地区财务手动撤回待编辑提交
12: '/moneyManage/refundDetail/refundFinance', // 地区财务驳回
20: '/moneyManage/refundDetail/refundCharge', // 地区负责人待审核
22: '/moneyManage/refundDetail/refundCharge', // 地区负责人驳回
30: '/moneyManage/refundDetail/refundHeader', // 总部财务待审核
32: '/moneyManage/refundDetail/refundHeader', // 总部财务驳回
40: '/moneyManage/refundDetail/refundService', // 执行人待处理
41: '/moneyManage/refundDetail/refundService' // 执行人已处理,退款结束
};
// 优先匹配退款状态(包含6和10-41区间)
if (refundStatusMap.hasOwnProperty(status)) {
return refundStatusMap[status];
}
// 匹配收款状态(0-5)
if (receiveStatusMap.hasOwnProperty(status)) {
return receiveStatusMap[status];
}
// 未知状态返回工作台
return '/workbench';
}
function toNumberOrNull(value) {
if (value === null || value === undefined) return null;
const num = typeof value === 'number' ? value : Number(String(value).trim());
return Number.isFinite(num) ? num : null;
}
const queryIdRouteNameMap = {
6: 'rechargeAudit',
7: 'rechargeAudit',
8: 'rechargeAudit',
9: 'rechargeAudit',
10: 'rechargeAudit',
11: 'rechargeAudit',
12: 'rechargeAudit',
13: 'refundAudit',
14: 'refundAudit',
15: 'refundAudit',
16: 'refundAudit',
17: 'refundAudit',
18: 'refundAudit',
19: 'refundAudit'
};
export function getMessageJumpTarget(message) {
const permissionId = toNumberOrNull(message?.queryId ?? message?.menuId ?? message?.permissionId);
if (permissionId !== null) {
const routeName = queryIdRouteNameMap[permissionId];
if (routeName) return { name: routeName };
}
const type = toNumberOrNull(message?.type);
if (type === 0) return { name: 'rechargeAudit' };
if (type === 1) return { name: 'refundAudit' };
const status = toNumberOrNull(message?.status);
if (status !== null) return getOrderPage(status);
return '/workbench';
}