|
|
f07ffdc64c
|
refactor: 前端登录/权限/界面状态迁移至 zustand
|
2026-08-04 14:41:27 +08:00 |
|
|
|
8656394b9b
|
Refactor AI chat: streaming, tool calls, UI polish
CI / check (pull_request) Successful in 3m25s
|
2026-07-24 16:27:50 +08:00 |
|
|
|
3a2b3f1239
|
fix: add AI deps, remove lucide-react; chore: remove docs
CI / check (pull_request) Successful in 1m56s
|
2026-07-23 15:25:20 +08:00 |
|
|
|
1c8bd08be4
|
feat: settle course attendance automatically
|
2026-07-13 10:26:38 +08:00 |
|
|
|
b9b295c997
|
refactor: remove unused classroom fields
|
2026-07-13 09:34:15 +08:00 |
|
|
|
b6fca99390
|
fix: align permission navigation and page access
|
2026-07-11 14:55:49 +08:00 |
|
|
|
1e1c476bc3
|
feat: add CASL authorization and AI configuration
|
2026-07-11 14:25:34 +08:00 |
|
|
|
1f9308c1b7
|
plan: fix student import name/phone from dingtalk
|
2026-07-10 09:47:26 +08:00 |
|
|
|
e7e335cd95
|
spec: fix student import name/phone from dingtalk
|
2026-07-10 09:45:43 +08:00 |
|
|
|
1fa336331c
|
docs: student ding mapping + batch operations implementation plan
|
2026-07-09 16:49:38 +08:00 |
|
|
|
6762a7f661
|
docs: student ding mapping + drawer batch operations spec
|
2026-07-09 16:46:32 +08:00 |
|
|
|
a6891b32d7
|
docs: implementation plan for org tree deepest levels filter
|
2026-07-09 16:07:26 +08:00 |
|
|
|
3ee1ebaa1e
|
docs: org tree deepest levels only design spec
|
2026-07-09 16:06:09 +08:00 |
|
|
|
3ea7f9a2b7
|
docs: add DingTalk import fix implementation plan
|
2026-07-09 15:17:25 +08:00 |
|
|
|
a568d9a871
|
docs: add DingTalk import fix design spec
|
2026-07-09 15:15:56 +08:00 |
|
|
|
5b92521426
|
docs: remove 班主任 distinction — all teachers use roleType='teacher'
|
2026-07-09 12:24:35 +08:00 |
|
|
|
0d82c96ec6
|
docs: dingtalk import class marking design spec
|
2026-07-09 12:18:21 +08:00 |
|
|
|
36a1aca6f0
|
docs: bed/locker management implementation plan (10 tasks)
|
2026-07-09 11:48:29 +08:00 |
|
|
|
543fddbc1e
|
docs: bed & locker management design spec
|
2026-07-09 11:44:24 +08:00 |
|
|
|
3578ba92ed
|
docs: implementation plan for dingtalk sync role selection
|
2026-07-09 10:56:24 +08:00 |
|
|
|
423472daf2
|
docs: dingtalk sync role selection design
|
2026-07-09 10:52:09 +08:00 |
|
|
|
6850777509
|
plan: student-role separation implementation (6 tasks)
|
2026-07-09 10:04:55 +08:00 |
|
|
|
9e828756ea
|
spec: student-role separation design (batch-create + manual untag)
|
2026-07-09 10:01: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 |
|
|
|
baa01a910a
|
spec: PRD 差距收尾设计(8 个工作包,12 项 + 1 bug)
|
2026-07-07 11:08:38 +08:00 |
|
|
|
9f43f50867
|
plan: 学生档案报告前端预览实施计划
|
2026-07-07 09:48:08 +08:00 |
|
|
|
b56fa577cb
|
spec: 学生档案报告前端预览方案设计
|
2026-07-07 09:47:24 +08:00 |
|
|
|
c81b0a0b5c
|
chore: commit remaining integration files, PM2 single instance, PRD doc
|
2026-07-06 16:04:53 +08:00 |
|
|
|
beeb8cb905
|
feat(attendance): add anomaly alert banner showing consecutive absences and frequent lates
|
2026-07-06 14:27:21 +08:00 |
|
|
|
da69545f74
|
fix: null cast for refundStatus in TypeORM
|
2026-07-06 10:50:24 +08:00 |
|
|
|
6b0a21d266
|
fix: resolve all admin typecheck errors (typed api wrapper, unused imports, missing hooks, PermissionButton children)
|
2026-07-06 01:02:26 +08:00 |
|
|
|
b89dff6d18
|
docs: add P0 implementation plan with 7 phases
|
2026-07-05 18:44:24 +08:00 |
|
|
|
ebacf8601f
|
docs: add P0 design spec and project APPEND_SYSTEM.md
|
2026-07-05 18:34:42 +08:00 |
|
|
|
b4c1d11cf2
|
chore: remove abandoned betterauth-hono-drizzle-migration change (0/43 tasks)
|
2026-07-03 15:05:54 +08:00 |
|
|
|
7461efb2fa
|
chore: add implementation plan for betterauth-hono-drizzle-migration
|
2026-07-03 14:13:43 +08:00 |
|
|
|
3b45723877
|
chore: 归档 3 个 change 产物、Design Doc、验证报告、主 spec、项目配置
|
2026-07-03 10:58:57 +08:00 |
|
|
|
56f073c6bc
|
chore: 勾选 plan 子步骤,标记程序化验证项为完成
|
2026-07-03 10:19:25 +08:00 |
|
|
|
5eb76e9776
|
chore: archive rbac-refactor — spec merge, design doc annotation, move to archive
|
2026-07-03 09:32:28 +08:00 |
|
|
|
bc671ac660
|
chore: record verification report and implementation divergence for rbac-refactor
|
2026-07-03 09:23:15 +08:00 |
|
|
|
1b26039f7f
|
chore: record verification report and state update
|
2026-07-02 15:59:30 +08:00 |
|
|
|
4f4cee157a
|
chore: commit oxfmt formatting changes and verify artifacts
|
2026-07-02 15:55:09 +08:00 |
|
|
|
34726cc46d
|
chore: check off all plan tasks
|
2026-07-02 15:53:08 +08:00 |
|
|
|
2b7797447b
|
chore: check off all remaining plan and tasks.md items
|
2026-07-02 12:28:11 +08:00 |
|
|
|
ef645c0f40
|
fix: resolve 3 review findings (permission codes, profile guard, JSDoc)
|
2026-07-02 12:22:49 +08:00 |
|
|
|
75acb5c7a2
|
chore: check off Task 10 (frontend RBAC adaptation)
|
2026-07-02 12:15:37 +08:00 |
|
|
|
abf51b840e
|
chore: check off Task 9 (Roles + Permissions pages)
|
2026-07-02 12:05:52 +08:00 |
|
|
|
a84a0ed153
|
chore: check off Task 8 (frontend infrastructure)
|
2026-07-02 12:01:29 +08:00 |
|
|
|
b047dbc5d8
|
chore: check off Tasks 4-7 (all controllers decorated)
|
2026-07-02 11:56:10 +08:00 |
|
|
|
f53b6c447c
|
chore: check off Task 6 (AppModule registration)
|
2026-07-02 11:49:12 +08:00 |
|
|
|
2541ff8d9e
|
chore: check off Task 5 (RbacController)
|
2026-07-02 11:44:41 +08:00 |
|