89 lines
2.3 KiB
Markdown
89 lines
2.3 KiB
Markdown
|
|
# 菜单修改说明
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
需要修改侧边栏菜单:
|
|||
|
|
- 删除第一个"test"菜单项
|
|||
|
|
- 将第二个"test"菜单项改为"系统管理"
|
|||
|
|
|
|||
|
|
## 解决方案
|
|||
|
|
|
|||
|
|
菜单数据存储在数据库的 `sys_menu` 表中,需要通过SQL语句直接修改数据库。
|
|||
|
|
|
|||
|
|
## 执行步骤
|
|||
|
|
|
|||
|
|
### 1. 查看当前菜单结构
|
|||
|
|
```sql
|
|||
|
|
SELECT id, parent_id, name, type, sort, icon
|
|||
|
|
FROM sys_menu
|
|||
|
|
WHERE is_delete = 0
|
|||
|
|
ORDER BY sort;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 查看所有"test"菜单项
|
|||
|
|
```sql
|
|||
|
|
SELECT id, parent_id, name, type, sort, icon
|
|||
|
|
FROM sys_menu
|
|||
|
|
WHERE name = 'test' AND is_delete = 0
|
|||
|
|
ORDER BY sort;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 执行修改
|
|||
|
|
运行 `update_menu_names_final.sql` 文件中的SQL语句:
|
|||
|
|
|
|||
|
|
```sql
|
|||
|
|
-- 删除sort值最小的"test"菜单项
|
|||
|
|
DELETE FROM sys_menu
|
|||
|
|
WHERE name = 'test'
|
|||
|
|
AND parent_id = 0
|
|||
|
|
AND is_delete = 0
|
|||
|
|
AND sort = (
|
|||
|
|
SELECT min_sort FROM (
|
|||
|
|
SELECT MIN(sort) as min_sort
|
|||
|
|
FROM sys_menu
|
|||
|
|
WHERE name = 'test' AND parent_id = 0 AND is_delete = 0
|
|||
|
|
) t
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
-- 将剩余的"test"菜单项改为"系统管理"
|
|||
|
|
UPDATE sys_menu
|
|||
|
|
SET name = '系统管理',
|
|||
|
|
update_time = NOW()
|
|||
|
|
WHERE name = 'test'
|
|||
|
|
AND parent_id = 0
|
|||
|
|
AND is_delete = 0;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 验证修改结果
|
|||
|
|
```sql
|
|||
|
|
SELECT id, parent_id, name, type, sort, icon
|
|||
|
|
FROM sys_menu
|
|||
|
|
WHERE is_delete = 0
|
|||
|
|
ORDER BY sort;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. **备份数据**:执行SQL前请先备份 `sys_menu` 表
|
|||
|
|
2. **权限检查**:确保有足够的数据库权限执行DELETE和UPDATE操作
|
|||
|
|
3. **测试环境**:建议先在测试环境执行,确认无误后再在生产环境执行
|
|||
|
|
4. **前端缓存**:修改后可能需要清除前端缓存或重新登录才能看到效果
|
|||
|
|
|
|||
|
|
## 菜单表结构说明
|
|||
|
|
|
|||
|
|
- `id`: 菜单ID(主键)
|
|||
|
|
- `parent_id`: 父菜单ID(0表示顶级菜单)
|
|||
|
|
- `name`: 菜单显示名称
|
|||
|
|
- `type`: 菜单类型(0-目录,1-菜单,2-按钮)
|
|||
|
|
- `sort`: 排序字段(数字越小越靠前)
|
|||
|
|
- `icon`: 菜单图标
|
|||
|
|
- `is_delete`: 是否删除(0-未删除,1-已删除)
|
|||
|
|
|
|||
|
|
## 前端影响
|
|||
|
|
|
|||
|
|
修改数据库后,前端会通过以下API获取菜单:
|
|||
|
|
- API: `/getUserMenus`
|
|||
|
|
- 前端文件: `pc-cattle-transportation/src/store/permission.js`
|
|||
|
|
- 菜单渲染: `pc-cattle-transportation/src/components/layout/index.vue`
|
|||
|
|
|
|||
|
|
修改完成后,用户需要重新登录或刷新页面才能看到新的菜单结构。
|