Zwischenstand

This commit is contained in:
2026-03-21 22:13:19 +01:00
parent b009ac845f
commit 68b2cbb0ee
64 changed files with 739 additions and 596 deletions

View File

@@ -1609,7 +1609,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</template>
<template #right>
<ArchiveButton
color="rose"
color="error"
type="createddocuments"
v-if="itemInfo.state === 'Entwurf' || itemInfo.type === 'serialInvoices'"
variant="outline"
@@ -1646,7 +1646,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
<UAlert
class="my-5"
title="Vorhandene Probleme und Informationen:"
:color="findDocumentErrors.filter(i => i.type === 'breaking').length > 0 ? 'rose' : 'white'"
:color="findDocumentErrors.filter(i => i.type === 'breaking').length > 0 ? 'error' : 'white'"
variant="outline"
v-if="findDocumentErrors.length > 0"
>
@@ -1761,7 +1761,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
searchable-placeholder="Suche..."
:search-attributes="['name']"
class="w-full"
:color="itemInfo.letterhead ? 'primary' : 'rose'"
:color="itemInfo.letterhead ? 'primary' : 'error'"
>
<template #label>
{{ itemInfo.letterhead ? letterheads.find(i => i.id === itemInfo.letterhead).name : "Kein Briefpapier gewählt" }}
@@ -1788,7 +1788,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
{{ option.name }}{{ option.nameAddition }}
</template>
<UButton
:color="itemInfo.customer ? 'primary' : 'rose'"
:color="itemInfo.customer ? 'primary' : 'error'"
variant="outline"
class="w-full"
>
@@ -1902,7 +1902,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
>Kontakt</UButton>-->
<UButton
variant="outline"
color="rose"
color="error"
v-if="itemInfo.contact"
icon="i-heroicons-x-mark"
@click="itemInfo.contact = null"
@@ -1923,7 +1923,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
<UInput
v-model="itemInfo.address.street"
:placeholder="itemInfo.customer ? customers.find(i => i.id === itemInfo.customer).infoData.street : 'Straße + Hausnummer'"
:color="itemInfo.address.street ? 'primary' : 'rose'"
:color="itemInfo.address.street ? 'primary' : 'error'"
/>
<UInput
v-model="itemInfo.address.special"
@@ -1940,13 +1940,13 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
@input="sanitizeAddressZipInput"
@change="checkAddressZip"
:placeholder="itemInfo.customer ? customers.find(i => i.id === itemInfo.customer).infoData.zip : 'PLZ'"
:color="itemInfo.address.zip ? 'primary' : 'rose'"
:color="itemInfo.address.zip ? 'primary' : 'error'"
/>
<UInput
class="flex-auto"
v-model="itemInfo.address.city"
:placeholder="itemInfo.customer ? customers.find(i => i.id === itemInfo.customer).infoData.city : 'Ort'"
:color="itemInfo.address.city ? 'primary' : 'rose'"
:color="itemInfo.address.city ? 'primary' : 'error'"
/>
</InputGroup>
</UFormGroup>
@@ -2132,7 +2132,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</USelectMenu>
<UButton
variant="outline"
color="rose"
color="error"
v-if="itemInfo.plant"
icon="i-heroicons-x-mark"
@click="itemInfo.plant = null"
@@ -2171,7 +2171,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</USelectMenu>
<UButton
variant="outline"
color="rose"
color="error"
v-if="itemInfo.project"
icon="i-heroicons-x-mark"
@click="itemInfo.project = null"
@@ -2210,7 +2210,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</USelectMenu>
<UButton
variant="outline"
color="rose"
color="error"
v-if="itemInfo.contract"
icon="i-heroicons-x-mark"
@click="itemInfo.contract = null"
@@ -2229,9 +2229,9 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</InputGroup>
<div v-if="itemInfo.type === 'serialInvoices'" class="mb-5">
<UDivider class="mt-5 mb-3">
<USeparator class="mt-5 mb-3">
Einstellungen für die Serienrechnung
</UDivider>
</USeparator>
<div class="flex flex-row">
<div class="w-1/3">
@@ -2301,7 +2301,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</div>
<UDivider
<USeparator
class="my-3"
/>
@@ -2317,7 +2317,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
<UInput v-model="itemInfo.description"/>
</UFormGroup>
<UDivider
<USeparator
class="my-3"
/>
@@ -2350,7 +2350,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</UFormGroup>
<UDivider
<USeparator
class="my-3"
/>
@@ -2389,7 +2389,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
v-if="row.mode === 'pagebreak'"
colspan="7"
>
<UDivider/>
<USeparator/>
</td>
<td
v-if="row.mode === 'text'"
@@ -2429,7 +2429,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
:disabled="itemInfo.type === 'cancellationInvoices'"
class="w-60"
:options="products"
:color="row.product ? 'primary' : 'rose'"
:color="row.product ? 'primary' : 'error'"
option-attribute="name"
value-attribute="id"
searchable
@@ -2501,7 +2501,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
:disabled="itemInfo.type === 'cancellationInvoices'"
class="w-60"
:options="services"
:color="row.service ? 'primary' : 'rose'"
:color="row.service ? 'primary' : 'error'"
option-attribute="name"
value-attribute="id"
searchable
@@ -2942,7 +2942,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
<UButton
:disabled="itemInfo.type === 'cancellationInvoices'"
variant="ghost"
color="rose"
color="error"
icon="i-heroicons-x-mark-16-solid"
@click="removePosition(row.id)"
/>
@@ -2954,7 +2954,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
<UAlert
v-else
title="Keine Positionen hinzugefügt"
color="rose"
color="error"
variant="outline"
icon="i-heroicons-light-bulb"
></UAlert>
@@ -3004,12 +3004,12 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</UButton>
</InputGroup>
<!-- <UDivider
<!-- <USeparator
class="mt-5 mb-3"
v-if="openAdvanceInvoices.length > 0 || itemInfo.usedAdvanceInvoices.length > 0"
>
Noch nicht abgerechnete Abschlagsrechnungen
</UDivider>
</USeparator>
<div
v-for="advanceInvoice in openAdvanceInvoices"
@@ -3029,7 +3029,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
<UButton
@click="itemInfo.usedAdvanceInvoices = itemInfo.usedAdvanceInvoices.filter(i => i !== advanceInvoice.id)"
:disabled="!itemInfo.usedAdvanceInvoices.includes(advanceInvoice.id)"
color="rose"
color="error"
variant="outline"
>
X
@@ -3037,7 +3037,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</InputGroup>
</div>-->
<UDivider class="my-3" v-if="Object.keys(documentTotal.titleSums).length > 0">Überschriften</UDivider>
<USeparator class="my-3" v-if="Object.keys(documentTotal.titleSums).length > 0" label="Überschriften"/>
<table>
<tr v-for="sumKey in Object.keys(documentTotal.titleSums) ">
@@ -3046,7 +3046,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</tr>
</table>
<UDivider class="my-3" v-if="itemInfo.rows.length > 0">Auswertung & Gesamt</UDivider>
<USeparator class="my-3" v-if="itemInfo.rows.length > 0" label="Auswertung & Gesamt"/>
<div class="w-full flex justify-between" v-if="itemInfo.type !== 'deliveryNotes'">
@@ -3112,9 +3112,9 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
</table>
</div>
<!-- <UDivider
<!-- <USeparator
class="my-3"
>Auswertung</UDivider>
>Auswertung</USeparator>
<div class="w-full flex justify-end">
<table class="w-1/3">
@@ -3151,7 +3151,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {
<UDivider
<USeparator
class="my-3"
/>

View File

@@ -16,7 +16,7 @@
</UInput>
<UButton
v-if="searchString.length > 0"
color="rose"
color="error"
icon="i-heroicons-x-mark"
variant="outline"
@click="clearSearchString()"
@@ -60,7 +60,7 @@
<UTable
:columns="normalizeTableColumns(getColumnsForTab(item.key))"
:empty-state="{ icon: 'i-heroicons-circle-stack-20-solid', label: 'Keine Belege anzuzeigen' }"
:rows="getRowsForTab(item.key)"
:data="getRowsForTab(item.key)"
:ui="{ divide: 'divide-gray-200 dark:divide-gray-800' }"
class="w-full"
@select="selectItem"

View File

@@ -93,7 +93,7 @@
</div>
<UTable
:rows="filteredRows"
:data="filteredRows"
:columns="normalizeTableColumns(columns)"
class="w-full"
:ui="{ divide: 'divide-gray-200 dark:divide-gray-800' }"
@@ -158,7 +158,7 @@
</div>
</UFormGroup>
<UDivider label="Vorlagen auswählen" />
<USeparator label="Vorlagen auswählen" />
<div class="flex flex-col sm:flex-row sm:items-center justify-between gap-3">
<div class="flex flex-col sm:flex-row gap-2 w-full sm:w-auto">
@@ -204,7 +204,7 @@
<div class="max-h-96 overflow-y-auto border border-gray-200 dark:border-gray-800 rounded-md">
<UTable
v-model="selectedExecutionRows"
:rows="filteredExecutionList"
:data="filteredExecutionList"
:columns="normalizeTableColumns(executionColumns)"
:ui="{ th: { base: 'whitespace-nowrap' } }"
>

View File

@@ -94,7 +94,7 @@ const openBankstatements = () => {
<UButton
@click="router.push(`/createDocument/edit/?createddocument=${itemInfo.id}&loadMode=storno`)"
variant="outline"
color="rose"
color="error"
:disabled="links.find(i => i.type === 'cancellationInvoices')"
>
Stornieren