f7328d670d
fix: 归档删除改为软删除
2026-07-17 14:13:17 +08:00
d582d641c0
feat: improve admin responsive pages and teacher candidates
2026-07-15 13:56:58 +08:00
bc49d1016a
feat: filter rooms by rental category
2026-07-15 13:52:39 +08:00
ceb0e2bf14
fix: 添加默认床位生成逻辑并优化床位添加验证
2026-07-13 16:50:47 +08:00
acb11b87a3
fix: enhance pagination settings across multiple pages with default size and options
2026-07-13 16:49:21 +08:00
f98c0ccaa8
refactor(rooms): remove dorm gender restrictions
2026-07-13 16:12:57 +08:00
aa1ed7db56
refactor: resolve remaining field audit issues
2026-07-13 16:12:57 +08:00
8ed1682b90
fix permissions and teacher attendance workflows
2026-07-10 20:40:52 +08:00
50b3608db4
fix(admin): repair class, role, and room views
...
Use the RBAC user endpoint for teacher selection, restore role table columns, correct Ant Design props, and add typed room bed and locker responses.
2026-07-10 14:12:08 +08:00
c59fd6ce92
fix(admin): UX improvements — silent fetch failures, empty states, batch loading guards, dashboard refresh
...
- Replace console.error-only catches with message.error user-facing notifications
across Bills, Classes, ClassroomRentals, ClassroomSchedule, Classrooms, Deposits,
Expenses, OperationLogs, Permissions, Roles, RoomVisual, Rooms, Students,
Tenants, Users
- Add Empty component via Table locale prop on list pages: Bills, Classes,
ClassroomRentals, Classrooms, Deposits, Expenses (room+personal), Occupancies,
Rooms, Students, Tenants, Roles
- Add batchLoading state to batch delete/update operations: Bills (batchDelete,
batchUpdateStatus), Expenses (batchDeleteRoom, batchDeletePersonal),
Occupancies (batchCheckOut, batchDelete), Rooms (batchDelete),
Students (batchDelete)
- Add refreshLoading indicator to Dashboard header when re-fetching data
- Consistent error pattern: catch (e: unknown) { const err = e as { message?: string }; message.error(...); }
2026-07-09 18:03:42 +08:00
5700fa556b
fix: restore RoomPage component wrapper and fix action column
2026-07-09 12:13:19 +08:00
e572f92017
feat: upgrade Room detail to Drawer with Bed/Locker tabs
2026-07-09 12:08:06 +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
be75437861
fix: comprehensive UI fix — all table columns have explicit widths, no ellipsis on data, consistent scroll.x
2026-07-06 16:56:35 +08:00
43ee4dc5d5
fix(admin): replace scroll.x='max-content' with calculated fixed widths for all tables
2026-07-06 16:39:53 +08:00
f4eac7b804
fix: add scroll.x='max-content' to 15 tables, widen narrow columns to prevent header wrapping
2026-07-06 16:10:33 +08:00
ca909fae86
feat: add status+tenant filter to Students page, status filter to Rooms page
2026-07-06 14:33:30 +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
b77e5a2f50
fix: remove PermissionButton wrappers from Upload components
2026-07-05 21:37:47 +08:00
1b49d971ae
fix: add missing fragment closing tag in Rooms page
2026-07-05 21:29:42 +08:00
831a2c35d0
fix: remove nested button pattern in Rooms page (Popconfirm outside PermissionButton)
2026-07-05 21:26:05 +08:00
881e9c6175
feat: add rental_category/rate to Room, rental_type/tenant_id to Occupancy, tenant_id to Student
2026-07-05 19:31:03 +08:00
ef805fc823
fix: PermissionButton 包裹 Upload 时添加 type=text 消除外层按钮白底
2026-07-03 10:35:30 +08:00
87445a0ca6
feat: 宿舍管理表格添加 scroll 横向滚动
2026-07-03 10:12:03 +08:00
4f4cee157a
chore: commit oxfmt formatting changes and verify artifacts
2026-07-02 15:55:09 +08:00
46a817503e
feat(task1): restructure directories for turborepo monorepo
...
- Move backend/ to apps/server/ via git mv
- Move frontend/ to apps/admin/ via git mv
- Create packages/typescript-config/ with base, nestjs, and react-vite presets
2026-07-02 15:05:12 +08:00