-- ============================================= -- 菜单结构更新脚本 -- 目标:区分违纪处分管理和处分记录审批两个功能模块 -- 执行日期:2025-01-08 -- ============================================= -- 步骤1:查看当前菜单结构 SELECT '=== 当前菜单结构 ===' as step; SELECT menu_id, menu_name, parent_id, path, component, order_num, status FROM sys_menu WHERE menu_id IN (9100, 9110, 9111, 9112, 9113) OR parent_id IN (9100, 9110) ORDER BY parent_id, order_num; -- 步骤2:更新违纪处分管理菜单(menu_id=9110) -- 修改为指向违纪处分申请页面 SELECT '=== 更新违纪处分管理菜单 ===' as step; UPDATE sys_menu SET menu_name = '违纪处分管理', path = 'disciplineApplication', component = 'xskh/disciplineApplication/index', update_time = NOW(), update_by = 1 WHERE menu_id = 9110; -- 步骤3:添加处分记录审批主菜单 SELECT '=== 添加处分记录审批主菜单 ===' as step; INSERT INTO sys_menu ( menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark ) VALUES ( 9120, -- 新的菜单ID '处分记录审批', 9100, -- 父菜单:学生考核管理 3, -- 排序 'disciplineRecordApproval', 'ParentView', 1, -- 非外链 0, -- 不缓存 'M', -- 目录 '0', -- 显示 '0', -- 正常状态 '', -- 权限标识 'approval', 1, NOW(), 1, NOW(), '处分记录审批菜单' ); -- 步骤4:添加违纪处分审批子菜单 SELECT '=== 添加违纪处分审批子菜单 ===' as step; INSERT INTO sys_menu ( menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark ) VALUES ( 9121, -- 违纪处分审批菜单ID '违纪处分审批', 9120, -- 父菜单:处分记录审批 1, -- 排序 'approval', 'xskh/disciplineApproval/index', 1, -- 非外链 0, -- 不缓存 'C', -- 菜单 '0', -- 显示 '0', -- 正常状态 'xskh:disciplineApproval:list', 'check', 1, NOW(), 1, NOW(), '违纪处分审批菜单' ); -- 步骤5:添加处分记录管理子菜单 SELECT '=== 添加处分记录管理子菜单 ===' as step; INSERT INTO sys_menu ( menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark ) VALUES ( 9122, -- 处分记录管理菜单ID '处分记录管理', 9120, -- 父菜单:处分记录审批 2, -- 排序 'record', 'xskh/disciplineRecord/index', 1, -- 非外链 0, -- 不缓存 'C', -- 菜单 '0', -- 显示 '0', -- 正常状态 'xskh:disciplineRecord:list', 'record', 1, NOW(), 1, NOW(), '处分记录管理菜单' ); -- 步骤6:为新菜单添加权限按钮(违纪处分审批) SELECT '=== 添加违纪处分审批权限按钮 ===' as step; INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES (9123, '违纪处分审批查询', 9121, 1, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:query', '#', 1, NOW(), ''), (9124, '违纪处分审批新增', 9121, 2, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:add', '#', 1, NOW(), ''), (9125, '违纪处分审批修改', 9121, 3, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:edit', '#', 1, NOW(), ''), (9126, '违纪处分审批删除', 9121, 4, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:remove', '#', 1, NOW(), ''), (9127, '违纪处分审批导出', 9121, 5, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:export', '#', 1, NOW(), ''), (9128, '违纪处分审批', 9121, 6, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:approve', '#', 1, NOW(), ''); -- 步骤7:为新菜单添加权限按钮(处分记录管理) SELECT '=== 添加处分记录管理权限按钮 ===' as step; INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES (9129, '处分记录管理查询', 9122, 1, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:query', '#', 1, NOW(), ''), (9130, '处分记录管理新增', 9122, 2, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:add', '#', 1, NOW(), ''), (9131, '处分记录管理修改', 9122, 3, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:edit', '#', 1, NOW(), ''), (9132, '处分记录管理删除', 9122, 4, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:remove', '#', 1, NOW(), ''), (9133, '处分记录管理导出', 9122, 5, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:export', '#', 1, NOW(), ''), (9134, '处分记录审核', 9122, 6, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:approve', '#', 1, NOW(), ''); -- 步骤8:为管理员角色分配新菜单权限 SELECT '=== 为管理员角色分配新菜单权限 ===' as step; INSERT INTO sys_role_menu (role_id, menu_id) VALUES -- 处分记录审批主菜单 (1, 9120), -- 违纪处分审批子菜单及权限 (1, 9121), (1, 9123), (1, 9124), (1, 9125), (1, 9126), (1, 9127), (1, 9128), -- 处分记录管理子菜单及权限 (1, 9122), (1, 9129), (1, 9130), (1, 9131), (1, 9132), (1, 9133), (1, 9134); -- 步骤9:验证更新结果 SELECT '=== 验证更新结果 ===' as step; SELECT menu_id, menu_name, parent_id, path, component, order_num, status, CASE menu_type WHEN 'M' THEN '目录' WHEN 'C' THEN '菜单' WHEN 'F' THEN '按钮' END as menu_type_desc FROM sys_menu WHERE menu_id IN (9100, 9110, 9120, 9121, 9122) OR parent_id IN (9100, 9110, 9120, 9121, 9122) ORDER BY parent_id, order_num; -- 步骤10:检查角色权限分配 SELECT '=== 检查角色权限分配 ===' as step; SELECT r.role_name, m.menu_name, m.perms FROM sys_role_menu rm JOIN sys_role r ON rm.role_id = r.role_id JOIN sys_menu m ON rm.menu_id = m.menu_id WHERE rm.menu_id IN (9120, 9121, 9122, 9123, 9124, 9125, 9126, 9127, 9128, 9129, 9130, 9131, 9132, 9133, 9134) ORDER BY m.menu_id; SELECT '=== 菜单结构更新完成 ===' as final_step; SELECT '新的菜单结构: 1. 违纪处分管理 → 显示违纪处分申请页面 (disciplineApplication) 2. 处分记录审批 → 包含两个子菜单: - 违纪处分审批 (disciplineApproval) - 处分记录管理 (disciplineRecord)' as new_structure;