Files
cattleTransportation/tradeCattle/MENU_MODIFICATION_GUIDE.md
2025-10-21 17:29:52 +08:00

89 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 菜单修改说明
## 问题描述
需要修改侧边栏菜单:
- 删除第一个"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`: 父菜单ID0表示顶级菜单
- `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`
修改完成后,用户需要重新登录或刷新页面才能看到新的菜单结构。