From ddb3b907880f16bbaaff986a925af226c0ee02d0 Mon Sep 17 00:00:00 2001 From: flfeders Date: Wed, 21 Feb 2024 16:38:48 +0100 Subject: [PATCH] Changes --- spaces/components/DocumentDisplay.vue | 2 +- spaces/composables/usePDFGenerator.js | 2 +- spaces/layouts/default.vue | 11 +- spaces/pages/calendar/[mode].vue | 4 + spaces/pages/createDocument/edit/[[id]].vue | 77 ++++-- spaces/pages/createDocument/show/[id].vue | 4 +- spaces/pages/planningBoard.vue | 3 + .../incomingInvoices/[mode]/[[id]].vue | 4 + spaces/pages/receipts/index.vue | 2 +- spaces/pages/services/[mode]/[[id]].vue | 221 ++++++++++++++++++ spaces/pages/services/index.vue | 96 ++++++++ spaces/pages/settings/index.vue | 4 +- spaces/stores/data.js | 13 ++ 13 files changed, 409 insertions(+), 34 deletions(-) create mode 100644 spaces/pages/services/[mode]/[[id]].vue create mode 100644 spaces/pages/services/index.vue diff --git a/spaces/components/DocumentDisplay.vue b/spaces/components/DocumentDisplay.vue index 9bed3b7..02f6a34 100644 --- a/spaces/components/DocumentDisplay.vue +++ b/spaces/components/DocumentDisplay.vue @@ -155,7 +155,7 @@ const updateDocumentAssignment = async () => {
{{dataStore.incomingInvoices.find(item => item.id === documentData.vendorInvoice) ? dataStore.incomingInvoices.find(item => item.id === documentData.vendorInvoice).reference : ''}} + >{{dataStore.incominginvoices.find(item => item.id === documentData.vendorInvoice) ? dataStore.incominginvoices.find(item => item.id === documentData.vendorInvoice).reference : ''}} DATEV diff --git a/spaces/composables/usePDFGenerator.js b/spaces/composables/usePDFGenerator.js index e526428..d61f6f5 100644 --- a/spaces/composables/usePDFGenerator.js +++ b/spaces/composables/usePDFGenerator.js @@ -95,7 +95,7 @@ export const useCreatePdf = async (invoiceData,backgroundSourceBuffer) => { opacity: 1 })*/ - pages[pageCounter - 1].drawText("Federspiel Technology UG haftungsbeschränkt, Am Schwarzen Brack 14 26452 Sande", { + pages[pageCounter - 1].drawText(invoiceData.adressLine, { ...getCoordinatesForPDFLib(21,48, page1), size:6, color:rgb(0,0,0), diff --git a/spaces/layouts/default.vue b/spaces/layouts/default.vue index 2d77075..a09e62d 100644 --- a/spaces/layouts/default.vue +++ b/spaces/layouts/default.vue @@ -289,6 +289,10 @@ const links = [[{ label: "Artikelstamm", to: "/products", icon: "i-heroicons-puzzle-piece" + },{ + label: "Leistungsstamm", + to: "/services", + icon: "i-heroicons-puzzle-piece" }, { label: "Lagerplätze", @@ -445,13 +449,6 @@ const links = [[{ /> -
diff --git a/spaces/pages/calendar/[mode].vue b/spaces/pages/calendar/[mode].vue index 22237f3..0e2441e 100644 --- a/spaces/pages/calendar/[mode].vue +++ b/spaces/pages/calendar/[mode].vue @@ -7,6 +7,10 @@ import resourceTimelinePlugin from "@fullcalendar/resource-timeline"; import interactionPlugin from "@fullcalendar/interaction"; import dayjs from "dayjs"; +definePageMeta({ + middleware: "auth" +}) + //Config const route = useRoute() const mode = ref(route.params.mode || "grid") diff --git a/spaces/pages/createDocument/edit/[[id]].vue b/spaces/pages/createDocument/edit/[[id]].vue index 948f510..509dd28 100644 --- a/spaces/pages/createDocument/edit/[[id]].vue +++ b/spaces/pages/createDocument/edit/[[id]].vue @@ -9,7 +9,9 @@ const router = useRouter() const supabase = useSupabaseClient() - +definePageMeta({ + middleware: "auth" +}) @@ -142,6 +144,15 @@ const addPosition = (mode) => { taxPercent: 19, discountPercent: 0 }) + } else if(mode === 'service'){ + itemInfo.value.rows.push({ + id: lastId +1, + mode: "service", + quantity: 1, + price: 0, + taxPercent: 19, + discountPercent: 0 + }) } else if(mode === "pagebreak") { itemInfo.value.rows.push({ id: lastId +1, @@ -202,6 +213,7 @@ const getDocumentData = () => { let customerData = dataStore.getCustomerById(itemInfo.value.customer) let contactData = dataStore.getContactById(itemInfo.value.contact) let userData = dataStore.getProfileById(user.value.id) + let businessInfo = dataStore.ownTenant.businessInfo @@ -236,14 +248,14 @@ const getDocumentData = () => { const returnData = { - + adressLine: `${businessInfo.name}, ${businessInfo.street}, ${businessInfo.zip} ${businessInfo.city}`, recipient: { name: customerData.name, contact: contactData ? `${contactData.firstName} ${contactData.lastName}` : "", - street: customerData.infoData.street, - special: "", - city: customerData.infoData.city, - zip: customerData.infoData.zip + street: itemInfo.value.address.street || customerData.infoData.street, + special: itemInfo.value.address.special || customerData.infoData.special, + city: itemInfo.value.address.city || customerData.infoData.city, + zip: itemInfo.value.address.zip || customerData.infoData.zip }, info: { customerNumber: customerData.customerNumber, @@ -276,12 +288,8 @@ const uri = ref("") const generateDocument = async () => { const ownTenant = dataStore.ownTenant const path = ownTenant.letterheadConfig[itemInfo.value.type] - console.log(path) - console.log(ownTenant) const {data,error} = await supabase.storage.from("files").download(path) - console.log(data) - console.log(error) uri.value = await useCreatePdf(getDocumentData(), await data.arrayBuffer()) //alert(uri.value) @@ -297,7 +305,7 @@ const onChangeTab = (index) => { const setPosNumbers = () => { let index = 1 let rows = itemInfo.value.rows.map(row => { - if(row.mode === 'free' ||row.mode === 'normal') { + if(row.mode !== 'pagebreak') { row.pos = index index += 1 } @@ -480,29 +488,28 @@ setupPage() - -
{{row.pos}} + + + + +

{{getRowAmount(row)}} €

@@ -970,6 +997,12 @@ setupPage() + + + Leistungsposition + - +definePageMeta({ + middleware: "auth" +}) const dataStore = useDataStore() const route = useRoute() const router = useRouter() diff --git a/spaces/pages/planningBoard.vue b/spaces/pages/planningBoard.vue index 49a1d27..74e5b1c 100644 --- a/spaces/pages/planningBoard.vue +++ b/spaces/pages/planningBoard.vue @@ -6,6 +6,9 @@ import interactionPlugin from '@fullcalendar/interaction' import listPlugin from '@fullcalendar/list'; import dayjs from "dayjs"; +definePageMeta({ + middleware: "auth" +}) const viewport = useViewport() diff --git a/spaces/pages/receipts/incomingInvoices/[mode]/[[id]].vue b/spaces/pages/receipts/incomingInvoices/[mode]/[[id]].vue index aba3738..c0eccd9 100644 --- a/spaces/pages/receipts/incomingInvoices/[mode]/[[id]].vue +++ b/spaces/pages/receipts/incomingInvoices/[mode]/[[id]].vue @@ -3,6 +3,10 @@ import InputGroup from "~/components/InputGroup.vue"; import dayjs from "dayjs"; import HistoryDisplay from "~/components/HistoryDisplay.vue"; +definePageMeta({ + middleware: "auth" +}) + const dataStore = useDataStore() const supabase = useSupabaseClient() const route = useRoute() diff --git a/spaces/pages/receipts/index.vue b/spaces/pages/receipts/index.vue index 9831514..7628764 100644 --- a/spaces/pages/receipts/index.vue +++ b/spaces/pages/receipts/index.vue @@ -184,7 +184,7 @@ const searchString = ref('') const showDrafts = ref(false) const filteredRows = computed(() => { - let items = [...dataStore.incomingInvoices.map(i => {return {...i, type: "incomingInvoice"}}),...dataStore.createddocuments] + let items = [...dataStore.incominginvoices.map(i => {return {...i, type: "incomingInvoice"}}),...dataStore.createddocuments] console.log(dataStore.createddocuments) diff --git a/spaces/pages/services/[mode]/[[id]].vue b/spaces/pages/services/[mode]/[[id]].vue new file mode 100644 index 0000000..e258bad --- /dev/null +++ b/spaces/pages/services/[mode]/[[id]].vue @@ -0,0 +1,221 @@ + + + + + \ No newline at end of file diff --git a/spaces/pages/services/index.vue b/spaces/pages/services/index.vue new file mode 100644 index 0000000..44b5eb9 --- /dev/null +++ b/spaces/pages/services/index.vue @@ -0,0 +1,96 @@ + + + + + \ No newline at end of file diff --git a/spaces/pages/settings/index.vue b/spaces/pages/settings/index.vue index 722d55f..a33ed8d 100644 --- a/spaces/pages/settings/index.vue +++ b/spaces/pages/settings/index.vue @@ -1,5 +1,7 @@