|
|
74d5b90faa
|
refactor(admin): 用 usehooks-ts useEventListener/useTimeout 与 dayjs 替代手写监听、撤销计时与相对时间
|
2026-08-08 17:21:33 +08:00 |
|
|
|
1b4ba893fd
|
feat: 空状态引导全面应用与考勤批量标记
admin:
- 17 个列表页空态统一为 QueryEmpty 引导:学生/账单/入住/费用/押金/
教室/房间/班级/考试/排课/机构/考勤机/钱包/租赁/通知/角色等,
有创建权限的页面附带主操作按钮,无权限时纯展示
- 教师端课堂点名新增「全部已打卡/全部未打卡」批量按钮:
仅作用于状态不一致的记录,确认后调用批量接口,展示成功/失败数量
server:
- 新增 PUT /attendance-records/batch-status 批量改状态接口
(ids ≤200,逐条权限校验与会话锁,部分失败返回 failedIds,
审计日志记录批量结果;路由声明在 :id 之前避免被捕获)
aislop scan: 5 引擎 0 issues
|
2026-08-07 18:00:29 +08:00 |
|
|
|
00e2bc5acf
|
fix(admin): 通知分页、登录过期提示、附件打开反馈与导出统一 loading
- 通知中心改为游标分页 + 加载更多,历史通知不再被 50 条上限截断;
加载失败显示错误态与重试
- AI 流式请求 401 被登出时,登录页提示"登录已过期",不再无声踢出
- AI 附件/引用来源打开失败时给出明确错误提示,不再"点了没反应"
- 新增 useDownload hook:统一导出/下载的防重复、loading 与成功/失败反馈;
接入学生/账单/房间/入住/费用五个页面的模板下载与导出按钮
- 学生页移除不检查响应状态的私有下载实现,统一走 downloadBlob
|
2026-08-07 17:33:58 +08:00 |
|
|
|
fd39e1686a
|
feat: 重构各业务模块管理页面与服务
|
2026-08-05 17:12:00 +08:00 |
|
|
|
f07ffdc64c
|
refactor: 前端登录/权限/界面状态迁移至 zustand
|
2026-08-04 14:41:27 +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 |
|
|
|
d582d641c0
|
feat: improve admin responsive pages and teacher candidates
|
2026-07-15 13:56:58 +08:00 |
|
|
|
910a4263f6
|
fix: refactor notification display logic and add format function
|
2026-07-13 14:52:03 +08:00 |
|
|
|
8ed1682b90
|
fix permissions and teacher attendance workflows
|
2026-07-10 20:40:52 +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 |
|
|
|
155e3b3c96
|
feat: add Notifications full page with sidebar filter
|
2026-07-05 23:21:08 +08:00 |
|