|
|
3447fad991
|
feat: 实现教师端报告导出功能并修复筛选器数据匹配问题
## 新增功能
- ✨ 新增报告导出功能:教师可导出学生在6个项目中的Word分析报告
- 📁 部署静态资源:239个Word文档部署至public/reports目录
- 🛠️ 新增工具函数:reportDownload.js提供下载和批量下载功能
## 功能实现
### ReportCenter.vue
- 新增项目选择下拉框(6个课程)
- 新增"导出分析报告"按钮
- 实现单个学生报告下载功能
### Report.vue
- 新增项目选择器
- 完善导出功能(改名为"导出分析报告")
- 集成downloadReport工具函数
### reportDownload.js (新增)
- downloadReport(): 单个学生报告下载,含文件验证
- batchDownloadReports(): 批量下载功能(预留)
## Bug修复
### 筛选器数据不匹配问题
**问题**:ReportCenter.vue硬编码年级/班级选项导致筛选失败
- ❌ 硬编码年级:2021-2024级(实际只有2023级)
- ❌ 硬编码班级:计科、软工等(实际只有金融工程1班)
**修复**:
- ✅ 改用mockOptions.grades动态渲染(['2023级'])
- ✅ 改用mockOptions.classes动态渲染(['金融工程1班'])
- ✅ 确保筛选选项与真实数据完全匹配
### UI优化
- 修复下拉框宽度过窄问题(新增.filter-select类,min-width: 180px)
- 避免长项目名称被遮挡(如"证券模拟投资竞赛实战")
- 优化按钮布局,支持flex-wrap
## 代码质量
- ✅ 零硬编码:所有配置从mockOptions统一获取
- ✅ CSS变量系统:消除内联样式,使用语义化类名
- ✅ 完善的错误处理和用户提示
- ✅ 遵循项目编码规范
## 数据完整性
- 6个课程文件夹 × 40名学生 = 239个Word文档
- 文件命名格式:{课程名}+{学号}.doc
- 与mockOptions.projects完全对应
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-02 08:09:12 +08:00 |
|