147 lines
4.8 KiB
Markdown
147 lines
4.8 KiB
Markdown
# 开发日志 - 2026年2月23日
|
||
|
||
## 昨日进展回顾
|
||
|
||
### 2026-02-22 完成内容
|
||
1. 排课功能完整实现
|
||
2. 各端核心功能已基本完成
|
||
|
||
## 今日开发内容
|
||
|
||
### 1. 阅读任务模块入口问题修复
|
||
|
||
**问题描述:**
|
||
- 学校端任务列表点击"详情"仅显示提示,无法查看实际详情
|
||
- 教师端上课记录模块缺少"布置阅读任务"入口
|
||
- 找不到学生完成情况详情页入口
|
||
|
||
**修复内容:**
|
||
- 重写学校端 TaskListView.vue,使用实际 API 获取数据
|
||
- 添加"完成情况"弹窗,展示学生完成状态列表
|
||
- 教师端 LessonListView.vue 添加"课后记录"按钮(已完成课程可见)
|
||
- 教师端课后记录页面已有"布置阅读任务"按钮
|
||
|
||
### 2. 前端 API 补全
|
||
|
||
**新增接口和类型 (school.ts):**
|
||
```typescript
|
||
// 类型定义
|
||
interface SchoolTask { ... }
|
||
interface TaskCompletion { ... }
|
||
interface CreateSchoolTaskDto { ... }
|
||
interface UpdateSchoolTaskDto { ... }
|
||
|
||
// API 函数
|
||
getSchoolTasks(params) // GET /school/tasks
|
||
getSchoolTask(id) // GET /school/tasks/:id
|
||
createSchoolTask(data) // POST /school/tasks
|
||
updateSchoolTask(id, data) // PUT /school/tasks/:id
|
||
deleteSchoolTask(id) // DELETE /school/tasks/:id
|
||
getSchoolTaskCompletions(taskId) // GET /school/tasks/:id/completions
|
||
getSchoolClasses() // GET /school/classes
|
||
```
|
||
|
||
### 3. UI 规范更新
|
||
|
||
**禁止 Emoji 图标:**
|
||
- 更新 CLAUDE.md,添加 UI 设计规范
|
||
- 本项目严禁使用 Emoji 表情符号
|
||
- 必须使用 Ant Design Vue 图标组件
|
||
|
||
**Emoji 移除:**
|
||
- LessonRecordsView.vue 中 👦 👧 替换为 ManOutlined/WomanOutlined 图标
|
||
|
||
### 4. 学校端导航菜单重构
|
||
|
||
**原有结构(14个扁平菜单):**
|
||
- 数据概览、教师管理、学生管理、班级管理、课程管理、课程排期
|
||
- 套餐管理、数据报告、成长档案、阅读任务、任务模板、课程反馈
|
||
- 操作日志、系统设置
|
||
|
||
**新结构(5个一级菜单 + 子菜单):**
|
||
|
||
| 一级菜单 | 二级菜单 |
|
||
|---------|---------|
|
||
| 数据概览 | (独立) |
|
||
| 人员管理 | 教师管理、学生管理、班级管理 |
|
||
| 教学管理 | 课程管理、课程排期、阅读任务、任务模板、课程反馈 |
|
||
| 数据中心 | 数据报告、成长档案 |
|
||
| 系统管理 | 套餐管理、操作日志、系统设置 |
|
||
|
||
**技术实现:**
|
||
- 使用 a-sub-menu 组件实现二级菜单
|
||
- 新增 openKeys 状态管理菜单展开
|
||
- 路由到菜单的映射关系 (routeToMenuMap)
|
||
- 子菜单样式优化(缩进、高度、选中状态)
|
||
|
||
## 文件变更清单
|
||
|
||
### 修改文件
|
||
| 文件 | 变更内容 |
|
||
|-----|---------|
|
||
| `.claude/CLAUDE.md` | 添加禁止 Emoji 图标规范 |
|
||
| `src/api/school.ts` | 添加任务管理 API 和类型定义 |
|
||
| `src/views/school/tasks/TaskListView.vue` | 重写,使用真实 API,添加完成情况弹窗 |
|
||
| `src/views/school/LayoutView.vue` | 导航菜单重构为二级结构 |
|
||
| `src/views/teacher/lessons/LessonListView.vue` | 添加"课后记录"按钮 |
|
||
| `src/views/teacher/lessons/LessonRecordsView.vue` | 移除 Emoji,使用图标组件 |
|
||
|
||
## 测试验证
|
||
|
||
- [x] 学校端任务列表加载正常
|
||
- [x] 学校端任务完成情况弹窗正常显示
|
||
- [x] 教师端上课记录 → 课后记录 → 布置任务流程正常
|
||
- [x] 学校端导航菜单二级结构正常
|
||
|
||
## 已完成功能确认(代码验证)
|
||
|
||
### P1 - 数据统计增强 ✅ 已完成
|
||
| 功能 | 实现位置 | 状态 |
|
||
|-----|---------|------|
|
||
| 学校端授课统计图表 | `stats.service.ts`: getLessonTrend, getCourseDistribution | ✅ |
|
||
| 教师端个人统计 | `teacher-course.service.ts`: getTeacherStats, getWeeklyStats | ✅ |
|
||
| 数据导出功能 | `export.service.ts`: exportLessons, exportTeacherStats | ✅ |
|
||
|
||
### P2 - 排课功能增强 ✅ 已完成
|
||
| 功能 | 实现位置 | 状态 |
|
||
|-----|---------|------|
|
||
| 课程提醒 | `schedule-notification.service.ts`: 每30分钟检查, 每9点任务提醒 | ✅ |
|
||
| 排课模板 | `school.service.ts`: 模板CRUD + applyScheduleTemplate | ✅ |
|
||
| 批量排课 | `school.service.ts`: batchCreateSchedules | ✅ |
|
||
| 拖拽调课 | `CalendarView.vue`: fullcalendar | ✅ |
|
||
|
||
## 待处理事项
|
||
|
||
### 明日计划
|
||
1. 技术优化
|
||
- [ ] TypeScript 编译警告修复(约63个)
|
||
- [ ] 前端构建优化(分包、Gzip压缩)
|
||
|
||
2. 功能完善
|
||
- [ ] 用户操作日志(数据库模型已定义,需实现记录逻辑)
|
||
- [ ] 前端图表展示优化(确保ECharts图表正常渲染)
|
||
|
||
3. 测试验证
|
||
- [ ] P1/P2 功能端到端测试
|
||
- [ ] 各端回归测试
|
||
|
||
---
|
||
|
||
## 服务启动命令
|
||
```bash
|
||
cd /Users/retirado/ccProgram
|
||
./start-all.sh
|
||
```
|
||
|
||
## 测试账号
|
||
| 角色 | 账号 | 密码 |
|
||
|------|------|------|
|
||
| 超管 | admin | admin123 |
|
||
| 学校 | school1 | 123456 |
|
||
| 教师 | teacher1 | 123456 |
|
||
| 家长 | parent1 | 123456 |
|
||
|
||
---
|
||
|
||
*日志更新于 2026-02-23*
|