From 4ef7d410f47c4e0a8950aaa3fb42906da9132954 Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Tue, 31 Dec 2024 18:02:15 +0100 Subject: [PATCH] Changes --- components/EntityEdit.vue | 82 ++++++++++++++++++++++-- components/EntityShow.vue | 49 +++++++++++++- components/columnRenderings/contact.vue | 10 ++- components/columnRenderings/customer.vue | 9 ++- components/columnRenderings/plant.vue | 9 ++- components/columnRenderings/profiles.vue | 11 +++- components/columnRenderings/project.vue | 10 ++- components/columnRenderings/vehicle.vue | 11 +++- components/columnRenderings/vendor.vue | 9 ++- stores/data.js | 26 ++++---- 10 files changed, 198 insertions(+), 28 deletions(-) diff --git a/components/EntityEdit.vue b/components/EntityEdit.vue index e94fd53..b62eab5 100644 --- a/components/EntityEdit.vue +++ b/components/EntityEdit.vue @@ -59,9 +59,9 @@ const setupCreate = () => { if(datapoint.inputType === "editor") { if(datapoint.key.includes(".")){ - item[datapoint.key.split(".")[0]][datapoint.key.split(".")[1]] = {} + item.value[datapoint.key.split(".")[0]][datapoint.key.split(".")[1]] = {} } else { - item[datapoint.key] = {} + item.value[datapoint.key] = {} } @@ -76,9 +76,9 @@ const setupQuery = () => { Object.keys(route.query).forEach(key => { if(["customer","contract","plant","contact"].includes(key)){ - item[key] = Number(route.query[key]) + item.value[key] = Number(route.query[key]) } else { - item[key] = route.query[key] + item.value[key] = route.query[key] } }) } @@ -251,6 +251,24 @@ const contentChanged = (content, datapoint) => { /> + + + + + { /> + + + + + { + + + + + { /> + + + + + { > {{datapoint.label}}: - +
{{props.item[datapoint.key.split('.')[0]][datapoint.key.split('.')[1]]}}{{datapoint.unit}} {{props.item[datapoint.key]}} {{datapoint.unit}} @@ -381,6 +381,51 @@ const changeActivePhase = async (key) => { +
+ + + + + + Angebot + + + + Auftragsbestätigung + + + + Lieferschein + + + + Abschlagsrechnung + + + + Rechnung + + + + + + + + +
@@ -403,6 +448,6 @@ td { .scroll { height: 80vh; overflow-y: scroll; - padding: 1em; + padding: 0.3em; } \ No newline at end of file diff --git a/components/columnRenderings/contact.vue b/components/columnRenderings/contact.vue index 7b83524..44c889d 100644 --- a/components/columnRenderings/contact.vue +++ b/components/columnRenderings/contact.vue @@ -4,10 +4,16 @@ const props = defineProps({ type: Object, required: true, default: {} + }, + inShow: { + type: Boolean, + default: false } }) +
+ {{props.row.contact ? props.row.contact.name : ''}} + {{props.row.contact ? props.row.contact.name : ''}} +
diff --git a/components/columnRenderings/customer.vue b/components/columnRenderings/customer.vue index 139b2ea..5c6d131 100644 --- a/components/columnRenderings/customer.vue +++ b/components/columnRenderings/customer.vue @@ -4,10 +4,17 @@ const props = defineProps({ type: Object, required: true, default: {} + }, + inShow: { + type: Boolean, + default: false } }) diff --git a/components/columnRenderings/plant.vue b/components/columnRenderings/plant.vue index 3467c70..5b9358a 100644 --- a/components/columnRenderings/plant.vue +++ b/components/columnRenderings/plant.vue @@ -4,10 +4,17 @@ const props = defineProps({ type: Object, required: true, default: {} + }, + inShow: { + type: Boolean, + default: false } }) diff --git a/components/columnRenderings/profiles.vue b/components/columnRenderings/profiles.vue index 617c3a0..e3f4e07 100644 --- a/components/columnRenderings/profiles.vue +++ b/components/columnRenderings/profiles.vue @@ -4,6 +4,10 @@ const props = defineProps({ type: Object, required: true, default: {} + }, + inShow: { + type: Boolean, + default: false } }) @@ -14,5 +18,10 @@ const profiles = computed(() => props.row.profiles.map(id => profileStore.getPro diff --git a/components/columnRenderings/project.vue b/components/columnRenderings/project.vue index d3cdb50..ec15cb9 100644 --- a/components/columnRenderings/project.vue +++ b/components/columnRenderings/project.vue @@ -4,10 +4,16 @@ const props = defineProps({ type: Object, required: true, default: {} + }, + inShow: { + type: Boolean, + default: false } }) +
+ {{props.row.project ? props.row.project.name : ''}} + {{props.row.project ? props.row.project.name : ''}} +
diff --git a/components/columnRenderings/vehicle.vue b/components/columnRenderings/vehicle.vue index fab74bb..6b60fd3 100644 --- a/components/columnRenderings/vehicle.vue +++ b/components/columnRenderings/vehicle.vue @@ -4,10 +4,19 @@ const props = defineProps({ type: Object, required: true, default: {} + }, + inShow: { + type: Boolean, + default: false } }) diff --git a/components/columnRenderings/vendor.vue b/components/columnRenderings/vendor.vue index 92601dc..d6bb60e 100644 --- a/components/columnRenderings/vendor.vue +++ b/components/columnRenderings/vendor.vue @@ -4,10 +4,17 @@ const props = defineProps({ type: Object, required: true, default: {} + }, + inShow: { + type: Boolean, + default: false } }) diff --git a/stores/data.js b/stores/data.js index 4528f5c..9dc41e2 100644 --- a/stores/data.js +++ b/stores/data.js @@ -122,7 +122,7 @@ export const useDataStore = defineStore('data', () => { numberRangeHolder: "customerNumber", historyItemHolder: "customer", supabaseSortColumn: "customerNumber", - supabaseSelectWithInformation: "*, projects(*), plants(*), contracts(*), contacts(*)", + supabaseSelectWithInformation: "*, projects(*), plants(*), contracts(*), contacts(*), createddocuments(*)", filters: [], templateColumns: [ { @@ -228,7 +228,7 @@ export const useDataStore = defineStore('data', () => { component: profiles }, ], - showTabs: [{label: 'Informationen'},{label: 'Dokumente'},{label: 'Projekte'},{label: 'Objekte'},{label: 'Verträge'}] + showTabs: [{label: 'Informationen'},{label: 'Dokumente'},{label: 'Ausgangsbelege'},{label: 'Projekte'},{label: 'Objekte'},{label: 'Verträge'}] }, contacts: { label: "Kontakte", @@ -307,7 +307,7 @@ export const useDataStore = defineStore('data', () => { inputType: "text", }, { - key: "birtday", + key: "birthday", label: "Geburtstag", inputType: "date", }, @@ -593,7 +593,7 @@ export const useDataStore = defineStore('data', () => { redirect:true, historyItemHolder: "project", numberRangeHolder: "projectNumber", - supabaseSelectWithInformation: "*, customer(name), plant(name), projecttype(name, id), tasks(*), documents(*)", + supabaseSelectWithInformation: "*, customer(id,name), plant(id,name), projecttype(name, id), tasks(*), documents(*), createddocuments(*)", supabaseSortColumn: "projectNumber", filters: [ { @@ -642,13 +642,7 @@ export const useDataStore = defineStore('data', () => { selectDataType: "customers", selectOptionAttribute: "name", selectSearchAttributes: ['name'], - }, - { - key: "notes", - label: "Notizen", - inputType: "textarea" - }, - { + },{ key: "plant", label: "Objekt", component: plant, @@ -656,6 +650,10 @@ export const useDataStore = defineStore('data', () => { selectDataType: "plants", selectOptionAttribute: "name", selectSearchAttributes: ['name'], + },{ + key: "notes", + label: "Notizen", + inputType: "textarea" }, { key: "profiles", @@ -681,6 +679,8 @@ export const useDataStore = defineStore('data', () => { },{ key: "documents", label: "Dokumente" + },{ + label: "Ausgangsbelege" }/*,{ key: "timetracking", label: "Zeiterfassung" @@ -1260,10 +1260,12 @@ export const useDataStore = defineStore('data', () => { { key: "startDate", label: "Start", + inputType: "datetime", }, { key: "endDate", - label: "Ende" + label: "Ende", + inputType: "datetime", },/*{ key: "eventtype", label: "Typ",