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.

205 lines
12 KiB

5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 days 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. wallet: 150, // 钱包
  58. historical_data_query: 55, // 历史数据查询
  59. new_version_gold_query: 56, // 新版金币查询
  60. old_version_gold_query: 57, // 旧版金币查询
  61. cash_management: 58, // 现金管理
  62. collection_details: 59, // 收款明细
  63. collection_area_submit: 60, // 收款 - 地区客服--->收款提交
  64. view_customer_service_collection: 61, // 客服收款查看
  65. add_customer_service_collection: 62, // 客服添加收款
  66. withdraw_customer_service_collection: 63, // 客服收款撤回
  67. edit_customer_service_collection: 64, // 客服收款编辑
  68. refund_customer_service_collection: 65, // 客服收款退款
  69. view_customer_service_refund_reason: 66, // 客服收款查看退款理由
  70. collection_area_processing: 67, // 收款 - 地区财务--->收款处理
  71. area_finance_collection_pending: 68, // 地区财务收款待审核
  72. view_area_finance_pending: 69, // 地区财务收款待审核查看
  73. pass_area_finance_collection: 70, // 地区财务收款通过
  74. reject_area_finance_collection: 71, // 地区财务收款驳回
  75. area_finance_collection_approved: 72, // 地区财务收款已通过
  76. view_area_finance_approved: 73, // 地区财务收款已通过查看
  77. edit_area_finance_approved: 74, // 地区财务收款已通过编辑
  78. area_finance_collection_rejected: 75, // 地区财务收款已驳回
  79. area_finance_collection_completed: 76, // 地区财务收款已完成
  80. view_area_finance_completed: 77, // 地区财务收款已完成查看
  81. refund_area_finance_completed: 78, // 地区财务收款已完成退款
  82. collection_area_manager: 79, // 收款 - 地区负责人--->收款处理(负责人)
  83. area_manager_collection_pending: 80, // 地区负责人收款待审核
  84. view_area_manager_pending: 81, // 地区负责人收款待审核查看
  85. pass_area_manager_collection: 82, // 地区负责人收款通过
  86. reject_area_manager_collection: 83, // 地区负责人收款驳回
  87. area_manager_collection_approved: 84, // 地区负责人收款已通过
  88. view_area_manager_approved: 85, // 地区负责人收款已通过查看
  89. edit_area_manager_approved: 86, // 地区负责人收款已通过编辑
  90. area_manager_collection_rejected: 87, // 地区负责人收款已驳回
  91. area_manager_collection_completed: 88, // 地区负责人收款已完成
  92. view_area_manager_completed: 89, // 地区负责人收款已完成查看
  93. refund_area_manager_completed: 90, // 地区负责人收款已完成退款
  94. // 移除总部财务
  95. // collection_headquarters_finance: 91, // 收款 - 总部财务
  96. // headquarters_finance_approved: 92, // 总部财务收款已通过
  97. // view_headquarters_approved: 93, // 总部财务收款已通过查看
  98. // edit_headquarters_approved: 94, // 总部财务收款已通过编辑
  99. // headquarters_finance_completed: 95, // 总部财务收款已完成
  100. // view_headquarters_completed: 96, // 总部财务收款已完成查看
  101. // refund_headquarters_completed: 97, // 总部财务收款已完成退款
  102. refund_details: 98, // 退款明细
  103. refund_area_cash: 99, // 退款 - 地区客服--->退款提交
  104. view_customer_service_refund_pending: 100, // 客服退款查看
  105. withdraw_customer_service_refund: 101, // 客服退款撤回
  106. edit_customer_service_refund: 102, // 客服退款编辑
  107. refund_area_review: 103, // 退款 - 地区财务--->退款审批
  108. view_area_finance_refund: 104, // 地区财务退款查看
  109. audit_area_finance_refund: 105, // 地区财务退款审核
  110. track_area_finance_refund_progress: 106, // 地区财务退款进度
  111. refund_area_manager: 107, // 退款 - 地区负责人--->退款审批(负责人)
  112. view_area_manager_refund: 108, // 地区负责人退款查看
  113. audit_area_manager_refund: 109, // 地区负责人退款审核
  114. track_area_manager_refund_progress: 110, // 地区负责人退款进度
  115. refund_headquarters_finance: 111, // 退款 - 总部财务--->退款审批(总部财务)
  116. view_headquarters_refund: 112, // 总部财务退款查看
  117. audit_headquarters_refund: 113, // 总部财务退款审核
  118. track_headquarters_refund_progress: 114, // 总部财务退款进度
  119. execution_details_refund: 115, // 执行明细--->退款执行
  120. view_execution_details: 116, // 查看执行明细
  121. edit_execution_details: 117, // 编辑执行明细
  122. submit_execution_details: 118, // 提交执行明细
  123. activity_management: 119, // 活动管理
  124. view_activity: 120, // 查看活动
  125. add_activity: 121, // 新增活动
  126. edit_activity: 122, // 编辑活动
  127. delete_activity: 123, // 删除活动
  128. channel_management: 124, // 频道管理
  129. reward_management: 125, // 打赏管理
  130. fan_management: 126, // 铁粉管理
  131. small_cart_management: 127, // 小黄车管理
  132. permission_management: 128, // 权限管理
  133. user_management: 129, // 用户管理
  134. display_user_management: 130, // 用户管理展示
  135. add_user_information: 131, // 新增用户信息
  136. edit_user_information: 132, // 编辑用户信息
  137. reset_user_password: 133, // 重置用户密码
  138. delete_user_information: 134, // 删除用户信息
  139. enable_disable_user: 135, // 启用禁用用户
  140. role_management: 136, // 角色管理
  141. add_role_information: 137, // 新增角色信息
  142. edit_role_information: 138, // 编辑角色信息
  143. view_role_information: 139, // 查看角色信息
  144. settings_center: 140, // 设置中心
  145. refresh_data: 141, // 刷新数据
  146. view_personal_information: 142, // 查看个人信息
  147. change_password: 143, // 修改密码
  148. logout_system: 144, // 退出登录
  149. message_push: 145, // 消息推送
  150. mutiple_language: 146, // 多语言配置
  151. financial_accounting: 147, // 财务核算
  152. cash_flow_ledger: 148, // 资金流水账
  153. performance_attribution_accounting: 149, // 业绩归属台账
  154. new_transaction_flow: 162, // 新增流水
  155. performance_adjustment: 163, // 业绩调整
  156. }
  157. // 递归查找菜单中是否存在目标id
  158. export const findMenuById = (menuList, targetId) => {
  159. for (const menu of menuList) {
  160. if (menu.id === targetId) {
  161. return true; // 找到目标菜单
  162. }
  163. // 如果有子菜单,递归查找
  164. if (menu.children && menu.children.length > 0) {
  165. const found = findMenuById(menu.children, targetId);
  166. if (found) return true;
  167. }
  168. }
  169. return false;
  170. };
  171. // 递归判断某个 menuId 是否存在
  172. export const hasMenuPermission = (tree, targetId) => {
  173. for (const node of tree) {
  174. // console.log(node.id)
  175. if (node.id === targetId) return true;
  176. if (node.children && hasMenuPermission(node.children, targetId)) return true;
  177. }
  178. return false;
  179. };