-- 系统设置 / 医生工作站升级 -- 页面:setting/desktop_workstation/index -- 查询:setting.desktop_workstation/getConfig -- 保存:setting.desktop_workstation/setConfig -- 客户端检测 setting.desktop_workstation/check 免登录,不注册菜单权限。 START TRANSACTION; SET @setting_root_id = ( SELECT `id` FROM `zyt_system_menu` WHERE `type` = 'M' AND ( `paths` IN ('setting', '/setting') OR `name` = '系统设置' ) ORDER BY CASE WHEN `paths` IN ('setting', '/setting') THEN 0 ELSE 1 END, `id` ASC LIMIT 1 ); INSERT INTO `zyt_system_menu` (`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) SELECT COALESCE(@setting_root_id, 0), 'C', '医生工作站升级', 'el-icon-Upload', 90, 'setting.desktop_workstation/getConfig', 'desktop_workstation', 'setting/desktop_workstation/index', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() FROM DUAL WHERE NOT EXISTS ( SELECT 1 FROM `zyt_system_menu` WHERE `perms` = 'setting.desktop_workstation/getConfig' ); SET @desktop_update_menu_id = ( SELECT `id` FROM `zyt_system_menu` WHERE `perms` = 'setting.desktop_workstation/getConfig' ORDER BY `id` ASC LIMIT 1 ); INSERT INTO `zyt_system_menu` (`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) SELECT @desktop_update_menu_id, 'A', '保存升级配置', '', 1, 'setting.desktop_workstation/setConfig', '', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() FROM DUAL WHERE @desktop_update_menu_id IS NOT NULL AND NOT EXISTS ( SELECT 1 FROM `zyt_system_menu` WHERE `perms` = 'setting.desktop_workstation/setConfig' ); SET @desktop_update_save_menu_id = ( SELECT `id` FROM `zyt_system_menu` WHERE `perms` = 'setting.desktop_workstation/setConfig' ORDER BY `id` ASC LIMIT 1 ); -- 已拥有「系统设置」目录或其子菜单的角色,默认获得本页与保存权限。 INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`) SELECT DISTINCT role_menu.`role_id`, @desktop_update_menu_id FROM `zyt_system_role_menu` AS role_menu INNER JOIN `zyt_system_menu` AS granted_menu ON granted_menu.`id` = role_menu.`menu_id` WHERE @desktop_update_menu_id IS NOT NULL AND @setting_root_id IS NOT NULL AND (granted_menu.`id` = @setting_root_id OR granted_menu.`pid` = @setting_root_id); INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`) SELECT DISTINCT role_menu.`role_id`, @desktop_update_save_menu_id FROM `zyt_system_role_menu` AS role_menu INNER JOIN `zyt_system_menu` AS granted_menu ON granted_menu.`id` = role_menu.`menu_id` WHERE @desktop_update_save_menu_id IS NOT NULL AND @setting_root_id IS NOT NULL AND (granted_menu.`id` = @setting_root_id OR granted_menu.`pid` = @setting_root_id); COMMIT;