From cdf94b75cb42fae48de745afec8040841d0a73bb Mon Sep 17 00:00:00 2001 From: sb Date: Mon, 6 Jul 2026 22:36:15 +0900 Subject: [PATCH] =?UTF-8?q?fix(account):=20=EB=B9=A0=EB=A5=B8=EC=9E=85?= =?UTF-8?q?=EB=A0=A5=20=EB=8C=80=EC=B6=9C=EC=83=81=ED=99=98=20=E2=80=94=20?= =?UTF-8?q?=EA=B8=88=EB=A6=AC=20=EC=9E=88=EC=9C=BC=EB=A9=B4=20=EC=9D=B4?= =?UTF-8?q?=EC=9E=90/=EC=9B=90=EA=B8=88=20=EC=9E=90=EB=8F=99=EB=B6=84?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 금액을 principal 이 아니라 납입금액(loanPaymentAmount)에 넣어 기존 자동분리 로직이 작동하게 함 (toWalletId 리셋 감시자 뒤 nextTick). 금리 미설정/카드는 전액 원금. Co-Authored-By: Claude Opus 4.8 --- src/views/account/AccountView.vue | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/views/account/AccountView.vue b/src/views/account/AccountView.vue index 5585a52..013bf06 100644 --- a/src/views/account/AccountView.vue +++ b/src/views/account/AccountView.vue @@ -847,9 +847,20 @@ function applyParsed(p) { form.toWalletId = toW.id } if (repayment) { - // 상환: 전액을 원금으로 우선 채움(이자가 있으면 사용자가 분리 입력) - form.principal = p.amount ? Number(p.amount) : null - form.interest = null + const amt = p.amount ? Number(p.amount) : null + // toWalletId 변경 감시자가 principal/interest/납입금액을 초기화한 '뒤'에 값을 넣는다. + nextTick(() => { + const loan = repayTargetLoanWallet.value + if (loan && loanAutoResult.value && loanAutoResult.value.needsInput && amt) { + // 금리 설정된 대출(원리금균등) → 납입금액에 넣으면 이자/원금 자동 분리(calcLoanRepayment) + loanPaymentAmount.value = amt + } else if (!loan && amt) { + // 금리 미설정 대출·카드 → 전액 원금(이자는 사용자가 분리 입력) + form.principal = amt + form.interest = null + } + // BULLET(만기일시)·EQUAL_PRINCIPAL(원금균등)은 loanAutoResult 감시자가 이자/원금을 자동 채움 + }) } pasteDetected.value = null pasteModalOpen.value = false