Added some columnrenderings
Added InventoryitemGroups Removed some stuff from dataStore
This commit is contained in:
@@ -129,21 +129,21 @@ const resourceOptions = ref([
|
||||
const resourceToAssign = ref("project")
|
||||
const itemOptions = ref([])
|
||||
const idToAssign = ref(null)
|
||||
const getItemsBySelectedResource = () => {
|
||||
const getItemsBySelectedResource = async () => {
|
||||
if(resourceToAssign.value === "project") {
|
||||
itemOptions.value = dataStore.projects
|
||||
itemOptions.value = await useSupabaseSelect("projects")
|
||||
} else if(resourceToAssign.value === "customer") {
|
||||
itemOptions.value = dataStore.customers
|
||||
itemOptions.value = await useSupabaseSelect("customers")
|
||||
} else if(resourceToAssign.value === "vendor") {
|
||||
itemOptions.value = dataStore.vendors
|
||||
itemOptions.value = await useSupabaseSelect("vendors")
|
||||
} else if(resourceToAssign.value === "vehicle") {
|
||||
itemOptions.value = dataStore.vehicles
|
||||
itemOptions.value = await useSupabaseSelect("vehicles")
|
||||
} else if(resourceToAssign.value === "product") {
|
||||
itemOptions.value = dataStore.products
|
||||
itemOptions.value = await useSupabaseSelect("products")
|
||||
} else if(resourceToAssign.value === "plant") {
|
||||
itemOptions.value = dataStore.plants
|
||||
itemOptions.value = await useSupabaseSelect("plants")
|
||||
} else if(resourceToAssign.value === "contract") {
|
||||
itemOptions.value = dataStore.contracts
|
||||
itemOptions.value = await useSupabaseSelect("contracts")
|
||||
} else {
|
||||
itemOptions.value = []
|
||||
}
|
||||
|
||||
@@ -76,12 +76,42 @@ const setupQuery = () => {
|
||||
if(route.query) {
|
||||
Object.keys(route.query).forEach(key => {
|
||||
if(dataType.templateColumns.find(i => i.key === key)) {
|
||||
console.log(key)
|
||||
if (["customer", "contract", "plant", "contact", "project"].includes(key)) {
|
||||
item.value[key] = Number(route.query[key])
|
||||
} else {
|
||||
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 calcSaveAllowed = (item) => {
|
||||
console.log(dataType.templateColumns)
|
||||
let allowedCount = 0
|
||||
|
||||
dataType.templateColumns.filter(i => i.inputType).forEach(datapoint => {
|
||||
if(datapoint.required) {
|
||||
console.log("is required")
|
||||
|
||||
if(datapoint.key.includes(".")){
|
||||
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
|
||||
-->
|
||||
|
||||
|
||||
<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"
|
||||
>
|
||||
<template #help>
|
||||
|
||||
@@ -160,11 +160,11 @@ const links = computed(() => {
|
||||
icon: "i-heroicons-puzzle-piece",
|
||||
defaultOpen: false,
|
||||
children: [
|
||||
{
|
||||
/*{
|
||||
label: "Vorgänge",
|
||||
to: "/inventory",
|
||||
icon: "i-heroicons-square-3-stack-3d"
|
||||
},/*{
|
||||
},{
|
||||
label: "Bestände",
|
||||
to: "/inventory/stocks",
|
||||
icon: "i-heroicons-square-3-stack-3d"
|
||||
@@ -216,6 +216,11 @@ const links = computed(() => {
|
||||
to: "/standardEntity/inventoryitems",
|
||||
icon: "i-heroicons-puzzle-piece"
|
||||
}] : [],
|
||||
... role.checkRight("inventoryitems") ? [{
|
||||
label: "Inventargruppen",
|
||||
to: "/standardEntity/inventoryitemgroups",
|
||||
icon: "i-heroicons-puzzle-piece"
|
||||
}] : [],
|
||||
]
|
||||
},
|
||||
... role.checkRight("checks") ? [{
|
||||
|
||||
23
components/columnRenderings/inventoryitemgroupsWithLoad.vue
Normal file
23
components/columnRenderings/inventoryitemgroupsWithLoad.vue
Normal 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>
|
||||
23
components/columnRenderings/inventoryitemsWithLoad.vue
Normal file
23
components/columnRenderings/inventoryitemsWithLoad.vue
Normal 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>
|
||||
14
components/columnRenderings/space.vue
Normal file
14
components/columnRenderings/space.vue
Normal 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>
|
||||
23
components/columnRenderings/vehiclesWithLoad.vue
Normal file
23
components/columnRenderings/vehiclesWithLoad.vue
Normal 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>
|
||||
Reference in New Issue
Block a user