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.

196 lines
11 KiB

4 weeks ago
  1. // 菜单权限映射(按 menu_type 排序)
  2. export const permissionMapping = {
  3. total_system: 1, // 总系统
  4. workbench: 2, // 工作台
  5. gold_coin_management: 3, // 金币管理
  6. financial_audit: 4, // 财务审核
  7. gold_coin_audit: 5, // 金币审核
  8. gold_coin_recharge_audit: 6, // 金币充值审核
  9. gold_coin_recharge_pending: 7, // 金币充值审核待审核
  10. view_gold_recharge_pending: 8, // 金币充值审核待审核查看
  11. pass_gold_recharge_audit: 9, // 金币充值审核通过
  12. reject_gold_recharge_audit: 10, // 金币充值审核驳回
  13. gold_coin_recharge_approved: 11, // 金币充值审核已通过
  14. gold_coin_recharge_rejected: 12, // 金币充值审核已驳回
  15. gold_coin_refund_audit: 13, // 金币退款审核
  16. gold_coin_refund_pending: 14, // 金币退款审核待审核
  17. view_gold_refund_pending: 15, // 金币退款审核待审核查看
  18. pass_gold_refund_audit: 16, // 金币退款审核通过
  19. reject_gold_refund_audit: 17, // 金币退款审核驳回
  20. gold_coin_refund_approved: 18, // 金币退款审核已通过
  21. gold_coin_refund_rejected: 19, // 金币退款审核已驳回
  22. gold_bean_audit: 20, // 金豆审核
  23. gold_bean_audit_pending: 21, // 金豆审核待审核
  24. view_gold_bean_pending: 22, // 金豆审核待审核查看
  25. pass_gold_bean_audit: 23, // 金豆审核已通过
  26. reject_gold_bean_audit: 24, // 金豆审核已驳回
  27. gold_bean_audit_approved: 25, // 金豆审核待审核通过
  28. gold_bean_audit_rejected: 26, // 金豆审核待审核驳回
  29. exchange_rate_management: 27, // 汇率管理
  30. view_exchange_rate: 28, // 查看汇率
  31. edit_exchange_rate: 29, // 编辑汇率
  32. recharge_management: 30, // 充值管理
  33. gold_coin_recharge: 31, // 金币充值
  34. gold_coin_recharge_details: 32, // 金币充值明细
  35. add_gold_coin_recharge: 33, // 新增金币充值
  36. gold_bean_recharge: 34, // 金豆充值
  37. system_gold_bean_recharge: 35, // 系统金豆充值
  38. online_gold_bean_recharge: 36, // 线上金豆充值
  39. add_gold_bean_recharge: 37, // 新增金豆充值
  40. consumption_management: 38, // 消耗管理
  41. gold_coin_consumption: 39, // 金币消耗
  42. gold_coin_consumption_details: 40, // 金币消耗明细
  43. add_gold_coin_consumption: 41, // 新增金币消耗
  44. gold_bean_consumption: 42, // 金豆消耗
  45. gold_bean_live_details: 43, // 金豆直播明细
  46. gold_bean_fan_details: 44, // 金豆铁粉明细
  47. gold_bean_video_details: 45, // 金豆视频/文章明细
  48. add_gold_bean_consumption: 46, // 新增金豆消耗
  49. refund_management: 47, // 退款管理
  50. add_gold_coin_refund: 48, // 新增金币退款
  51. gold_coin_refund_details: 49, // 金币退款明细
  52. customer_account_details: 50, // 客户账户明细
  53. gold_coin_customer_details: 51, // 金币客户账户明细
  54. gold_coin_customer_bill: 52, // 金币明细
  55. gold_coin_customer_balance: 53, // 金币余额
  56. gold_bean_customer_details: 54, // 金豆客户账户明细
  57. historical_data_query: 55, // 历史数据查询
  58. new_version_gold_query: 56, // 新版金币查询
  59. old_version_gold_query: 57, // 旧版金币查询
  60. cash_management: 58, // 现金管理
  61. collection_details: 59, // 收款明细
  62. collection_area_customer_service: 60, // 收款 - 地区客服
  63. view_customer_service_collection: 61, // 客服收款查看
  64. add_customer_service_collection: 62, // 客服添加收款
  65. withdraw_customer_service_collection: 63, // 客服收款撤回
  66. edit_customer_service_collection: 64, // 客服收款编辑
  67. refund_customer_service_collection: 65, // 客服收款退款
  68. view_customer_service_refund_reason: 66, // 客服收款查看退款理由
  69. collection_area_finance: 67, // 收款 - 地区财务
  70. area_finance_collection_pending: 68, // 地区财务收款待审核
  71. view_area_finance_pending: 69, // 地区财务收款待审核查看
  72. pass_area_finance_collection: 70, // 地区财务收款通过
  73. reject_area_finance_collection: 71, // 地区财务收款驳回
  74. area_finance_collection_approved: 72, // 地区财务收款已通过
  75. view_area_finance_approved: 73, // 地区财务收款已通过查看
  76. edit_area_finance_approved: 74, // 地区财务收款已通过编辑
  77. area_finance_collection_rejected: 75, // 地区财务收款已驳回
  78. area_finance_collection_completed: 76, // 地区财务收款已完成
  79. view_area_finance_completed: 77, // 地区财务收款已完成查看
  80. refund_area_finance_completed: 78, // 地区财务收款已完成退款
  81. collection_area_manager: 79, // 收款 - 地区负责人
  82. area_manager_collection_pending: 80, // 地区负责人收款待审核
  83. view_area_manager_pending: 81, // 地区负责人收款待审核查看
  84. pass_area_manager_collection: 82, // 地区负责人收款通过
  85. reject_area_manager_collection: 83, // 地区负责人收款驳回
  86. area_manager_collection_approved: 84, // 地区负责人收款已通过
  87. view_area_manager_approved: 85, // 地区负责人收款已通过查看
  88. edit_area_manager_approved: 86, // 地区负责人收款已通过编辑
  89. area_manager_collection_rejected: 87, // 地区负责人收款已驳回
  90. area_manager_collection_completed: 88, // 地区负责人收款已完成
  91. view_area_manager_completed: 89, // 地区负责人收款已完成查看
  92. refund_area_manager_completed: 90, // 地区负责人收款已完成退款
  93. collection_headquarters_finance: 91, // 收款 - 总部财务
  94. headquarters_finance_approved: 92, // 总部财务收款已通过
  95. view_headquarters_approved: 93, // 总部财务收款已通过查看
  96. edit_headquarters_approved: 94, // 总部财务收款已通过编辑
  97. headquarters_finance_completed: 95, // 总部财务收款已完成
  98. view_headquarters_completed: 96, // 总部财务收款已完成查看
  99. refund_headquarters_completed: 97, // 总部财务收款已完成退款
  100. refund_details: 98, // 退款明细
  101. refund_area_customer_service: 99, // 退款 - 地区客服
  102. view_customer_service_refund_pending: 100, // 客服退款查看
  103. withdraw_customer_service_refund: 101, // 客服退款撤回
  104. edit_customer_service_refund: 102, // 客服退款编辑
  105. refund_area_finance: 103, // 退款 - 地区财务
  106. view_area_finance_refund: 104, // 地区财务退款查看
  107. audit_area_finance_refund: 105, // 地区财务退款审核
  108. track_area_finance_refund_progress: 106, // 地区财务退款进度
  109. refund_area_manager: 107, // 退款 - 地区负责人
  110. view_area_manager_refund: 108, // 地区负责人退款查看
  111. audit_area_manager_refund: 109, // 地区负责人退款审核
  112. track_area_manager_refund_progress: 110, // 地区负责人退款进度
  113. refund_headquarters_finance: 111, // 退款 - 总部财务
  114. view_headquarters_refund: 112, // 总部财务退款查看
  115. audit_headquarters_refund: 113, // 总部财务退款审核
  116. track_headquarters_refund_progress: 114, // 总部财务退款进度
  117. execution_details: 115, // 执行明细
  118. view_execution_details: 116, // 查看执行明细
  119. edit_execution_details: 117, // 编辑执行明细
  120. submit_execution_details: 118, // 提交执行明细
  121. activity_management: 119, // 活动管理
  122. view_activity: 120, // 查看活动
  123. add_activity: 121, // 新增活动
  124. edit_activity: 122, // 编辑活动
  125. delete_activity: 123, // 删除活动
  126. channel_management: 124, // 频道管理
  127. reward_management: 125, // 打赏管理
  128. fan_management: 126, // 铁粉管理
  129. small_cart_management: 127, // 小黄车管理
  130. permission_management: 128, // 权限管理
  131. user_management: 129, // 用户管理
  132. display_user_management: 130, // 用户管理展示
  133. add_user_information: 131, // 新增用户信息
  134. edit_user_information: 132, // 编辑用户信息
  135. reset_user_password: 133, // 重置用户密码
  136. delete_user_information: 134, // 删除用户信息
  137. enable_disable_user: 135, // 启用禁用用户
  138. role_management: 136, // 角色管理
  139. add_role_information: 137, // 新增角色信息
  140. edit_role_information: 138, // 编辑角色信息
  141. view_role_information: 139, // 查看角色信息
  142. settings_center: 140, // 设置中心
  143. refresh_data: 141, // 刷新数据
  144. view_personal_information: 142, // 查看个人信息
  145. change_password: 143, // 修改密码
  146. logout_system: 144, // 退出登录
  147. message_push: 145, // 消息推送
  148. mutiple_language: 146, // 多语言配置
  149. }
  150. // 递归查找菜单中是否存在目标id
  151. export const findMenuById = (menuList, targetId) => {
  152. for (const menu of menuList) {
  153. if (menu.id === targetId) {
  154. return true; // 找到目标菜单
  155. }
  156. // 如果有子菜单,递归查找
  157. if (menu.children && menu.children.length > 0) {
  158. const found = findMenuById(menu.children, targetId);
  159. if (found) return true;
  160. }
  161. }
  162. return false;
  163. };
  164. // 递归判断某个 menuId 是否存在
  165. export const hasMenuPermission = (tree, targetId) => {
  166. for (const node of tree) {
  167. // console.log(node.id)
  168. if (node.id === targetId) return true;
  169. if (node.children && hasMenuPermission(node.children, targetId)) return true;
  170. }
  171. return false;
  172. };