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

  1. export function getOrderPage(status) {
  2. // 收款相关状态(0-5)
  3. const receiveStatusMap = {
  4. 0: '/moneyManage/receiveDetail/receiveFinance', // 线下财务待审核
  5. 1: '/moneyManage/receiveDetail/receiveService', // 线下财务审核通过待填手续费
  6. 2: '/moneyManage/receiveDetail/receiveService', // 线下财务审核驳回
  7. 3: '/moneyManage/receiveDetail/receiveService', // link线上财务复核待填手续费
  8. // 4: '/moneyManage/receiveDetail', // 收款流程全部结束
  9. 5: '/moneyManage/receiveDetail/receiveService' // 手动撤回待编辑提交
  10. };
  11. // 退款相关状态(6及10-41中退款流程状态)
  12. const refundStatusMap = {
  13. 6: '/moneyManage/refundDetail', // 退款
  14. 10: '/moneyManage/refundDetail/refundFinance', // 地区财务待审核
  15. 11: '/moneyManage/refundDetail/refundFinance', // 地区财务手动撤回待编辑提交
  16. 12: '/moneyManage/refundDetail/refundFinance', // 地区财务驳回
  17. 20: '/moneyManage/refundDetail/refundCharge', // 地区负责人待审核
  18. 22: '/moneyManage/refundDetail/refundCharge', // 地区负责人驳回
  19. 30: '/moneyManage/refundDetail/refundHeader', // 总部财务待审核
  20. 32: '/moneyManage/refundDetail/refundHeader', // 总部财务驳回
  21. 40: '/moneyManage/refundDetail/refundService', // 执行人待处理
  22. 41: '/moneyManage/refundDetail/refundService' // 执行人已处理,退款结束
  23. };
  24. // 优先匹配退款状态(包含6和10-41区间)
  25. if (refundStatusMap.hasOwnProperty(status)) {
  26. return refundStatusMap[status];
  27. }
  28. // 匹配收款状态(0-5)
  29. if (receiveStatusMap.hasOwnProperty(status)) {
  30. return receiveStatusMap[status];
  31. }
  32. // 未知状态返回工作台
  33. return '/workbench';
  34. }
  35. function toNumberOrNull(value) {
  36. if (value === null || value === undefined) return null;
  37. const num = typeof value === 'number' ? value : Number(String(value).trim());
  38. return Number.isFinite(num) ? num : null;
  39. }
  40. const queryIdRouteNameMap = {
  41. 6: 'rechargeAudit',
  42. 7: 'rechargeAudit',
  43. 8: 'rechargeAudit',
  44. 9: 'rechargeAudit',
  45. 10: 'rechargeAudit',
  46. 11: 'rechargeAudit',
  47. 12: 'rechargeAudit',
  48. 13: 'refundAudit',
  49. 14: 'refundAudit',
  50. 15: 'refundAudit',
  51. 16: 'refundAudit',
  52. 17: 'refundAudit',
  53. 18: 'refundAudit',
  54. 19: 'refundAudit'
  55. };
  56. export function getMessageJumpTarget(message) {
  57. const permissionId = toNumberOrNull(message?.queryId ?? message?.menuId ?? message?.permissionId);
  58. if (permissionId !== null) {
  59. const routeName = queryIdRouteNameMap[permissionId];
  60. if (routeName) return { name: routeName };
  61. }
  62. const type = toNumberOrNull(message?.type);
  63. if (type === 0) return { name: 'rechargeAudit' };
  64. if (type === 1) return { name: 'refundAudit' };
  65. const status = toNumberOrNull(message?.status);
  66. if (status !== null) return getOrderPage(status);
  67. return '/workbench';
  68. }