account edit page displays the debt amount instead of the balance for credit card and debt accounts

This commit is contained in:
MaysWind
2025-02-11 00:45:23 +08:00
parent 18a6d25ed6
commit ab58109e5e
12 changed files with 133 additions and 28 deletions
@@ -146,8 +146,9 @@
:persistent-placeholder="true"
:currency="selectedAccount.currency"
:show-currency="true"
:label="currentAccountIndex < 0 ? tt('Account Balance') : tt('Sub-account Balance')"
:placeholder="currentAccountIndex < 0 ? tt('Account Balance') : tt('Sub-account Balance')"
:flip-negative="account.isLiability"
:label="accountAmountTitle"
:placeholder="accountAmountTitle"
v-model="selectedAccount.balance"/>
</v-col>
<v-col cols="12" md="6" v-show="selectedAccount.balance"
@@ -274,6 +275,14 @@ const selectedAccount = computed<Account>(() => {
return subAccounts.value[currentAccountIndex.value];
});
const accountAmountTitle = computed<string>(() => {
if (currentAccountIndex.value < 0) {
return account.value.isLiability ? tt('Account Outstanding Balance') : tt('Account Balance');
} else {
return account.value.isLiability ? tt('Sub-account Outstanding Balance') : tt('Sub-account Balance');
}
});
let resolveFunc: ((value: AccountEditResponse) => void) | null = null;
let rejectFunc: ((reason?: unknown) => void) | null = null;
+11 -4
View File
@@ -191,13 +191,14 @@
link="#" no-chevron
class="list-item-with-header-and-title"
:class="{ 'disabled': editAccountId }"
:header="tt('Account Balance')"
:title="formatAmountWithCurrency(account.balance, account.currency)"
:header="account.isLiability ? tt('Account Outstanding Balance') : tt('Account Balance')"
:title="formatAccountDisplayBalance(account)"
@click="accountContext.showBalanceSheet = true"
>
<number-pad-sheet :min-value="TRANSACTION_MIN_AMOUNT"
:max-value="TRANSACTION_MAX_AMOUNT"
:currency="account.currency"
:flip-negative="account.isLiability"
v-model:show="accountContext.showBalanceSheet"
v-model="account.balance"
></number-pad-sheet>
@@ -419,13 +420,14 @@
link="#" no-chevron
class="list-item-with-header-and-title"
:class="{ 'disabled': editAccountId }"
:header="tt('Sub-account Balance')"
:title="formatAmountWithCurrency(subAccount.balance, subAccount.currency)"
:header="account.isLiability ? tt('Sub-account Outstanding Balance') : tt('Sub-account Balance')"
:title="formatAccountDisplayBalance(subAccount)"
@click="subAccountContexts[idx].showBalanceSheet = true"
>
<number-pad-sheet :min-value="TRANSACTION_MIN_AMOUNT"
:max-value="TRANSACTION_MAX_AMOUNT"
:currency="subAccount.currency"
:flip-negative="account.isLiability"
v-model:show="subAccountContexts[idx].showBalanceSheet"
v-model="subAccount.balance"
></number-pad-sheet>
@@ -566,6 +568,11 @@ const showAccountTypeSheet = ref<boolean>(false);
const showMoreActionSheet = ref<boolean>(false);
const showDeleteActionSheet = ref<boolean>(false);
function formatAccountDisplayBalance(selectedAccount: Account): string {
const balance = account.value.isLiability ? -selectedAccount.balance : selectedAccount.balance;
return formatAmountWithCurrency(balance, selectedAccount.currency);
}
function formatAccountBalanceDate(account: Account): string {
if (!isDefined(account.balanceTime)) {
return '';