support batch converting amounts to positive / negative values in import dialog

This commit is contained in:
MaysWind
2025-11-27 01:34:29 +08:00
parent 17f604b6aa
commit 2431152cec
16 changed files with 68 additions and 1 deletions

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction",
"Batch Convert Transfer Transaction to Expense Transaction": "Batch Convert Transfer Transaction to Expense Transaction",
"Batch Convert Transfer Transaction to Income Transaction": "Batch Convert Transfer Transaction to Income Transaction",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Ungültige Kategorie",
"Target Category": "Zielkategorie",
"Default Expense Category": "Default Expense Category",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction",
"Batch Convert Transfer Transaction to Expense Transaction": "Batch Convert Transfer Transaction to Expense Transaction",
"Batch Convert Transfer Transaction to Income Transaction": "Batch Convert Transfer Transaction to Income Transaction",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Invalid Category",
"Target Category": "Target Category",
"Default Expense Category": "Default Expense Category",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction",
"Batch Convert Transfer Transaction to Expense Transaction": "Batch Convert Transfer Transaction to Expense Transaction",
"Batch Convert Transfer Transaction to Income Transaction": "Batch Convert Transfer Transaction to Income Transaction",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Categoría no válida",
"Target Category": "Categoría de destino",
"Default Expense Category": "Default Expense Category",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Convertir en lot les transactions de revenu en transactions de virement",
"Batch Convert Transfer Transaction to Expense Transaction": "Convertir en lot les transactions de virement en transactions de dépense",
"Batch Convert Transfer Transaction to Income Transaction": "Convertir en lot les transactions de virement en transactions de revenu",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Catégorie invalide",
"Target Category": "Catégorie cible",
"Default Expense Category": "Catégorie de dépense par défaut",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Converti in blocco transazione di entrata in transazione di trasferimento",
"Batch Convert Transfer Transaction to Expense Transaction": "Converti in blocco transazione di trasferimento in transazione di spesa",
"Batch Convert Transfer Transaction to Income Transaction": "Converti in blocco transazione di trasferimento in transazione di entrata",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Categoria non valida",
"Target Category": "Categoria di destinazione",
"Default Expense Category": "Categoria di spesa predefinita",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "収入取引を振替取引に一括変換",
"Batch Convert Transfer Transaction to Expense Transaction": "振替取引を支出取引に一括変換",
"Batch Convert Transfer Transaction to Income Transaction": "振替取引を収入取引に一括変換",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "無効なカテゴリ",
"Target Category": "対象カテゴリ",
"Default Expense Category": "Default Expense Category",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "수입 거래를 이체 거래로 일괄 변환",
"Batch Convert Transfer Transaction to Expense Transaction": "이체 거래를 비용 거래로 일괄 변환",
"Batch Convert Transfer Transaction to Income Transaction": "이체 거래를 수입 거래로 일괄 변환",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "유효하지 않은 카테고리",
"Target Category": "대상 카테고리",
"Default Expense Category": "기본 비용 카테고리",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Inkomentransacties batchgewijs omzetten naar overboekingen",
"Batch Convert Transfer Transaction to Expense Transaction": "Overboekingen batchgewijs omzetten naar uitgaven",
"Batch Convert Transfer Transaction to Income Transaction": "Overboekingen batchgewijs omzetten naar inkomsten",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Ongeldige categorie",
"Target Category": "Doelcategorie",
"Default Expense Category": "Standaard uitgavecategorie",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Converter em Lote Transação de Receita para Transação de Transferência",
"Batch Convert Transfer Transaction to Expense Transaction": "Converter em Lote Transação de Transferência para Transação de Despesa",
"Batch Convert Transfer Transaction to Income Transaction": "Converter em Lote Transação de Transferência para Transação de Receita",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Categoria Inválida",
"Target Category": "Categoria Alvo",
"Default Expense Category": "Categoria Padrão de Despesa",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction",
"Batch Convert Transfer Transaction to Expense Transaction": "Batch Convert Transfer Transaction to Expense Transaction",
"Batch Convert Transfer Transaction to Income Transaction": "Batch Convert Transfer Transaction to Income Transaction",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Недействительная категория",
"Target Category": "Целевая категория",
"Default Expense Category": "Default Expense Category",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "แปลงรายการรายได้เป็นรายการโอนแบบกลุ่ม",
"Batch Convert Transfer Transaction to Expense Transaction": "แปลงรายการโอนเป็นรายการค่าใช้จ่ายแบบกลุ่ม",
"Batch Convert Transfer Transaction to Income Transaction": "แปลงรายการโอนเป็นรายการรายได้แบบกลุ่ม",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "หมวดหมู่ไม่ถูกต้อง",
"Target Category": "หมวดหมู่เป้าหมาย",
"Default Expense Category": "หมวดค่าใช้จ่ายเริ่มต้น",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Пакетно змінити дохідні транзакції на перекази",
"Batch Convert Transfer Transaction to Expense Transaction": "Пакетно змінити перекази на витратні транзакції",
"Batch Convert Transfer Transaction to Income Transaction": "Пакетно змінити перекази на дохідні транзакції",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Неприпустима категорія",
"Target Category": "Цільова категорія",
"Default Expense Category": "Категорія витрат за замовчуванням",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction",
"Batch Convert Transfer Transaction to Expense Transaction": "Batch Convert Transfer Transaction to Expense Transaction",
"Batch Convert Transfer Transaction to Income Transaction": "Batch Convert Transfer Transaction to Income Transaction",
"Batch Convert Selected Amounts to Positive Values": "Batch Convert Selected Amounts to Positive Values",
"Batch Convert Selected Amounts to Negative Values": "Batch Convert Selected Amounts to Negative Values",
"Invalid Category": "Danh mục không hợp lệ",
"Target Category": "Danh mục mục tiêu",
"Default Expense Category": "Default Expense Category",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "批量转换收入交易为转账交易",
"Batch Convert Transfer Transaction to Expense Transaction": "批量转换转账交易为支出交易",
"Batch Convert Transfer Transaction to Income Transaction": "批量转换转账交易为收入交易",
"Batch Convert Selected Amounts to Positive Values": "批量转换选中的金额为正值",
"Batch Convert Selected Amounts to Negative Values": "批量转换选中的金额为负值",
"Invalid Category": "无效分类",
"Target Category": "目标分类",
"Default Expense Category": "默认支出分类",

View File

@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "批次將收入交易轉換為轉帳交易",
"Batch Convert Transfer Transaction to Expense Transaction": "批次將轉帳交易轉換為支出交易",
"Batch Convert Transfer Transaction to Income Transaction": "批次將轉帳交易轉換為收入交易",
"Batch Convert Selected Amounts to Positive Values": "批次將選中的金額轉換為正值",
"Batch Convert Selected Amounts to Negative Values": "批次將選中的金額轉換為負值",
"Invalid Category": "無效分類",
"Target Category": "目標分類",
"Default Expense Category": "預設支出分類",

View File

@@ -451,7 +451,9 @@ import {
mdiPound,
mdiFindReplace,
mdiShapePlusOutline,
mdiTransfer
mdiTransfer,
mdiNumericPositive1,
mdiNumericNegative1
} from '@mdi/js';
type SnackBarType = InstanceType<typeof SnackBar>;
@@ -887,6 +889,19 @@ const toolMenus = computed<ImportTransactionCheckDataMenu[]>(() => [
title: tt('Batch Convert Transfer Transaction to Income Transaction'),
disabled: isEditing.value || selectedTransferTransactionCount.value < 1,
onClick: () => convertTransactionType(TransactionType.Transfer, TransactionType.Income)
},
{
prependIcon: mdiNumericPositive1,
title: tt('Batch Convert Selected Amounts to Positive Values'),
disabled: isEditing.value || selectedImportTransactionCount.value < 1,
divider: true,
onClick: () => convertTransactionAmountSign(1)
},
{
prependIcon: mdiNumericNegative1,
title: tt('Batch Convert Selected Amounts to Negative Values'),
disabled: isEditing.value || selectedImportTransactionCount.value < 1,
onClick: () => convertTransactionAmountSign(-1)
}
]);
@@ -1995,6 +2010,28 @@ function convertTransactionType(fromType: TransactionType, toType: TransactionTy
}
}
function convertTransactionAmountSign(toSign: number): void {
if (!props.importTransactions || props.importTransactions.length < 1) {
return;
}
for (const importTransaction of props.importTransactions) {
if (!importTransaction.selected) {
continue;
}
if (toSign > 0) {
importTransaction.sourceAmount = Math.abs(importTransaction.sourceAmount);
importTransaction.destinationAmount = Math.abs(importTransaction.destinationAmount);
} else if (toSign < 0) {
importTransaction.sourceAmount = -Math.abs(importTransaction.sourceAmount);
importTransaction.destinationAmount = -Math.abs(importTransaction.destinationAmount);
}
updateTransactionData(importTransaction);
}
}
function changeCustomDateFilter(minTime: number, maxTime: number): void {
filters.value.minDatetime = minTime;
filters.value.maxDatetime = maxTime;