226 lines
7.6 KiB
Markdown
226 lines
7.6 KiB
Markdown
# 班主任考核指标体系管理模块开发文档
|
||
|
||
## 📋 模块概述
|
||
|
||
**功能名称**: 班主任考核指标体系管理
|
||
**模块路径**: `/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
|
||
**状态**: ✅ 开发完成 |