Added some columnrenderings
Added InventoryitemGroups Removed some stuff from dataStore
This commit is contained in:
143
stores/data.js
143
stores/data.js
@@ -1,6 +1,6 @@
|
||||
import {defineStore} from 'pinia'
|
||||
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";
|
||||
|
||||
//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 serviceCategories from "~/components/columnRenderings/serviceCategories.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 {useZipCheck} from "~/composables/useZipCheck.js";
|
||||
@@ -1283,6 +1288,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
supabaseSelectWithInformation: "*, files(*), vendor(id,name), currentSpace(id,name)",
|
||||
redirect: true,
|
||||
numberRangeHolder: "articleNumber",
|
||||
historyItemHolder: "inventoryitem",
|
||||
inputColumns: [
|
||||
"Allgemeines",
|
||||
"Anschaffung"
|
||||
@@ -1326,7 +1332,8 @@ export const useDataStore = defineStore('data', () => {
|
||||
selectDataType: "spaces",
|
||||
selectOptionAttribute: "name",
|
||||
selectSearchAttributes: ['name'],
|
||||
inputColumn: "Allgemeines"
|
||||
inputColumn: "Allgemeines",
|
||||
component: space
|
||||
},
|
||||
{
|
||||
key: "articleNumber",
|
||||
@@ -1354,7 +1361,8 @@ export const useDataStore = defineStore('data', () => {
|
||||
selectDataType: "vendors",
|
||||
selectOptionAttribute: "name",
|
||||
selectSearchAttributes: ['name'],
|
||||
inputColumn: "Anschaffung"
|
||||
inputColumn: "Anschaffung",
|
||||
component: vendor
|
||||
},
|
||||
{
|
||||
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: {
|
||||
label: "Leistungen",
|
||||
labelSingle: "Leistung",
|
||||
@@ -1529,7 +1601,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
labelSingle: "Termin",
|
||||
isStandardEntity: true,
|
||||
historyItemHolder: "event",
|
||||
supabaseSelectWithInformation: "*, project(id,name), vehicles(*), inventoryitems(*)",
|
||||
supabaseSelectWithInformation: "*, project(id,name)",
|
||||
redirect: true,
|
||||
filters:[{
|
||||
name: "Archivierte ausblenden",
|
||||
@@ -1585,17 +1657,43 @@ export const useDataStore = defineStore('data', () => {
|
||||
selectDataType: "projects",
|
||||
selectOptionAttribute: "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",
|
||||
label: "Beteiligte Benutzer",
|
||||
required: true,
|
||||
inputType: "select",
|
||||
selectDataType: "profiles",
|
||||
selectOptionAttribute: "fullName",
|
||||
selectSearchAttributes: ['fullName'],
|
||||
selectMultiple: true,
|
||||
component: profiles
|
||||
},
|
||||
}
|
||||
],
|
||||
showTabs: [
|
||||
{
|
||||
@@ -1841,7 +1939,6 @@ export const useDataStore = defineStore('data', () => {
|
||||
const contracts = ref([])
|
||||
const formSubmits = ref([])
|
||||
const contacts = ref([])
|
||||
const vehicles = ref([])
|
||||
const vendors = ref([])
|
||||
const incominginvoices = ref([])
|
||||
const bankAccounts = ref([])
|
||||
@@ -1876,7 +1973,6 @@ export const useDataStore = defineStore('data', () => {
|
||||
await fetchUnits()
|
||||
await fetchMovements()
|
||||
await fetchSpaces()
|
||||
await fetchVehicles()
|
||||
await fetchVendors()
|
||||
await fetchIncomingInvoices()
|
||||
await fetchBankAccounts()
|
||||
@@ -1912,7 +2008,6 @@ export const useDataStore = defineStore('data', () => {
|
||||
contracts.value= []
|
||||
formSubmits.value= []
|
||||
contacts.value= []
|
||||
vehicles.value= []
|
||||
vendors.value= []
|
||||
incominginvoices.value= []
|
||||
bankAccounts.value= []
|
||||
@@ -2122,6 +2217,18 @@ export const useDataStore = defineStore('data', () => {
|
||||
name = "Name"
|
||||
} else if(key === "approved") {
|
||||
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") {
|
||||
name = "Kunde"
|
||||
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){
|
||||
if(typeOf(data) === 'object') {
|
||||
if(typeof(data) === 'object') {
|
||||
data = {...data, tenant: profileStore.currentTenant}
|
||||
} else if(typeOf(data) === 'array') {
|
||||
} else if(typeof(data) === 'array') {
|
||||
data.map(i => {
|
||||
return {
|
||||
...i,
|
||||
@@ -2319,7 +2426,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
|
||||
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) + ')')
|
||||
}
|
||||
|
||||
@@ -2507,9 +2614,6 @@ export const useDataStore = defineStore('data', () => {
|
||||
async function fetchMovements () {
|
||||
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 () {
|
||||
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
|
||||
}
|
||||
}),
|
||||
...vehicles.value.map(vehicle => {
|
||||
/*...vehicles.value.map(vehicle => {
|
||||
return {
|
||||
type: 'Fahrzeug',
|
||||
title: vehicle.licensePlate,
|
||||
id: `F-${vehicle.id}`
|
||||
}
|
||||
}),
|
||||
}),*/
|
||||
...inventoryitems.value.filter(i=> i.usePlanning).map(item => {
|
||||
return {
|
||||
type: 'Inventar',
|
||||
@@ -2793,12 +2897,12 @@ export const useDataStore = defineStore('data', () => {
|
||||
|
||||
const getCostCentresComposed = computed(() => {
|
||||
return [
|
||||
...vehicles.value.map(vehicle => {
|
||||
/*...vehicles.value.map(vehicle => {
|
||||
return {
|
||||
label: "Fahrzeug - " + vehicle.licensePlate,
|
||||
id: vehicle.id
|
||||
}
|
||||
}),
|
||||
}),*/
|
||||
...projects.value.map(project => {
|
||||
return {
|
||||
label: "Projekt - " + project.name,
|
||||
@@ -2887,7 +2991,6 @@ export const useDataStore = defineStore('data', () => {
|
||||
contracts,
|
||||
formSubmits,
|
||||
contacts,
|
||||
vehicles,
|
||||
vendors,
|
||||
incominginvoices,
|
||||
bankAccounts,
|
||||
|
||||
Reference in New Issue
Block a user