From d88854d11b99e4152527050a1729dff87d7f5bc4 Mon Sep 17 00:00:00 2001 From: ByungCheol Date: Fri, 12 Jun 2026 22:06:16 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=83=81=ED=99=98/=EB=82=A9=EB=B6=80?= =?UTF-8?q?=EB=A5=BC=20=EC=88=98=EC=A0=95(=ED=8E=B8=EC=A7=91)=20=EC=8B=9C?= =?UTF-8?q?=EC=97=90=EB=8F=84=20=EC=84=A0=ED=83=9D=20=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=ED=95=98=EA=B2=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 구분 드롭다운의 '상환/납부'가 신규 등록에서만 보이던 제약(v-if="!editId") 제거 - 수정 중 상환/납부로 전환 시: 상환 2건(원금=이체, 이자=지출) 생성 후 원본 1건 삭제 — 생성 성공 후 삭제 순서로 중간 실패 시 원본 보존 - openEdit에서 principal/interest 초기화(이전 값 잔존 방지) - 잘못 입력한 단순 이체/지출을 원금·이자 분리 상환으로 정정 가능 Co-Authored-By: Claude Opus 4.8 --- src/views/account/AccountView.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/views/account/AccountView.vue b/src/views/account/AccountView.vue index f08a9fe..3289710 100644 --- a/src/views/account/AccountView.vue +++ b/src/views/account/AccountView.vue @@ -387,6 +387,8 @@ function openEdit(e) { walletId: e.walletId || '', toWalletKind: walletKindOf(e.toWalletId), toWalletId: e.toWalletId || '', + principal: null, + interest: null, installmentMonths: e.installmentMonths || '', }) // 태그 이름 → id 매핑 (현재 태그 목록 기준) @@ -422,6 +424,8 @@ async function submit() { } submitting.value = true try { + // 상환은 원금=이체 / 이자=지출 2건으로 저장된다. 수정 시에는 기존 1건을 + // 상환 2건으로 다시 만든다(상환 생성 성공 후 원본 삭제 — 중간 실패 시 원본 보존). await accountApi.repayment({ entryDate: form.entryDate, fromWalletId: form.walletId, @@ -430,6 +434,9 @@ async function submit() { interest, memo: form.memo || null, }) + if (editId.value) { + await accountApi.remove(editId.value) + } formOpen.value = false await load() } catch (e) { @@ -655,7 +662,7 @@ onMounted(async () => { - +