Merge branch 'dev' into beta

This commit is contained in:
2025-02-25 23:04:50 +01:00
10 changed files with 290 additions and 40 deletions

View File

@@ -129,21 +129,21 @@ const resourceOptions = ref([
const resourceToAssign = ref("project") const resourceToAssign = ref("project")
const itemOptions = ref([]) const itemOptions = ref([])
const idToAssign = ref(null) const idToAssign = ref(null)
const getItemsBySelectedResource = () => { const getItemsBySelectedResource = async () => {
if(resourceToAssign.value === "project") { if(resourceToAssign.value === "project") {
itemOptions.value = dataStore.projects itemOptions.value = await useSupabaseSelect("projects")
} else if(resourceToAssign.value === "customer") { } else if(resourceToAssign.value === "customer") {
itemOptions.value = dataStore.customers itemOptions.value = await useSupabaseSelect("customers")
} else if(resourceToAssign.value === "vendor") { } else if(resourceToAssign.value === "vendor") {
itemOptions.value = dataStore.vendors itemOptions.value = await useSupabaseSelect("vendors")
} else if(resourceToAssign.value === "vehicle") { } else if(resourceToAssign.value === "vehicle") {
itemOptions.value = dataStore.vehicles itemOptions.value = await useSupabaseSelect("vehicles")
} else if(resourceToAssign.value === "product") { } else if(resourceToAssign.value === "product") {
itemOptions.value = dataStore.products itemOptions.value = await useSupabaseSelect("products")
} else if(resourceToAssign.value === "plant") { } else if(resourceToAssign.value === "plant") {
itemOptions.value = dataStore.plants itemOptions.value = await useSupabaseSelect("plants")
} else if(resourceToAssign.value === "contract") { } else if(resourceToAssign.value === "contract") {
itemOptions.value = dataStore.contracts itemOptions.value = await useSupabaseSelect("contracts")
} else { } else {
itemOptions.value = [] itemOptions.value = []
} }

View File

@@ -76,12 +76,42 @@ const setupQuery = () => {
if(route.query) { if(route.query) {
Object.keys(route.query).forEach(key => { Object.keys(route.query).forEach(key => {
if(dataType.templateColumns.find(i => i.key === key)) { if(dataType.templateColumns.find(i => i.key === key)) {
console.log(key)
if (["customer", "contract", "plant", "contact", "project"].includes(key)) { if (["customer", "contract", "plant", "contact", "project"].includes(key)) {
item.value[key] = Number(route.query[key]) item.value[key] = Number(route.query[key])
} else { } else {
item.value[key] = route.query[key] item.value[key] = route.query[key]
} }
} else if(key === "resources") {
/*item.value[key] = route.query[key]*/
JSON.parse(route.query[key]).forEach(async (i) => {
console.log(i)
let type = i.substring(0,1)
let id = i.substring(2,i.length)
console.log(type)
console.log(id)
let holder = ""
if(type === "P"){
holder = "profiles"
} else if(type === "F"){
holder = "vehicles"
id = Number(id)
} else if(type === "I"){
holder = "inventoryitems"
id = Number(id)
} else if(type === "G"){
holder = "inventoryitemgroups"
}
if(typeof item.value[holder] === "object") {
item.value[holder].push(id)
} else {
item.value[holder] = [id]
}
})
} }
}) })
} }
@@ -128,12 +158,10 @@ const contentChanged = (content, datapoint) => {
const saveAllowed = ref(false) const saveAllowed = ref(false)
const calcSaveAllowed = (item) => { const calcSaveAllowed = (item) => {
console.log(dataType.templateColumns)
let allowedCount = 0 let allowedCount = 0
dataType.templateColumns.filter(i => i.inputType).forEach(datapoint => { dataType.templateColumns.filter(i => i.inputType).forEach(datapoint => {
if(datapoint.required) { if(datapoint.required) {
console.log("is required")
if(datapoint.key.includes(".")){ if(datapoint.key.includes(".")){
if(item[datapoint.key.split('.')[0]][datapoint.key.split('.')[1]]) allowedCount += 1 if(item[datapoint.key.split('.')[0]][datapoint.key.split('.')[1]]) allowedCount += 1
@@ -225,8 +253,9 @@ watch(item.value, async (newItem, oldItem) => {
Die Form Group darf nur in der ersten bearbeitet werden und muss dann runterkopiert werden Die Form Group darf nur in der ersten bearbeitet werden und muss dann runterkopiert werden
--> -->
<UFormGroup <UFormGroup
v-for="datapoint in dataType.templateColumns.filter(i => i.inputType && !i.inputColumn === columnName)" v-for="datapoint in dataType.templateColumns.filter(i => i.inputType && i.inputColumn === columnName)"
:label="datapoint.label" :label="datapoint.label"
> >
<template #help> <template #help>

View File

@@ -160,11 +160,11 @@ const links = computed(() => {
icon: "i-heroicons-puzzle-piece", icon: "i-heroicons-puzzle-piece",
defaultOpen: false, defaultOpen: false,
children: [ children: [
{ /*{
label: "Vorgänge", label: "Vorgänge",
to: "/inventory", to: "/inventory",
icon: "i-heroicons-square-3-stack-3d" icon: "i-heroicons-square-3-stack-3d"
},/*{ },{
label: "Bestände", label: "Bestände",
to: "/inventory/stocks", to: "/inventory/stocks",
icon: "i-heroicons-square-3-stack-3d" icon: "i-heroicons-square-3-stack-3d"
@@ -216,6 +216,11 @@ const links = computed(() => {
to: "/standardEntity/inventoryitems", to: "/standardEntity/inventoryitems",
icon: "i-heroicons-puzzle-piece" icon: "i-heroicons-puzzle-piece"
}] : [], }] : [],
... role.checkRight("inventoryitems") ? [{
label: "Inventargruppen",
to: "/standardEntity/inventoryitemgroups",
icon: "i-heroicons-puzzle-piece"
}] : [],
] ]
}, },
... role.checkRight("checks") ? [{ ... role.checkRight("checks") ? [{

View File

@@ -0,0 +1,23 @@
<script setup>
const props = defineProps({
row: {
type: Object,
required: true,
default: {}
}
})
const supabase = useSupabaseClient()
let inventoryitemgroups = await Promise.all(props.row.inventoryitemgroups.map(async (i) => {
return (await supabase.from("inventoryitemgroups").select("id,name").eq("id",i).single()).data.name
}))
</script>
<template>
<div v-if="props.row.inventoryitemgroups">
{{props.row.inventoryitemgroups ? inventoryitemgroups.join(", ") : ''}}
</div>
</template>

View File

@@ -0,0 +1,23 @@
<script setup>
const props = defineProps({
row: {
type: Object,
required: true,
default: {}
}
})
const supabase = useSupabaseClient()
let inventoryitems = await Promise.all(props.row.inventoryitems.map(async (i) => {
return (await supabase.from("inventoryitems").select("id,name").eq("id",i).single()).data.name
}))
</script>
<template>
<div v-if="props.row.inventoryitems">
{{props.row.inventoryitems ? inventoryitems.join(", ") : ''}}
</div>
</template>

View File

@@ -0,0 +1,14 @@
<script setup>
const props = defineProps({
row: {
type: Object,
required: true,
default: {}
}
})
</script>
<template>
<span v-if="props.row.currentSpace">{{props.row.currentSpace.name}}</span>
</template>

View File

@@ -0,0 +1,23 @@
<script setup>
const props = defineProps({
row: {
type: Object,
required: true,
default: {}
}
})
const supabase = useSupabaseClient()
let vehicles = await Promise.all(props.row.vehicles.map(async (i) => {
return (await supabase.from("vehicles").select("id,licensePlate").eq("id",i).single()).data.licensePlate
}))
</script>
<template>
<div v-if="props.row.vehicles">
{{props.row.vehicles ? vehicles.join(", ") : ''}}
</div>
</template>

View File

@@ -149,6 +149,19 @@ export const useRole = () => {
label: "Inventarartikel erstellen", label: "Inventarartikel erstellen",
parent: "inventoryitems" parent: "inventoryitems"
}, },
inventoryitemgroups: {
parent: "inventoryitems",
label: "Inventarartikelgruppen",
showToAllUsers: false
},
"inventoryitemgroups-viewAll": {
label: "Alle Inventarartikelgruppen einsehen",
parent: "inventoryitemgroups"
},
"inventoryitemgroups-create": {
label: "Inventarartikelgruppen erstellen",
parent: "inventoryitemgroups"
},
absencerequests: { absencerequests: {
label: "Abwesenheiten", label: "Abwesenheiten",
showToAllUsers: false showToAllUsers: false

View File

@@ -86,7 +86,7 @@ const calendarOptionsTimeline = ref({
}], }],
selectable: true, selectable: true,
select: function (info) { select: function (info) {
router.push(`/events/edit/?startDate=${info.startStr}&endDate=${info.endStr}&resources=${JSON.stringify([info.resource.id])}&source=timeline`) router.push(`/standardEntity/events/create?startDate=${encodeURIComponent(info.startStr)}&endDate=${encodeURIComponent(info.endStr)}&resources=${encodeURIComponent(JSON.stringify([info.resource.id]))}&source=timeline`)
}, },
eventClick: function (info){ eventClick: function (info){
console.log(info.event) console.log(info.event)
@@ -126,10 +126,11 @@ const calendarOptionsTimeline = ref({
const loaded = ref(false) const loaded = ref(false)
const setupPage = async () => { const setupPage = async () => {
let tempData = (await useSupabaseSelect("events", "*, vehicles(*), inventoryitems(*)")).filter(i => !i.archived) let tempData = (await useSupabaseSelect("events", "*")).filter(i => !i.archived)
let absencerequests = (await useSupabaseSelect("absencerequests", "*, profile(*)")).filter(i => !i.archived) let absencerequests = (await useSupabaseSelect("absencerequests", "*, profile(*)")).filter(i => !i.archived)
let projects = (await useSupabaseSelect("projects", "*")).filter(i => !i.archived) let projects = (await useSupabaseSelect("projects", "*")).filter(i => !i.archived)
let inventoryitems = (await useSupabaseSelect("inventoryitems", "*")).filter(i => !i.archived) let inventoryitems = (await useSupabaseSelect("inventoryitems", "*")).filter(i => !i.archived)
let inventoryitemgroups = (await useSupabaseSelect("inventoryitemgroups", "*")).filter(i => !i.archived)
let profiles = (await useSupabaseSelect("profiles", "*")).filter(i => !i.archived) let profiles = (await useSupabaseSelect("profiles", "*")).filter(i => !i.archived)
let vehicles = (await useSupabaseSelect("vehicles", "*")).filter(i => !i.archived) let vehicles = (await useSupabaseSelect("vehicles", "*")).filter(i => !i.archived)
@@ -176,7 +177,7 @@ const setupPage = async () => {
return { return {
type: 'Mitarbeiter', type: 'Mitarbeiter',
title: profile.fullName, title: profile.fullName,
id: profile.id id: `P-${profile.id}`
} }
}), }),
...vehicles.map(vehicle => { ...vehicles.map(vehicle => {
@@ -192,6 +193,13 @@ const setupPage = async () => {
title: item.name, title: item.name,
id: `I-${item.id}` id: `I-${item.id}`
} }
}),
...inventoryitemgroups.filter(i=> i.usePlanning).map(item => {
return {
type: 'Inventargruppen',
title: item.name,
id: `G-${item.id}`
}
}) })
] ]
@@ -228,6 +236,7 @@ const setupPage = async () => {
let tempEvents = [] let tempEvents = []
tempData.forEach(event => { tempData.forEach(event => {
console.log(event)
let eventColor = profileStore.ownTenant.calendarConfig.eventTypes.find(type => type.label === event.eventtype).color let eventColor = profileStore.ownTenant.calendarConfig.eventTypes.find(type => type.label === event.eventtype).color
let title = "" let title = ""
@@ -252,22 +261,30 @@ const setupPage = async () => {
if(event.profiles.length > 0) { if(event.profiles.length > 0) {
event.profiles.forEach(profile => { event.profiles.forEach(profile => {
returnData.resourceIds.push(profile) returnData.resourceIds.push(`P-${profile}`)
}) })
} }
if(event.vehicles.length > 0) { if(event.vehicles.length > 0) {
event.vehicles.forEach(vehicle => { event.vehicles.forEach(vehicle => {
returnData.resourceIds.push(`F-${vehicle.id}`) returnData.resourceIds.push(`F-${vehicle}`)
}) })
} }
if(event.inventoryitems.length > 0) { if(event.inventoryitems.length > 0) {
event.inventoryitems.forEach(inventoryitem => { event.inventoryitems.forEach(inventoryitem => {
returnData.resourceIds.push(`I-${inventoryitem.id}`) returnData.resourceIds.push(`I-${inventoryitem}`)
}) })
} }
if(event.inventoryitemgroups.length > 0) {
event.inventoryitemgroups.forEach(inventoryitemgroup => {
returnData.resourceIds.push(`G-${inventoryitemgroup}`)
})
}
console.log(returnData)
tempEvents.push(returnData) tempEvents.push(returnData)
}) })

View File

@@ -1,6 +1,6 @@
import {defineStore} from 'pinia' import {defineStore} from 'pinia'
import dayjs from "dayjs" import dayjs from "dayjs"
import {typeOf} from "uri-js/dist/esnext/util"; //import {typeOf} from "uri-js/dist/esnext/util";
import {useNumberRange} from "~/composables/useNumberRange.js"; import {useNumberRange} from "~/composables/useNumberRange.js";
//const supabase = createClient('https://uwppvcxflrcsibuzsbil.supabase.co','eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV3cHB2Y3hmbHJjc2lidXpzYmlsIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDA5MzgxOTQsImV4cCI6MjAxNjUxNDE5NH0.CkxYSQH0uLfwx9GVUlO6AYMU2FMLAxGMrwEKvyPv7Oo') //const supabase = createClient('https://uwppvcxflrcsibuzsbil.supabase.co','eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV3cHB2Y3hmbHJjc2lidXpzYmlsIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDA5MzgxOTQsImV4cCI6MjAxNjUxNDE5NH0.CkxYSQH0uLfwx9GVUlO6AYMU2FMLAxGMrwEKvyPv7Oo')
@@ -34,6 +34,11 @@ import startDateTime from "~/components/columnRenderings/startDateTime.vue"
import endDateTime from "~/components/columnRenderings/endDateTime.vue" import endDateTime from "~/components/columnRenderings/endDateTime.vue"
import serviceCategories from "~/components/columnRenderings/serviceCategories.vue" import serviceCategories from "~/components/columnRenderings/serviceCategories.vue"
import phase from "~/components/columnRenderings/phase.vue" import phase from "~/components/columnRenderings/phase.vue"
import vehiclesWithLoad from "~/components/columnRenderings/vehiclesWithLoad.vue"
import inventoryitemsWithLoad from "~/components/columnRenderings/inventoryitemsWithLoad.vue"
import inventoryitemgroupsWithLoad from "~/components/columnRenderings/inventoryitemgroupsWithLoad.vue"
import space from "~/components/columnRenderings/space.vue"
import quantity from "~/components/helpRenderings/quantity.vue" import quantity from "~/components/helpRenderings/quantity.vue"
import {useZipCheck} from "~/composables/useZipCheck.js"; import {useZipCheck} from "~/composables/useZipCheck.js";
@@ -1283,6 +1288,7 @@ export const useDataStore = defineStore('data', () => {
supabaseSelectWithInformation: "*, files(*), vendor(id,name), currentSpace(id,name)", supabaseSelectWithInformation: "*, files(*), vendor(id,name), currentSpace(id,name)",
redirect: true, redirect: true,
numberRangeHolder: "articleNumber", numberRangeHolder: "articleNumber",
historyItemHolder: "inventoryitem",
inputColumns: [ inputColumns: [
"Allgemeines", "Allgemeines",
"Anschaffung" "Anschaffung"
@@ -1326,7 +1332,8 @@ export const useDataStore = defineStore('data', () => {
selectDataType: "spaces", selectDataType: "spaces",
selectOptionAttribute: "name", selectOptionAttribute: "name",
selectSearchAttributes: ['name'], selectSearchAttributes: ['name'],
inputColumn: "Allgemeines" inputColumn: "Allgemeines",
component: space
}, },
{ {
key: "articleNumber", key: "articleNumber",
@@ -1354,7 +1361,8 @@ export const useDataStore = defineStore('data', () => {
selectDataType: "vendors", selectDataType: "vendors",
selectOptionAttribute: "name", selectOptionAttribute: "name",
selectSearchAttributes: ['name'], selectSearchAttributes: ['name'],
inputColumn: "Anschaffung" inputColumn: "Anschaffung",
component: vendor
}, },
{ {
key: "quantity", key: "quantity",
@@ -1412,6 +1420,70 @@ export const useDataStore = defineStore('data', () => {
} }
] ]
}, },
inventoryitemgroups: {
label: "Inventarartikelgruppen",
labelSingle: "Inventarartikelgruppe",
isStandardEntity: true,
historyItemHolder: "inventoryitemgroup",
supabaseSelectWithInformation: "*",
redirect: true,
filters:[{
name: "Archivierte ausblenden",
default: true,
"filterFunction": function (row) {
if(!row.archived) {
return true
} else {
return false
}
}
}],
templateColumns: [
{
key: "name",
label: "Name",
title: true,
required: true,
inputType: "text",
},
{
key: "description",
label: "Beschreibung",
inputType: "textarea"
},
{
key: "usePlanning",
label: "In Plantafel anzeigen",
inputType: "bool",
component: usePlanning
},{
key: "inventoryitems",
label: "Inventarartikel",
inputType: "select",
selectDataType: "inventoryitems",
selectOptionAttribute: "name",
selectSearchAttributes: ['name'],
selectMultiple: true,
required: true,
component: inventoryitemsWithLoad
},{
key: "profiles",
label: "Berechtigte Benutzer",
inputType: "select",
selectDataType: "profiles",
selectOptionAttribute: "fullName",
selectSearchAttributes: ['fullName'],
selectMultiple: true,
component: profiles
},
],
showTabs: [
{
label: 'Informationen',
}
]
},
services: { services: {
label: "Leistungen", label: "Leistungen",
labelSingle: "Leistung", labelSingle: "Leistung",
@@ -1529,7 +1601,7 @@ export const useDataStore = defineStore('data', () => {
labelSingle: "Termin", labelSingle: "Termin",
isStandardEntity: true, isStandardEntity: true,
historyItemHolder: "event", historyItemHolder: "event",
supabaseSelectWithInformation: "*, project(id,name), vehicles(*), inventoryitems(*)", supabaseSelectWithInformation: "*, project(id,name)",
redirect: true, redirect: true,
filters:[{ filters:[{
name: "Archivierte ausblenden", name: "Archivierte ausblenden",
@@ -1585,17 +1657,43 @@ export const useDataStore = defineStore('data', () => {
selectDataType: "projects", selectDataType: "projects",
selectOptionAttribute: "name", selectOptionAttribute: "name",
selectSearchAttributes: ['name'], selectSearchAttributes: ['name'],
},{
key: "vehicles",
label: "Fahrzeuge",
inputType: "select",
selectDataType: "vehicles",
selectOptionAttribute: "licensePlate",
selectSearchAttributes: ['licensePlate'],
selectMultiple: true,
component: vehiclesWithLoad,
},{
key: "inventoryitems",
label: "Inventarartikel",
inputType: "select",
selectDataType: "inventoryitems",
selectOptionAttribute: "name",
selectSearchAttributes: ['name'],
selectMultiple: true,
component: inventoryitemsWithLoad
},{
key: "inventoryitemgroups",
label: "Inventarartikelgruppen",
inputType: "select",
selectDataType: "inventoryitemgroups",
selectOptionAttribute: "name",
selectSearchAttributes: ['name'],
selectMultiple: true,
component: inventoryitemgroupsWithLoad
},{ },{
key: "profiles", key: "profiles",
label: "Beteiligte Benutzer", label: "Beteiligte Benutzer",
required: true,
inputType: "select", inputType: "select",
selectDataType: "profiles", selectDataType: "profiles",
selectOptionAttribute: "fullName", selectOptionAttribute: "fullName",
selectSearchAttributes: ['fullName'], selectSearchAttributes: ['fullName'],
selectMultiple: true, selectMultiple: true,
component: profiles component: profiles
}, }
], ],
showTabs: [ showTabs: [
{ {
@@ -1841,7 +1939,6 @@ export const useDataStore = defineStore('data', () => {
const contracts = ref([]) const contracts = ref([])
const formSubmits = ref([]) const formSubmits = ref([])
const contacts = ref([]) const contacts = ref([])
const vehicles = ref([])
const vendors = ref([]) const vendors = ref([])
const incominginvoices = ref([]) const incominginvoices = ref([])
const bankAccounts = ref([]) const bankAccounts = ref([])
@@ -1876,7 +1973,6 @@ export const useDataStore = defineStore('data', () => {
await fetchUnits() await fetchUnits()
await fetchMovements() await fetchMovements()
await fetchSpaces() await fetchSpaces()
await fetchVehicles()
await fetchVendors() await fetchVendors()
await fetchIncomingInvoices() await fetchIncomingInvoices()
await fetchBankAccounts() await fetchBankAccounts()
@@ -1912,7 +2008,6 @@ export const useDataStore = defineStore('data', () => {
contracts.value= [] contracts.value= []
formSubmits.value= [] formSubmits.value= []
contacts.value= [] contacts.value= []
vehicles.value= []
vendors.value= [] vendors.value= []
incominginvoices.value= [] incominginvoices.value= []
bankAccounts.value= [] bankAccounts.value= []
@@ -2122,6 +2217,18 @@ export const useDataStore = defineStore('data', () => {
name = "Name" name = "Name"
} else if(key === "approved") { } else if(key === "approved") {
name = "Genehmigt" name = "Genehmigt"
} else if(key === "manufacturer") {
name = "Hersteller"
} else if(key === "purchasePrice") {
name = "Kaufpreis"
} else if(key === "purchaseDate") {
name = "Kaufdatum"
} else if(key === "serialNumber") {
name = "Seriennummer"
} else if(key === "usePlanning") {
name = "In Plantafel verwenden"
} else if(key === "currentSpace") {
name = "In Plantafel verwenden"
} else if(key === "customer") { } else if(key === "customer") {
name = "Kunde" name = "Kunde"
if(prop.data.o) oldVal = customers.value.find(i => i.id === prop.data.o).name if(prop.data.o) oldVal = customers.value.find(i => i.id === prop.data.o).name
@@ -2267,9 +2374,9 @@ export const useDataStore = defineStore('data', () => {
} }
async function createNewItem (dataType,data){ async function createNewItem (dataType,data){
if(typeOf(data) === 'object') { if(typeof(data) === 'object') {
data = {...data, tenant: profileStore.currentTenant} data = {...data, tenant: profileStore.currentTenant}
} else if(typeOf(data) === 'array') { } else if(typeof(data) === 'array') {
data.map(i => { data.map(i => {
return { return {
...i, ...i,
@@ -2319,7 +2426,7 @@ export const useDataStore = defineStore('data', () => {
await generateHistoryItems(dataType, supabaseData[0]) await generateHistoryItems(dataType, supabaseData[0])
if(!["statementallocations","absencerequests", "productcategories", "servicecategories", "projecttypes", "checks", "profiles","services", "inventoryitems", "incominginvoices"].includes(dataType) ){ if(!["statementallocations","absencerequests", "productcategories", "servicecategories", "projecttypes", "checks", "profiles","services", "inventoryitems", "inventoryitemgroups", "incominginvoices"].includes(dataType) ){
await eval( dataType + '.value.push(' + JSON.stringify(...supabaseData) + ')') await eval( dataType + '.value.push(' + JSON.stringify(...supabaseData) + ')')
} }
@@ -2507,9 +2614,6 @@ export const useDataStore = defineStore('data', () => {
async function fetchMovements () { async function fetchMovements () {
movements.value = (await supabase.from("movements").select().eq('tenant', profileStore.currentTenant)).data movements.value = (await supabase.from("movements").select().eq('tenant', profileStore.currentTenant)).data
} }
async function fetchVehicles () {
vehicles.value = (await supabase.from("vehicles").select().eq('tenant', profileStore.currentTenant)).data
}
async function fetchTimes () { async function fetchTimes () {
times.value = (await supabase.from("times").select().eq('tenant', profileStore.currentTenant).order("startDate", {ascending:false})).data times.value = (await supabase.from("times").select().eq('tenant', profileStore.currentTenant).order("startDate", {ascending:false})).data
} }
@@ -2678,13 +2782,13 @@ export const useDataStore = defineStore('data', () => {
id: profile.id id: profile.id
} }
}), }),
...vehicles.value.map(vehicle => { /*...vehicles.value.map(vehicle => {
return { return {
type: 'Fahrzeug', type: 'Fahrzeug',
title: vehicle.licensePlate, title: vehicle.licensePlate,
id: `F-${vehicle.id}` id: `F-${vehicle.id}`
} }
}), }),*/
...inventoryitems.value.filter(i=> i.usePlanning).map(item => { ...inventoryitems.value.filter(i=> i.usePlanning).map(item => {
return { return {
type: 'Inventar', type: 'Inventar',
@@ -2793,12 +2897,12 @@ export const useDataStore = defineStore('data', () => {
const getCostCentresComposed = computed(() => { const getCostCentresComposed = computed(() => {
return [ return [
...vehicles.value.map(vehicle => { /*...vehicles.value.map(vehicle => {
return { return {
label: "Fahrzeug - " + vehicle.licensePlate, label: "Fahrzeug - " + vehicle.licensePlate,
id: vehicle.id id: vehicle.id
} }
}), }),*/
...projects.value.map(project => { ...projects.value.map(project => {
return { return {
label: "Projekt - " + project.name, label: "Projekt - " + project.name,
@@ -2887,7 +2991,6 @@ export const useDataStore = defineStore('data', () => {
contracts, contracts,
formSubmits, formSubmits,
contacts, contacts,
vehicles,
vendors, vendors,
incominginvoices, incominginvoices,
bankAccounts, bankAccounts,