diff --git a/components/PageLeaveGuard.vue b/components/PageLeaveGuard.vue
new file mode 100644
index 0000000..af9a563
--- /dev/null
+++ b/components/PageLeaveGuard.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+ Du hast ungespeicherte Änderungen. Diese gehen verloren, wenn du die Seite verlässt.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/banking/index.vue b/pages/banking/index.vue
index 2f646e6..f815d1d 100644
--- a/pages/banking/index.vue
+++ b/pages/banking/index.vue
@@ -1,11 +1,12 @@
\ No newline at end of file
diff --git a/pages/createDocument/serialInvoice.vue b/pages/createDocument/serialInvoice.vue
index 8900d36..cd0c893 100644
--- a/pages/createDocument/serialInvoice.vue
+++ b/pages/createDocument/serialInvoice.vue
@@ -14,6 +14,23 @@
+
+
+
+
+
@@ -21,20 +38,9 @@
+
-
+
+
+
+
+ Laufende Ausführungen
+
+
+
+
+
+
Start: {{ dayjs(exec.createdAt).format('DD.MM.YYYY HH:mm') }}
+
+
Läuft
+
+
+
+ {{exec.summary}}
+
+
+
+
+
+
+
+
+
router.push(`/createDocument/edit/${row.id}`)"
:empty-state="{ icon: 'i-heroicons-circle-stack-20-solid', label: 'Keine Belege anzuzeigen' }"
>
+
+
+
+
+
+
+
+
{{dataStore.documentTypesForCreation[row.type].labelSingle}}
@@ -67,23 +119,6 @@
{{row.customer ? row.customer.name : ""}}
-
{{displayCurrency(calculateDocSum(row))}}
@@ -100,25 +135,231 @@
+
+
+
+
+
+ Serienrechnungen manuell ausführen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{row.customer ? row.customer.name : "-"}}
+
+
+ {{displayCurrency(calculateDocSum(row))}}
+
+
+ {{ row.serialConfig?.intervall }}
+
+
+
+
+
+ {{ selectedExecutionRows.length }} Vorlage(n) ausgewählt.
+
+
+
+
+
+ Abbrechen
+
+ Jetzt ausführen
+
+
+
+
+
+
+
+
+
+
+
+ Alle Ausführungen
+
+
+
+
+
+
+
+
+
+
+
+ Keine abgeschlossenen Ausführungen gefunden.
+
+
+
+
+ {{ dayjs(exec.createdAt).format('DD.MM.YYYY HH:mm') }}
+
+ {{ getStatusLabel(exec.status) }}
+
+
+
+
+
+ {{exec.summary}}
+
+
+
+
+
+
+
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/pages/incomingInvoices/[mode]/[id].vue b/pages/incomingInvoices/[mode]/[id].vue
index 319fc26..ed07dbf 100644
--- a/pages/incomingInvoices/[mode]/[id].vue
+++ b/pages/incomingInvoices/[mode]/[id].vue
@@ -43,6 +43,10 @@ const setup = async () => {
accounts.value = await useEntities("accounts").selectSpecial()
itemInfo.value = await useEntities("incominginvoices").selectSingle(route.params.id, "*, files(*)")
+
+ //TODO: Dirty Fix
+ itemInfo.value.vendor = itemInfo.value.vendor?.id
+
await loadFile(itemInfo.value.files[itemInfo.value.files.length-1].id)
if(itemInfo.value.date && !itemInfo.value.dueDate) itemInfo.value.dueDate = itemInfo.value.date
@@ -412,7 +416,7 @@ const findIncomingInvoiceErrors = computed(() => {
value-attribute="id"
searchable
:disabled="mode === 'show'"
- :search-attributes="['label']"
+ :search-attributes="['label','number']"
searchable-placeholder="Suche..."
v-model="item.account"
:color="(item.account && accounts.find(i => i.id === item.account)) ? 'primary' : 'rose'"
@@ -420,6 +424,9 @@ const findIncomingInvoiceErrors = computed(() => {
{{accounts.find(account => account.id === item.account) ? accounts.find(account => account.id === item.account).label : "Keine Kategorie ausgewählt" }}
+
+ {{option.number}} - {{option.label}}
+
@@ -575,6 +582,7 @@ const findIncomingInvoiceErrors = computed(() => {
+
diff --git a/stores/data.js b/stores/data.js
index dd805a7..a28952b 100644
--- a/stores/data.js
+++ b/stores/data.js
@@ -2608,7 +2608,7 @@ export const useDataStore = defineStore('data', () => {
},
cancellationInvoices: {
label: "Stornorechnungen",
- labelSingle: "Stornorechnung"
+ labelSingle: "Storno"
},
quotes: {
label: "Angebote",