From 769aa38b52443849bf9bf4556322baebefb08f21 Mon Sep 17 00:00:00 2001 From: sb Date: Mon, 6 Jul 2026 22:16:52 +0900 Subject: [PATCH] =?UTF-8?q?feat(account):=20=EB=B9=A0=EB=A5=B8=EC=9E=85?= =?UTF-8?q?=EB=A0=A5=20=EC=9D=B4=EC=B2=B4=20=ED=8F=BC=20=EB=B0=98=EC=98=81?= =?UTF-8?q?=20=E2=80=94=20=EC=B6=9C=EA=B8=88/=EC=9E=85=EA=B8=88=20?= =?UTF-8?q?=EA=B3=84=EC=A2=8C=20=EC=9E=90=EB=8F=99=20=EC=B1=84=EC=9B=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit applyParsed 가 TRANSFER 처리: type=이체, 분류 비움, wallet→출금(walletId)/toWallet→입금(toWalletId) 매칭. Co-Authored-By: Claude Opus 4.8 --- src/views/account/AccountView.vue | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/views/account/AccountView.vue b/src/views/account/AccountView.vue index 4b9dc2c..ff3c98b 100644 --- a/src/views/account/AccountView.vue +++ b/src/views/account/AccountView.vue @@ -825,13 +825,14 @@ const pasteText = ref('') const pasteError = ref('') function applyParsed(p) { if (!p || !p.recognized) return - form.type = p.type === 'INCOME' ? 'INCOME' : 'EXPENSE' + const transfer = p.type === 'TRANSFER' + form.type = p.type === 'INCOME' ? 'INCOME' : transfer ? 'TRANSFER' : 'EXPENSE' if (p.amount) form.amount = Number(p.amount) if (p.merchant) form.memo = p.merchant if (p.date) form.entryDate = p.date - // AI 추천 분류(후보 목록 중에서 선택된 값). 없으면 사용자가 직접 선택 - form.category = p.category || '' - // AI 추천 결제수단(계좌) — 이름으로 실제 계좌를 찾아 종류·계좌 자동 선택 + // 이체는 분류 없음. 그 외엔 AI 추천 분류(후보 중). 없으면 사용자가 선택 + form.category = transfer ? '' : p.category || '' + // AI 추천 계좌 매칭 — 지출/수입=결제수단(walletId), 이체=보내는(walletId)/받는(toWalletId) 계좌 if (p.wallet) { const w = wallets.value.find((x) => x.name === p.wallet) if (w) { @@ -839,6 +840,13 @@ function applyParsed(p) { form.walletId = w.id } } + if (transfer && p.toWallet) { + const tw = wallets.value.find((x) => x.name === p.toWallet) + if (tw) { + form.toWalletKind = tw.type + form.toWalletId = tw.id + } + } pasteDetected.value = null pasteModalOpen.value = false pasteText.value = ''