Merge branch 'dev' into feat/laporan-tindakan-185
This commit is contained in:
@@ -44,6 +44,10 @@ import EncounterHistoryButtonMenu from '~/components/app/encounter/quick-shortcu
|
||||
const props = defineProps<{
|
||||
classCode: EncounterProps['classCode']
|
||||
subClassCode?: EncounterProps['subClassCode']
|
||||
canCreate?: boolean
|
||||
canRead?: boolean
|
||||
canUpdate?: boolean
|
||||
canDelete?: boolean
|
||||
}>()
|
||||
|
||||
// Common preparations
|
||||
@@ -162,7 +166,7 @@ onMounted(async () => {
|
||||
///// Functions
|
||||
function handleClick(type: string) {
|
||||
if (type === 'draft') {
|
||||
router.back()
|
||||
router.push(`/${props.classCode}/encounter`)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,27 +193,13 @@ async function getData() {
|
||||
|
||||
<template>
|
||||
<div class="w-full">
|
||||
<div class="bg-white p-4 dark:bg-slate-800 2xl:p-5">
|
||||
<div class="mb-4 flex">
|
||||
<div>
|
||||
<ContentNavBa
|
||||
label="Kembali"
|
||||
@click="handleClick"
|
||||
/>
|
||||
</div>
|
||||
<!-- <div class="ms-auto pe-3 pt-1 text-end text-xl 2xl:text-2xl font-semibold">
|
||||
Pasien: {{ data.patient.person.name }} --- No. RM: {{ data.patient.number }}
|
||||
</div> -->
|
||||
<div class="bg-white dark:bg-slate-800">
|
||||
<div class="p-3 2xl:p-4 border-b border-slate-300 dark:border-slate-700">
|
||||
<ContentNavBa label="Kembali Ke Daftar" @click="handleClick" />
|
||||
</div>
|
||||
<ContentSwitcher
|
||||
:active="1"
|
||||
:height="150"
|
||||
>
|
||||
<ContentSwitcher :active="1" class="h-[130px] 2xl:h-[160px]">
|
||||
<template v-slot:content1>
|
||||
<EncounterPatientInfo
|
||||
v-if="isShowPatient"
|
||||
:data="data"
|
||||
/>
|
||||
<EncounterPatientInfo v-if="isShowPatient" :data="data" />
|
||||
</template>
|
||||
<template v-slot:content2>
|
||||
<EncounterHistoryButtonMenu v-if="isShowPatient" />
|
||||
@@ -220,6 +210,10 @@ async function getData() {
|
||||
:data="menus"
|
||||
:initial-active-menu="activeMenu"
|
||||
@change-menu="activeMenu = $event"
|
||||
:can-create="canCreate"
|
||||
:can-read="canRead"
|
||||
:can-update="canUpdate"
|
||||
:can-delete="canDelete"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -5,6 +5,7 @@ import { getValueLabelList as getEmployeeValueLabelList } from '~/services/emplo
|
||||
import { getValueLabelList as getUnitValueLabelList } from '~/services/unit.service'
|
||||
import type { CheckInFormData, CheckOutFormData } from '~/schemas/encounter.schema'
|
||||
import { CheckInSchema, CheckOutSchema } from '~/schemas/encounter.schema'
|
||||
import { getEncounterData } from '~/handlers/encounter-process.handler'
|
||||
|
||||
//
|
||||
import Dialog from '~/components/pub/my-ui/modal/dialog.vue'
|
||||
@@ -18,10 +19,12 @@ import { checkIn } from '~/services/encounter.service'
|
||||
//
|
||||
const props = defineProps<{
|
||||
encounter: Encounter
|
||||
canUpdate?: boolean
|
||||
}>()
|
||||
|
||||
// doctors
|
||||
const doctors = await getDoctorValueLabelList({'includes': 'employee,employee-person'})
|
||||
const localEncounter = ref<Encounter>(props.encounter)
|
||||
const doctors = await getDoctorValueLabelList({'includes': 'employee,employee-person'}, true)
|
||||
const employees = await getEmployeeValueLabelList({'includes': 'person', 'position-code': 'reg'})
|
||||
const units = await getUnitValueLabelList()
|
||||
|
||||
@@ -32,7 +35,7 @@ const checkInValues = ref<any>({
|
||||
// registeredAt: '',
|
||||
})
|
||||
const checkInIsLoading = ref(false)
|
||||
const checkInIsReadonly = ref(false)
|
||||
const checkInIsReadonly = ref(props.canUpdate )
|
||||
const checkInDialogOpen = ref(false)
|
||||
|
||||
// check out
|
||||
@@ -49,8 +52,15 @@ function editCheckIn() {
|
||||
checkInDialogOpen.value = true
|
||||
}
|
||||
|
||||
function submitCheckIn(values: CheckInFormData) {
|
||||
checkIn(props.encounter.id, values)
|
||||
async function submitCheckIn(values: CheckInFormData) {
|
||||
const res = await checkIn(props.encounter.id, values)
|
||||
if (res.success) {
|
||||
checkInDialogOpen.value = false
|
||||
const resEnc = await getEncounterData(props.encounter.id)
|
||||
if (resEnc.success) {
|
||||
localEncounter.value = resEnc.body.data
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function editCheckOut() {
|
||||
@@ -67,9 +77,8 @@ function submitCheckOut(values: CheckOutFormData) {
|
||||
<div class="border-r lg:pe-4 xl:pe-5 mb-10">
|
||||
<div class="mb-4 xl:mb-5 text-base text-center font-semibold">Informasi Masuk</div>
|
||||
<CheckInView
|
||||
:encounter="encounter"
|
||||
:is-loading="checkInIsLoading"
|
||||
:is-readonly="checkInIsReadonly"
|
||||
:encounter="localEncounter"
|
||||
:can-update="canUpdate"
|
||||
@edit="editCheckIn"
|
||||
/>
|
||||
</div>
|
||||
@@ -77,9 +86,8 @@ function submitCheckOut(values: CheckOutFormData) {
|
||||
<Separator class="lg:hidden my-4 xl:my-5" />
|
||||
<div class="mb-4 xl:mb-5 text-base text-center font-semibold">Informasi Keluar</div>
|
||||
<CheckOutView
|
||||
:encounter="encounter"
|
||||
:is-loading="checkOutIsLoading"
|
||||
:is-readonly="checkOutIsReadonly"
|
||||
:encounter="localEncounter"
|
||||
:can-update="canUpdate"
|
||||
@edit="editCheckOut"
|
||||
/>
|
||||
</div>
|
||||
@@ -122,4 +130,4 @@ function submitCheckOut(values: CheckOutFormData) {
|
||||
@cancel="checkInDialogOpen = false"
|
||||
/>
|
||||
</Dialog>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user