-- ============================================================================ -- 教师名册:后台菜单与按钮权限 -- 参见 .scratch/openplat-sync/issues/19-admin-teacher-roster.md -- 可重复执行 -- -- 说明:后台菜单是动态从 sys_menu 读取的(GET /auth/user -> formatMenus -> addRoute)。 -- menu_type=1 的记录不生成路由,只作按钮权限。 -- path 与 component 填相同值,组件按 import.meta.glob('/src/views/**/index.vue') 解析。 -- -- 教师名册只是查看(分页 + 导出),没有任何写操作,因此按钮只有查询与导出两个。 -- ============================================================================ -- 菜单:教师名册 INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`, `authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`) SELECT 14405, 8574, '教师名册', '/gxmu/teacherRoster', '/gxmu/teacherRoster', 0, 106, '', 0, 0, 0, '', 10049 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14405); -- 按钮:名册查询 INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`, `authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`) SELECT 14406, 14405, '名册查询', '', '', 1, 1, 'gxmu:teacher:list', 0, 0, 0, '', 10049 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14406); -- 按钮:名册导出(泄露风险最高,单独授权) INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`, `authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`) SELECT 14407, 14405, '名册导出', '', '', 1, 2, 'gxmu:teacher:export', 0, 0, 0, '', 10049 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14407); -- --------------------------------------------------------------------------- -- 给超级管理员授权(其它角色请按需在后台「角色管理」里勾选) -- --------------------------------------------------------------------------- INSERT INTO `sys_role_menu` (`role_id`, `menu_id`, `tenant_id`) SELECT r.`role_id`, m.`menu_id`, 10049 FROM `sys_role` r JOIN `sys_menu` m ON m.`menu_id` IN (14405, 14406, 14407) LEFT JOIN `sys_role_menu` rm ON rm.`role_id` = r.`role_id` AND rm.`menu_id` = m.`menu_id` WHERE r.`role_code` = 'superAdmin' AND r.`tenant_id` = 10049 AND rm.`id` IS NULL;