From ebf41d74c8830e185f78c2f10c9cf74706b7412c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wei=5F=E4=BD=B3?= Date: Mon, 17 Nov 2025 15:04:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=AE=8C=E6=95=B4?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E5=88=9D=E5=A7=8B=E5=8C=96SQL=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增complete_menu_setup.sql包含所有菜单项 - 包含工作台、交易管理、估值管理、用户管理菜单 - 完整的角色权限分配(管理员和普通用户) - 删除重复的单独菜单SQL文件,统一管理 - 提供验证SQL便于检查菜单配置 --- docs/sql/complete_menu_setup.sql | 86 ++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 docs/sql/complete_menu_setup.sql diff --git a/docs/sql/complete_menu_setup.sql b/docs/sql/complete_menu_setup.sql new file mode 100644 index 0000000..1d08d3f --- /dev/null +++ b/docs/sql/complete_menu_setup.sql @@ -0,0 +1,86 @@ +-- 完整菜单初始化SQL +-- 创建时间: 2025-11-17 +-- 说明: 包含所有新增的菜单项和权限分配 + +-- ======================================== +-- 1. 工作台菜单 +-- ======================================== +INSERT INTO menu (id, name, menu_type, icon, path, 'order', parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at) +VALUES + (22, '工作台', 'menu', 'carbon:dashboard', '/workbench', 1, 0, 0, '/workbench', 1, NULL, datetime('now'), datetime('now')); + +-- ======================================== +-- 2. 交易管理菜单 +-- ======================================== +-- 插入一级目录:交易管理 +INSERT INTO menu (id, name, menu_type, icon, path, 'order', parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at) +VALUES + (16, '交易管理', 'catalog', 'carbon:receipt', '/transaction', 3, 0, 0, 'Layout', 0, '/transaction/invoice', datetime('now'), datetime('now')); + +-- 插入二级菜单:开票记录 +INSERT INTO menu (id, name, menu_type, icon, path, 'order', parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at) +VALUES + (17, '开票记录', 'menu', 'carbon:document', 'invoice', 1, 16, 0, '/transaction/invoice', 0, NULL, datetime('now'), datetime('now')); + +-- ======================================== +-- 3. 估值管理菜单 +-- ======================================== +-- 插入一级目录:估值管理 +INSERT INTO menu (id, name, menu_type, icon, path, 'order', parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at) +VALUES + (18, '估值管理', 'catalog', 'carbon:calculator', '/valuation', 4, 0, 0, 'Layout', 0, '/valuation/audit', datetime('now'), datetime('now')); + +-- 插入二级菜单:审核列表 +INSERT INTO menu (id, name, menu_type, icon, path, 'order', parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at) +VALUES + (19, '审核列表', 'menu', 'carbon:task-approved', 'audit', 1, 18, 0, '/valuation/audit', 0, NULL, datetime('now'), datetime('now')); + +-- ======================================== +-- 4. 用户管理菜单 +-- ======================================== +-- 插入一级目录:用户管理 +INSERT INTO menu (id, name, menu_type, icon, path, 'order', parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at) +VALUES + (20, '用户管理', 'catalog', 'carbon:user-multiple', '/user-management', 5, 0, 0, 'Layout', 0, '/user-management/user-list', datetime('now'), datetime('now')); + +-- 插入二级菜单:用户列表 +INSERT INTO menu (id, name, menu_type, icon, path, 'order', parent_id, is_hidden, component, keepalive, redirect, created_at, updated_at) +VALUES + (21, '用户列表', 'menu', 'carbon:user', 'user-list', 1, 20, 0, '/user-management/user-list', 0, NULL, datetime('now'), datetime('now')); + +-- ======================================== +-- 角色权限分配 +-- ======================================== + +-- 为管理员角色(role_id=1)分配所有菜单权限 +INSERT INTO role_menu (role_id, menu_id) +VALUES + (1, 22), -- 工作台 + (1, 16), -- 交易管理 + (1, 17), -- 开票记录 + (1, 18), -- 估值管理 + (1, 19), -- 审核列表 + (1, 20), -- 用户管理 + (1, 21); -- 用户列表 + +-- 为普通用户角色(role_id=2)分配基础菜单权限 +INSERT INTO role_menu (role_id, menu_id) +VALUES + (2, 22), -- 工作台 + (2, 16), -- 交易管理 + (2, 17), -- 开票记录 + (2, 18), -- 估值管理 + (2, 19); -- 审核列表 + -- 注意:普通用户不分配用户管理权限 + +-- ======================================== +-- 验证SQL +-- ======================================== +-- 查询所有新增的菜单 +-- SELECT * FROM menu WHERE id >= 16 ORDER BY parent_id, 'order'; + +-- 查询管理员角色的菜单权限 +-- SELECT m.name, m.path, m.menu_type FROM menu m +-- JOIN role_menu rm ON m.id = rm.menu_id +-- WHERE rm.role_id = 1 AND m.id >= 16 +-- ORDER BY m.parent_id, m.'order';