234 lines
13 KiB
MySQL
234 lines
13 KiB
MySQL
|
|
-- ========================================
|
||
|
|
-- 心理测评系统完整菜单配置
|
||
|
|
-- 创建时间: 2025-11-01
|
||
|
|
-- 说明:包含清理、插入和权限分配,一键执行
|
||
|
|
-- ========================================
|
||
|
|
|
||
|
|
SET NAMES utf8mb4;
|
||
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
|
|
||
|
|
-- ========================================
|
||
|
|
-- 第一步:清理旧数据
|
||
|
|
-- ========================================
|
||
|
|
|
||
|
|
-- 删除角色菜单关联
|
||
|
|
DELETE rm.* FROM sys_role_menu rm
|
||
|
|
INNER JOIN sys_menu m ON rm.menu_id = m.menu_id
|
||
|
|
WHERE m.menu_name LIKE '%心理%'
|
||
|
|
OR m.menu_name LIKE '%量表%'
|
||
|
|
OR m.menu_name LIKE '%题目%'
|
||
|
|
OR m.menu_name LIKE '%因子%'
|
||
|
|
OR m.menu_name LIKE '%测评%'
|
||
|
|
OR m.menu_name LIKE '%报告%'
|
||
|
|
OR m.menu_name LIKE '%解释%'
|
||
|
|
OR m.menu_name LIKE '%档案%'
|
||
|
|
OR m.menu_name LIKE '%问卷%'
|
||
|
|
OR m.menu_name LIKE '%二维码%';
|
||
|
|
|
||
|
|
-- 删除心理测评相关菜单
|
||
|
|
DELETE FROM sys_menu
|
||
|
|
WHERE menu_name LIKE '%心理%'
|
||
|
|
OR menu_name LIKE '%量表%'
|
||
|
|
OR menu_name LIKE '%题目%'
|
||
|
|
OR menu_name LIKE '%因子%'
|
||
|
|
OR menu_name LIKE '%测评%'
|
||
|
|
OR menu_name LIKE '%报告%'
|
||
|
|
OR menu_name LIKE '%解释%'
|
||
|
|
OR menu_name LIKE '%档案%'
|
||
|
|
OR menu_name LIKE '%问卷%'
|
||
|
|
OR menu_name LIKE '%二维码%';
|
||
|
|
|
||
|
|
-- ========================================
|
||
|
|
-- 第二步:插入新菜单
|
||
|
|
-- ========================================
|
||
|
|
|
||
|
|
-- 1. 心理测评管理目录(父菜单)
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '心理测评管理', 0, 4, 'psychology', NULL, '', '', 1, 0, 'M', '0', '0', '', 'form', 'admin', NOW(), '', NULL, '心理测评管理目录');
|
||
|
|
|
||
|
|
SET @parent_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 2. 量表管理菜单
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '量表管理', @parent_id, 1, 'scale', 'psychology/scale/index', '', '', 1, 0, 'C', '0', '0', 'psychology:scale:list', 'list', 'admin', NOW(), '', NULL, '量表管理菜单');
|
||
|
|
|
||
|
|
SET @scale_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 3. 量表按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '量表查询', @scale_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:scale:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '量表新增', @scale_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:scale:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '量表修改', @scale_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:scale:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '量表删除', @scale_id, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:scale:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
-- 4. 题目管理菜单(隐藏)
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '题目管理', @scale_id, 2, 'item', 'psychology/scale/item', '', '', 1, 0, 'C', '1', '0', 'psychology:item:list', 'edit', 'admin', NOW(), '', NULL, '题目管理菜单(隐藏)');
|
||
|
|
|
||
|
|
SET @item_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 5. 题目按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '题目查询', @item_id, 1, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:item:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '题目新增', @item_id, 2, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:item:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '题目修改', @item_id, 3, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:item:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '题目删除', @item_id, 4, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:item:remove', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '选项查询', @item_id, 5, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:option:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '选项新增', @item_id, 6, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:option:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '选项删除', @item_id, 7, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:option:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
-- 6. 因子管理菜单(隐藏)
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '因子管理', @scale_id, 3, 'factor', 'psychology/scale/factor', '', '', 1, 0, 'C', '1', '0', 'psychology:factor:list', 'tree', 'admin', NOW(), '', NULL, '因子管理菜单(隐藏)');
|
||
|
|
|
||
|
|
SET @factor_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 7. 因子按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '因子查询', @factor_id, 1, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:factor:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '因子新增', @factor_id, 2, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:factor:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '因子修改', @factor_id, 3, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:factor:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '因子删除', @factor_id, 4, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:factor:remove', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '规则查询', @factor_id, 5, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:factorrule:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '规则新增', @factor_id, 6, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:factorrule:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '规则删除', @factor_id, 7, '', '', '', '', 1, 0, 'F', '1', '0', 'psychology:factorrule:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
-- 8. 测评管理菜单
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '测评管理', @parent_id, 2, 'assessment', 'psychology/assessment/index', '', '', 1, 0, 'C', '0', '0', 'psychology:assessment:list', 'documentation', 'admin', NOW(), '', NULL, '测评管理菜单');
|
||
|
|
|
||
|
|
SET @assessment_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 9. 测评按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '测评查询', @assessment_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:assessment:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '测评新增', @assessment_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:assessment:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '测评修改', @assessment_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:assessment:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '测评删除', @assessment_id, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:assessment:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
-- 10. 测评执行菜单(隐藏)
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '开始测评', @assessment_id, 5, 'start', 'psychology/assessment/start', '', '', 1, 0, 'C', '1', '0', 'psychology:assessment:add', 'edit', 'admin', NOW(), '', NULL, '开始测评页面(隐藏)'),
|
||
|
|
(NULL, '答题中', @assessment_id, 6, 'taking', 'psychology/assessment/taking', '', '', 1, 0, 'C', '1', '0', '', 'edit', 'admin', NOW(), '', NULL, '答题页面(隐藏)');
|
||
|
|
|
||
|
|
-- 11. 报告管理菜单
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '报告管理', @parent_id, 3, 'report', 'psychology/report/index', '', '', 1, 0, 'C', '0', '0', 'psychology:report:list', 'documentation', 'admin', NOW(), '', NULL, '报告管理菜单');
|
||
|
|
|
||
|
|
SET @report_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 12. 报告按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '报告查询', @report_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:report:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '报告新增', @report_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:report:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '报告修改', @report_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:report:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '报告删除', @report_id, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:report:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
-- 13. 报告详情页面(隐藏)
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '报告详情', @report_id, 5, 'detail', 'psychology/report/detail', '', '', 1, 0, 'C', '1', '0', 'psychology:report:query', 'eye', 'admin', NOW(), '', NULL, '报告详情页面(隐藏)');
|
||
|
|
|
||
|
|
-- 14. 结果解释配置菜单
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '解释配置', @parent_id, 4, 'interpretation', 'psychology/interpretation/index', '', '', 1, 0, 'C', '0', '0', 'psychology:interpretation:list', 'edit', 'admin', NOW(), '', NULL, '结果解释配置菜单');
|
||
|
|
|
||
|
|
SET @interpretation_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 15. 解释配置按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '解释查询', @interpretation_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:interpretation:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '解释新增', @interpretation_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:interpretation:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '解释修改', @interpretation_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:interpretation:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '解释删除', @interpretation_id, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:interpretation:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
-- 16. 用户档案管理菜单
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '用户档案', @parent_id, 5, 'profile', 'psychology/profile/index', '', '', 1, 0, 'C', '0', '0', 'psychology:profile:list', 'user', 'admin', NOW(), '', NULL, '用户档案管理菜单');
|
||
|
|
|
||
|
|
SET @profile_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 17. 用户档案按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '档案查询', @profile_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:profile:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '档案新增', @profile_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:profile:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '档案修改', @profile_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:profile:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '档案删除', @profile_id, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:profile:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
-- 18. 自定义问卷菜单
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '自定义问卷', @parent_id, 6, 'questionnaire', 'psychology/questionnaire/index', '', '', 1, 0, 'C', '0', '0', 'psychology:questionnaire:list', 'edit', 'admin', NOW(), '', NULL, '自定义问卷菜单');
|
||
|
|
|
||
|
|
SET @questionnaire_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 19. 自定义问卷按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '问卷查询', @questionnaire_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:questionnaire:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '问卷新增', @questionnaire_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:questionnaire:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '问卷修改', @questionnaire_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:questionnaire:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '问卷删除', @questionnaire_id, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:questionnaire:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
-- 20. 二维码管理菜单
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '二维码管理', @parent_id, 7, 'qrcode', 'psychology/qrcode/index', '', '', 1, 0, 'C', '0', '0', 'psychology:qrcode:list', 'qrcode', 'admin', NOW(), '', NULL, '二维码管理菜单');
|
||
|
|
|
||
|
|
SET @qrcode_menu_id = LAST_INSERT_ID();
|
||
|
|
|
||
|
|
-- 21. 二维码按钮
|
||
|
|
INSERT INTO sys_menu VALUES
|
||
|
|
(NULL, '二维码查询', @qrcode_menu_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:qrcode:query', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '二维码新增', @qrcode_menu_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:qrcode:add', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '二维码修改', @qrcode_menu_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:qrcode:edit', '#', 'admin', NOW(), '', NULL, ''),
|
||
|
|
(NULL, '二维码删除', @qrcode_menu_id, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'psychology:qrcode:remove', '#', 'admin', NOW(), '', NULL, '');
|
||
|
|
|
||
|
|
SET FOREIGN_KEY_CHECKS = 1;
|
||
|
|
|
||
|
|
-- ========================================
|
||
|
|
-- 第三步:分配权限
|
||
|
|
-- ========================================
|
||
|
|
|
||
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
||
|
|
SELECT 1, menu_id
|
||
|
|
FROM sys_menu
|
||
|
|
WHERE menu_name LIKE '%心理%'
|
||
|
|
OR menu_name LIKE '%量表%'
|
||
|
|
OR menu_name LIKE '%题目%'
|
||
|
|
OR menu_name LIKE '%因子%'
|
||
|
|
OR menu_name LIKE '%测评%'
|
||
|
|
OR menu_name LIKE '%报告%'
|
||
|
|
OR menu_name LIKE '%解释%'
|
||
|
|
OR menu_name LIKE '%档案%'
|
||
|
|
OR menu_name LIKE '%问卷%'
|
||
|
|
OR menu_name LIKE '%二维码%';
|
||
|
|
|
||
|
|
-- ========================================
|
||
|
|
-- 第四步:验证结果
|
||
|
|
-- ========================================
|
||
|
|
|
||
|
|
SELECT '配置完成!' AS result;
|
||
|
|
SELECT COUNT(*) AS 菜单数量 FROM sys_menu
|
||
|
|
WHERE menu_name LIKE '%心理%'
|
||
|
|
OR menu_name LIKE '%量表%'
|
||
|
|
OR menu_name LIKE '%题目%'
|
||
|
|
OR menu_name LIKE '%因子%'
|
||
|
|
OR menu_name LIKE '%测评%'
|
||
|
|
OR menu_name LIKE '%报告%'
|
||
|
|
OR menu_name LIKE '%解释%'
|
||
|
|
OR menu_name LIKE '%档案%'
|
||
|
|
OR menu_name LIKE '%问卷%'
|
||
|
|
OR menu_name LIKE '%二维码%';
|
||
|
|
|
||
|
|
SELECT menu_id, menu_name, parent_id, path, visible, status
|
||
|
|
FROM sys_menu
|
||
|
|
WHERE menu_name LIKE '%心理%'
|
||
|
|
OR menu_name LIKE '%量表%'
|
||
|
|
OR menu_name LIKE '%题目%'
|
||
|
|
OR menu_name LIKE '%因子%'
|
||
|
|
OR menu_name LIKE '%测评%'
|
||
|
|
OR menu_name LIKE '%报告%'
|
||
|
|
OR menu_name LIKE '%解释%'
|
||
|
|
OR menu_name LIKE '%档案%'
|
||
|
|
OR menu_name LIKE '%问卷%'
|
||
|
|
OR menu_name LIKE '%二维码%'
|
||
|
|
ORDER BY parent_id, order_num;
|
||
|
|
|