feat(web): migrate analytics entry pages

This commit is contained in:
biss committed 2026-10-04 08:29:40 +08:00
1 parent 80950fd2c5
commit cbde4384cb
11 files changed
+83 -1

No files matched your search

+2
View File
@@ -55,6 +55,8 @@
| `/classroom-reservations` | 教室借用与预约 | 已登录用户;CollegeAdmin 审核 | 空闲教室检索、课程/考试/已批准预约避让、申请撤销、学院范围审核与冲突复核 | verification | | `/classroom-reservations` | 教室借用与预约 | 已登录用户;CollegeAdmin 审核 | 空闲教室检索、课程/考试/已批准预约避让、申请撤销、学院范围审核与冲突复核 | verification |
| `/venue-displays` | 场地信息展牌管理 | SuperAdmin、AcademicAdmin | 教室/楼宇展牌链接、批量 Excel、范围/优先级/有效期公告管理 | verification | | `/venue-displays` | 场地信息展牌管理 | SuperAdmin、AcademicAdmin | 教室/楼宇展牌链接、批量 Excel、范围/优先级/有效期公告管理 | verification |
| `/classroom-repairs` | 教室报修与维修 | SuperAdmin、AcademicAdmin、MaintenanceAdmin、MaintenanceStaff | 工单筛选、分派/开工/完工、详情、设备档案与扫码报修二维码 | verification | | `/classroom-repairs` | 教室报修与维修 | SuperAdmin、AcademicAdmin、MaintenanceAdmin、MaintenanceStaff | 工单筛选、分派/开工/完工、详情、设备档案与扫码报修二维码 | verification |
| `/grades/:sheetId/statistics` | 课程成绩统计 | 具备该成绩单数据范围的已登录用户 | 班级/专业/学院/全校分数分布、对比、课程讨论与互动 | verification |
| `/event-analytics` | 运行数据分析 | SuperAdmin、AcademicAdmin、CollegeAdmin、Leader | ClickHouse 考勤、成绩与全校范围访问审计只读聚合 | verification |
| `/activate` | 学生账号激活 | 公开 | 学籍选项、身份匹配、强密码和一次性激活 | verification | | `/activate` | 学生账号激活 | 公开 | 学籍选项、身份匹配、强密码和一次性激活 | verification |
| `/verify/:verificationCode?` | 电子凭证验真 | 公开 | 唯一编号、实时状态、签发信息和 PDF 哈希 | verification | | `/verify/:verificationCode?` | 电子凭证验真 | 公开 | 唯一编号、实时状态、签发信息和 PDF 哈希 | verification |
| `/classroom-repairs/report/:classroomId` | 教室扫码报修 | 公开 | 教室设备、故障类别、联系方式和工单提交 | verification | | `/classroom-repairs/report/:classroomId` | 教室扫码报修 | 公开 | 教室设备、故障类别、联系方式和工单提交 | verification |
+1
View File
@@ -54,6 +54,7 @@ npm.cmd run build
- 迁移教室借用与预约,覆盖空闲教室检索、预约申请/撤销和学院审核闭环。 - 迁移教室借用与预约,覆盖空闲教室检索、预约申请/撤销和学院审核闭环。
- 迁移场地信息展牌管理,支持展牌链接、批量导出与定向公告投放。 - 迁移场地信息展牌管理,支持展牌链接、批量导出与定向公告投放。
- 迁移教室报修与维修后台,覆盖工单分派、维修状态闭环、设备档案与场地报修码。 - 迁移教室报修与维修后台,覆盖工单分派、维修状态闭环、设备档案与场地报修码。
- 迁移课程成绩统计与运行数据分析,保留范围对比、课程讨论互动和 ClickHouse 只读聚合。
## 迁移纪律 ## 迁移纪律
+4
View File
@@ -53,6 +53,8 @@ const CourseAdjustmentsPage = lazy(() => import('../pages/CourseAdjustmentsPage'
const ClassroomReservationsPage = lazy(() => import('../pages/ClassroomReservationsPage')) const ClassroomReservationsPage = lazy(() => import('../pages/ClassroomReservationsPage'))
const VenueDisplaysPage = lazy(() => import('../pages/VenueDisplaysPage')) const VenueDisplaysPage = lazy(() => import('../pages/VenueDisplaysPage'))
const ClassroomRepairsPage = lazy(() => import('../pages/ClassroomRepairsPage')) const ClassroomRepairsPage = lazy(() => import('../pages/ClassroomRepairsPage'))
const CourseGradeStatisticsPage = lazy(() => import('../pages/CourseGradeStatisticsPage'))
const EventAnalyticsPage = lazy(() => import('../pages/EventAnalyticsPage'))
const AccountActivationPage = lazy(() => import('../pages/AccountActivationPage')) const AccountActivationPage = lazy(() => import('../pages/AccountActivationPage'))
const OfficialDocumentVerifyPage = lazy(() => import('../pages/OfficialDocumentVerifyPage')) const OfficialDocumentVerifyPage = lazy(() => import('../pages/OfficialDocumentVerifyPage'))
const ClassroomRepairReportPage = lazy(() => import('../pages/ClassroomRepairReportPage')) const ClassroomRepairReportPage = lazy(() => import('../pages/ClassroomRepairReportPage'))
@@ -154,6 +156,8 @@ function AppRoutes() {
<Route path="/classroom-reservations" element={<ClassroomReservationsPage />} /> <Route path="/classroom-reservations" element={<ClassroomReservationsPage />} />
<Route path="/venue-displays" element={<VenueDisplaysPage />} /> <Route path="/venue-displays" element={<VenueDisplaysPage />} />
<Route path="/classroom-repairs" element={<ClassroomRepairsPage />} /> <Route path="/classroom-repairs" element={<ClassroomRepairsPage />} />
<Route path="/grades/:sheetId/statistics" element={<CourseGradeStatisticsPage />} />
<Route path="/event-analytics" element={<EventAnalyticsPage />} />
<Route path="/" element={<Navigate to="/dashboard" replace />} /> <Route path="/" element={<Navigate to="/dashboard" replace />} />
</Route> </Route>
<Route path="*" element={<Navigate to="/dashboard" replace />} /> <Route path="*" element={<Navigate to="/dashboard" replace />} />
Loaded 3 of 11 files, more files were not shown because too many files have changed in this diff. Show more