Files
HF-MES-manual/system_settings/menu_configuration.md
sheng 2d0c34d36e docs: 新增和更新多个模块的文档
新增SPC模块、托盘登录、生产批次不良报表、设备监控、半成品管理、托盘管理、系统监控、批次管理、班组模型、电池工序管理、电池复投管理、批次托盘、系统助手、SPC采集模型、产品模型管理、物料模型管理、用户管理、菜单配置等文档内容

更新文档指南,添加系统功能清单
2026-04-29 17:59:31 +08:00

7.4 KiB
Raw Blame History

菜单管理

1. 功能概述

菜单管理模块用于配置系统的菜单结构支持后台管理端和PDA端的菜单配置实现菜单的增删改查、排序和权限关联功能。

核心功能:

  • 菜单树形结构管理:支持多层级菜单的创建、编辑和删除
  • 菜单分类管理:区分后台(admin)和PDA模块的菜单
  • 菜单状态控制:支持菜单的启用/禁用操作
  • 菜单排序:支持拖拽排序,调整菜单显示顺序
  • 菜单权限关联:新增菜单自动关联超级管理员角色
  • 菜单导航属性:控制菜单是否在导航栏显示

2. 术语说明

2.1.1 菜单相关术语

术语 定义 说明
顶层菜单 没有上级菜单的菜单节点 作为菜单树的根节点
子菜单 有上级菜单的菜单节点 可多级嵌套
模块 菜单所属的系统模块 admin(后台)、pda(PDA端)
导航属性 菜单是否在导航栏显示 可见(1)或隐藏(0)
链接类型 菜单链接的类型 模块(0)或外链(1)
打开方式 链接的打开方式 当前窗口(_self)或新窗口(_blank)

3. 菜单管理操作

3.1 菜单查询

查询条件:

查询条件 说明
模块 选择后台(admin)或PDA模块
状态 筛选启用或禁用状态的菜单
导航属性 筛选可见或隐藏的菜单
菜单深度 控制菜单树的展开层级

操作步骤:

  1. 进入【系统设置】→【菜单管理】→【菜单配置】
  2. 在顶部查询区域选择查询条件
  3. 点击【查询】按钮获取菜单列表
  4. 点击【重置】按钮清空查询条件

3.2 新增菜单

操作步骤:

  1. 进入【系统设置】→【菜单管理】→【菜单配置】
  2. 点击【新增顶层菜单】按钮,或在已有菜单上点击【新增】按钮添加子菜单
  3. 填写菜单表单信息
  4. 点击【确定】完成新增

字段说明:

字段 说明 必填
上级菜单 选择父菜单,不选择表示顶层菜单
名称 菜单的显示名称
别名 菜单的别名标识API类型菜单必填
图标 菜单图标,可选择或自定义
排序 菜单的排序序号,数值越小越靠前
导航 控制菜单是否在导航栏显示
链接类型 模块(0)或外链(1)
打开方式 当前窗口或新窗口
URL 菜单链接地址
参数 链接参数
备注 菜单的备注说明

【提示】 新增菜单时,系统会自动将其关联到超级管理员角色。

3.3 编辑菜单

操作步骤:

  1. 在菜单树中点击需要编辑的菜单节点
  2. 在右侧表单中修改菜单信息
  3. 点击【修改】按钮保存更改

【注意】 菜单名称在同一模块内不能重复。

3.4 删除菜单

操作步骤:

  1. 在菜单树中找到需要删除的菜单
  2. 点击菜单右侧的【删除】按钮
  3. 在确认对话框中点击【确定】

【重要】 如果该菜单或其子级菜单正在被角色使用,则无法删除。

3.5 启用/禁用菜单

操作步骤:

  1. 在菜单树中找到需要操作的菜单
  2. 点击菜单右侧的【禁用】或【启用】按钮
  3. 在确认对话框中点击【确定】

【注意】 状态切换会影响该菜单及其所有子级菜单。

3.6 菜单排序

操作步骤:

  1. 在菜单树中拖拽菜单节点到目标位置
  2. 系统自动保存排序结果

支持的拖拽操作:

  • 拖拽到同级菜单的前面或后面
  • 拖拽到其他菜单下作为子菜单

4. 后台API接口

4.1 接口列表

API路径 方法 功能描述 所属文件
/api/background/v1/system_settings/menu_configuration/menu/all GET 获取用户权限内的菜单列表 MenuService.php:58
/api/background/v1/system_settings/menu_configuration/menu/list GET 获取菜单列表(带筛选条件) MenuService.php:124
/api/background/v1/system_settings/menu_configuration/menu/create POST 创建新菜单 MenuService.php:186
/api/background/v1/system_settings/menu_configuration/menu/edit POST 编辑菜单信息 MenuService.php:250
/api/background/v1/system_settings/menu_configuration/menu/delete POST 删除菜单 MenuService.php:307
/api/background/v1/system_settings/menu_configuration/menu/update_status POST 更新菜单状态 MenuService.php:328
/api/background/v1/system_settings/menu_configuration/menu/update_sort POST 更新菜单排序 MenuService.php:352

4.2 数据模型

菜单表字段:

字段名 类型 说明
id int 菜单唯一标识
parent_id int 父菜单ID
name varchar 菜单名称
alias varchar 菜单别名
icon varchar 菜单图标
is_navi tinyint 是否导航显示(0/1)
module varchar 所属模块(admin/pda)
params varchar 链接参数
remark varchar 备注说明
sort int 排序序号
status tinyint 状态(0禁用/1启用)
target varchar 打开方式
type tinyint 链接类型(0模块/1外链)
url varchar 链接地址

5. 前端组件结构

5.1 组件目录

menu_configuration/
└── menu/
    ├── components/
    │   ├── PageHeader/
    │   │   └── index.vue      # 查询条件头部组件
    │   └── PageMain/
    │       └── index.vue      # 主内容区域组件
    └── index.vue              # 页面入口组件

5.2 核心组件功能

组件 功能 关键特性
PageHeader 查询条件面板 支持模块切换、状态筛选、导航属性筛选
PageMain 菜单树和表单 树形展示、拖拽排序、增删改操作

6. 权限控制

菜单管理涉及以下权限点:

权限标识 权限名称 说明
/system_settings/menu_configuration/menu/create 新增菜单 允许创建新菜单
/system_settings/menu_configuration/menu/edit 编辑菜单 允许修改菜单信息
/system_settings/menu_configuration/menu/delete 删除菜单 允许删除菜单
/system_settings/menu_configuration/menu/disabled_enable 启用/禁用菜单 允许切换菜单状态

7. 数据流程图

flowchart TD
    A[用户请求] --> B{是否超级管理员}
    B -->|是| C[查询全部菜单]
    B -->|否| D[查询角色关联菜单]
    C --> E[返回菜单列表]
    D --> E
    E --> F[前端渲染树形结构]
    F --> G[用户操作]
    G --> H{操作类型}
    H -->|新增| I[校验名称唯一性]
    H -->|编辑| J[校验名称唯一性]
    H -->|删除| K[检查角色使用情况]
    H -->|状态切换| L[检查角色使用情况]
    I --> M[保存菜单数据]
    J --> M
    K --> N{是否被使用}
    L --> N
    N -->|是| O[提示错误信息]
    N -->|否| P[执行操作]
    M --> Q[关联超级管理员]
    Q --> R[返回结果]
    P --> R
    O --> R

8. 注意事项

【重要】 删除或禁用菜单前,请确保该菜单未被任何角色使用,否则操作将失败。

【提示】 建议定期整理菜单结构,保持菜单树的清晰性和逻辑性。

【注意】 菜单排序数值越小显示越靠前默认值为50。