Added HistoryItems to Spaces

Changed Loading of HistoryItems to directly Supabase
Minor Changes in inventoryitems
This commit is contained in:
2024-08-23 17:39:42 +02:00
parent b71814369d
commit 4127c6d4fb
3 changed files with 76 additions and 9 deletions

View File

@@ -22,6 +22,48 @@ const {type, elementId} = props
const showAddHistoryItemModal = ref(false) const showAddHistoryItemModal = ref(false)
const colorMode = useColorMode() const colorMode = useColorMode()
const items = ref([])
const setup = async () => {
if(type === "customer") {
items.value = (await supabase.from("historyitems").select().eq("customer",elementId)).data
} else if(type === "vendor") {
items.value = (await supabase.from("historyitems").select().eq("vendor",elementId)).data
} else if(type === "project") {
items.value = (await supabase.from("historyitems").select().eq("project",elementId)).data
} else if(type === "plant") {
items.value = (await supabase.from("historyitems").select().eq("plant",elementId)).data
} else if(type === "incomingInvoice") {
items.value = (await supabase.from("historyitems").select().eq("incomingInvoice",elementId)).data
} else if(type === "document") {
items.value = (await supabase.from("historyitems").select().eq("document",elementId)).data
} else if(type === "contact") {
items.value = (await supabase.from("historyitems").select().eq("contact",elementId)).data
} else if(type === "contract") {
items.value = (await supabase.from("historyitems").select().eq("contract",elementId)).data
} else if(type === "inventoryitem") {
items.value = (await supabase.from("historyitems").select().eq("inventoryitem",elementId)).data
} else if(type === "product") {
items.value = (await supabase.from("historyitems").select().eq("product",elementId)).data
} else if(type === "profile") {
items.value = (await supabase.from("historyitems").select().eq("profile",elementId)).data
} else if(type === "absencerequest") {
items.value = (await supabase.from("historyitems").select().eq("absenceRequest",elementId)).data
} else if(type === "event") {
items.value = (await supabase.from("historyitems").select().eq("event",elementId)).data
} else if(type === "task") {
items.value = (await supabase.from("historyitems").select().eq("task",elementId)).data
} else if(type === "vehicle") {
items.value = (await supabase.from("historyitems").select().eq("vehicle",elementId)).data
} else if(type === "space") {
items.value = (await supabase.from("historyitems").select().eq("space",elementId)).data
}
}
setup()
const historyItems = computed(() => { const historyItems = computed(() => {
let items = [] let items = []
@@ -53,9 +95,11 @@ const historyItems = computed(() => {
} else if(type === "event") { } else if(type === "event") {
items = dataStore.historyItems.filter(i => i.event === elementId) items = dataStore.historyItems.filter(i => i.event === elementId)
} else if(type === "task") { } else if(type === "task") {
items = dataStore.historyItems.filter(i => i.event === elementId) items = dataStore.historyItems.filter(i => i.task === elementId)
} else if(type === "vehicle") { } else if(type === "vehicle") {
items = dataStore.historyItems.filter(i => i.vehicle === elementId) items = dataStore.historyItems.filter(i => i.vehicle === elementId)
} else if(type === "space") {
items = dataStore.historyItems.filter(i => i.space === elementId)
} }
return items return items
@@ -99,6 +143,8 @@ const addHistoryItem = async () => {
addHistoryItemData.value.event = elementId addHistoryItemData.value.event = elementId
} else if(type === "vehicle") { } else if(type === "vehicle") {
addHistoryItemData.value.vehicle = elementId addHistoryItemData.value.vehicle = elementId
} else if(type === "space") {
addHistoryItemData.value.space = elementId
} }
@@ -179,8 +225,8 @@ const renderText = (text) => {
<div <div
v-if="historyItems.length > 0" v-if="items.length > 0"
v-for="(item,index) in historyItems.slice().reverse()" v-for="(item,index) in items.slice().reverse()"
> >
<UDivider <UDivider
class="my-3" class="my-3"
@@ -202,8 +248,6 @@ const renderText = (text) => {
<span class="text-gray-500">{{dayjs(item.created_at).format("DD.MM.YY HH:mm")}}</span> <span class="text-gray-500">{{dayjs(item.created_at).format("DD.MM.YY HH:mm")}}</span>
</div> </div>
</div> </div>
</div> </div>
</template> </template>

View File

@@ -55,7 +55,7 @@ setupPage()
<h1 <h1
v-if="itemInfo" v-if="itemInfo"
:class="['text-xl','font-medium']" :class="['text-xl','font-medium']"
>{{itemInfo ? `Inventarartikel: ${itemInfo.name}` : (mode === 'create' ? 'Kunde erstellen' : 'Kunde bearbeiten')}}</h1> >{{itemInfo.id ? `Inventarartikel: ${itemInfo.name}` : (mode === 'create' ? 'Inventarartikel erstellen' : 'Inventarartikel bearbeiten')}}</h1>
</template> </template>
<template #right> <template #right>
<UButton <UButton
@@ -65,11 +65,23 @@ setupPage()
Speichern Speichern
</UButton> </UButton>
<UButton <UButton
v-else-if="mode === 'create'" v-if="mode === 'create'"
@click="dataStore.createNewItem('inventoryitems',itemInfo)" @click="dataStore.createNewItem('inventoryitems',itemInfo)"
> >
Erstellen Erstellen
</UButton> </UButton>
<UButton
v-if="mode === 'create'"
class="ml-2"
@click="dataStore.createNewItem('inventoryitems',itemInfo);
itemInfo = {
name: null,
description: null,
quantity: 0
}"
>
Erstellen + Neu
</UButton>
<UButton <UButton
@click="cancelEditorCreate" @click="cancelEditorCreate"
color="red" color="red"
@@ -96,6 +108,10 @@ setupPage()
<div class="w-1/2 mr-5"> <div class="w-1/2 mr-5">
<UCard> <UCard>
<table class="w-full"> <table class="w-full">
<tr>
<td>Name: </td>
<td>{{itemInfo.name}}</td>
</tr>
<tr v-if="itemInfo.currentSpace"> <tr v-if="itemInfo.currentSpace">
<td>Lagerplatz: </td> <td>Lagerplatz: </td>
<td>{{dataStore.getSpaceById(itemInfo.currentSpace).spaceNumber}} - {{dataStore.getSpaceById(itemInfo.currentSpace).description}}</td> <td>{{dataStore.getSpaceById(itemInfo.currentSpace).spaceNumber}} - {{dataStore.getSpaceById(itemInfo.currentSpace).description}}</td>
@@ -193,11 +209,12 @@ setupPage()
</UFormGroup> </UFormGroup>
<UFormGroup <UFormGroup
label="Menge:" label="Menge:"
help="Für Einzelartikel Menge gleich 0" :help="itemInfo.serialNumber ? 'Menge deaktiviert durch Eingabe der Seriennummer' : 'Für Einzelartikel Menge gleich 0'"
> >
<UInput <UInput
type="number" type="number"
v-model="itemInfo.quantity" v-model="itemInfo.quantity"
:disabled="itemInfo.serialNumber"
/> />
</UFormGroup> </UFormGroup>
</div> </div>

View File

@@ -1,6 +1,7 @@
<script setup> <script setup>
import axios from "axios"; import axios from "axios";
import ZebraBrowserPrintWrapper from "zebra-browser-print-wrapper" import ZebraBrowserPrintWrapper from "zebra-browser-print-wrapper"
import HistoryDisplay from "~/components/HistoryDisplay.vue";
definePageMeta({ definePageMeta({
middleware: "auth" middleware: "auth"
}) })
@@ -176,7 +177,12 @@ setupPage()
</div> </div>
<div class="w-1/2"> <div class="w-1/2">
<UCard> <UCard>
LOGBUCH <HistoryDisplay
type="space"
v-if="itemInfo"
render-headline
:element-id="itemInfo.id"
/>
</UCard> </UCard>
</div> </div>