-- ========================================== -- 维修角色权限分配脚本 -- 功能:为维修人员和物业维修管理员分配适当的功能权限 -- 时间:2025-06-30 13:50:00 -- 说明:基于业务需求分配差异化权限 -- ========================================== -- 第一步:为维修人员(role_id: 5)分配权限 -- 维修人员需要:查看工单、处理自己的维修任务、查看维修分类 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) VALUES -- 报修管理基础权限 (5, 2110), -- 报修管理页面 (5, 2111), -- 报修查询 (5, 2117), -- 开始维修 (5, 2118), -- 完成维修 (5, 2121), -- 生成工单号 -- 维修分类查看权限 (5, 2130), -- 维修分类页面 (5, 2131), -- 分类查询 (5, 2136), -- 分类树查询 (5, 2137); -- 分类选项 -- 第二步:为物业维修管理员(role_id: 6)分配权限 -- 物业维修管理员需要:管理所有工单、分配任务、查看统计、管理分类 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) VALUES -- 报修管理全权限(除删除外) (6, 2110), -- 报修管理页面 (6, 2111), -- 报修查询 (6, 2112), -- 报修新增 (6, 2113), -- 报修修改 (6, 2115), -- 报修导出 (6, 2116), -- 工单分派 (6, 2117), -- 开始维修 (6, 2118), -- 完成维修 (6, 2119), -- 取消工单 (6, 2120), -- 统计数据 (6, 2121), -- 生成工单号 -- 维修分类管理权限 (6, 2130), -- 维修分类页面 (6, 2131), -- 分类查询 (6, 2132), -- 分类新增 (6, 2133), -- 分类修改 (6, 2135), -- 分类导出 (6, 2136), -- 分类树查询 (6, 2137); -- 分类选项 -- 第三步:为两个角色分配物业管理主菜单权限(如果存在) -- 确保用户能看到物业管理菜单入口 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) SELECT 5, menu_id FROM sys_menu WHERE menu_name = '物业管理' AND menu_type = 'M' UNION ALL SELECT 6, menu_id FROM sys_menu WHERE menu_name = '物业管理' AND menu_type = 'M'; -- 第四步:验证权限分配结果 SELECT '权限分配验证' as message, '维修人员权限数' as role_type, (SELECT COUNT(*) FROM sys_role_menu WHERE role_id = 5) as permission_count UNION ALL SELECT '权限分配验证' as message, '物业维修管理员权限数' as role_type, (SELECT COUNT(*) FROM sys_role_menu WHERE role_id = 6) as permission_count; -- 详细权限分配情况 SELECT r.role_name as '角色名称', m.menu_name as '菜单/功能名称', m.perms as '权限标识', CASE m.menu_type WHEN 'M' THEN '目录' WHEN 'C' THEN '菜单' WHEN 'F' THEN '按钮' END as '权限类型' 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.role_id IN (5, 6) AND m.perms LIKE 'pm:%' ORDER BY r.role_id, m.menu_id; -- 第五步:权限差异化说明 SELECT '权限设计说明' as info_type, '维修人员:只能处理维修任务,无管理权限' as description UNION ALL SELECT '权限设计说明' as info_type, '物业维修管理员:可管理工单、分配任务、查看统计' as description;