Fixed incoming EDIT, useFiles, useFunctions, usePermission

This commit is contained in:
2025-09-07 19:29:41 +02:00
parent 949b094490
commit 6d233f5bfb
4 changed files with 55 additions and 64 deletions

View File

@@ -7,11 +7,7 @@ import {useSupabaseSelect} from "~/composables/useSupabase.js";
const dataStore = useDataStore()
const profileStore = useProfileStore()
const supabase = useSupabaseClient()
const route = useRoute()
const router = useRouter()
const toast = useToast()
const itemInfo = ref({
vendor: 0,
@@ -34,14 +30,18 @@ const itemInfo = ref({
})
const costcentres = ref([])
const vendors = ref([])
const accounts = ref([])
const setup = async () => {
let filetype = (await supabase.from("filetags").select().eq("tenant",profileStore.currentTenant).eq("incomingDocumentType","invoices").single()).data.id
let filetype = (await useEntities("filetags").select()).find(i=> i.incomingDocumentType === "invoices").id
console.log(filetype)
costcentres.value = await useSupabaseSelect("costcentres")
costcentres.value = await useEntities("costcentres").select()
vendors.value = await useEntities("vendors").select()
accounts.value = await useEntities("accounts").selectSpecial()
itemInfo.value = await useSupabaseSelectSingle("incominginvoices", route.params.id, "*, files(*)")
itemInfo.value = await useEntities("incominginvoices").selectSingle(route.params.id, "*, files(*)")
await loadFile(itemInfo.value.files[itemInfo.value.files.length-1].id)
}
@@ -63,7 +63,7 @@ const loadFile = async (id) => {
const changeNetMode = (mode) => {
useNetMode.value = mode
itemInfo.value.accounts = [{account: null,amountNet: null,amountTax: null,taxType: '19'}]
//itemInfo.value.accounts = [{account: null,amountNet: null,amountTax: null,taxType: '19'}]
}
@@ -137,7 +137,7 @@ const updateIncomingInvoice = async (setBooked = false) => {
} else {
item.state = "Entwurf"
}
const data = await dataStore.updateItem('incominginvoices',item)
const data = await useEntities('incominginvoices').update(itemInfo.value.id,item)
}
const findIncomingInvoiceErrors = computed(() => {
@@ -232,7 +232,7 @@ const findIncomingInvoiceErrors = computed(() => {
<InputGroup>
<USelectMenu
v-model="itemInfo.vendor"
:options="dataStore.vendors"
:options="vendors"
option-attribute="name"
value-attribute="id"
searchable
@@ -245,7 +245,7 @@ const findIncomingInvoiceErrors = computed(() => {
{{option.vendorNumber}} - {{option.name}}
</template>
<template #label>
{{dataStore.vendors.find(vendor => vendor.id === itemInfo.vendor) ? dataStore.vendors.find(vendor => vendor.id === itemInfo.vendor).name : 'Lieferant auswählen'}}
{{vendors.find(vendor => vendor.id === itemInfo.vendor) ? vendors.find(vendor => vendor.id === itemInfo.vendor).name : 'Lieferant auswählen'}}
</template>
</USelectMenu>
<EntityModalButtons
@@ -254,10 +254,10 @@ const findIncomingInvoiceErrors = computed(() => {
@return-data="(data) => itemInfo.vendor = data.id"
/>
<UButton
icon="i-heroicons-x-mark"
variant="outline"
color="rose"
@click="itemInfo.vendor = null"
icon="i-heroicons-x-mark"
variant="outline"
color="rose"
@click="itemInfo.vendor = null"
/>
</InputGroup>
@@ -321,26 +321,26 @@ const findIncomingInvoiceErrors = computed(() => {
<InputGroup class="my-3">
<UButton
:variant="!useNetMode ? 'solid' : 'outline'"
@click="changeNetMode(false)"
:variant="!useNetMode ? 'solid' : 'outline'"
@click="changeNetMode(false)"
>
Brutto
</UButton>
<UButton
:variant="useNetMode ? 'solid' : 'outline'"
@click="changeNetMode(true)"
:variant="useNetMode ? 'solid' : 'outline'"
@click="changeNetMode(true)"
>
Netto
</UButton>
<!-- Brutto
<UToggle
v-model="useNetMode"
@update:model-value="itemInfo.accounts = [{account: null,amountNet: null,amountTax: null,taxType: '19'}]"
/>
Netto-->
<!-- Brutto
<UToggle
v-model="useNetMode"
@update:model-value="itemInfo.accounts = [{account: null,amountNet: null,amountTax: null,taxType: '19'}]"
/>
Netto-->
</InputGroup>
<table v-if="itemInfo.accounts.length > 1" class="w-full">
@@ -367,7 +367,7 @@ const findIncomingInvoiceErrors = computed(() => {
class="mb-3"
>
<USelectMenu
:options="dataStore.accounts"
:options="accounts"
option-attribute="label"
value-attribute="id"
searchable
@@ -377,7 +377,7 @@ const findIncomingInvoiceErrors = computed(() => {
:color="!item.account ? 'rose' : 'primary'"
>
<template #label>
{{dataStore.accounts.find(account => account.id === item.account) ? dataStore.accounts.find(account => account.id === item.account).label : "Keine Kategorie ausgewählt" }}
{{accounts.find(account => account.id === item.account) ? accounts.find(account => account.id === item.account).label : "Keine Kategorie ausgewählt" }}
</template>
</USelectMenu>