feat(pl): add plan-contract menu SQL and web-admin route

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-08-20 12:11:17 +08:00
1 parent af93272bcd
commit 58fbafa2ac
2 files changed
+116

No files matched your search

@@ -0,0 +1,109 @@
-- backend/scripts/migrate_20260820_pl_plan_contract_complete_menu.sql
-- 运输计划合同完善:挂在 PL_GROUP_PLAN 下,order_num=3;按钮权限保存合同关联
-- 可重复执行(幂等)
-- 1) 菜单 C:运输计划合同完善
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 (
'PL_PLAN_CONTRACT',
'运输计划合同完善',
'PL_GROUP_PLAN',
'C',
'plan-contract',
'pl/plan-contract/index',
'pl:plan-contract:list',
1, '1', '1', 'shanxia2.0', 3,
'缺合同运输计划补齐',
'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`),
`order_num`=VALUES(`order_num`),
`visible`=VALUES(`visible`),
`status`=VALUES(`status`);
-- 2) 菜单 F:保存合同关联
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 (
'PL_PLAN_CONTRACT_UPD',
'保存合同关联',
'PL_PLAN_CONTRACT',
'F',
'',
NULL,
'pl:plan-contract:update',
1, '1', '1', 'shanxia2.0', 1,
NULL,
'system', '', NOW(), NULL, NOW(), 0
)
ON DUPLICATE KEY UPDATE
`menu_name`=VALUES(`menu_name`),
`perms`=VALUES(`perms`),
`parent_id`=VALUES(`parent_id`);
-- 3) 角色授权:复制已有 PL_PLAN 的角色集合
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
REPLACE(UUID(), '-', ''),
`role_id`,
'PL_PLAN_CONTRACT',
`tenant_no`,
0,
NULL,
`create_by`,
`create_dept_id`,
NOW(),
`update_by`,
NOW(),
0
FROM `sys_role_menu`
WHERE `menu_id` = 'PL_PLAN'
AND `del_flag` = 0
AND NOT EXISTS (
SELECT 1
FROM `sys_role_menu` x
WHERE x.`role_id` = `sys_role_menu`.`role_id`
AND x.`menu_id` = 'PL_PLAN_CONTRACT'
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
REPLACE(UUID(), '-', ''),
`role_id`,
'PL_PLAN_CONTRACT_UPD',
`tenant_no`,
0,
NULL,
`create_by`,
`create_dept_id`,
NOW(),
`update_by`,
NOW(),
0
FROM `sys_role_menu`
WHERE `menu_id` = 'PL_PLAN'
AND `del_flag` = 0
AND NOT EXISTS (
SELECT 1
FROM `sys_role_menu` x
WHERE x.`role_id` = `sys_role_menu`.`role_id`
AND x.`menu_id` = 'PL_PLAN_CONTRACT_UPD'
AND x.`del_flag` = 0
);
+7
View File
@@ -30,6 +30,13 @@ export const plRoutes: AppRouteRecord[] = [
path: 'plan-archive',
component: '/pl/plan-archive/index',
meta: { title: '运输计划归档', keepAlive: true, menuCode: 'pl:plan-archive:list' }
},
{
id: 'PL_PLAN_CONTRACT',
name: 'PlPlanContract',
path: 'plan-contract',
component: '/pl/plan-contract/index',
meta: { title: '运输计划合同完善', keepAlive: true, menuCode: 'pl:plan-contract:list' }
}
]
},