成绩册 Excel 导入/导出 — 已完成
后端 (GradesController.cs)
GET /api/grades/sheets/{id}/template — 下载成绩导入模板
- 根据成绩单的动态分项(GradeItems)生成对应的 Excel 列:学号 | 姓名 | 班级 | 平时成绩 | [分项1] | [分项2] | ... | 期末成绩 | 考试状态 | 备注
- 预填已有学生信息和已有成绩
- 附带填写说明工作表
POST /api/grades/sheets/{id}/import — 从 Excel 导入成绩
- 按学号匹配学生,批量更新平时成绩、分项成绩、期末成绩、考试状态、备注
- 支持留空(不覆盖已有成绩)、0-100 范围校验、考试状态校验(正常/缺考/缓考/免修)
- 导入后自动重新计算总评成绩和绩点
- 仅限 Draft/Returned 状态的成绩单,仅限有编辑权限的用户
- 错误时整批回滚,最多显示 50 条错误详情
前端 (GradesView.vue)
在成绩登记册底部操作栏新增两个按钮(仅在 canEdit 时显示):
- 下载模板 — 调用 downloadApiFile 下载当前成绩单的 Excel 模板
- Excel导入 — 通过隐藏 file input 选择 .xlsx 文件,调用 importExcel 上传
工作流程
1. 教师打开成绩单 → 点击「下载模板」
2. 在 Excel 中填写/修改学生成绩
3. 点击「Excel导入」选择文件上传
4. 系统自动校验、合并成绩、重新计算总评 → 提示更新条数
5. 成绩表刷新显示最新数据
✻ Crunched for 5m 50s
15a34a306c
·
2026-07-25 17:57:56 +08:00
History