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