Skip to content
On this page

菜单管理

1. 功能定位

菜单管理用于维护系统访问入口、功能权限定义、表定义、字段定义,并为角色授权和数据权限配置提供基础数据。

2. 页面布局

菜单管理采用「左侧菜单树 + 右侧配置区」。

text
左侧:菜单树
右侧:配置区
右侧页签:基础信息 / 功能权限 / 表定义

左侧菜单树:

  • 支持目录和菜单展示。
  • 支持搜索定位。
  • 支持展开/收起。
  • 停用菜单使用灰色状态展示。

3. 菜单类型

菜单新增分为:

  • 目录
  • 菜单

菜单来源包括:

  • 系统内部应用:系统通过编码新增的路由。
  • 自动化菜单:低代码工具创建的页面。
  • 外部页面:外部 iframe 嵌入页面。

三类菜单来源权限控制逻辑一致。

目录和菜单均支持启用、停用。

4. 菜单字段

字段是否必填控件说明
菜单名称输入框展示名称
菜单编码输入框唯一标识
类型单选目录 / 菜单
菜单来源菜单时必填下拉选择内部应用 / 自动化菜单 / 外部页面
路由地址视来源而定输入框内部应用路由
页面编码视来源而定输入框自动化页面编码
外部地址视来源而定输入框iframe 地址
上级菜单树选择菜单层级
图标图标选择展示图标
排序号数字输入展示排序
状态单选/标签启用 / 停用
描述多行文本说明

5. 新增菜单

入口:点击「新增菜单」。

交互:

  1. 先选择类型:目录 / 菜单。
  2. 选择目录时,仅填写目录基础字段。
  3. 选择菜单时,需要继续选择菜单来源。
  4. 根据菜单来源展示对应字段。

校验:

  • 菜单名称不能为空。
  • 菜单编码不能为空。
  • 菜单编码必须唯一。
  • 类型为菜单时,菜单来源必填。
  • 内部应用需要填写路由地址。
  • 自动化菜单需要填写页面编码。
  • 外部页面需要填写外部地址。

6. 菜单启用停用

规则:

  • 目录和菜单均支持启用、停用。
  • 停用菜单不可访问。
  • 建议目录停用后,下级菜单不可访问。
  • 停用不删除角色授权关系。
  • 重新启用后,原授权继续生效。

7. 菜单删除

菜单允许删除。

删除前展示影响范围:

  • 角色菜单授权数量
  • 功能权限数量
  • 功能授权数量
  • 表定义数量
  • 列权限配置数量

确认后:

  • 删除菜单。
  • 删除角色中的菜单授权。
  • 删除相关功能授权。
  • 删除相关列权限配置。
  • 删除后不再出现在角色授权配置中。

提示文案:

text
删除菜单后,相关角色授权、功能授权和列权限配置将一并删除。

8. 功能权限

菜单可配置功能权限。

功能权限用于角色授权,控制按钮或操作能力。

8.1 页面结构

功能权限表格列:

  • 功能名称
  • 权限标识
  • 分组
  • 排序号
  • 状态
  • 说明
  • 操作

操作:

  • 新增功能
  • 编辑功能
  • 启用
  • 停用
  • 删除

8.2 功能权限字段

字段是否必填控件说明
功能名称输入框如新增、编辑、删除、导出
权限标识输入框功能唯一标识
分组输入框/下拉用于授权页面分组展示
排序号数字输入展示排序
说明多行文本功能说明
状态单选/标签启用 / 停用

8.3 功能权限规则

  • 功能权限属于具体菜单。
  • 权限标识建议唯一且稳定。
  • 停用功能权限后,该功能不可被使用。
  • 删除功能权限时,角色中对应授权一并删除。
  • 删除前需提示影响范围。

9. 表定义

菜单可配置多个表定义。

表定义服务于:

  • 列权限
  • 表单填写
  • 条件查询

9.1 页面结构

text
左侧:表列表
右侧:字段列表

表操作:

  • 新增表
  • 编辑表
  • 删除表

字段操作:

  • 新增字段
  • 编辑字段
  • 删除字段
  • 调整排序

9.2 表字段

字段是否必填控件说明
表名称输入框展示名称
表标识输入框业务表唯一标识
表说明多行文本说明
排序号数字输入展示排序

9.3 字段定义

字段是否必填控件说明
字段名称输入框展示名称
字段标识输入框字段唯一标识
字段类型下拉选择文本、数字、日期、枚举等
是否参与列权限开关是 / 否
是否参与表单填写开关是 / 否
是否参与条件查询开关是 / 否
排序号数字输入展示排序
说明多行文本字段说明

10. 字段标识修改

字段标识允许修改。

如果字段已被以下配置引用:

  • 列权限
  • 表单配置
  • 查询条件

则修改时弹窗提示影响范围。

提示文案:

text
该字段已被权限、表单或查询条件引用。确认修改后,系统将同步更新引用关系。

确认后:

  • 系统同步更新引用关系。
  • 原配置不丢失。

取消后:

  • 不修改字段标识。

11. 外部页面

外部页面通过 iframe 嵌入。

本期暂不需要:

  • 白名单配置
  • 页面参数配置

12. 当前代码实现(截至 2026-09-01)

菜单树表:

  • 页面采用默认展开的树形表格,支持标题/标识/访问路径关键字、目录/菜单类型、显示状态和启停状态筛选,并支持列显隐。
  • 默认列包括标题、标识、类型、访问路径、组件标识、图标、排序、状态、显示和操作;缓存、固定标签、默认打开、外链、打开方式和链接可通过列配置显示。
  • 菜单有下级时仍按其自身 menuType 展示,不根据是否存在子节点改判为目录。
  • 操作包含新增子级、编辑、功能配置、表定义和删除;功能与表定义只对菜单节点开放。

统一 Dialog:

  • MenuManageDialog 作为统一容器,通过 component :is 切换菜单表单、删除影响、功能列表/表单、表列表/表单和字段表单。
  • 新增和编辑支持挂载位置、目录/菜单类型、排序、菜单来源、标题、标识、组件标识、路径、打开方式、图标、自动化页面、外部链接、说明及菜单选项。
  • 自动化页面的组件编码生成逻辑尚未接入,保持当前占位选择逻辑。

功能配置:

  • 功能按当前菜单维护名称、标识、分组、说明、排序和状态。
  • 功能列表先在前端形成草稿,点击列表底部保存后统一提交。
  • 停用功能需要确认;删除已保存功能时先读取角色授权影响并提示,随后随统一保存清理授权。

表和字段配置:

  • 一个菜单可维护多个表;表包含名称、标识、说明和排序,字段按表分组展示。
  • 字段包含名称、标识、类型、状态、列权限、表单填报、查询条件、排序和说明;类型支持字符串、数字、人员、部门、下拉、日期、布尔和级联。
  • 表或字段标识修改时,同一编辑会同步当前草稿中的字段归属;持久化引用影响由接口返回并在确认时提示。
  • 删除表需要二次确认并展示字段、列权限、表单和查询引用影响;删除单个字段不需要二次确认,直接从当前草稿移除,保存时统一提交并清理引用。
  • 功能标识和字段/表标识在各自作用域内校验唯一,允许大小写字母、数字、冒号和下划线。

状态与删除:

  • 停用菜单需要确认;目录停用会使下级不可访问,但不会修改下级自身启停值。
  • 删除前展示子菜单、角色菜单授权、功能、功能授权、表和列权限影响;提交后由接口统一清理关联引用。
  • 已定义菜单、功能、表字段及其影响范围接口,并提供对应 Mock 实现。