56 lines
1.5 KiB
Vue
56 lines
1.5 KiB
Vue
<script lang="ts" setup>
|
|
// Components
|
|
import { LucidePen } from 'lucide-vue-next';
|
|
import * as DE from '~/components/pub/my-ui/doc-entry'
|
|
import Input from '~/components/pub/ui/input/Input.vue';
|
|
import type { Encounter } from '~/models/encounter'
|
|
|
|
interface Props {
|
|
encounter: Encounter
|
|
}
|
|
const props = defineProps<Props>()
|
|
const doctor = ref('-belum dipilih-')
|
|
const adm = ref('-belum dipilih-')
|
|
|
|
const emit = defineEmits<{
|
|
edit: []
|
|
}>()
|
|
|
|
watch(props.encounter, () => {
|
|
doctor.value = props.encounter.responsible_doctor?.employee?.person?.name ?? props.encounter.appointment_doctor?.employee?.person?.name ?? '-belum dipilih-'
|
|
adm.value = props.encounter.adm_employee?.person?.name ?? '-belum dipilih-'
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<DE.Block :cell-flex="false">
|
|
<DE.Cell>
|
|
<DE.Label class="font-semibold">Dokter</DE.Label>
|
|
<DE.Field>
|
|
<div class="py-2 border-b border-b-slate-300">{{ doctor }}</div>
|
|
</DE.Field>
|
|
</DE.Cell>
|
|
<DE.Cell>
|
|
<DE.Label class="font-semibold">PJ Berkas</DE.Label>
|
|
<DE.Field>
|
|
<div class="py-2 border-b border-b-slate-300">{{ adm }}</div>
|
|
</DE.Field>
|
|
</DE.Cell>
|
|
<DE.Cell>
|
|
<DE.Label class="font-semibold">Waktu Masuk</DE.Label>
|
|
<DE.Field>
|
|
<div class="py-2 border-b border-b-slate-300">{{ encounter?.registeredAt || '-' }}</div>
|
|
</DE.Field>
|
|
</DE.Cell>
|
|
</DE.Block>
|
|
<div class="text-center">
|
|
<Button @click="() => emit('edit')">
|
|
<LucidePen />
|
|
Edit
|
|
</Button>
|
|
</div>
|
|
</template>
|
|
|
|
<style>
|
|
|
|
</style> |