Commit Graph

18 Commits

Author SHA1 Message Date
29c55ebff1 feat: 添加可拖拽的路由停靠组件,支持动态标签管理 2026-07-21 10:13:47 +08:00
aa1ed7db56 refactor: resolve remaining field audit issues 2026-07-13 16:12:57 +08:00
b5ef91bf2d fix: support Windows dev startup 2026-07-13 10:35:43 +08:00
1e1c476bc3 feat: add CASL authorization and AI configuration 2026-07-11 14:25:34 +08:00
8ed1682b90 fix permissions and teacher attendance workflows 2026-07-10 20:40:52 +08:00
40aad81087 fix: use rimraf for cross-platform clean command 2026-07-09 10:38:17 +08:00
5ddd6d305a feat: ordered dev startup with concurrently + wait-on (server → admin) 2026-07-09 10:26:49 +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
d3437311dc refactor: remove Puppeteer, delete old PDF download endpoint 2026-07-07 09:56:52 +08:00
72f9a58838 feat: rewrite PDF report to puppeteer HTML→PDF with professional 6-page gongxue design 2026-07-06 16:19:50 +08:00
c81b0a0b5c chore: commit remaining integration files, PM2 single instance, PRD doc 2026-07-06 16:04:53 +08:00
7b298a615c feat: complete PRD verification fixes and deployment readiness
- Add CommonModule to provide/export CampusScope across business modules
- Replace DepartmentsModule imports with CommonModule in 11 modules
- Add missing Class/Tenant repository imports to StudentsModule and SchedulesModule
- Fix service specs with CampusScope, ClassRepository, StudentRepository mocks
- Move better-sqlite3 to optionalDependencies for production Docker builds
- Rewrite Dockerfiles for monorepo root build context
- Update docker-compose.yml service build contexts
2026-07-06 01:55:35 +08:00
5f14b9ff15 feat: add NotificationsService with SSE subject pool 2026-07-05 23:01:26 +08:00
b77e5a2f50 fix: remove PermissionButton wrappers from Upload components 2026-07-05 21:37:47 +08:00
5cf7fe05e9 feat(task4): update TypeScript configs to use shared presets 2026-07-02 15:31:29 +08:00
73dd92e615 feat(task3): migrate toolchain to oxfmt + oxlint
- Install oxfmt with .oxfmtrc.json (maps Prettier config)
- Install oxlint with oxlint.config.ts (TypeScript + React rules)
- Replace admin ESLint with oxlint
- Remove Prettier integration from server ESLint (keep ESLint for type checking)
- Delete server .prettierrc and admin eslint.config.js
2026-07-02 15:24:29 +08:00
ee2cad0941 feat(task2): add root turborepo and npm workspaces configuration 2026-07-02 15:16:07 +08:00
ef645c0f40 fix: resolve 3 review findings (permission codes, profile guard, JSDoc) 2026-07-02 12:22:49 +08:00