diff --git a/src/views/account/AccountView.vue b/src/views/account/AccountView.vue index 202561f..c277d6a 100644 --- a/src/views/account/AccountView.vue +++ b/src/views/account/AccountView.vue @@ -347,7 +347,15 @@ const WALLET_KINDS = [ { value: 'INVEST', label: '증권' }, ] // 출금/결제 계좌 종류 뱃지에서는 대출 제외 — 대출은 지출·이체의 '출처'가 아니라 상환 대상 -const FROM_WALLET_KINDS = WALLET_KINDS.filter((k) => k.value !== 'LOAN') +// 출금/결제 계좌 종류: 대출은 항상 제외(상환 대상), 카드는 '지출'(카드결제)일 때만 노출. +// 수입·이체·상환은 카드/대출에서 나가지 않음. +const fromWalletKinds = computed(() => + WALLET_KINDS.filter((k) => { + if (k.value === 'LOAN') return false + if (k.value === 'CARD') return form.type === 'EXPENSE' + return true + }), +) const TYPES = [ { value: 'EXPENSE', label: '지출', cls: 'chip-expense' }, { value: 'INCOME', label: '수입', cls: 'chip-income' }, @@ -402,9 +410,13 @@ async function loadCategories() { // 필터용 전체 분류명 (중복 제거) const allCategoryNames = computed(() => [...new Set(categories.value.map((c) => c.name))]) -// 구분(수입/지출/이체) 변경 시 분류 초기화 +// 구분(수입/지출/이체) 변경 시 분류 초기화 + 새 구분에서 허용 안 되는 계좌 종류면 초기화 function onTypeChange() { form.category = '' + if (!fromWalletKinds.value.some((k) => k.value === form.walletKind)) { + form.walletKind = '' + form.walletId = '' + } } // 태그 (태그 관리에 등록된 태그 선택) @@ -1148,7 +1160,7 @@ onMounted(async () => {
계좌 종류
-