Files
hzdyjs/test/repair-order-permission-fix.sql
T
2025-06-30 20:33:58 +08:00

70 lines
4.7 KiB
SQL

-- ==========================================
-- 物业报修管理权限配置脚本
-- 功能:为报修管理模块添加必要的权限配置
-- 时间:2025-06-30
-- 说明:解决报修管理列表权限访问问题
-- ==========================================
-- 1. 添加报修管理菜单和权限
-- 注意:这里的ID需要确保不与现有数据冲突,使用较大的ID值
-- 主菜单:物业管理
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
(2100, '物业管理', 0, 6, 'pm', NULL, '', 1, 0, 'M', '0', '0', '', 'tool', 1, sysdate(), 1, sysdate(), '物业管理模块');
-- 二级菜单:报修管理
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
(2110, '报修管理', 2100, 1, 'repairOrder', 'pm/repairOrder/index', '', 1, 0, 'C', '0', '0', 'pm:repairOrder:list', 'form', 1, sysdate(), 1, sysdate(), '报修工单管理');
-- 报修管理相关权限按钮
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
(2111, '报修查询', 2110, 1, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:query', '#', 1, sysdate(), 1, sysdate(), ''),
(2112, '报修新增', 2110, 2, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:add', '#', 1, sysdate(), 1, sysdate(), ''),
(2113, '报修修改', 2110, 3, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:edit', '#', 1, sysdate(), 1, sysdate(), ''),
(2114, '报修删除', 2110, 4, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:remove', '#', 1, sysdate(), 1, sysdate(), ''),
(2115, '报修导出', 2110, 5, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:export', '#', 1, sysdate(), 1, sysdate(), ''),
(2116, '工单分派', 2110, 6, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:assign', '#', 1, sysdate(), 1, sysdate(), ''),
(2117, '开始维修', 2110, 7, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:start', '#', 1, sysdate(), 1, sysdate(), ''),
(2118, '完成维修', 2110, 8, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:finish', '#', 1, sysdate(), 1, sysdate(), ''),
(2119, '取消工单', 2110, 9, '', '', '', 1, 0, 'F', '0', '0', 'pm:repairOrder:cancel', '#', 1, sysdate(), 1, sysdate(), '');
-- 二级菜单:维修分类
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
(2120, '维修分类', 2100, 2, 'repairCategory', 'pm/repairCategory/index', '', 1, 0, 'C', '0', '0', 'pm:category:list', 'tree', 1, sysdate(), 1, sysdate(), '维修分类管理');
-- 维修分类相关权限按钮
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
(2121, '分类查询', 2120, 1, '', '', '', 1, 0, 'F', '0', '0', 'pm:category:query', '#', 1, sysdate(), 1, sysdate(), ''),
(2122, '分类新增', 2120, 2, '', '', '', 1, 0, 'F', '0', '0', 'pm:category:add', '#', 1, sysdate(), 1, sysdate(), ''),
(2123, '分类修改', 2120, 3, '', '', '', 1, 0, 'F', '0', '0', 'pm:category:edit', '#', 1, sysdate(), 1, sysdate(), ''),
(2124, '分类删除', 2120, 4, '', '', '', 1, 0, 'F', '0', '0', 'pm:category:remove', '#', 1, sysdate(), 1, sysdate(), ''),
(2125, '分类导出', 2120, 5, '', '', '', 1, 0, 'F', '0', '0', 'pm:category:export', '#', 1, sysdate(), 1, sysdate(), ''),
(2126, '分类树查询', 2120, 6, '', '', '', 1, 0, 'F', '0', '0', 'pm:category:tree', '#', 1, sysdate(), 1, sysdate(), '');
-- 2. 为admin角色分配权限
-- 获取admin角色ID(通常是1)和上面添加的菜单ID,建立关联
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, menu_id FROM sys_menu WHERE menu_id BETWEEN 2100 AND 2199;
-- 3. 确保admin用户有这些权限
-- admin用户通常已经有所有权限,但如果有问题可以重新关联
-- 验证语句:检查权限是否正确添加
SELECT
m.menu_id,
m.menu_name,
m.perms,
rm.role_id
FROM sys_menu m
LEFT JOIN sys_role_menu rm ON m.menu_id = rm.menu_id AND rm.role_id = 1
WHERE m.menu_id BETWEEN 2100 AND 2199
ORDER BY m.menu_id;
-- 提示信息
SELECT '物业报修管理权限配置完成,请重新登录系统以刷新权限缓存' AS message;