Files
hzdyjs/backend/ruoyi-modules/ruoyi-bzrkh/班主任考核指标体系开发文档.md
T
2025-08-19 15:27:06 +08:00

226 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 班主任考核指标体系管理模块开发文档
## 📋 模块概述
**功能名称**: 班主任考核指标体系管理
**模块路径**: `/bzrkh/assessmentIndicator`
**开发时间**: 2025-01-08
**技术架构**: 前后端分离 (Vue 3 + Spring Boot 3.4.6)
## 🎯 功能说明
该模块用于管理班主任考核的指标体系,支持树形结构的指标管理,包括指标类型、权重配置、评价设置等功能。
### 主要功能
- ✅ 指标体系列表查询(支持分页)
- ✅ 指标体系新增/修改/删除
- ✅ 指标类型关联(下拉选择)
- ✅ 父级指标选择(树形选择器)
- ✅ 权重比例配置(0-1之间)
- ✅ 评价权限设置(自评/上级评)
- ✅ 数据导出功能
- ✅ 树形结构展示
## 📂 文件结构
### 前端文件 (web/)
```
web/src/
├── api/bzrkh/assessmentIndicator/
│ ├── index.ts # API接口定义
│ └── types.ts # TypeScript类型定义
└── views/bzrkh/assessmentIndicator/
└── index.vue # 主界面组件
```
### 后端文件 (backend/ruoyi-modules/ruoyi-bzrkh/)
```
src/main/java/org/dromara/bzrkh/
├── controller/
│ └── BmzrAssessmentIndicatorController.java # 控制器
├── service/
│ ├── IBmzrAssessmentIndicatorService.java # 服务接口
│ └── impl/
│ └── BmzrAssessmentIndicatorServiceImpl.java # 服务实现
├── mapper/
│ └── BmzrAssessmentIndicatorMapper.java # 数据访问层
├── domain/
│ ├── BmzrAssessmentIndicator.java # 实体类
│ ├── bo/
│ │ └── BmzrAssessmentIndicatorBo.java # 业务对象
│ └── vo/
│ └── BmzrAssessmentIndicatorVo.java # 视图对象
└── resources/mapper/bzrkh/
└── BmzrAssessmentIndicatorMapper.xml # MyBatis映射文件
```
### 配置文件
```
backend/ruoyi-modules/ruoyi-bzrkh/
├── 班主任考核指标体系管理权限配置.sql # 权限配置SQL
└── 班主任考核指标体系开发文档.md # 本文档
```
## 🔐 权限配置
### API权限字符
| 功能 | 权限字符 | 说明 |
|------|----------|------|
| 列表查询 | `bzrkh:assessmentIndicator:list` | 查询指标体系列表权限 |
| 详情查询 | `bzrkh:assessmentIndicator:query` | 查询指标体系详情权限 |
| 新增 | `bzrkh:assessmentIndicator:add` | 新增指标体系权限 |
| 修改 | `bzrkh:assessmentIndicator:edit` | 修改指标体系权限 |
| 删除 | `bzrkh:assessmentIndicator:remove` | 删除指标体系权限 |
| 导出 | `bzrkh:assessmentIndicator:export` | 导出指标体系权限 |
### 菜单配置
- **主菜单**: 班主任考核指标体系
- **路由路径**: `assessmentIndicator`
- **组件路径**: `bzrkh/assessmentIndicator/index`
- **图标**: `tree`
## 🌐 API接口
### 前端API方法
| 方法名 | 请求方式 | 路径 | 说明 |
|--------|----------|------|------|
| `listAssessmentIndicator` | GET | `/bzrkh/assessmentIndicator/list` | 查询列表 |
| `getAssessmentIndicator` | GET | `/bzrkh/assessmentIndicator/{id}` | 查询详情 |
| `addAssessmentIndicator` | POST | `/bzrkh/assessmentIndicator` | 新增 |
| `updateAssessmentIndicator` | PUT | `/bzrkh/assessmentIndicator` | 修改 |
| `delAssessmentIndicator` | DELETE | `/bzrkh/assessmentIndicator/{id}` | 删除 |
| `getIndicatorTypeOptions` | GET | `/bzrkh/assessmentIndicatorType/listAllIncludeDeleted` | 指标类型选项 |
| `getParentIndicatorOptions` | GET | `/bzrkh/assessmentIndicator/treeselect` | 父级指标选项 |
### 后端Controller方法
| 方法名 | 注解 | 说明 |
|--------|------|------|
| `list` | `@GetMapping("/list")` | 分页查询列表 |
| `treeselect` | `@GetMapping("/treeselect")` | 树形结构查询 |
| `getInfo` | `@GetMapping("/{id}")` | 详情查询 |
| `add` | `@PostMapping()` | 新增 |
| `edit` | `@PutMapping()` | 修改 |
| `remove` | `@DeleteMapping("/{ids}")` | 删除 |
| `export` | `@PostMapping("/export")` | 导出 |
## 📊 数据模型
### 核心字段
| 字段名 | 类型 | 说明 | 验证规则 |
|--------|------|------|----------|
| `indicatorName` | String | 指标名称 | 必填 |
| `indicatorCode` | String | 指标编码 | 必填,唯一 |
| `indicatorType` | String | 指标类型 | 必填,关联指标类型表 |
| `parentId` | Long | 父级指标ID | 可选,支持树形结构 |
| `weightRatio` | BigDecimal | 权重比例 | 必填,0-1之间 |
| `maxScore` | BigDecimal | 最高分值 | 必填,>=0 |
| `score` | BigDecimal | 分值 | 必填,>=0 |
| `allowSelfEvaluation` | String | 允许自评 | 必填,0=否 1=是 |
| `allowSuperiorEvaluation` | String | 允许上级评 | 必填,0=否 1=是 |
| `sortOrder` | Integer | 排序 | 必填,>=1 |
| `status` | String | 状态 | 必填,0=正常 1=停用 |
## 🎨 界面特性
### 查询条件
- 指标名称(模糊查询)
- 指标编码(精确查询)
- 指标类型(下拉选择)
- 允许自评(是/否)
- 允许上级评(是/否)
- 状态(正常/停用)
### 表格展示
- 指标编码
- 指标名称
- 指标类型(显示类型名称)
- 权重比例(百分比格式)
- 最高分值
- 分值
- 排序
- 允许自评(字典显示)
- 允许上级评(字典显示)
- 状态(字典显示)
- 备注
### 表单字段
- 基本信息:指标编码、指标名称
- 分类信息:指标类型、父级指标
- 分值配置:权重比例、最高分值、分值、排序
- 权限设置:允许自评、允许上级评、状态
- 备注信息
## 🔧 技术要点
### 前端技术
- **Vue 3 + TypeScript**: 组件开发
- **Element Plus**: UI组件库
- **树形选择器**: 父级指标选择
- **数字输入框**: 精确的数值输入
- **字典转换**: 状态和评价权限显示
### 后端技术
- **Spring Boot 3.4.6**: 框架
- **MyBatis-Plus**: ORM框架
- **Sa-Token**: 权限控制
- **Bean Validation**: 参数校验
- **树形结构**: 递归查询和构建
### 数据特性
- **多租户支持**: TenantEntity继承
- **逻辑删除**: 软删除机制
- **审计字段**: 创建时间、更新时间等
- **树形结构**: 支持层级关系
## 📋 部署说明
### 1. 数据库
执行以下SQL文件:
- `docs/设计文档/database/班主任考核管理/bmzr_assessment_tables.sql`
- `docs/设计文档/database/班主任考核管理/bmzr_dict_data_mysql.sql`
- `backend/ruoyi-modules/ruoyi-bzrkh/班主任考核指标体系管理权限配置.sql`
### 2. 后端
- 确保 `ruoyi-bzrkh` 模块已添加到主项目依赖
- 重启后端服务
### 3. 前端
- 前端文件已放置在正确位置
- 重新编译前端项目
### 4. 权限分配
- 管理员登录系统
- 进入权限管理,为相关角色分配权限
- 菜单路径:系统管理 → 权限管理 → 角色管理
## ✅ 测试要点
### 功能测试
- [ ] 指标体系列表查询
- [ ] 指标体系新增(各种场景)
- [ ] 指标体系修改
- [ ] 指标体系删除(单个/批量)
- [ ] 指标类型下拉加载
- [ ] 父级指标树形选择
- [ ] 数据导出
- [ ] 权限控制
### 数据验证
- [ ] 权重比例范围验证(0-1)
- [ ] 分值非负验证
- [ ] 必填字段验证
- [ ] 唯一性验证(指标编码)
## 📝 注意事项
1. **指标类型依赖**: 需要先配置指标类型数据
2. **权重配置**: 权重比例为0-1之间的小数
3. **树形结构**: 支持多级父子关系
4. **逻辑删除**: 删除操作为逻辑删除,可恢复
5. **权限控制**: 严格按照权限字符控制功能访问
---
**开发完成时间**: 2025-01-08
**版本**: V1.0.0
**状态**: ✅ 开发完成