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

View file

@ -525,7 +525,7 @@ function exportData(): { headers: string[], data: string[][] } {
if (props.oneHundredPercentStacked) {
return formatNumberToWesternArabicNumeralsWithoutDigitGrouping(item.data[index] ?? 0);
} else {
return formatAmountToWesternArabicNumeralsWithoutDigitGrouping(item.data[index] ?? 0);
return formatAmountToWesternArabicNumeralsWithoutDigitGrouping(item.data[index] ?? 0, props.defaultCurrency);
}
}));
data.push(row);

View file

@ -256,13 +256,13 @@ export function useReconciliationStatementPageBase() {
const transactionTime = parseDateTimeFromUnixTimeWithTimezoneOffset(transaction.time, transaction.utcOffset);
const type = getDisplayTransactionType(transaction);
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, ' ');
if (transaction.type === TransactionType.ModifyBalance) {
categoryName = tt('Modify Balance');
} 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) {
@ -272,9 +272,9 @@ export function useReconciliationStatementPageBase() {
let displayAccountBalance = '';
if (isCurrentLiabilityAccount.value) {
displayAccountBalance = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(-transaction.accountClosingBalance);
displayAccountBalance = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(-transaction.accountClosingBalance, currentAccountCurrency.value);
} else {
displayAccountBalance = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.accountClosingBalance);
displayAccountBalance = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.accountClosingBalance, currentAccountCurrency.value);
}
const description = replaceAll(transaction.comment || '', separator, ' ');

View file

@ -532,7 +532,7 @@ function getCategoriedDataDisplayName(info: CategoriedInfo | SeriesInfo): string
if (dimession === TransactionExplorerDataDimension.SourceAmount.value
|| dimession === TransactionExplorerDataDimension.DestinationAmount.value) {
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.name,
valueMetric?.isAmount ? formatAmountToWesternArabicNumeralsWithoutDigitGrouping(data.totalAmount) : data.totalAmount.toString(10)
valueMetric?.isAmount ? formatAmountToWesternArabicNumeralsWithoutDigitGrouping(data.totalAmount, defaultCurrency.value) : data.totalAmount.toString(10)
]),
supportedMermaidCharts: supportedMermaidCharts
};

View file

@ -448,13 +448,13 @@ function buildExportResults(): { headers: string[], data: string[][] } | undefin
const type = getDisplayTransactionType(transaction);
let categoryName = transaction.secondaryCategoryName;
let displayAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.sourceAmount);
let displayAmount = formatAmountToWesternArabicNumeralsWithoutDigitGrouping(transaction.sourceAmount, transaction.sourceAccount?.currency);
let displayAccountName = transaction.sourceAccountName;
if (transaction.type === TransactionType.ModifyBalance) {
categoryName = tt('Modify Balance');
} 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) {

View file

@ -1265,7 +1265,7 @@ function exportResults(): void {
.filter(item => !item.hidden)
.map(item => [
item.name,
formatAmountToWesternArabicNumeralsWithoutDigitGrouping(item.totalAmount),
formatAmountToWesternArabicNumeralsWithoutDigitGrouping(item.totalAmount, defaultCurrency.value),
item.percent.toFixed(4)
]),
supportedMermaidCharts: supportedMermaidCharts

View file

@ -2196,7 +2196,7 @@ function exportData(fileType: KnownFileType): void {
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 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}` : '';
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;
@ -2208,7 +2208,7 @@ function exportData(fileType: KnownFileType): void {
} 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;
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[] = [];