Introduced EntityEdit.vue
Introduced EntityShow.vue Deprecated following as non standardEntity contracts, customers, vendors, projects, plants, vehicles
This commit is contained in:
60
pages/standardEntity/[type]/[[mode]]/[[id]].vue
Normal file
60
pages/standardEntity/[type]/[[mode]]/[[id]].vue
Normal file
@@ -0,0 +1,60 @@
|
||||
<script setup>
|
||||
const route = useRoute()
|
||||
const dataStore = useDataStore()
|
||||
|
||||
const type = route.params.type
|
||||
|
||||
const dataType = dataStore.dataTypes[route.params.type]
|
||||
|
||||
const loaded = ref(false)
|
||||
const mode = ref("list")
|
||||
const items = ref([])
|
||||
const item = ref({})
|
||||
|
||||
const setupPage = async () => {
|
||||
if(route.params.mode) mode.value = route.params.mode
|
||||
|
||||
if(mode.value === "show") {
|
||||
//Load Data for Show
|
||||
item.value = await useSupabaseSelectSingle(type, route.params.id, dataType.supabaseSelectWithInformation || "*")
|
||||
} else if(mode.value === "edit") {
|
||||
//Load Data for Edit
|
||||
item.value = await useSupabaseSelectSingle(type, route.params.id)
|
||||
} else if(mode.value === "list") {
|
||||
//Load Data for List
|
||||
items.value = await useSupabaseSelect(type, dataType.supabaseSelectWithInformation || "*", dataType.supabaseSortColumn)
|
||||
}
|
||||
|
||||
loaded.value = true
|
||||
}
|
||||
|
||||
setupPage()
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<EntityShow
|
||||
v-if="loaded && mode === 'show'"
|
||||
:type="route.params.type"
|
||||
:item="item"
|
||||
/>
|
||||
<EntityEdit
|
||||
v-else-if="loaded && (mode === 'edit' || mode === 'create')"
|
||||
:type="route.params.type"
|
||||
:item="item"
|
||||
/>
|
||||
<EntityList
|
||||
v-else-if="loaded && mode === 'list'"
|
||||
:type="type"
|
||||
:items="items"
|
||||
/>
|
||||
<UProgress
|
||||
v-else
|
||||
animation="carousel"
|
||||
class="p-5 mt-10"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user