-
Lagerplätze
-
+
+
+
+ {{inventoryChangeData}}
+ {{spaces}}
Wareneingang
@@ -81,8 +97,8 @@ function checkSpaceId(spaceId) {
@@ -90,13 +106,19 @@ function checkSpaceId(spaceId) {
label="Lagerplatz:"
class="mt-3 w-80"
>
- -->
+
@@ -110,6 +132,7 @@ function checkSpaceId(spaceId) {
placeholder="Anzahl"
v-model="inventoryChangeData.quantity"
type="number"
+ id="quantityInput"
/>
Bestätigen
+ show
diff --git a/spaces/pages/inventory/spaces.vue b/spaces/pages/inventory/spaces.vue
deleted file mode 100644
index 6ecfe23..0000000
--- a/spaces/pages/inventory/spaces.vue
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{selectedItem.spaceNumber}}{{selectedItem.type}}
-
- {{selectedItem.description}}
-
-
-
-
Artikel in diesem Lagerplatz
-
-
-
- | Artikel |
- Anzahl |
- Einheit |
-
-
- | {{product.name}} |
- {{getSpaceProductCount(product.id)}} |
- {{units.find(unit => unit.id === product.unit).name}} |
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spaces/pages/inventory/spaces/[mode]/[[id]].vue b/spaces/pages/inventory/spaces/[mode]/[[id]].vue
new file mode 100644
index 0000000..abc75ac
--- /dev/null
+++ b/spaces/pages/inventory/spaces/[mode]/[[id]].vue
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+ {{currentItem.spaceNumber}} {{currentItem.type}}
+
+
+ {{currentItem.description}}
+
+
+
+
+
Artikel in diesem Lagerplatz
+
+
+
+ | Artikel |
+ Anzahl |
+ Einheit |
+
+
+ | {{product.name}} |
+ {{getSpaceProductCount(product.id)}} |
+ {{units.find(unit => unit.id === product.unit).name}} |
+
+
+
+
+ Es befinden sich keine Artikel in diesem Lagerplatz
+
+
+
+
+
+ Bearbeiten
+
+
+ Label Drucken
+
+
+ Archivieren
+
+
+
+
+
+
+
+
+ {{itemInfo.spaceNumber}}{{itemInfo.type}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Speichern
+
+
+ Erstellen
+
+
+ Abbrechen
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spaces/pages/inventory/spaces/index.vue b/spaces/pages/inventory/spaces/index.vue
new file mode 100644
index 0000000..77884ca
--- /dev/null
+++ b/spaces/pages/inventory/spaces/index.vue
@@ -0,0 +1,80 @@
+
+
+
+
+ + Lagerplatz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spaces/pages/projects/[id].vue b/spaces/pages/projects/[id].vue
index 1218bfe..0305691 100644
--- a/spaces/pages/projects/[id].vue
+++ b/spaces/pages/projects/[id].vue
@@ -6,11 +6,13 @@ definePageMeta({
import * as dayjs from 'dayjs'
const supabase = useSupabaseClient()
+const user = useSupabaseUser()
const route = useRoute()
-const {getProjectById, getFormSubmitsWithLabelProp, getTimesByProjectId} = useDataStore()
-const {forms, formSubmits, times, profiles} = storeToRefs(useDataStore())
+const {getProjectById, getFormSubmitsWithLabelProp, getTimesByProjectId, getDocumentTags, getDocumentsByProjectId, fetchDocuments} = useDataStore()
+const {forms, formSubmits, times, profiles,documents} = storeToRefs(useDataStore())
+fetchDocuments()
const currentProject = getProjectById(Number(route.params.id))
const formSubmissionsComposed = getFormSubmitsWithLabelProp
@@ -75,6 +77,9 @@ const tabItems = [
},{
key: "forms",
label: "Formulare"
+ },{
+ key: "documents",
+ label: "Dokumente"
},{
key: "description",
label: "Dokumentation"
@@ -131,6 +136,49 @@ const saveProjectDescription = async () => {
};
+const uploadModalOpen = ref(false)
+const fileUploadFormData = ref({
+ tags: ["Dokument"],
+ folder: "Projekte",
+ usedInResource: {
+ type: "Projekt",
+ }
+})
+const tags = getDocumentTags
+const uploadFile = async () => {
+ const file = document.getElementById("fileUploadInput").files[0]
+
+ const {data,error} = await supabase
+ .storage
+ .from("documents")
+ .upload(`${user.value.app_metadata.tenant}/${fileUploadFormData.value.folder}/${currentProject.id}/${file.name}`,file)
+
+ console.log(data)
+ const returnPath = data.path
+
+ if(error) {
+
+ } else {
+ console.log(returnPath)
+ const files = (await supabase.storage.from('documents').list(`${user.value.app_metadata.tenant}/${fileUploadFormData.value.folder}/${currentProject.id}/`, {limit: 100, offset: 0, sortBy: { column: 'name', order: 'asc' }})).data
+ console.log(files)
+ const fileId = files.find(temp => returnPath.includes(temp.name)).id
+
+ fileUploadFormData.value.object = fileId
+ fileUploadFormData.value.path = returnPath
+ fileUploadFormData.value.usedInResource.id = currentProject.id
+ console.log(fileUploadFormData.value)
+
+ const {data,error} = await supabase
+ .from("documents")
+ .insert([fileUploadFormData.value])
+ .select()
+ console.log(data)
+ console.log(error)
+ }
+
+ uploadModalOpen.value = false;
+}
const updatePhases = async () => {
//await update('projects', route.params.id, {phases: project.attributes.phases})
@@ -240,6 +288,84 @@ const phaseInfo = ref({
+