-- 工作台权限菜单修复 -- 作用:让角色管理的“添加/编辑角色”弹窗显示 工作台 -> 工作台 -> 数据驾驶舱/视频监控。 -- 注意:当前库里 menu_id = 1 已经是工作台入口,但 menu_type 曾是 C,角色弹窗只展示 M 作为模块。 UPDATE sys_menu SET menu_name = '工作台', parent_id = 0, order_num = 1, path = '/workbench', component = NULL, menu_type = 'M', visible = '0', status = 0, perms = NULL, icon = '#', update_time = NOW() WHERE menu_id = 1; SET @workbench_page_id := ( SELECT menu_id FROM sys_menu WHERE parent_id = 1 AND path = '/workbench/index' ORDER BY menu_id ASC LIMIT 1 ); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '工作台', 1, 1, '/workbench/index', 'stat/index', 1, 0, 'C', '0', 0, NULL, '#', 'admin', NOW(), '工作台页面' WHERE @workbench_page_id IS NULL; SET @workbench_page_id := ( SELECT menu_id FROM sys_menu WHERE parent_id = 1 AND path = '/workbench/index' ORDER BY menu_id ASC LIMIT 1 ); UPDATE sys_menu SET menu_name = '工作台', parent_id = 1, order_num = 1, path = '/workbench/index', component = 'stat/index', menu_type = 'C', visible = '0', status = 0, perms = NULL, update_time = NOW() WHERE menu_id = @workbench_page_id; INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '数据驾驶舱', @workbench_page_id, 1, '/workbench/dashboard', NULL, 1, 0, 'F', '0', 0, NULL, '#', 'admin', NOW(), '工作台数据驾驶舱权限' WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE parent_id = @workbench_page_id AND path = '/workbench/dashboard'); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '视频监控', @workbench_page_id, 2, '/workbench/video', NULL, 1, 0, 'F', '0', 0, NULL, '#', 'admin', NOW(), '工作台视频监控权限' WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE parent_id = @workbench_page_id AND path = '/workbench/video'); -- 修正早期 FAQ 脚本误挂到 menu_id = 1 的情况。 UPDATE sys_menu SET parent_id = 164, order_num = 100, component = 'contentSetting/faq', update_time = NOW() WHERE path = '/faq' AND parent_id = 1; -- 管理员角色补上新权限。 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) SELECT 1, menu_id FROM sys_menu WHERE menu_id = 1 OR parent_id = 1 OR parent_id = @workbench_page_id;