1. 项目背景与核心价值
教师工作量管理一直是高校教务工作中的痛点。传统Excel表格统计方式存在数据分散、计算复杂、难以追溯等问题。我在某高校信息化部门工作期间,亲眼目睹教务老师每月底加班加点核对课时数据的场景。这种背景下,我们团队开发了这套基于SpringBoot+Vue的教师工作量管理系统。
这个系统最核心的价值在于:
- 实现工作量计算的自动化(课时统计、论文指导、实习带教等加权计算)
- 提供多维度的数据可视化分析(院系/个人/课程类型等多角度)
- 建立全流程的电子化审批机制(申报-审核-归档全线上化)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 前后端分离设计
采用经典的SpringBoot+Vue技术栈,这种架构选择主要基于:
- 开发效率:SpringBoot的约定优于配置原则+Vue的组件化开发,适合快速迭代
- 性能考量:前后端分离减轻服务端渲染压力,特别适合报表类高频查询场景
- 维护成本:清晰的接口文档(Swagger集成)降低后期维护难度
技术栈版本说明:
markdown复制- 后端:SpringBoot 2.7.18 + MyBatis-Plus 3.5.3
- 前端:Vue 3.3 + Element Plus 2.3.14
- 数据库:MySQL 8.0.32(必须启用InnoDB集群)
2.2 数据库设计要点
核心表结构设计遵循教务管理业务逻辑:
sql复制CREATE TABLE `workload_calculation` (
`id` bigint NOT NULL AUTO_INCREMENT,
`teacher_id` varchar(20) COLLATE utf8mb4_bin NOT NULL COMMENT '工号',
`course_type` tinyint NOT NULL COMMENT '1理论课 2实验课 3实训课',
`student_count` int DEFAULT '0' COMMENT '选课人数',
`coefficient` decimal(3,2) DEFAULT '1.00' COMMENT '课程系数',
`approval_status` tinyint DEFAULT '0' COMMENT '0待审核 1已通过 2已驳回',
PRIMARY KEY (`id`),
KEY `idx_teacher` (`teacher_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
特别注意:课程系数字段使用DECIMAL(3,2)而非FLOAT,避免浮点计算精度问题
3. 核心功能实现
3.1 工作量智能计算模块
采用策略模
