From 9ade6abf4cdfd5c4426363ccc42c1142021d287f Mon Sep 17 00:00:00 2001 From: hyeonggil <> Date: Sun, 8 Mar 2026 23:01:27 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=EA=B5=AC=EB=A7=A4=20?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=20=EC=88=98=EB=9F=89=20=ED=95=84=EB=93=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EC=97=91=EC=85=80=20=EC=97=85?= =?UTF-8?q?=EB=A1=9C=EB=93=9C=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - types/purchase: Purchase·PurchaseInsert에 quantity 필드 추가 - usePurchases: totalSpent·categoryBreakdown를 price×quantity 기준으로 변경 - extractErrorMessage 헬퍼 추가 (Supabase PostgrestError 메시지 정확히 추출) - pages/purchases/index: 수량 컬럼 추가, 가격 셀에 합계(단가×수량) 표시 - PurchaseForm: 수량 입력, 세미콜론(;) → ×1000 단가 변환, 합계 미리보기 - PurchaseExcelUpload: 수량 파싱·검증, 단가/수량/합계 컬럼 분리 - 카테고리 셀 → USelect 인라인 수정 및 즉시 재검증 - 템플릿에 수량 컬럼 추가 (단가 → 수량 순서) - 저장 실패 시 실제 오류 메시지 표시 --- .../purchases/PurchaseExcelUpload.vue | 134 +++++++++++++----- app/components/purchases/PurchaseForm.vue | 98 +++++++++++-- app/composables/usePurchases.ts | 21 ++- app/pages/purchases/index.vue | 13 +- app/types/purchase.ts | 2 + 5 files changed, 216 insertions(+), 52 deletions(-) diff --git a/app/components/purchases/PurchaseExcelUpload.vue b/app/components/purchases/PurchaseExcelUpload.vue index bcac469..d05a49f 100644 --- a/app/components/purchases/PurchaseExcelUpload.vue +++ b/app/components/purchases/PurchaseExcelUpload.vue @@ -1,6 +1,7 @@