From d302fa9beb1792bcaffdf6ce034d9571ff4c6e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IT=E7=8B=97?= Date: Tue, 21 Jul 2026 21:38:22 +0800 Subject: [PATCH] List.jsx: fix API path /api/attendance -> /api/attendance/records MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Response key is 'records' not 'data' - Backend /api/attendance/records uses 'per_page' (not 'page_size') - Without this fix, list never loaded data — would always show 'no records' --- frontend/src/pages/List.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/List.jsx b/frontend/src/pages/List.jsx index ecff2fb..7d4f175 100644 --- a/frontend/src/pages/List.jsx +++ b/frontend/src/pages/List.jsx @@ -28,13 +28,13 @@ export default function AttendanceList() { const fetchRecords = async () => { setLoading(true) try { - const params = { page: 1, page_size: 1000 } + const params = { page: 1, per_page: 1000 } if (statusFilter) params.status_text = statusFilter - const { data } = await api.get('/api/attendance', { params }) - setRecords(data.data || []) + const { data } = await api.get('/api/attendance/records', { params }) + setRecords(data.records || []) - if (data.data && data.data.length > 0) { - const keys = Object.keys(data.data[0]).filter(k => k !== '_row') + if (data.records && data.records.length > 0) { + const keys = Object.keys(data.records[0]).filter(k => k !== '_row') setHeaders(keys) } } catch (err) {