| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- -- ==========================================
- -- 报修管理按钮权限更新脚本
- -- 功能:根据角色限制更新按钮权限配置
- -- 时间:2025-06-30 17:35:00
- -- 说明:实现基于角色的按钮权限控制
- -- ==========================================
- -- 1. 新增按钮权限到sys_menu表
- INSERT INTO sys_menu (
- menu_id, menu_name, parent_id, order_num, path, component,
- query_param, is_frame, is_cache, menu_type, visible, status,
- perms, icon, create_by, create_time, update_by, update_time, remark
- ) VALUES
- -- 更新进度权限(仅维修人员)
- (2141, '更新进度', 2110, 12, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:updateProgress', '#', 1, now(), 1, now(), '更新维修进度权限'),
- -- 完成工单权限(仅维修人员)
- (2142, '完成工单', 2110, 13, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:complete', '#', 1, now(), 1, now(), '完成工单权限'),
- -- 服务评价权限(仅报修人)
- (2143, '服务评价', 2110, 14, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:evaluate', '#', 1, now(), 1, now(), '服务评价权限'),
- -- 查看进度权限(所有用户)
- (2144, '查看进度', 2110, 15, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:progress', '#', 1, now(), 1, now(), '查看工单进度权限')
- ON DUPLICATE KEY UPDATE
- menu_name = VALUES(menu_name),
- perms = VALUES(perms),
- remark = VALUES(remark),
- update_time = now();
- -- 2. 为超级管理员分配所有权限
- INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
- SELECT 1, menu_id FROM sys_menu WHERE menu_id BETWEEN 2141 AND 2144;
- -- 3. 为物业维修管理员分配权限(除服务评价外)
- INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
- SELECT 6, menu_id FROM sys_menu WHERE menu_id IN (2141, 2142, 2144);
- -- 4. 为维修人员分配权限(更新进度、完成工单、查看进度)
- INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
- SELECT 5, menu_id FROM sys_menu WHERE menu_id IN (2141, 2142, 2144);
- -- 5. 为所有用户分配基础查看权限
- -- 注意:服务评价权限(2143)不在这里分配,需要前端业务逻辑控制
- -- 6. 验证权限配置
- SELECT
- m.menu_id,
- m.menu_name,
- m.perms,
- GROUP_CONCAT(r.role_name ORDER BY r.role_id) as assigned_roles
- FROM sys_menu m
- LEFT JOIN sys_role_menu rm ON m.menu_id = rm.menu_id
- LEFT JOIN sys_role r ON rm.role_id = r.role_id
- WHERE m.menu_id BETWEEN 2141 AND 2144
- GROUP BY m.menu_id, m.menu_name, m.perms
- ORDER BY m.menu_id;
- -- 输出配置完成信息
- SELECT '按钮权限配置完成' as message,
- 'pm:repairOrder:updateProgress - 仅维修人员' as update_progress,
- 'pm:repairOrder:complete - 仅维修人员' as complete_order,
- 'pm:repairOrder:evaluate - 业务逻辑控制' as evaluate_service,
- 'pm:repairOrder:progress - 所有用户' as view_progress;
|