Corrected Incoming Invoice

Added Column Selection to Customers,Vendors and Contacts
This commit is contained in:
2024-02-22 17:29:33 +01:00
parent 436cb2c163
commit 4e3ac183d4
5 changed files with 175 additions and 14 deletions

View File

@@ -52,13 +52,14 @@ const createVendorInvoice = async () => {
.from("incominginvoices")
.insert([{
document: documentData.id,
tenant: dataStore.currentTenant
}])
.select()
if(vendorInvoiceError) {
console.log(vendorInvoiceError)
} else if(vendorInvoiceData) {
const {data:documentData,error:documentError} = await supabase
const {data:documentUpdateData,error:documentError} = await supabase
.from("documents")
.update({
vendorInvoice: vendorInvoiceData[0].id

View File

@@ -6,16 +6,40 @@
v-model="searchString"
placeholder="Suche..."
/>
<USelectMenu
v-model="selectedColumns"
multiple
:options="columnTemplate"
:uiMenu="{width:'w-40'}"
:popper="{placement: 'bottom-start'}"
by="key"
>
<UButton
color="gray"
variant="ghost"
class="flex-1 justify-between"
icon="i-heroicons-view-columns"
/>
<template #option="{ option }">
{{option.label}}
</template>
</USelectMenu>
</Toolbar>
<div class="table">
<UTable
:rows="filteredRows"
:columns="itemColumns"
:columns="selectedColumns"
@select="selectItem"
:empty-state="{ icon: 'i-heroicons-circle-stack-20-solid', label: 'Noch keine Einträge' }"
>
<template #active-data="{row}">
<span v-if="row.active" class="text-primary-500">Aktiv</span>
<span v-else class="text-rose">Gesperrt</span>
</template>
<template #customer-data="{row}">
{{dataStore.customers.find(customer => customer.id === row.customer) ? dataStore.customers.find(customer => customer.id === row.customer).name : ''}}
</template>
@@ -37,7 +61,7 @@ const dataStore = useDataStore()
const router = useRouter()
const mode = ref("show")
const itemColumns = [
const columnTemplate = ref([
{
key: "fullName",
@@ -57,8 +81,45 @@ const itemColumns = [
{
key: "role",
label: "Rolle",
},
{
key: "email",
label: "E-Mail",
},
{
key: "phoneMobile",
label: "Mobil",
},
{
key: "phoneHome",
label: "Festnetz",
},
{
key: "active",
label: "Aktiv",
},
{
key: "birtday",
label: "Geburtstag",
}
]
])
const selectedColumns = ref([
{
key: "fullName",
label: "Name",
sortable: true
},
{
key: "customer",
label: "Kunde",
sortable: true
},
{
key: "vendor",
label: "Lieferant",
sortable: true
},
])
const selectItem = (item) => {

View File

@@ -7,16 +7,44 @@
v-model="searchString"
placeholder="Suche..."
/>
<USelectMenu
v-model="selectedColumns"
multiple
:options="columnTemplate"
:uiMenu="{width:'w-40'}"
:popper="{placement: 'bottom-start'}"
by="key"
>
<UButton
color="gray"
variant="ghost"
class="flex-1 justify-between"
icon="i-heroicons-view-columns"
/>
<template #option="{ option }">
{{option.label}}
</template>
</USelectMenu>
</Toolbar>
<div class="table">
<UTable
:rows="filteredRows"
:columns="customerColumns"
@select="selectCustomer"
:columns="selectedColumns"
@select="selectItem"
:empty-state="{ icon: 'i-heroicons-circle-stack-20-solid', label: 'Noch keine Einträge' }"
/>
>
<template #active-data="{row}">
<span v-if="row.active" class="text-primary-500">Aktiv</span>
<span v-else class="text-rose">Gesperrt</span>
</template>
<template #address-data="{row}">
{{row.infoData.street}}, {{row.infoData.special ? `${row.infoData.special},` : ''}} {{row.infoData.zip}} {{row.infoData.city}}, {{row.infoData.country}}
</template>
</UTable>
</div>
</template>
@@ -30,7 +58,7 @@ const dataStore = useDataStore()
const router = useRouter()
const mode = ref("show")
const customerColumns = [
const columnTemplate = ref([
{
key: 'customerNumber',
label: "Kundennr.",
@@ -40,11 +68,39 @@ const customerColumns = [
key: "name",
label: "Name",
sortable: true
},
{
key: "notes",
label: "Notizen",
sortable: true
},
{
key: "active",
label: "Aktiv",
sortable: true
},
{
key: "address",
label: "Adresse",
sortable: true
}
]
])
const selectedColumns = ref([
{
key: 'customerNumber',
label: "Kundennr.",
sortable: true
},
{
key: "name",
label: "Name",
sortable: true
},
])
const selectCustomer = (customer) => {
const selectItem = (customer) => {
console.log(customer)
router.push(`/customers/show/${customer.id} `)
}

View File

@@ -2,7 +2,9 @@
<div id="main">
<InputGroup>
<!--
<UButton @click="router.push(`/incominginvoices/create/`)">+ Eingangsrechnung</UButton>
-->
<UButton
@click="router.push(`/createDocument/edit?type=quotes`)"
>

View File

@@ -6,16 +6,40 @@
v-model="searchString"
placeholder="Suche..."
/>
<USelectMenu
v-model="selectedColumns"
multiple
:options="columnTemplate"
:uiMenu="{width:'w-40'}"
:popper="{placement: 'bottom-start'}"
by="key"
>
<UButton
color="gray"
variant="ghost"
class="flex-1 justify-between"
icon="i-heroicons-view-columns"
/>
<template #option="{ option }">
{{option.label}}
</template>
</USelectMenu>
</Toolbar>
<div class="table">
<UTable
:rows="filteredRows"
:columns="itemColumns"
:columns="selectedColumns"
@select="selectItem"
:empty-state="{ icon: 'i-heroicons-circle-stack-20-solid', label: 'Noch keine Einträge' }"
/>
>
<template #address-data="{row}">
{{row.infoData.street ? `${row.infoData.street}, ` : ''}}{{row.infoData.special ? `${row.infoData.special},` : ''}} {{(row.infoData.zip || row.infoData.city) ? `${row.infoData.zip} ${row.infoData.city}, ` : ''}} {{row.infoData.country}}
</template>
</UTable>
</div>
</template>
@@ -30,7 +54,24 @@ const dataStore = useDataStore()
const router = useRouter()
const mode = ref("show")
const itemColumns = [
const columnTemplate = ref([
{
key: 'vendorNumber',
label: "Lieferantennr.",
sortable: true
},
{
key: "name",
label: "Name",
sortable: true
},
{
key: "address",
label: "Adresse",
sortable: true
}
])
const selectedColumns = ref([
{
key: 'vendorNumber',
label: "Lieferantennr.",
@@ -41,7 +82,7 @@ const itemColumns = [
label: "Name",
sortable: true
}
]
])
const selectItem = (item) => {