Added DocumentBoxes

This commit is contained in:
2025-04-12 11:24:48 +02:00
parent 1a29b47583
commit f49d6f45b6
3 changed files with 93 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ const emit = defineEmits(["updateNeeded"])
const folders = ref([])
const filetypes = ref([])
const documentboxes = ref([])
const setup = async () => {
const {data} = await supabase.from("folders").select().eq("tenant",useProfileStore().currentTenant)
@@ -55,6 +56,7 @@ const setup = async () => {
})
filetypes.value = await useSupabaseSelect("filetags")
documentboxes.value = await useSupabaseSelect("documentboxes")
}
setup()
@@ -371,6 +373,18 @@ const moveFile = async () => {
@change="updateDocument"
/>
</InputGroup>
<UDivider class="my-5">Dokumentenbox</UDivider>
<InputGroup class="w-full">
<USelectMenu
class="flex-auto"
v-model="props.documentData.documentbox"
value-attribute="id"
option-attribute="key"
:options="documentboxes"
@change="updateDocument"
/>
</InputGroup>
</div>
</div>

View File

@@ -54,10 +54,26 @@ const links = computed(() => {
to: "/standardEntity/events",
icon: "i-heroicons-calendar-days"
}] : [],
/*{
label: "Dateien",
to: "/files",
icon: "i-heroicons-document"
},*/
]
},
{
label: "Dokumente",
icon: "i-heroicons-rectangle-stack",
defaultOpen: false,
children: [
{
label: "Dateien",
to: "/files",
icon: "i-heroicons-document"
},{
label: "Boxen",
to: "/standardEntity/documentboxes",
icon: "i-heroicons-archive-box"
},
]
},

View File

@@ -1528,6 +1528,69 @@ export const useDataStore = defineStore('data', () => {
}
]
},
documentboxes: {
isArchivable: true,
label: "Dokumentenboxen",
labelSingle: "Dokumentenbox",
isStandardEntity: true,
supabaseSelectWithInformation: "*, space(*), files(*)",
redirect: true,
numberRangeHolder: "key",
historyItemHolder: "documentbox",
inputColumns: [
"Allgemeines",
],
filters:[{
name: "Archivierte ausblenden",
default: true,
"filterFunction": function (row) {
if(!row.archived) {
return true
} else {
return false
}
}
}],
templateColumns: [
{
key: "space",
label: "Aktueller Lagerplatz",
inputType: "select",
selectDataType: "spaces",
selectOptionAttribute: "name",
selectSearchAttributes: ['name'],
inputColumn: "Allgemeines",
component: space
},
{
key: "key",
label: "Nummer",
inputType: "text",
inputIsNumberRange: true,
inputColumn: "Allgemeines",
title: true,
required: true,
},
{
key: "profiles",
label: "Berechtigte Benutzer",
inputType: "select",
selectDataType: "profiles",
selectOptionAttribute: "fullName",
selectSearchAttributes: ['fullName'],
selectMultiple: true,
component: profiles
},
],
showTabs: [
{
label: 'Informationen',
}, {
label: 'Dateien',
}
]
},
services: {
isArchivable: true,
label: "Leistungen",