fix amounts on some pages were not formatted using the account currency

This commit is contained in:
MaysWind
2026-04-17 23:37:07 +08:00
parent 1e4bb73874
commit a6e252c30d
6 changed files with 12 additions and 12 deletions
+1 -1
View File
@@ -525,7 +525,7 @@ function exportData(): { headers: string[], data: string[][] } {
if (props.oneHundredPercentStacked) { if (props.oneHundredPercentStacked) {
return formatNumberToWesternArabicNumeralsWithoutDigitGrouping(item.data[index] ?? 0); return formatNumberToWesternArabicNumeralsWithoutDigitGrouping(item.data[index] ?? 0);
} else { } else {
return formatAmountToWesternArabicNumeralsWithoutDigitGrouping(item.data[index] ?? 0); return formatAmountToWesternArabicNumeralsWithoutDigitGrouping(item.data[index] ?? 0, props.defaultCurrency);
} }
})); }));
data.push(row); data.push(row);
@@ -256,13 +256,13 @@ export function useReconciliationStatementPageBase() {
const transactionTime = parseDateTimeFromUnixTimeWithTimezoneOffset(transaction.time, transaction.utcOffset); const transactionTime = parseDateTimeFromUnixTimeWithTimezoneOffset(transaction.time, transaction.utcOffset);
const type = getDisplayTransactionType(transaction); const type = getDisplayTransactionType(transaction);
let categoryName = replaceAll(transaction.categoryName, separator, ' '); let categoryName = replaceAll(transaction.categoryName, separator, ' ');
let displayAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.sourceAmount); let displayAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.sourceAmount, transaction.sourceAccount?.currency);
let displayAccountName = replaceAll(transaction.sourceAccountName, separator, ' '); let displayAccountName = replaceAll(transaction.sourceAccountName, separator, ' ');
if (transaction.type === TransactionType.ModifyBalance) { if (transaction.type === TransactionType.ModifyBalance) {
categoryName = tt('Modify Balance'); categoryName = tt('Modify Balance');
} else if (transaction.type === TransactionType.Transfer && transaction.destinationAccountId === accountId.value) { } else if (transaction.type === TransactionType.Transfer && transaction.destinationAccountId === accountId.value) {
displayAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.destinationAmount); displayAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.destinationAmount, transaction.destinationAccount?.currency);
} }
if (transaction.type === TransactionType.Transfer && transaction.destinationAccount) { if (transaction.type === TransactionType.Transfer && transaction.destinationAccount) {
@@ -272,9 +272,9 @@ export function useReconciliationStatementPageBase() {
let displayAccountBalance = ''; let displayAccountBalance = '';
if (isCurrentLiabilityAccount.value) { if (isCurrentLiabilityAccount.value) {
displayAccountBalance = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(-transaction.accountClosingBalance); displayAccountBalance = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(-transaction.accountClosingBalance, currentAccountCurrency.value);
} else { } else {
displayAccountBalance = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.accountClosingBalance); displayAccountBalance = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.accountClosingBalance, currentAccountCurrency.value);
} }
const description = replaceAll(transaction.comment || '', separator, ' '); const description = replaceAll(transaction.comment || '', separator, ' ');
@@ -532,7 +532,7 @@ function getCategoriedDataDisplayName(info: CategoriedInfo | SeriesInfo): string
if (dimession === TransactionExplorerDataDimension.SourceAmount.value if (dimession === TransactionExplorerDataDimension.SourceAmount.value
|| dimession === TransactionExplorerDataDimension.DestinationAmount.value) { || dimession === TransactionExplorerDataDimension.DestinationAmount.value) {
if (name !== '' && name !== 'none' && Number.isFinite(parseInt(name))) { if (name !== '' && name !== 'none' && Number.isFinite(parseInt(name))) {
displayName = formatAmountToLocalizedNumerals(parseInt(name)); displayName = formatAmountToLocalizedNumerals(parseInt(name), defaultCurrency.value);
} }
} }
@@ -590,7 +590,7 @@ function buildExportResults(): { headers: string[], data: string[][], supportedM
], ],
data: categoryDimensionTransactionExplorerData.value.map(data => [ data: categoryDimensionTransactionExplorerData.value.map(data => [
data.name, data.name,
valueMetric?.isAmount ? formatAmountToWesternArabicNumeralsWithoutDigitGrouping(data.totalAmount) : data.totalAmount.toString(10) valueMetric?.isAmount ? formatAmountToWesternArabicNumeralsWithoutDigitGrouping(data.totalAmount, defaultCurrency.value) : data.totalAmount.toString(10)
]), ]),
supportedMermaidCharts: supportedMermaidCharts supportedMermaidCharts: supportedMermaidCharts
}; };
@@ -448,13 +448,13 @@ function buildExportResults(): { headers: string[], data: string[][] } | undefin
const type = getDisplayTransactionType(transaction); const type = getDisplayTransactionType(transaction);
let categoryName = transaction.secondaryCategoryName; let categoryName = transaction.secondaryCategoryName;
let displayAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.sourceAmount); let displayAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.sourceAmount, transaction.sourceAccount?.currency);
let displayAccountName = transaction.sourceAccountName; let displayAccountName = transaction.sourceAccountName;
if (transaction.type === TransactionType.ModifyBalance) { if (transaction.type === TransactionType.ModifyBalance) {
categoryName = tt('Modify Balance'); categoryName = tt('Modify Balance');
} else if (transaction.type === TransactionType.Transfer && transaction.sourceAccount?.id !== transaction.destinationAccount?.id && getDisplaySourceAmount(transaction) !== getDisplayDestinationAmount(transaction)) { } else if (transaction.type === TransactionType.Transfer && transaction.sourceAccount?.id !== transaction.destinationAccount?.id && getDisplaySourceAmount(transaction) !== getDisplayDestinationAmount(transaction)) {
displayAmount = displayAmount + ' → ' + formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.destinationAmount); displayAmount = displayAmount + ' → ' + formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.destinationAmount, transaction.destinationAccount?.currency);
} }
if (transaction.type === TransactionType.Transfer && transaction.destinationAccount) { if (transaction.type === TransactionType.Transfer && transaction.destinationAccount) {
@@ -1265,7 +1265,7 @@ function exportResults(): void {
.filter(item => !item.hidden) .filter(item => !item.hidden)
.map(item => [ .map(item => [
item.name, item.name,
formatAmountToWesternArabicNumeralsWithoutDigitGrouping(item.totalAmount), formatAmountToWesternArabicNumeralsWithoutDigitGrouping(item.totalAmount, defaultCurrency.value),
item.percent.toFixed(4) item.percent.toFixed(4)
]), ]),
supportedMermaidCharts: supportedMermaidCharts supportedMermaidCharts: supportedMermaidCharts
@@ -2196,7 +2196,7 @@ function exportData(fileType: KnownFileType): void {
const type = getDisplayTransactionType(transaction); const type = getDisplayTransactionType(transaction);
const accountName = transaction.sourceAccountId && transaction.sourceAccountId !== '0' && allAccountsMap.value[transaction.sourceAccountId] ? (allAccountsMap.value[transaction.sourceAccountId]?.name ?? transaction.originalSourceAccountName) : transaction.originalSourceAccountName; const accountName = transaction.sourceAccountId && transaction.sourceAccountId !== '0' && allAccountsMap.value[transaction.sourceAccountId] ? (allAccountsMap.value[transaction.sourceAccountId]?.name ?? transaction.originalSourceAccountName) : transaction.originalSourceAccountName;
const amountCurrency = transaction.sourceAccountId && transaction.sourceAccountId !== '0' && allAccountsMap.value[transaction.sourceAccountId] ? (allAccountsMap.value[transaction.sourceAccountId]?.currency ?? transaction.originalSourceAccountCurrency) : transaction.originalSourceAccountCurrency; const amountCurrency = transaction.sourceAccountId && transaction.sourceAccountId !== '0' && allAccountsMap.value[transaction.sourceAccountId] ? (allAccountsMap.value[transaction.sourceAccountId]?.currency ?? transaction.originalSourceAccountCurrency) : transaction.originalSourceAccountCurrency;
const amount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.sourceAmount); const amount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.sourceAmount, amountCurrency);
const geographicLocation = transaction.geoLocation ? `${transaction.geoLocation.longitude} ${transaction.geoLocation.latitude}` : ''; const geographicLocation = transaction.geoLocation ? `${transaction.geoLocation.longitude} ${transaction.geoLocation.latitude}` : '';
let categoryName = transaction.categoryId && transaction.categoryId !== '0' && allCategoriesMap.value[transaction.categoryId] ? (allCategoriesMap.value[transaction.categoryId]?.name ?? transaction.originalCategoryName) : transaction.originalCategoryName; let categoryName = transaction.categoryId && transaction.categoryId !== '0' && allCategoriesMap.value[transaction.categoryId] ? (allCategoriesMap.value[transaction.categoryId]?.name ?? transaction.originalCategoryName) : transaction.originalCategoryName;
let relatedAccountName: string | undefined = undefined; let relatedAccountName: string | undefined = undefined;
@@ -2208,7 +2208,7 @@ function exportData(fileType: KnownFileType): void {
} else if (transaction.type === TransactionType.Transfer) { } else if (transaction.type === TransactionType.Transfer) {
relatedAccountName = transaction.destinationAccountId && transaction.destinationAccountId !== '0' && allAccountsMap.value[transaction.destinationAccountId] ? (allAccountsMap.value[transaction.destinationAccountId]?.name ?? transaction.originalDestinationAccountName) : transaction.originalDestinationAccountName; relatedAccountName = transaction.destinationAccountId && transaction.destinationAccountId !== '0' && allAccountsMap.value[transaction.destinationAccountId] ? (allAccountsMap.value[transaction.destinationAccountId]?.name ?? transaction.originalDestinationAccountName) : transaction.originalDestinationAccountName;
relatedAccountCurrency = transaction.destinationAccountId && transaction.destinationAccountId !== '0' && allAccountsMap.value[transaction.destinationAccountId] ? (allAccountsMap.value[transaction.destinationAccountId]?.currency ?? transaction.originalDestinationAccountCurrency) : transaction.originalDestinationAccountCurrency; relatedAccountCurrency = transaction.destinationAccountId && transaction.destinationAccountId !== '0' && allAccountsMap.value[transaction.destinationAccountId] ? (allAccountsMap.value[transaction.destinationAccountId]?.currency ?? transaction.originalDestinationAccountCurrency) : transaction.originalDestinationAccountCurrency;
relatedAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.destinationAmount); relatedAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.destinationAmount, relatedAccountCurrency);
} }
const tagNames: string[] = []; const tagNames: string[] = [];