diff --git a/frontend/pages/accounting/manual-bookings.vue b/frontend/pages/accounting/manual-bookings.vue index 8e1d149..72f88b3 100644 --- a/frontend/pages/accounting/manual-bookings.vue +++ b/frontend/pages/accounting/manual-bookings.vue @@ -12,6 +12,8 @@ const ownaccounts = ref([]) const bookings = ref([]) const debitSearch = ref("") const creditSearch = ref("") +const expandedDebitGroups = ref([]) +const expandedCreditGroups = ref([]) const DATEV_TAX_KEY_ITEMS = [ { value: "", label: "Ohne Steuerschlüssel" }, @@ -99,6 +101,28 @@ const groupedCreditEntries = computed(() => })).filter((group) => group.entries.length > 0) ) +const isGroupExpanded = (side, groupKey) => { + const source = side === "debit" ? expandedDebitGroups.value : expandedCreditGroups.value + return source.includes(groupKey) +} + +const toggleGroupExpanded = (side, groupKey) => { + const source = side === "debit" ? expandedDebitGroups.value : expandedCreditGroups.value + if (source.includes(groupKey)) { + if (side === "debit") expandedDebitGroups.value = source.filter((item) => item !== groupKey) + else expandedCreditGroups.value = source.filter((item) => item !== groupKey) + return + } + + if (side === "debit") expandedDebitGroups.value = [...source, groupKey] + else expandedCreditGroups.value = [...source, groupKey] +} + +const visibleEntries = (side, group) => { + if (group.entries.length <= 5 || isGroupExpanded(side, group.key)) return group.entries + return group.entries.slice(0, 5) +} + const allEntries = computed(() => entryGroups.value.flatMap((group) => group.entries)) const selectedDebit = computed(() => allEntries.value.find((item) => item.key === form.debit)) const selectedCredit = computed(() => allEntries.value.find((item) => item.key === form.credit)) @@ -176,6 +200,8 @@ const resetForm = () => { form.description = "" debitSearch.value = "" creditSearch.value = "" + expandedDebitGroups.value = [] + expandedCreditGroups.value = [] } const saveBooking = async () => { @@ -263,7 +289,7 @@ onMounted(loadData)
{{ group.label }}
+ @@ -296,7 +330,7 @@ onMounted(loadData)
{{ group.label }}
+ -
+
-
+
Steuerschlüssel: {{ selectedTaxKey.label }} - + Manuelle Buchung erstellen