# 菜单管理

<!-- BookStack import page: id=sys-menu chapter=系统管理 -->

## 功能定位

菜单管理维护目录、菜单和按钮三级结构，决定左侧导航、页面路由、组件路径和权限标识。它是系统功能入口的“总开关”，修改会影响所有角色。

![菜单管理](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-4oo1hozi.png)

*图 8-3　目录、菜单与按钮的树形维护*

## 适用角色

系统管理员、BI 管理员和前端/后端开发人员。

## 页面入口

系统管理 → 菜单管理（`/system/menu`）。

## 字段说明

| 字段 | 作用 |
|---|---|
| 菜单名称 | 左侧导航显示的名称 |
| 菜单类型 | 目录、菜单或按钮 |
| 显示排序 | 同级菜单的上下顺序 |
| 权限标识 | 后端接口和按钮权限码，如 `bi:sup:dashboard` |
| 组件路径 | 前端页面组件路径 |
| 路由地址 | 浏览器访问路径 |
| 显示状态 | 显示或隐藏 |
| 菜单状态 | 正常或停用 |

## 操作步骤

1. 先用筛选条件定位菜单，展开目录查看子菜单和按钮。
2. 新增目录时只填写名称、排序、图标和路由；目录不对应具体页面。
3. 新增菜单时填写路由地址、组件路径和权限标识，并选择上级目录。
4. 新增按钮时填写权限标识，不填写组件路径；按钮用于控制新增、修改、删除、导出等操作。
5. 调整顺序后保存，重新登录或刷新路由缓存验证导航顺序。
6. 隐藏旧菜单时使用“隐藏”而不是直接删除，便于回滚和历史审计。
7. 生产环境修改前先导出菜单备份，并在测试环境验证角色授权。

## 输入与输出

输入是菜单树、路由、组件和权限码；输出是动态路由、左侧导航和按钮级权限。

## 宏澜家电示例

新增“渠道分析”菜单，放在“数据探索中心”下，路由 `/bi/superset/dashboard`，组件指向 Superset 承载页，权限码 `bi:sup:dashboard`。同时新增“导出渠道明细”按钮权限，仅授予 BI 分析师。

## 客户应用演示：调整“数据探索中心”子菜单顺序

**业务情境：** 客户希望业务人员按“仪表盘 → 数据集 → SQL → AI”顺序使用功能。

### 第一步：进入“系统管理 → 菜单管理”

![第1步重点操作：进入“系统管理 → 菜单管理”](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-ia6r6rnm.jpeg)

*步骤图 46-01　第1步：进入“系统管理 → 菜单管理”。红框标出进入系统管理 → 菜单管理。*

进入“系统管理 → 菜单管理”，展开数据探索中心。

### 第二步：记录当前菜单顺序、路由和权限标识

![第2步重点操作：记录当前菜单顺序、路由和权限标识](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-cers2bdk.jpeg)

*步骤图 46-02　第2步：记录当前菜单顺序、路由和权限标识。红框标出记录当前菜单顺序、路由和权限标识。*

记录当前菜单顺序、路由和权限标识，先做配置备份。

### 第三步：使用上移/下移或排序值调整四个子菜单

![第3步重点操作：使用上移/下移或排序值调整四个子菜单](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-lyyzpi2y.jpeg)

*步骤图 46-03　第3步：使用上移/下移或排序值调整四个子菜单。红框标出使用上移/下移或排序值调整四个子菜单。*

使用上移/下移或排序值调整四个子菜单。

### 第四步：保存后刷新页面

![第4步重点操作：保存后刷新页面](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-fpntvgg3.jpeg)

*步骤图 46-04　第4步：保存后刷新页面。红框标出保存后刷新页面。*

保存后刷新页面，确认菜单顺序、图标和链接都正常。

### 第五步：用业务账号复核可见菜单

![第5步重点操作：用业务账号复核可见菜单](https://help.bigdata365.net/uploads/images/gallery/2026-11/embedded-image-lwcng8e2.jpeg)

*步骤图 46-05　第5步：用业务账号复核可见菜单。红框标出用业务账号复核可见菜单。*

用业务账号复核可见菜单，确认没有改变功能权限。

## 最终结果与效果

菜单按业务使用顺序显示，链接和权限保持不变；变更可在操作日志中追溯。

> **操作提示：** 不要修改正在使用的路由和组件路径；菜单变更后应回归所有链接。

## 常见问题

**菜单显示但点击 404。** 检查路由地址、组件路径和前端构建是否包含该页面。

**页面能打开但按钮全部隐藏。** 检查按钮权限码是否与前端 `v-hasPermi` 一致。

**截图里有历史菜单但导航不显示。** 菜单表可能保留隐藏的旧目录；以当前左侧导航为准，不要误删仍在使用的权限节点。

## 开发人员参考

- 接口：`/system/menu`、`/system/menu/{menuId}`、`/system/menu/treeselect`
- 权限：`system:menu:list`、`system:menu:add`、`system:menu:edit`、`system:menu:remove`
- 目录、菜单、按钮分别使用 `M`、`C`、`F` 类型。
- 菜单变更会影响动态路由和权限缓存；发布后应清理缓存并做角色回归测试。