-- 设备管理 -> 储能管理菜单及按钮权限 SET @device_management_id := ( SELECT menu_id FROM sys_menu WHERE menu_id = 258 AND menu_name = '设备管理' AND menu_type = 'M' LIMIT 1 ); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '储能管理', @device_management_id, 2, '/deviceManagement/energyStorage/list', 'deviceManagement/energyStorage', NULL, 1, 0, 'C', '0', 0, '/deviceManagement/energyStorage', '#', 'admin', NOW(), '储能管理页面' WHERE @device_management_id IS NOT NULL AND NOT EXISTS ( SELECT 1 FROM sys_menu WHERE parent_id = @device_management_id AND (path = '/deviceManagement/energyStorage/list' OR perms = '/deviceManagement/energyStorage') ); SET @energy_storage_id := ( SELECT menu_id FROM sys_menu WHERE parent_id = @device_management_id AND (path = '/deviceManagement/energyStorage/list' OR perms = '/deviceManagement/energyStorage') ORDER BY menu_id LIMIT 1 ); UPDATE sys_menu SET menu_name = '储能管理', parent_id = @device_management_id, order_num = 2, path = '/deviceManagement/energyStorage/list', component = 'deviceManagement/energyStorage', query = NULL, is_frame = 1, is_cache = 0, menu_type = 'C', visible = '0', status = 0, perms = '/deviceManagement/energyStorage', icon = '#', update_time = NOW(), remark = '储能管理页面' WHERE menu_id = @energy_storage_id; INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '储能查询', @energy_storage_id, 1, '', NULL, NULL, 1, 0, 'F', '0', 0, '/deviceManagement/energyStorage/select', '#', 'admin', NOW(), '储能查询按钮权限' WHERE @energy_storage_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE parent_id = @energy_storage_id AND perms = '/deviceManagement/energyStorage/select'); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '储能新增', @energy_storage_id, 2, '', NULL, NULL, 1, 0, 'F', '0', 0, '/deviceManagement/energyStorage/add', '#', 'admin', NOW(), '储能新增按钮权限' WHERE @energy_storage_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE parent_id = @energy_storage_id AND perms = '/deviceManagement/energyStorage/add'); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '储能删除', @energy_storage_id, 3, '', NULL, NULL, 1, 0, 'F', '0', 0, '/deviceManagement/energyStorage/del', '#', 'admin', NOW(), '储能删除按钮权限' WHERE @energy_storage_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE parent_id = @energy_storage_id AND perms = '/deviceManagement/energyStorage/del'); -- 已拥有“设备列表”的角色同步获得父目录和储能管理权限。 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) SELECT source.role_id, target.menu_id FROM (SELECT DISTINCT role_id FROM sys_role_menu WHERE menu_id IN (258, 259)) source CROSS JOIN ( SELECT menu_id FROM sys_menu WHERE menu_id = 258 OR menu_id = @energy_storage_id OR parent_id = @energy_storage_id ) target; -- 管理员角色默认拥有新增菜单及按钮权限。 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) SELECT 1, menu_id FROM sys_menu WHERE menu_id = 258 OR menu_id = @energy_storage_id OR parent_id = @energy_storage_id;