fix: 상환/납부를 수정(편집) 시에도 선택 가능하게
CI / build (push) Failing after 11m45s

- 구분 드롭다운의 '상환/납부'가 신규 등록에서만 보이던 제약(v-if="!editId") 제거
- 수정 중 상환/납부로 전환 시: 상환 2건(원금=이체, 이자=지출) 생성 후
  원본 1건 삭제 — 생성 성공 후 삭제 순서로 중간 실패 시 원본 보존
- openEdit에서 principal/interest 초기화(이전 값 잔존 방지)
- 잘못 입력한 단순 이체/지출을 원금·이자 분리 상환으로 정정 가능

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ByungCheol
2026-06-12 22:06:16 +09:00
parent dba0741cca
commit d88854d11b
+8 -1
View File
@@ -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 () => {
<option value="EXPENSE">지출</option>
<option value="INCOME">수입</option>
<option value="TRANSFER">이체</option>
<option v-if="!editId" value="REPAYMENT">상환/납부</option>
<option value="REPAYMENT">상환/납부</option>
</select>
</label>
<!-- 계좌 종류 먼저 선택(라디오) 해당 종류만 셀렉트에 -->