eat(web): migrate student function

This commit is contained in:
biss committed 2026-10-01 14:11:30 +08:00
1 parent 2c14001677
commit 2a06e37267
8 files changed
+329 -1

No files matched your search

+3
View File
@@ -13,5 +13,8 @@
| `/exams` | 考试/监考安排 | Student、Teacher | 已发布个人安排、考场、座位、监考教师、历史区分 | verification |
| `/grades` | 我的成绩 | Student | 学期筛选、成绩构成、学分绩点、学业指标和排名 | verification |
| `/warnings` | 我的学业预警 | Student | 预警确认、确认备注、帮扶与复核进度 | verification |
| `/my-profile` | 我的个人档案 | Student | 学籍只读信息、身份与联系资料、紧急联系人、特殊支持需求 | verification |
| `/my-attendance` | 我的考勤 | Student | 定位/二维码签到、课程归档、出勤汇总、异常记录申诉 | verification |
| `/course-selections` | 学生选课 | Student | 批次窗口、学分预算、教学班余量、选课/退选、候补顺位 | verification |
后续从 `web/src/router/index.ts` 逐条补全。只有关键合同和各状态验收完整后,状态才能更新为 `complete`。
+2 -1
View File
@@ -33,6 +33,7 @@ npm.cmd run build
- 迁移 `/my-timetable` 的周视图、考试与实验融合、Excel/PDF/ICS 导出和日历订阅管理。
- 迁移 `/exams` 的学生考试与教师监考安排;
- 迁移学生 `/grades` 成绩单、绩点排名,以及 `/warnings` 预警确认和帮扶进度。
- 迁移学生 `/my-profile` 个人档案、`/my-attendance` 定位/二维码签到与申诉、`/course-selections` 选课/退选和候补流程。
## 迁移纪律
@@ -47,7 +48,7 @@ npm.cmd run build
| 批次 | 内容 | 状态 |
| --- | --- | --- |
| 0 | 工程、主题、会话、登录、应用外壳 | 进行中 |
| 1 | Dashboard、Users、Account、Notifications、个人课表、考试、学生成绩与预警、移动端代表页 | 已实现,进入联调验收 |
| 1 | Dashboard、Users、Account、Notifications、个人课表、考试、学生档案、成绩、考勤、预警、选课与移动端代表页 | 已实现,进入联调验收 |
| 2 | 标准 CRUD 与基础数据模块 | 未开始 |
| 3 | 学生、教师与审批工作台 | 未开始 |
| 4 | 选课、排课、成绩、实验等复杂模块 | 未开始 |
+6
View File
@@ -14,6 +14,9 @@ const MyTimetablePage = lazy(() => import('../pages/MyTimetablePage'))
const ExamsPage = lazy(() => import('../pages/ExamsPage'))
const StudentGradesPage = lazy(() => import('../pages/StudentGradesPage'))
const StudentWarningsPage = lazy(() => import('../pages/StudentWarningsPage'))
const StudentProfilePage = lazy(() => import('../pages/StudentProfilePage'))
const StudentAttendancePage = lazy(() => import('../pages/StudentAttendancePage'))
const CourseSelectionPage = lazy(() => import('../pages/CourseSelectionPage'))
const SsoCallbackPage = lazy(() => import('../pages/SsoCallbackPage'))
const SsoBindPage = lazy(() => import('../pages/SsoBindPage'))
const AppShell = lazy(() => import('../layout/AppShell'))
@@ -62,6 +65,9 @@ function AppRoutes() {
<Route path="/exams" element={<ExamsPage />} />
<Route path="/grades" element={<StudentGradesPage />} />
<Route path="/warnings" element={<StudentWarningsPage />} />
<Route path="/my-profile" element={<StudentProfilePage />} />
<Route path="/my-attendance" element={<StudentAttendancePage />} />
<Route path="/course-selections" element={<CourseSelectionPage />} />
<Route path="/" element={<Navigate to="/dashboard" replace />} />
</Route>
<Route path="*" element={<Navigate to="/dashboard" replace />} />
Loaded 3 of 8 files, more files were not shown because too many files have changed in this diff. Show more