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
+2
View File
@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction", "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 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 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", "Invalid Category": "Ungültige Kategorie",
"Target Category": "Zielkategorie", "Target Category": "Zielkategorie",
"Default Expense Category": "Default Expense Category", "Default Expense Category": "Default Expense Category",
+2
View File
@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction", "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 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 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", "Invalid Category": "Invalid Category",
"Target Category": "Target Category", "Target Category": "Target Category",
"Default Expense Category": "Default Expense Category", "Default Expense Category": "Default Expense Category",
+2
View File
@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction", "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 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 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", "Invalid Category": "Categoría no válida",
"Target Category": "Categoría de destino", "Target Category": "Categoría de destino",
"Default Expense Category": "Default Expense Category", "Default Expense Category": "Default Expense Category",
+2
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 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 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 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", "Invalid Category": "Catégorie invalide",
"Target Category": "Catégorie cible", "Target Category": "Catégorie cible",
"Default Expense Category": "Catégorie de dépense par défaut", "Default Expense Category": "Catégorie de dépense par défaut",
+2
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 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 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 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", "Invalid Category": "Categoria non valida",
"Target Category": "Categoria di destinazione", "Target Category": "Categoria di destinazione",
"Default Expense Category": "Categoria di spesa predefinita", "Default Expense Category": "Categoria di spesa predefinita",
+2
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", "Default Expense Category": "Default Expense Category",
+2
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": "기본 비용 카테고리",
+2
View File
@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Inkomentransacties batchgewijs omzetten naar overboekingen", "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 Expense Transaction": "Overboekingen batchgewijs omzetten naar uitgaven",
"Batch Convert Transfer Transaction to Income Transaction": "Overboekingen batchgewijs omzetten naar inkomsten", "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", "Invalid Category": "Ongeldige categorie",
"Target Category": "Doelcategorie", "Target Category": "Doelcategorie",
"Default Expense Category": "Standaard uitgavecategorie", "Default Expense Category": "Standaard uitgavecategorie",
+2
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 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 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 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", "Invalid Category": "Categoria Inválida",
"Target Category": "Categoria Alvo", "Target Category": "Categoria Alvo",
"Default Expense Category": "Categoria Padrão de Despesa", "Default Expense Category": "Categoria Padrão de Despesa",
+2
View File
@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction", "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 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 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", "Default Expense Category": "Default Expense Category",
+2
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": "หมวดค่าใช้จ่ายเริ่มต้น",
+2
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": "Категорія витрат за замовчуванням",
+2
View File
@@ -1946,6 +1946,8 @@
"Batch Convert Income Transaction to Transfer Transaction": "Batch Convert Income Transaction to Transfer Transaction", "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 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 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ệ", "Invalid Category": "Danh mục không hợp lệ",
"Target Category": "Danh mục mục tiêu", "Target Category": "Danh mục mục tiêu",
"Default Expense Category": "Default Expense Category", "Default Expense Category": "Default Expense Category",
+2
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 Negative Values": "批量转换选中的金额为负值",
"Invalid Category": "无效分类", "Invalid Category": "无效分类",
"Target Category": "目标分类", "Target Category": "目标分类",
"Default Expense Category": "默认支出分类", "Default Expense Category": "默认支出分类",
+2
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 Negative Values": "批次將選中的金額轉換為負值",
"Invalid Category": "無效分類", "Invalid Category": "無效分類",
"Target Category": "目標分類", "Target Category": "目標分類",
"Default Expense Category": "預設支出分類", "Default Expense Category": "預設支出分類",
@@ -451,7 +451,9 @@ import {
mdiPound, mdiPound,
mdiFindReplace, mdiFindReplace,
mdiShapePlusOutline, mdiShapePlusOutline,
mdiTransfer mdiTransfer,
mdiNumericPositive1,
mdiNumericNegative1
} from '@mdi/js'; } from '@mdi/js';
type SnackBarType = InstanceType<typeof SnackBar>; type SnackBarType = InstanceType<typeof SnackBar>;
@@ -887,6 +889,19 @@ const toolMenus = computed<ImportTransactionCheckDataMenu[]>(() => [
title: tt('Batch Convert Transfer Transaction to Income Transaction'), title: tt('Batch Convert Transfer Transaction to Income Transaction'),
disabled: isEditing.value || selectedTransferTransactionCount.value < 1, disabled: isEditing.value || selectedTransferTransactionCount.value < 1,
onClick: () => convertTransactionType(TransactionType.Transfer, TransactionType.Income) 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 { function changeCustomDateFilter(minTime: number, maxTime: number): void {
filters.value.minDatetime = minTime; filters.value.minDatetime = minTime;
filters.value.maxDatetime = maxTime; filters.value.maxDatetime = maxTime;