From b14ea842f8b3e8cfb091f75fc396da5583899236 Mon Sep 17 00:00:00 2001 From: kent Date: Fri, 16 Jan 2026 12:47:16 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EA=B2=AC=EC=A0=81=EC=84=9C=20=EA=B3=B5?= =?UTF-8?q?=EA=B3=BC=20=EC=83=81=EC=84=B8=20=ED=92=88=EB=AA=A9=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20API=20=EC=9D=91=EB=8B=B5=20=ED=8C=8C=EC=8B=B1=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - getExpenseItemOptions() 함수의 API 응답 구조 수정 - response.data → response.data.data로 페이지네이션 응답 올바르게 파싱 - items 테이블에서 item_type='RM' 품목 정상 조회되도록 수정 --- .../construction/estimates/actions.ts | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/components/business/construction/estimates/actions.ts b/src/components/business/construction/estimates/actions.ts index ab5eddb1..44e5f5d1 100644 --- a/src/components/business/construction/estimates/actions.ts +++ b/src/components/business/construction/estimates/actions.ts @@ -667,15 +667,21 @@ export async function getExpenseItemOptions(): Promise<{ }> { try { const response = await apiClient.get<{ - data: Array<{ - id: number; - code: string; - name: string; - unit: string | null; - item_type: string; - is_active: boolean; - }>; - meta?: { total: number }; + success: boolean; + message: string; + data: { + data: Array<{ + id: number; + code: string; + name: string; + unit: string | null; + item_type: string; + is_active: boolean; + }>; + current_page: number; + per_page: number; + total: number; + }; }>('/items', { params: { item_type: 'RM', // 공과 품목만 조회 @@ -684,7 +690,9 @@ export async function getExpenseItemOptions(): Promise<{ }, }); - const items = Array.isArray(response.data) ? response.data : []; + // API 응답: { success, message, data: { data: [...items], current_page, ... } } + const paginatedData = response.data; + const items = Array.isArray(paginatedData.data) ? paginatedData.data : []; const options: ExpenseItemOption[] = items.map((item) => ({ value: String(item.id), label: item.name,