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.

114 lines
4.9 KiB

  1. // 菜单权限映射(按 menu_type 排序)
  2. export const permissionMapping = {
  3. // 大系统和分系统,0级1级
  4. system:1, // 总系统
  5. workbench: 2, // 工作台
  6. goldManage:3, // 金币管理
  7. moneyManage:4, // 现金管理
  8. // 模块,2级
  9. financialAudit:5, // 财务审核
  10. rateManage:6, // 汇率管理
  11. rechargeManage:7, // 充值管理
  12. consumeManage:8, // 消耗管理
  13. refundManage:9, // 退款管理
  14. accountDetail:10, // 客户账户明细
  15. permissionManage:11, // 权限管理
  16. historyData:12, // 历史数据查询
  17. // 页面,3级
  18. workbenchShow:13, // 工作台查看
  19. coinAudit:14, // 金币审核
  20. beanAudit:15, // 金豆审核
  21. moneyRate:16, // 现金汇率
  22. coinRecharge:17, // 金币充值
  23. beanRecharge:18, // 金豆充值
  24. coinConsume:19, // 金币消耗
  25. beanConsume:20, // 金豆消耗
  26. coinRefund:21, // 金币退款
  27. coinDetail:22, // 金币客户账户明细
  28. beanDetail:23, // 金豆客户账户明细
  29. userManage:24, // 用户管理
  30. roleManage:25, // 角色管理
  31. newCoinSelect:26, // 金币查询(新)
  32. oldCoinSelect:27, // 金币查询(旧)
  33. // 功能,4级
  34. rechargeAudit:28, // 充值审核
  35. refundAudit:29, // 退款审核
  36. rechargeThrough:30, // 充值审核已通过
  37. rechargeReject:31, // 充值审核已驳回
  38. rechargeWait:32, // 充值审核待审核
  39. rechargeWaitShow:33, // 充值审核待审核查看
  40. rechargeWaitThough:34, // 充值审核等待通过
  41. rechargeWaitReject:35, // 充值审核等待驳回
  42. refundThrough:36, // 退款审核已通过
  43. refundReject:37, // 退款审核已驳回
  44. refundWait:38, // 退款审核待审核
  45. refundWaitShow:39, // 退款审核待审核查看
  46. refundWaitThough:40, // 退款审核等待通过
  47. refundWaitReject:41, // 退款审核等待驳回
  48. beanWait:42, // 金豆审核待审核
  49. beanWaitThough:43, // 金豆审核已通过
  50. beanReject:44, // 金豆审核已驳回
  51. beanWaitShow:45, // 金豆审核待审核查看
  52. beanWaitThough:46, // 金豆审核通过
  53. beanWaitReject:47, // 金豆审核驳回
  54. rateShow:48, // 现金汇率查看
  55. rateEdit:49, // 现金汇率编辑
  56. addCoinRecharge:50, // 新增金币充值
  57. coinRechargeDetail:51, // 金币充值明细
  58. addBeanRecharge:52, // 新增金豆充值
  59. beanSystemRecharge:53, // 金豆系统充值
  60. beanOnlineRecharge:54, // 金豆线上充值
  61. addCoinConsume:55, // 新增金币消耗
  62. coinConsumeDetail:56, // 金币消耗明细
  63. addBeanConsume:57, // 新增金豆消耗
  64. beanZBDetail:58, // 金豆直播消耗
  65. beanTFDetail:59, // 金豆铁粉消耗
  66. beanSPWZDetail:60, // 金豆视频文章消耗
  67. addCoinRefund:61, // 新增金币退款
  68. coinRefundDetail:62, // 金币退款明细
  69. coinCustomerDetail:63, // 金币客户账户明细
  70. coinCustomerMoney:64, // 金币客户账户金额
  71. userManageShow:65, // 用户管理展示
  72. addUserInfo:66, // 新增用户信息
  73. editUserInfo:67, // 编辑用户信息
  74. updateUserInfo:68, // 重置密码
  75. deleteUserInfo:69, // 删除用户信息
  76. roleManageShow:70, // 查看角色信息
  77. addRoleInfo:71, // 新增角色信息
  78. editRoleInfo:72, // 编辑角色信息
  79. }
  80. // 递归查找菜单中是否存在目标id
  81. export const findMenuById = (menuList, targetId) => {
  82. for (const menu of menuList) {
  83. if (menu.id === targetId) {
  84. return true; // 找到目标菜单
  85. }
  86. // 如果有子菜单,递归查找
  87. if (menu.children && menu.children.length > 0) {
  88. const found = findMenuById(menu.children, targetId);
  89. if (found) return true;
  90. }
  91. }
  92. return false;
  93. };
  94. // 递归判断某个 menuId 是否存在
  95. export const hasMenuPermission = (tree, targetId) => {
  96. for (const node of tree) {
  97. console.log(node.id)
  98. if (node.id === targetId) return true;
  99. if (node.children && hasMenuPermission(node.children, targetId)) return true;
  100. }
  101. return false;
  102. };