147 lines
4.7 KiB
SQL
147 lines
4.7 KiB
SQL
-- 报价单/合同:审批视图拆为独立菜单
|
||
-- 1) 插入「报价单审批」「合同审批」
|
||
-- 2) 调整 CRM 侧栏 order_num,使审批紧挨对应管理菜单
|
||
-- 3) 曾拥有 list 菜单的角色,幂等挂上 approve(权限仍可在角色管理中单独收回)
|
||
-- 注意:web-admin 开发环境默认 VITE_ACCESS_MODE=frontend,侧栏还依赖
|
||
-- web-admin/src/router/modules/sqxp.ts 中的新路由。
|
||
|
||
-- 报价单审批(紧挨报价单管理)
|
||
INSERT INTO `sys_menu` (
|
||
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
|
||
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
|
||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||
) VALUES (
|
||
'CRM3000000000000000000000000016',
|
||
'报价单审批',
|
||
'CRM00000000000000000000000000001',
|
||
'C',
|
||
'quote-approval',
|
||
'/crm/quote/approval/index',
|
||
'crm:quote:approve',
|
||
1, '1', '1', 'shanxia2.0', 6,
|
||
'报价单待审批/已审批独立入口',
|
||
'system', '', NOW(), NULL, NOW(), 0
|
||
)
|
||
ON DUPLICATE KEY UPDATE
|
||
`menu_name` = VALUES(`menu_name`),
|
||
`parent_id` = VALUES(`parent_id`),
|
||
`path` = VALUES(`path`),
|
||
`component` = VALUES(`component`),
|
||
`perms` = VALUES(`perms`),
|
||
`visible` = '1',
|
||
`status` = '1',
|
||
`order_num` = VALUES(`order_num`),
|
||
`remark` = VALUES(`remark`),
|
||
`del_flag` = 0,
|
||
`update_time` = NOW();
|
||
|
||
-- 合同审批(紧挨合同管理;合同管理 order_num 同步调整为 7)
|
||
INSERT INTO `sys_menu` (
|
||
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
|
||
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
|
||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||
) VALUES (
|
||
'CRM3000000000000000000000000021',
|
||
'合同审批',
|
||
'CRM00000000000000000000000000001',
|
||
'C',
|
||
'contract-approval',
|
||
'/crm/contract/approval/index',
|
||
'crm:contract:approve',
|
||
1, '1', '1', 'shanxia2.0', 8,
|
||
'合同待审批/已审批独立入口',
|
||
'system', '', NOW(), NULL, NOW(), 0
|
||
)
|
||
ON DUPLICATE KEY UPDATE
|
||
`menu_name` = VALUES(`menu_name`),
|
||
`parent_id` = VALUES(`parent_id`),
|
||
`path` = VALUES(`path`),
|
||
`component` = VALUES(`component`),
|
||
`perms` = VALUES(`perms`),
|
||
`visible` = '1',
|
||
`status` = '1',
|
||
`order_num` = VALUES(`order_num`),
|
||
`remark` = VALUES(`remark`),
|
||
`del_flag` = 0,
|
||
`update_time` = NOW();
|
||
|
||
-- 侧栏顺序:报价管理 5、报价审批 6、合同管理 7、合同审批 8、调价函 9、客户 10、主体危化品 11
|
||
UPDATE `sys_menu` SET `order_num` = 5, `update_time` = NOW()
|
||
WHERE `id` = 'CRM3000000000000000000000000010' AND `del_flag` = 0;
|
||
|
||
UPDATE `sys_menu` SET `order_num` = 7, `update_time` = NOW()
|
||
WHERE `id` = 'CRM3000000000000000000000000020' AND `del_flag` = 0;
|
||
|
||
UPDATE `sys_menu` SET `order_num` = 9, `update_time` = NOW()
|
||
WHERE `id` = 'CRM3000000000000000000000000030' AND `del_flag` = 0;
|
||
|
||
UPDATE `sys_menu` SET `order_num` = 10, `update_time` = NOW()
|
||
WHERE `id` = 'CRM1000000000000000000000000002' AND `del_flag` = 0;
|
||
|
||
UPDATE `sys_menu` SET `order_num` = 11, `update_time` = NOW()
|
||
WHERE `id` = 'CRM3000000000000000000000000040' AND `del_flag` = 0;
|
||
|
||
-- 角色:拥有报价单管理 → 挂上报价单审批
|
||
INSERT INTO `sys_role_menu` (
|
||
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
|
||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||
)
|
||
SELECT
|
||
CONCAT('RMQ16_', UPPER(MD5(CONCAT(t.`role_id`, '|CRM3000000000000000000000000016')))),
|
||
t.`role_id`,
|
||
'CRM3000000000000000000000000016',
|
||
t.`tenant_no`,
|
||
0,
|
||
'migrated from crm:quote:list for quote approval menu',
|
||
'system',
|
||
'',
|
||
NOW(),
|
||
NULL,
|
||
NOW(),
|
||
0
|
||
FROM (
|
||
SELECT DISTINCT `role_id`, `tenant_no`
|
||
FROM `sys_role_menu`
|
||
WHERE `menu_id` = 'CRM3000000000000000000000000010'
|
||
AND `del_flag` = 0
|
||
) t
|
||
WHERE NOT EXISTS (
|
||
SELECT 1
|
||
FROM `sys_role_menu` x
|
||
WHERE x.`role_id` = t.`role_id`
|
||
AND x.`menu_id` = 'CRM3000000000000000000000000016'
|
||
AND x.`del_flag` = 0
|
||
);
|
||
|
||
-- 角色:拥有合同管理 → 挂上合同审批
|
||
INSERT INTO `sys_role_menu` (
|
||
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
|
||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||
)
|
||
SELECT
|
||
CONCAT('RMC21_', UPPER(MD5(CONCAT(t.`role_id`, '|CRM3000000000000000000000000021')))),
|
||
t.`role_id`,
|
||
'CRM3000000000000000000000000021',
|
||
t.`tenant_no`,
|
||
0,
|
||
'migrated from crm:contract:list for contract approval menu',
|
||
'system',
|
||
'',
|
||
NOW(),
|
||
NULL,
|
||
NOW(),
|
||
0
|
||
FROM (
|
||
SELECT DISTINCT `role_id`, `tenant_no`
|
||
FROM `sys_role_menu`
|
||
WHERE `menu_id` = 'CRM3000000000000000000000000020'
|
||
AND `del_flag` = 0
|
||
) t
|
||
WHERE NOT EXISTS (
|
||
SELECT 1
|
||
FROM `sys_role_menu` x
|
||
WHERE x.`role_id` = t.`role_id`
|
||
AND x.`menu_id` = 'CRM3000000000000000000000000021'
|
||
AND x.`del_flag` = 0
|
||
);
|