Skip to content

Commit e5c12d3

Browse files
committed
show tooltip with amounts converted using the current default currency exchange rate for account balances and other amount values in the desktop account reconciliation statement dialog
1 parent 705b3a8 commit e5c12d3

2 files changed

Lines changed: 66 additions & 10 deletions

File tree

src/views/base/accounts/ReconciliationStatementPageBase.ts

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,30 +118,58 @@ export function useReconciliationStatementPageBase() {
118118
});
119119

120120
const displayTotalInflows = computed<string>(() => {
121-
return formatAmountToLocalizedNumeralsWithCurrency(reconciliationStatements.value?.totalInflows ?? 0, currentAccountCurrency.value);
121+
return formatAmount(reconciliationStatements.value?.totalInflows ?? 0, false, currentAccountCurrency.value);
122+
});
123+
124+
const displayTotalInflowsInDefaultCurrency = computed<string>(() => {
125+
return formatAmount(reconciliationStatements.value?.totalInflows ?? 0, false, currentAccountCurrency.value, true);
122126
});
123127

124128
const displayTotalOutflows = computed<string>(() => {
125-
return formatAmountToLocalizedNumeralsWithCurrency(reconciliationStatements.value?.totalOutflows ?? 0, currentAccountCurrency.value);
129+
return formatAmount(reconciliationStatements.value?.totalOutflows ?? 0, false, currentAccountCurrency.value);
130+
});
131+
132+
const displayTotalOutflowsInDefaultCurrency = computed<string>(() => {
133+
return formatAmount(reconciliationStatements.value?.totalOutflows ?? 0, false, currentAccountCurrency.value, true);
126134
});
127135

128136
const displayTotalBalance = computed<string>(() => {
129-
return formatAmountToLocalizedNumeralsWithCurrency((reconciliationStatements?.value?.totalInflows ?? 0) - (reconciliationStatements.value?.totalOutflows ?? 0), currentAccountCurrency.value);
137+
return formatAmount((reconciliationStatements?.value?.totalInflows ?? 0) - (reconciliationStatements.value?.totalOutflows ?? 0), false, currentAccountCurrency.value);
138+
});
139+
140+
const displayTotalBalanceInDefaultCurrency = computed<string>(() => {
141+
return formatAmount((reconciliationStatements?.value?.totalInflows ?? 0) - (reconciliationStatements.value?.totalOutflows ?? 0), false, currentAccountCurrency.value, true);
130142
});
131143

132144
const displayOpeningBalance = computed<string>(() => {
133145
if (isCurrentLiabilityAccount.value) {
134-
return formatAmountToLocalizedNumeralsWithCurrency(-(reconciliationStatements?.value?.openingBalance ?? 0), currentAccountCurrency.value);
146+
return formatAmount(-(reconciliationStatements?.value?.openingBalance ?? 0), false, currentAccountCurrency.value);
147+
} else {
148+
return formatAmount(reconciliationStatements?.value?.openingBalance ?? 0, false, currentAccountCurrency.value);
149+
}
150+
});
151+
152+
const displayOpeningBalanceInDefaultCurrency = computed<string>(() => {
153+
if (isCurrentLiabilityAccount.value) {
154+
return formatAmount(-(reconciliationStatements?.value?.openingBalance ?? 0), false, currentAccountCurrency.value, true);
135155
} else {
136-
return formatAmountToLocalizedNumeralsWithCurrency(reconciliationStatements?.value?.openingBalance ?? 0, currentAccountCurrency.value);
156+
return formatAmount(reconciliationStatements?.value?.openingBalance ?? 0, false, currentAccountCurrency.value, true);
137157
}
138158
});
139159

140160
const displayClosingBalance = computed<string>(() => {
141161
if (isCurrentLiabilityAccount.value) {
142-
return formatAmountToLocalizedNumeralsWithCurrency(-(reconciliationStatements?.value?.closingBalance ?? 0), currentAccountCurrency.value);
162+
return formatAmount(-(reconciliationStatements?.value?.closingBalance ?? 0), false, currentAccountCurrency.value);
163+
} else {
164+
return formatAmount(reconciliationStatements?.value?.closingBalance ?? 0, false, currentAccountCurrency.value);
165+
}
166+
});
167+
168+
const displayClosingBalanceInDefaultCurrency = computed<string>(() => {
169+
if (isCurrentLiabilityAccount.value) {
170+
return formatAmount(-(reconciliationStatements?.value?.closingBalance ?? 0), false, currentAccountCurrency.value, true);
143171
} else {
144-
return formatAmountToLocalizedNumeralsWithCurrency(reconciliationStatements?.value?.closingBalance ?? 0, currentAccountCurrency.value);
172+
return formatAmount(reconciliationStatements?.value?.closingBalance ?? 0, false, currentAccountCurrency.value, true);
145173
}
146174
});
147175

@@ -245,7 +273,7 @@ export function useReconciliationStatementPageBase() {
245273
return formatAmount(transaction.destinationAmount, transaction.hideAmount, transaction.destinationAccount?.currency ?? defaultCurrency.value, inDefaultCurrency);
246274
}
247275

248-
function getDisplayAccountBalance(transaction: TransactionReconciliationStatementResponseItemWithInfo): string {
276+
function getDisplayAccountBalance(transaction: TransactionReconciliationStatementResponseItemWithInfo, inDefaultCurrency?: boolean): string {
249277
let currency = defaultCurrency.value;
250278
let isLiabilityAccount = false;
251279

@@ -260,9 +288,9 @@ export function useReconciliationStatementPageBase() {
260288
}
261289

262290
if (isLiabilityAccount) {
263-
return formatAmountToLocalizedNumeralsWithCurrency(-transaction.accountClosingBalance, currency);
291+
return formatAmount(-transaction.accountClosingBalance, false, currency, inDefaultCurrency);
264292
} else {
265-
return formatAmountToLocalizedNumeralsWithCurrency(transaction.accountClosingBalance, currency);
293+
return formatAmount(transaction.accountClosingBalance, false, currency, inDefaultCurrency);
266294
}
267295
}
268296

@@ -355,10 +383,15 @@ export function useReconciliationStatementPageBase() {
355383
displayStartDateTime,
356384
displayEndDateTime,
357385
displayTotalInflows,
386+
displayTotalInflowsInDefaultCurrency,
358387
displayTotalOutflows,
388+
displayTotalOutflowsInDefaultCurrency,
359389
displayTotalBalance,
390+
displayTotalBalanceInDefaultCurrency,
360391
displayOpeningBalance,
392+
displayOpeningBalanceInDefaultCurrency,
361393
displayClosingBalance,
394+
displayClosingBalanceInDefaultCurrency,
362395
// functions
363396
updatePageOpenTime,
364397
setReconciliationStatements,

src/views/desktop/accounts/list/dialogs/ReconciliationStatementDialog.vue

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,19 @@
109109
</span>
110110
<span class="text-primary ms-2" v-else-if="!loading">
111111
{{ displayOpeningBalance }}
112+
<v-tooltip activator="parent" v-if="currentAccountCurrency !== defaultCurrency">
113+
<span>{{ displayOpeningBalanceInDefaultCurrency }}</span>
114+
</v-tooltip>
112115
</span>
113116
<span class="ms-3">{{ tt('Closing Balance') }}</span>
114117
<span class="text-primary" v-if="loading">
115118
<v-skeleton-loader class="skeleton-no-margin ms-3" type="text" style="width: 80px" :loading="true"></v-skeleton-loader>
116119
</span>
117120
<span class="text-primary ms-2" v-else-if="!loading">
118121
{{ displayClosingBalance }}
122+
<v-tooltip activator="parent" v-if="currentAccountCurrency !== defaultCurrency">
123+
<span>{{ displayClosingBalanceInDefaultCurrency }}</span>
124+
</v-tooltip>
119125
</span>
120126
</div>
121127
<v-spacer/>
@@ -126,20 +132,29 @@
126132
</span>
127133
<span class="text-income ms-2" v-else-if="!loading">
128134
{{ displayTotalInflows }}
135+
<v-tooltip activator="parent" v-if="currentAccountCurrency !== defaultCurrency">
136+
<span>{{ displayTotalInflowsInDefaultCurrency }}</span>
137+
</v-tooltip>
129138
</span>
130139
<span class="ms-3">{{ tt('Total Outflows') }}</span>
131140
<span class="text-expense" v-if="loading">
132141
<v-skeleton-loader class="skeleton-no-margin ms-3" type="text" style="width: 80px" :loading="true"></v-skeleton-loader>
133142
</span>
134143
<span class="text-expense ms-2" v-else-if="!loading">
135144
{{ displayTotalOutflows }}
145+
<v-tooltip activator="parent" v-if="currentAccountCurrency !== defaultCurrency">
146+
<span>{{ displayTotalOutflowsInDefaultCurrency }}</span>
147+
</v-tooltip>
136148
</span>
137149
<span class="ms-3">{{ tt('Net Cash Flow') }}</span>
138150
<span class="text-primary" v-if="loading">
139151
<v-skeleton-loader class="skeleton-no-margin ms-3" type="text" style="width: 80px" :loading="true"></v-skeleton-loader>
140152
</span>
141153
<span class="text-primary ms-2" v-else-if="!loading">
142154
{{ displayTotalBalance }}
155+
<v-tooltip activator="parent" v-if="currentAccountCurrency !== defaultCurrency">
156+
<span>{{ displayTotalBalanceInDefaultCurrency }}</span>
157+
</v-tooltip>
143158
</span>
144159
</div>
145160
</div>
@@ -205,6 +220,9 @@
205220
</template>
206221
<template #item.accountBalance="{ item }">
207222
<span>{{ getDisplayAccountBalance(item) }}</span>
223+
<v-tooltip activator="parent" v-if="currentAccountCurrency !== defaultCurrency">
224+
<span>{{ getDisplayAccountBalance(item, true) }}</span>
225+
</v-tooltip>
208226
</template>
209227
<template #item.operation="{ item }">
210228
<v-btn density="compact" variant="text" color="default" :disabled="loading || updatingLastReconciledTime || item.type === TransactionType.ModifyBalance"
@@ -378,10 +396,15 @@ const {
378396
displayStartDateTime,
379397
displayEndDateTime,
380398
displayTotalInflows,
399+
displayTotalInflowsInDefaultCurrency,
381400
displayTotalOutflows,
401+
displayTotalOutflowsInDefaultCurrency,
382402
displayTotalBalance,
403+
displayTotalBalanceInDefaultCurrency,
383404
displayOpeningBalance,
405+
displayOpeningBalanceInDefaultCurrency,
384406
displayClosingBalance,
407+
displayClosingBalanceInDefaultCurrency,
385408
updatePageOpenTime,
386409
setReconciliationStatements,
387410
getDisplayTransactionType,

0 commit comments

Comments
 (0)