8494c511b6
feat: 学生档案 Excel 批量导入
...
- 4-Sheet Excel 模板:学生基础+档案+录取 / 报读班型 / 考试成绩 / 课堂回访
- 手机号精确匹配已有学生,不存在则新建
- POST /archive/import 批量导入接口
- GET /archive/import/template 模板下载接口
- 前端:下载模板 + 上传导入 + 结果汇总弹窗
2026-07-20 15:05:41 +08:00
375c7ec60b
feat: refine admin forms, attendance and finance workflows
...
Squash merge PR #23 .
Included changes:
- complete occupancy check-in required fields/default payload
- improve responsive admin management pages
- fix attendance edge cases and attendance period config
- refine wallet/finance-related workflow handling
Checks:
- npm run typecheck -w apps/admin
- npm run typecheck -w apps/server
2026-07-18 12:54:10 +00:00
f7328d670d
fix: 归档删除改为软删除
2026-07-17 14:13:17 +08:00
8bd445df5a
fix student import and profile labels
2026-07-15 10:52:43 +08:00
e45da7f998
feat: improve attendance scheduling and API validation
2026-07-14 23:12:14 +08:00
acb11b87a3
fix: enhance pagination settings across multiple pages with default size and options
2026-07-13 16:49:21 +08:00
8ed1682b90
fix permissions and teacher attendance workflows
2026-07-10 20:40:52 +08:00
1ca4a4d185
fix(archive): serve student attachments securely
...
Download attachments through authenticated API requests, support configurable upload paths, validate resolved file locations, and retain compatibility with legacy stored paths.
2026-07-10 14:11:47 +08:00
b0f7883f33
feat(admin): remove all department/campus scoping from frontend
...
- Delete CampusSwitcher component and useCampus hook
- Delete Departments page and its route
- Remove campus header interceptor from API client
- Remove departmentId from Class interfaces
- Remove campusLocation from student profile
- Remove department permissions from test fixtures
- Remove currentCampusId from test cleanup
TypeScript compiles clean.
2026-07-09 17:40:57 +08:00
42d3f0e27f
feat: DingTalk attendance import + integration config + expense types + UI polish
...
Server:
- Add DingTalk attendance import service with SSE progress streaming
- Add IntegrationConfig entity & module for multi-tenant DingTalk setup
- Add ExpenseType entity & ExpenseTypesModule
- Add SeedModule for DB initialization
- Add UserDingMapping entity for DingTalk user linkage
- Attendance service: import flow with dedup & student auto-mapping
- Rooms service: time-range overlap queries
- Sync controller/service: DingTalk integration wiring
- Permission guard: refactor to pure re-export
- Campus scope middleware: tenant-aware filtering
Admin UI:
- Attendance page: import UI with progress & result summary
- All pages: tableStyle/tablePagination standardization
- Login page: responsive styling
- Sensitive data: useViewSensitive hook for masked viewing
- Vite config: path aliases, build optimization
- Test infra: vitest config, test utilities
Docs: PRD DingTalk batch 1 & 2 design docs
2026-07-09 09:11:56 +08:00
a7cb2865a9
fix: update StudentProfileContent report buttons to use /report-html, remove dead /report references
2026-07-07 10:03:19 +08:00
85872d6564
refactor(admin): extract StudentProfileContent component and reuse in drawer
2026-07-06 17:22:09 +08:00