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

262 lines
8.2 KiB
Markdown

# 招生迎新系统菜单权限配置指南
## 📋 概述
本文档详细说明招生迎新系统的菜单权限配置方案,包括菜单结构设计、权限分配策略和配置步骤。
## 🏗️ 菜单结构设计
### 一级菜单
- **招生迎新管理** (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脚本
```bash
# 进入数据库
mysql -u root -p hzdyjs_xg
# 执行菜单权限配置脚本
source docs/设计文档/database/zsjy-menu-permissions.sql
```
### 2. 验证菜单配置
```sql
-- 查询招生迎新菜单结构
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. 角色权限分配
```sql
-- 为指定角色分配权限(示例:角色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. 前端路由配置
确保前端路由配置与菜单路径一致:
```javascript
// 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. 按钮权限控制
在前端页面中使用权限指令:
```vue
<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接口权限验证:
```java
@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. **权限测试**: 定期验证权限配置正确性
---
**配置完成后,重新登录系统即可看到招生迎新管理菜单!** 🎉