2026-10-15-mini-crm-contract-webview-menus.sql 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. -- 小程序:CRM管理 → 合同管理 / 合同审批(WebView)
  2. -- list 随 CRM3000000000000000000000000020 (crm:contract:list)
  3. -- approve 随 CRM3000000000000000000000000021 (crm:contract:approve)
  4. SET NAMES utf8mb4;
  5. INSERT INTO `sys_menu` (
  6. `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
  7. `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
  8. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  9. )
  10. SELECT
  11. 'MINI_CRM_ROOT', 'CRM管理', '1', 'M', '/mini/crm', NULL, NULL,
  12. 1, '1', '1', 'shanxia2.0', 2, '小程序CRM管理',
  13. 'system', '', NOW(), NULL, NOW(), 0
  14. FROM DUAL
  15. WHERE NOT EXISTS (
  16. SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_CRM_ROOT' AND `del_flag` = 0
  17. );
  18. INSERT INTO `sys_menu` (
  19. `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
  20. `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
  21. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  22. )
  23. SELECT
  24. 'MINI_CRM_CONTRACT', '合同管理', 'MINI_CRM_ROOT', 'C', 'mp-webview', NULL,
  25. 'mini:crm:contract:list',
  26. 1, '1', '1', 'shanxia2.0', 4, '小程序 WebView CRM 合同管理',
  27. 'system', '', NOW(), NULL, NOW(), 0
  28. FROM DUAL
  29. WHERE NOT EXISTS (
  30. SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_CRM_CONTRACT' AND `del_flag` = 0
  31. );
  32. INSERT INTO `sys_menu` (
  33. `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
  34. `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
  35. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  36. )
  37. SELECT
  38. 'MINI_CRM_CONTRACT_APPROVAL', '合同审批', 'MINI_CRM_ROOT', 'C', 'mp-webview', NULL,
  39. 'mini:crm:contract:approve',
  40. 1, '1', '1', 'shanxia2.0', 5, '小程序 WebView CRM 合同审批',
  41. 'system', '', NOW(), NULL, NOW(), 0
  42. FROM DUAL
  43. WHERE NOT EXISTS (
  44. SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_CRM_CONTRACT_APPROVAL' AND `del_flag` = 0
  45. );
  46. -- 有 Web 合同管理权 → 补绑根 + CRM目录 + 合同管理
  47. INSERT INTO `sys_role_menu` (
  48. `id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
  49. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  50. )
  51. SELECT
  52. MD5(CONCAT(r.id, '|', m.menu_id, '|mini-crm-contract-webview|v1')),
  53. r.id,
  54. m.menu_id,
  55. IFNULL(NULLIF(r.tenant_no, ''), 'shanxia2.0'),
  56. 0,
  57. '小程序CRM合同管理:随 Web crm:contract:list 补绑',
  58. 'system', '', NOW(), NULL, NOW(), 0
  59. FROM `sys_role` r
  60. JOIN `sys_role_menu` web
  61. ON web.role_id = r.id
  62. AND web.menu_id = 'CRM3000000000000000000000000020'
  63. AND web.del_flag = 0
  64. JOIN (
  65. SELECT '1' AS menu_id UNION ALL
  66. SELECT 'MINI_CRM_ROOT' UNION ALL
  67. SELECT 'MINI_CRM_CONTRACT'
  68. ) m
  69. WHERE r.del_flag = 0
  70. AND NOT EXISTS (
  71. SELECT 1 FROM `sys_role_menu` x
  72. WHERE x.role_id = r.id AND x.menu_id = m.menu_id AND x.del_flag = 0
  73. );
  74. -- 有 Web 合同审批权 → 补绑根 + CRM目录 + 合同审批
  75. INSERT INTO `sys_role_menu` (
  76. `id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
  77. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  78. )
  79. SELECT
  80. MD5(CONCAT(r.id, '|', m.menu_id, '|mini-crm-contract-approval-webview|v1')),
  81. r.id,
  82. m.menu_id,
  83. IFNULL(NULLIF(r.tenant_no, ''), 'shanxia2.0'),
  84. 0,
  85. '小程序CRM合同审批:随 Web crm:contract:approve 补绑',
  86. 'system', '', NOW(), NULL, NOW(), 0
  87. FROM `sys_role` r
  88. JOIN `sys_role_menu` web
  89. ON web.role_id = r.id
  90. AND web.menu_id = 'CRM3000000000000000000000000021'
  91. AND web.del_flag = 0
  92. JOIN (
  93. SELECT '1' AS menu_id UNION ALL
  94. SELECT 'MINI_CRM_ROOT' UNION ALL
  95. SELECT 'MINI_CRM_CONTRACT_APPROVAL'
  96. ) m
  97. WHERE r.del_flag = 0
  98. AND NOT EXISTS (
  99. SELECT 1 FROM `sys_role_menu` x
  100. WHERE x.role_id = r.id AND x.menu_id = m.menu_id AND x.del_flag = 0
  101. );