# 菜单修改说明

## 问题描述
需要修改侧边栏菜单：
- 删除第一个"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`

修改完成后，用户需要重新登录或刷新页面才能看到新的菜单结构。
