78 lines
2.1 KiB
Vue
78 lines
2.1 KiB
Vue
<script setup lang="ts">
|
|
import Nav from '~/components/pub/my-ui/nav-footer/ba-de-su.vue'
|
|
import NavOk from '~/components/pub/my-ui/nav-footer/ok.vue'
|
|
import Header from '~/components/pub/my-ui/nav-header/prep.vue'
|
|
import Dialog from '~/components/pub/my-ui/modal/dialog.vue'
|
|
|
|
import { useQueryCRUDMode } from '~/composables/useQueryCRUD'
|
|
import { type HeaderPrep } from '~/components/pub/my-ui/data/types'
|
|
|
|
// mcu src category
|
|
import ScrCategorySwitcher from '~/components/app/mcu-src-category/switcher.vue'
|
|
import { getList as getMcuCategoryList } from '~/services/mcu-src-category.service'
|
|
|
|
// mcu src
|
|
import { type McuSrc } from '~/models/mcu-src'
|
|
import { getList as getMcuSrcList } from '~/services/mcu-src.service'
|
|
import McuSrcPicker from '~/components/app/mcu-src/picker-accordion.vue'
|
|
|
|
// mcu order
|
|
import { getDetail } from '~/services/mcu-order.service'
|
|
import Detail from '~/components/app/mcu-order/detail.vue'
|
|
|
|
// mcu order item, manually not using composable
|
|
import {
|
|
getList as getMcuOrderItemList,
|
|
create as createMcuOrderItem,
|
|
remove as removeMcuOrderItem,
|
|
} from '~/services/mcu-order-item.service'
|
|
import { type McuOrderItem } from '~/models/mcu-order-item'
|
|
import Entry from '~/components/app/mcu-order/entry-for-ap.vue'
|
|
|
|
// props
|
|
const props = defineProps<{
|
|
encounter_id: number
|
|
}>()
|
|
|
|
// declaration & flows
|
|
|
|
// MCU Order
|
|
const { getQueryParam } = useQueryParam()
|
|
const id = getQueryParam('id')
|
|
const dataRes = await getDetail(
|
|
typeof id === 'string' ? parseInt(id) : 0,
|
|
{ includes: 'encounter,doctor,doctor-employee,doctor-employee-person' }
|
|
)
|
|
const data = dataRes.body?.data
|
|
|
|
// MCU Sources
|
|
const { backToList } = useQueryCRUDMode()
|
|
|
|
const headerPrep: HeaderPrep = {
|
|
title: 'Entry Order LAB PA',
|
|
icon: 'i-lucide-box',
|
|
}
|
|
|
|
function navClick(type: 'back' | 'delete' | 'draft' | 'submit') {
|
|
if (type === 'back') {
|
|
backToList()
|
|
}
|
|
}
|
|
|
|
</script>
|
|
|
|
<template>
|
|
<Header
|
|
:prep="headerPrep"
|
|
:ref-search-nav="headerPrep.refSearchNav"
|
|
class="mb-4 xl:mb-5"
|
|
/>
|
|
|
|
<Entry />
|
|
<Separator class="my-5" />
|
|
|
|
<div class="w-full flex justify-center">
|
|
<Nav @click="navClick" />
|
|
</div>
|
|
</template>
|