2026-08-28-oa-start-history-all-perm.sql 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. -- =============================================================================
  2. -- OA 发起审批 · 全员历史记录按钮权限(menu_type = F)
  3. -- perms: oa:start:history:all
  4. -- =============================================================================
  5. --
  6. -- 用途:授予「发起审批」页历史弹窗查看本租户该流程全部实例的能力(含申请人筛选)。
  7. -- 无此权限的用户仍可打开历史弹窗,但仅能看到本人发起的实例。
  8. --
  9. -- 执行方式(按环境替换连接参数):
  10. -- mysql -h<host> -u<user> -p<password> <database> < docs/sql/2026-08-28-oa-start-history-all-perm.sql
  11. --
  12. -- 执行后授权:
  13. -- 1. 登录 web-admin → 系统管理 → 角色管理
  14. -- 2. 编辑目标角色 → 菜单权限树中展开「OA审批 → 发起审批」
  15. -- 3. 勾选「全员历史记录」按钮并保存
  16. -- 4. 相关用户重新登录或刷新权限缓存后生效
  17. --
  18. -- 执行前可选:确认「发起审批」菜单 id(应与下方 parent_id 一致)
  19. -- SELECT id, parent_id, menu_name, perms, menu_type
  20. -- FROM sys_menu
  21. -- WHERE del_flag = 0 AND (perms = 'oa:start' OR menu_name LIKE '%发起审批%');
  22. --
  23. -- parent_id 来源:backend/app/api/menu.py、web-admin/src/router/modules/sqxp.ts
  24. -- 发起审批 C 菜单 id = OA000000000000000000000000000103
  25. -- =============================================================================
  26. INSERT INTO `sys_menu` (
  27. `id`,
  28. `menu_name`,
  29. `parent_id`,
  30. `menu_type`,
  31. `path`,
  32. `component`,
  33. `perms`,
  34. `is_frame`,
  35. `visible`,
  36. `status`,
  37. `tenant_no`,
  38. `order_num`,
  39. `remark`,
  40. `create_by`,
  41. `create_dept_id`,
  42. `create_time`,
  43. `update_by`,
  44. `update_time`,
  45. `del_flag`
  46. )
  47. SELECT
  48. 'OA000000000000000000000000000301',
  49. '全员历史记录',
  50. 'OA000000000000000000000000000103',
  51. 'F',
  52. '',
  53. '',
  54. 'oa:start:history:all',
  55. 1,
  56. '0',
  57. '1',
  58. 'zkxw',
  59. 90,
  60. '发起审批历史弹窗:有此权限可查看本租户该流程全部实例',
  61. NULL,
  62. '',
  63. NOW(),
  64. NULL,
  65. NOW(),
  66. 0
  67. FROM DUAL
  68. WHERE NOT EXISTS (
  69. SELECT 1
  70. FROM `sys_menu`
  71. WHERE `perms` = 'oa:start:history:all'
  72. AND `del_flag` = 0
  73. );