Files
hzdyjs/docs/开发文档/菜单权限配置指南.md
T

8.2 KiB

招生迎新系统菜单权限配置指南

📋 概述

本文档详细说明招生迎新系统的菜单权限配置方案,包括菜单结构设计、权限分配策略和配置步骤。

🏗️ 菜单结构设计

一级菜单

  • 招生迎新管理 (menu_id: 2100)
    • 路径: /zsjy
    • 图标: education
    • 权限: 无(目录菜单)

二级菜单及功能权限

1. 报名信息管理 (menu_id: 2101)

  • 基本信息

    • 路径: /zsjy/enrollment
    • 组件: zsjy/enrollment/index
    • 图标: peoples
    • 基础权限: zsjy:enrollment:list
  • 功能权限列表

    权限名称 权限标识 说明
    报名信息查询 zsjy:enrollment:query 查看详细信息
    报名信息新增 zsjy:enrollment:add 新增报名记录
    报名信息修改 zsjy:enrollment:edit 修改报名信息
    报名信息删除 zsjy:enrollment:remove 删除报名记录
    报名信息导出 zsjy:enrollment:export 导出Excel
    报名信息导入 zsjy:enrollment:import 批量导入
    报名信息审核 zsjy:enrollment:approve 审核报名
    报名信息统计 zsjy:enrollment:statistics 查看统计

2. 专业信息管理 (menu_id: 2110)

  • 基本信息

    • 路径: /zsjy/major
    • 组件: zsjy/major/index
    • 图标: skill
    • 基础权限: zsjy:major:list
  • 功能权限列表

    权限名称 权限标识 说明
    专业信息查询 zsjy:major:query 查看详细信息
    专业信息新增 zsjy:major:add 新增专业
    专业信息修改 zsjy:major:edit 修改专业信息
    专业信息删除 zsjy:major:remove 删除专业
    专业信息导出 zsjy:major:export 导出Excel
    专业启用禁用 zsjy:major:changeStatus 状态管理

3. 录取流程管理 (menu_id: 2120)

  • 基本信息

    • 路径: /zsjy/process
    • 组件: zsjy/process/index
    • 图标: cascader
    • 基础权限: zsjy:process:list
  • 功能权限列表

    权限名称 权限标识 说明
    录取流程查询 zsjy:process:query 查看流程详情
    录取流程新增 zsjy:process:add 创建流程
    录取流程修改 zsjy:process:edit 修改流程
    录取流程删除 zsjy:process:remove 删除流程
    录取流程导出 zsjy:process:export 导出Excel
    流程状态更新 zsjy:process:updateStatus 状态流转
    录取审批 zsjy:process:approve 录取决策

4. 审核记录管理 (menu_id: 2130)

  • 基本信息

    • 路径: /zsjy/audit
    • 组件: zsjy/audit/index
    • 图标: documentation
    • 基础权限: zsjy:audit:list
  • 功能权限列表

    权限名称 权限标识 说明
    审核记录查询 zsjy:audit:query 查看审核记录
    审核记录新增 zsjy:audit:add 添加审核记录
    审核记录修改 zsjy:audit:edit 修改审核记录
    审核记录删除 zsjy:audit:remove 删除记录
    审核记录导出 zsjy:audit:export 导出Excel
    审核统计 zsjy:audit:statistics 审核统计

5. 招生统计分析 (menu_id: 2140)

  • 基本信息

    • 路径: /zsjy/statistics
    • 组件: zsjy/statistics/index
    • 图标: chart
    • 基础权限: zsjy:statistics:list
  • 功能权限列表

    权限名称 权限标识 说明
    统计数据查询 zsjy:statistics:query 查看统计数据
    统计数据新增 zsjy:statistics:add 新增统计
    统计数据修改 zsjy:statistics:edit 修改统计
    统计数据删除 zsjy:statistics:remove 删除统计
    统计数据导出 zsjy:statistics:export 导出Excel
    报名统计概览 zsjy:statistics:overview 概览数据
    专业统计 zsjy:statistics:major 专业统计
    录取进度统计 zsjy:statistics:progress 进度统计
    地区分布统计 zsjy:statistics:region 地区分析
    性别分布统计 zsjy:statistics:gender 性别分析
    年龄分布统计 zsjy:statistics:age 年龄分析
    时间趋势统计 zsjy:statistics:trend 趋势分析
    刷新统计数据 zsjy:statistics:refresh 数据刷新
    生成统计报表 zsjy:statistics:report 报表生成

🔧 配置步骤

1. 执行SQL脚本

# 进入数据库
mysql -u root -p hzdyjs_xg

# 执行菜单权限配置脚本
source docs/设计文档/database/zsjy-menu-permissions.sql

2. 验证菜单配置

-- 查询招生迎新菜单结构
SELECT 
    menu_id,
    menu_name,
    parent_id,
    order_num,
    path,
    perms,
    menu_type,
    status
FROM sys_menu 
WHERE menu_id BETWEEN 2100 AND 2154
ORDER BY menu_id;

3. 角色权限分配

-- 为指定角色分配权限(示例:角色ID为2)
INSERT INTO sys_role_menu (role_id, menu_id) 
SELECT 2, menu_id FROM sys_menu WHERE menu_id BETWEEN 2100 AND 2154;

👥 角色权限建议

超级管理员 (role_id: 1)

  • 权限范围: 所有功能权限
  • 说明: 已在SQL脚本中自动配置

招生管理员

  • 建议权限:
    • 报名信息管理:全部权限
    • 专业信息管理:查询、修改、导出
    • 录取流程管理:全部权限
    • 审核记录管理:全部权限
    • 招生统计分析:查询、概览、统计相关

招生老师

  • 建议权限:
    • 报名信息管理:查询、修改、导出、审核
    • 专业信息管理:查询
    • 录取流程管理:查询、状态更新、审批
    • 审核记录管理:查询、新增、导出
    • 招生统计分析:查询、概览相关

统计分析员

  • 建议权限:
    • 报名信息管理:查询、导出、统计
    • 专业信息管理:查询
    • 录取流程管理:查询、导出
    • 审核记录管理:查询、导出、统计
    • 招生统计分析:全部权限

📊 权限统计

模块 菜单数量 功能权限数量 总计
报名信息管理 1 8 9
专业信息管理 1 5 6
录取流程管理 1 6 7
审核记录管理 1 5 6
招生统计分析 1 13 14
总计 5 37 42

🚀 使用说明

1. 前端路由配置

确保前端路由配置与菜单路径一致:

// router/modules/zsjy.js
export default {
  path: '/zsjy',
  component: Layout,
  redirect: '/zsjy/enrollment',
  name: 'Zsjy',
  meta: { title: '招生迎新管理', icon: 'education' },
  children: [
    {
      path: 'enrollment',
      component: () => import('@/views/zsjy/enrollment/index'),
      name: 'ZsjyEnrollment',
      meta: { title: '报名信息管理', icon: 'peoples' }
    },
    // ... 其他子路由
  ]
}

2. 按钮权限控制

在前端页面中使用权限指令:

<template>
  <!-- 新增按钮 -->
  <el-button 
    v-hasPermi="['zsjy:enrollment:add']"
    type="primary"
    @click="handleAdd">
    新增
  </el-button>
  
  <!-- 修改按钮 -->
  <el-button 
    v-hasPermi="['zsjy:enrollment:edit']"
    type="text"
    @click="handleUpdate(row)">
    修改
  </el-button>
</template>

3. 权限验证

后端API接口权限验证:

@SaCheckPermission("zsjy:enrollment:list")
@GetMapping("/list")
public TableDataInfo<ZsjyEnrollmentInfoVo> list(ZsjyEnrollmentInfoBo bo, PageQuery pageQuery) {
    return zsjyEnrollmentInfoService.queryPageList(bo, pageQuery);
}

⚠️ 注意事项

  1. 菜单ID范围: 2100-2154,避免与其他模块冲突
  2. 权限标识规范: 统一使用 模块:功能:操作 格式
  3. 图标选择: 使用Element UI内置图标
  4. 路径设计: 保持层级清晰,便于维护
  5. 角色分配: 根据实际业务需求合理分配权限

🔄 后续维护

  1. 新增功能: 按照现有规范添加菜单和权限
  2. 权限调整: 及时更新角色权限配置
  3. 文档更新: 保持配置文档与实际一致
  4. 权限测试: 定期验证权限配置正确性

配置完成后,重新登录系统即可看到招生迎新管理菜单! 🎉