From 90cc321221b45feef7274b869f9af6bbcb4439d0 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Wed, 22 Jul 2026 17:50:59 +0800 Subject: [PATCH] fix: UI improvements and DingTalk attendance refresh for completed sessions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DatePicker editors open immediately on double-click - Student archive drawer hides empty studentNo parentheses - Student add/edit form uses 2-column grid layout - Table horizontal scrollbars show only on hover/focus - Remove fake 近7日趋势 stats from attendance student detail - Allow DingTalk refresh to update completed attendance sessions (late-arriving punches can now change absent → present) - Switch dev command from concurrently to turbo run dev - Remove concurrently/wait-on dependencies --- .../src/components/EditableCell/index.tsx | 4 +- .../StudentProfileContent/index.tsx | 2 +- apps/admin/src/index.css | 45 +++ .../Attendance/LessonAttendanceDetail.tsx | 272 +++++++++++++++++ .../admin/src/pages/Attendance/attendance.css | 16 - apps/admin/src/pages/Attendance/index.tsx | 287 +----------------- apps/admin/src/pages/Attendance/types.ts | 28 ++ apps/admin/src/pages/Students/index.tsx | 4 +- .../attendance.lesson-session.spec.ts | 29 +- .../src/attendance/attendance.service.ts | 26 +- .../lesson-attendance-sync.service.spec.ts | 123 ++++++++ .../lesson-attendance-sync.service.ts | 53 ++++ package-lock.json | 232 +------------- package.json | 6 +- 14 files changed, 581 insertions(+), 546 deletions(-) create mode 100644 apps/admin/src/pages/Attendance/LessonAttendanceDetail.tsx create mode 100644 apps/admin/src/pages/Attendance/types.ts create mode 100644 apps/server/src/attendance/lesson-attendance-sync.service.spec.ts create mode 100644 apps/server/src/attendance/lesson-attendance-sync.service.ts diff --git a/apps/admin/src/components/EditableCell/index.tsx b/apps/admin/src/components/EditableCell/index.tsx index a60b195..7e83f98 100644 --- a/apps/admin/src/components/EditableCell/index.tsx +++ b/apps/admin/src/components/EditableCell/index.tsx @@ -245,10 +245,10 @@ const EditableCell = ({ /> ); } else if (editor === 'date') { - control = ; + control = ; } else if (editor === 'date-range') { const { placeholder: _placeholder, ...rangeProps } = commonProps; - control = ; + control = ; } else if (editor === 'number' || editor === 'money') { control = ( diff --git a/apps/admin/src/components/StudentProfileContent/index.tsx b/apps/admin/src/components/StudentProfileContent/index.tsx index e86223b..e7b8639 100644 --- a/apps/admin/src/components/StudentProfileContent/index.tsx +++ b/apps/admin/src/components/StudentProfileContent/index.tsx @@ -1470,7 +1470,7 @@ const StudentProfileContent: React.FC = ({