Files
simrsx-fe/app/components/content/soapi/entry.vue

40 lines
934 B
Vue

<script setup lang="ts">
import { computed } from 'vue'
import { useRoute } from 'vue-router'
import { useQueryMode } from '@/composables/useQueryMode'
import SoapiList from './list.vue'
import EarlyForm from './form.vue'
import RehabForm from './form-rehab.vue'
import FunctionForm from './form-function.vue'
const route = useRoute()
const type = computed(() => (route.query.tab as string) || 'early-medical-assessment')
const { mode, goToEntry, backToList } = useQueryCRUDMode('mode')
const formMap = {
'early-medical-assessment': EarlyForm,
'rehab-medical-assessment': RehabForm,
'function-assessment': FunctionForm,
}
const ActiveForm = computed(() => formMap[type.value] || EarlyForm)
</script>
<template>
<div>
<SoapiList
v-if="mode === 'list'"
@add="goToEntry"
@edit="goToEntry"
/>
<component
v-else
:is="ActiveForm"
@back="backToList"
/>
</div>
</template>