StatusBadge: simplify to 5 basic categories (正常/異常/缺勤/公假/請假)
- StatusBadge no longer shows detailed late/early/OT minute breakdowns nor AL/SL/CL sub-types; collapse to single basic-status badge - List page: replace text-input column filter with status dropdown (server-side ?status_text= filter; backend now supports 'leave' IN-clause for al/sl/cl/mixed_leave group) - List page: badge now driven by backend status_code/status_text (remove frontend latenessMap which contradicted backend status)
This commit is contained in:
@@ -1289,6 +1289,9 @@ async def attendance_records(
|
||||
q = q.filter(AttendanceRecord.status_code == 'missing')
|
||||
elif status_text in ('holiday', 'al', 'sl', 'cl', 'mixed_leave'):
|
||||
q = q.filter(AttendanceRecord.status_code == status_text)
|
||||
elif status_text == 'leave':
|
||||
# Any leave type — group filter
|
||||
q = q.filter(AttendanceRecord.status_code.in_(['al', 'sl', 'cl', 'mixed_leave']))
|
||||
elif status_text == 'normal':
|
||||
q = q.filter(
|
||||
(AttendanceRecord.late_minutes == 0) &
|
||||
|
||||
Reference in New Issue
Block a user