-- 一诊 / 综合数据转化 -- 页面:/first_visit/conversion -- 组件:first_visit/conversion/index -- 查询权限:firstvisit.conversion/overview START TRANSACTION; 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 0, 'M', '一诊', 'el-icon-FirstAidKit', 802, '', 'first_visit', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() FROM DUAL WHERE NOT EXISTS ( SELECT 1 FROM `zyt_system_menu` WHERE `pid` = 0 AND `type` = 'M' AND (TRIM(`name`) = '一诊' OR LOWER(TRIM(`paths`)) IN ('first_visit', 'firstvisit', 'first-visit')) ); SET @first_visit_menu_id = ( SELECT `id` FROM `zyt_system_menu` WHERE `pid` = 0 AND `type` = 'M' AND (TRIM(`name`) = '一诊' OR LOWER(TRIM(`paths`)) IN ('first_visit', 'firstvisit', 'first-visit')) ORDER BY CASE WHEN TRIM(`name`) = '一诊' AND TRIM(`paths`) = 'first_visit' THEN 0 ELSE 1 END, `id` 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 @first_visit_menu_id, 'C', '综合数据转化', 'el-icon-DataAnalysis', 90, 'firstvisit.conversion/overview', 'conversion', 'first_visit/conversion/index', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() FROM DUAL WHERE @first_visit_menu_id IS NOT NULL AND NOT EXISTS ( SELECT 1 FROM `zyt_system_menu` WHERE `perms` = 'firstvisit.conversion/overview' OR (`pid` = @first_visit_menu_id AND ( TRIM(`name`) = '综合数据转化' OR TRIM(`paths`) = 'conversion' OR TRIM(`component`) = 'first_visit/conversion/index' )) ); SET @first_visit_conversion_menu_id = ( SELECT `id` FROM `zyt_system_menu` WHERE `pid` = @first_visit_menu_id AND (`perms` = 'firstvisit.conversion/overview' OR TRIM(`name`) = '综合数据转化' OR TRIM(`component`) = 'first_visit/conversion/index') ORDER BY CASE WHEN `perms` = 'firstvisit.conversion/overview' THEN 0 ELSE 1 END, `id` LIMIT 1 ); -- 若历史上已有同路径占位菜单,统一修正为当前页面与权限,保证迁移可重复执行。 UPDATE `zyt_system_menu` SET `name` = '综合数据转化', `icon` = 'el-icon-DataAnalysis', `sort` = 90, `perms` = 'firstvisit.conversion/overview', `paths` = 'conversion', `component` = 'first_visit/conversion/index', `is_cache` = 0, `is_show` = 1, `is_disable` = 0, `update_time` = UNIX_TIMESTAMP() WHERE `id` = @first_visit_conversion_menu_id; -- 医助=本人、诊室组长=本部门、经理=本部门及下级、管理员=全部;root 自动拥有。 INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`) SELECT `id`, @first_visit_menu_id FROM `zyt_system_role` WHERE @first_visit_menu_id IS NOT NULL AND `delete_time` IS NULL AND `name` IN ('医助', '经理', '诊室组长', '管理员'); INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`) SELECT `id`, @first_visit_conversion_menu_id FROM `zyt_system_role` WHERE @first_visit_conversion_menu_id IS NOT NULL AND `delete_time` IS NULL AND `name` IN ('医助', '经理', '诊室组长', '管理员'); COMMIT;