Added Create,Edit,Show to Products and Services

This commit is contained in:
2025-03-16 18:00:37 +01:00
parent 15a889dfcf
commit 898663344b

View File

@@ -3,7 +3,6 @@ import dayjs from "dayjs"
import Handlebars from "handlebars"
import { v4 as uuidv4 } from 'uuid';
import {useFunctions} from "~/composables/useFunctions.js";
import StandardEntityModal from "~/components/StandardEntityModal.vue";
import EntityModalButtons from "~/components/EntityModalButtons.vue";
const dataStore = useDataStore()
@@ -1144,33 +1143,41 @@ const updateCustomSurcharge = () => {
})
}
const setRowData = (row) => {
console.log(row)
const setRowData = async (row, service = {sellingPriceComposed: {}}, product = {}) => {
if(service && service.id) {
row.service = service.id
services.value = await useSupabaseSelect("services","*")
}
if(product && product.id) {
row.product = product.id
product.value = await useSupabaseSelect("products","*")
}
if(row.service) {
row.unit = services.value.find(i => i.id === row.service).unit
row.price = (services.value.find(i => i.id === row.service).sellingPriceComposed.total || services.value.find(i => i.id === row.service).sellingPrice) * (1 + itemInfo.value.customSurchargePercentage /100)
row.description = services.value.find(i => i.id === row.service).description
row.unit = service.unit ? service.unit : services.value.find(i => i.id === row.service).unit
row.price = ((service.sellingPriceComposed.total || service.sellingPrice) ? (service.sellingPriceComposed.total || service.sellingPrice) : (services.value.find(i => i.id === row.service).sellingPriceComposed.total || services.value.find(i => i.id === row.service).sellingPrice)) * (1 + itemInfo.value.customSurchargePercentage /100)
row.description = service.description ? service.description : (services.value.find(i => i.id === row.service) ? services.value.find(i => i.id === row.service).description : "")
if(['13b UStG','19 UStG'].includes(itemInfo.value.taxType)) {
row.taxPercent = 0
} else {
row.taxPercent = services.value.find(i => i.id === row.service).taxPercentage
row.taxPercent = service.taxPercentage ? service.taxPercentage : services.value.find(i => i.id === row.service).taxPercentage
}
}
if(row.product) {
row.unit = products.value.find(i => i.id === row.product).unit
row.price = products.value.find(i => i.id === row.product).sellingPrice * (1 + itemInfo.value.customSurchargePercentage /100)
row.description = products.value.find(i => i.id === row.product).description
row.unit = product.unit ? product.unit : products.value.find(i => i.id === row.product).unit
row.price = (product.sellingPrice ? product.sellingPrice : products.value.find(i => i.id === row.product).sellingPrice) * (1 + itemInfo.value.customSurchargePercentage /100)
row.description = product.description ? product.description : (products.value.find(i => i.id === row.product) ? products.value.find(i => i.id === row.product).description : "")
if(['13b UStG','19 UStG'].includes(itemInfo.value.taxType)) {
row.taxPercent = 0
} else {
row.taxPercent = products.value.find(i => i.id === row.product).taxPercentage
row.taxPercent = product.taxPercentage ? product.taxPercentage : products.value.find(i => i.id === row.product).taxPercentage
}
}
}
@@ -1941,9 +1948,14 @@ const setRowData = (row) => {
@change="setRowData(row)"
>
<template #label>
<span class="truncate">{{row.product ? products.find(i => i.id === row.product).name : "Kein Produkt ausgewählt" }}</span>
<span class="truncate">{{products.find(i => i.id === row.product) ? products.find(i => i.id === row.product).name : "Kein Produkt ausgewählt" }}</span>
</template>
</USelectMenu>
<EntityModalButtons
type="products"
:id="row.product"
@return-data="(data) => setRowData(row,null,data)"
/>
<UButton
icon="i-heroicons-magnifying-glass"
@click="showProductSelectionModal = true"
@@ -2008,6 +2020,11 @@ const setRowData = (row) => {
<span class="truncate">{{services.find(i => i.id === row.service) ? services.find(i => i.id === row.service).name : "Keine Leistung ausgewählt" }}</span>
</template>
</USelectMenu>
<EntityModalButtons
type="services"
:id="row.service"
@return-data="(data) => setRowData(row,data,null)"
/>
<UButton
icon="i-heroicons-magnifying-glass"
@click="showServiceSelectionModal = true"