From 4fbde892512f493c38a7b0ee3a457623ef34e097 Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Thu, 27 Mar 2025 16:00:56 +0100 Subject: [PATCH] Added Filters to Serial Invoice --- pages/createDocument/serialInvoice.vue | 66 ++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 9 deletions(-) diff --git a/pages/createDocument/serialInvoice.vue b/pages/createDocument/serialInvoice.vue index a59d38f..ac411f0 100644 --- a/pages/createDocument/serialInvoice.vue +++ b/pages/createDocument/serialInvoice.vue @@ -24,9 +24,23 @@ Spalten + - {{displayCurrency(calculateDocSum(row))}} + @@ -109,6 +127,11 @@ const filteredRows = computed(() => { temp = temp.filter(i => i.state !== "Entwurf") }*/ + selectedFilters.value.forEach(filterName => { + let filter = filterOptions.value.find(i => i.name === filterName) + temp = temp.filter(filter.filterFunction) + }) + return useSearch(searchString.value, temp.slice().reverse()) }) @@ -116,27 +139,52 @@ const filteredRows = computed(() => { const templateColumns = [ { key: 'type', - label: "Typ", - sortable: true + label: "Typ" },{ key: 'state', - label: "Status.", - sortable: true + label: "Status" }, { key: "amount", - label: "Betrag", - sortable: true + label: "Betrag" }, { key: 'partner', - label: "Kunde", - sortable: true + label: "Kunde" + }, + { + key: 'serialConfig.active', + label: "Aktiv" } ] const selectedColumns = ref(templateColumns) const columns = computed(() => templateColumns.filter((column) => selectedColumns.value.includes(column))) +const filterOptions = ref([ + { + name: "Archivierte ausblenden", + default: true, + "filterFunction": function (row) { + if(!row.archived) { + return true + } else { + return false + } + } + },{ + name: "Inaktive ausblenden", + default: true, + "filterFunction": function (row) { + if(row.serialConfig.active) { + return true + } else { + return false + } + } + } +]) +const selectedFilters = ref(filterOptions.value.filter(i => i.default).map(i => i.name) ||[]) + const displayCurrency = (value, currency = "€") => { return `${Number(value).toFixed(2).replace(".",",")} ${currency}`