commitbcfb4c1456Merge:1cbde57975c87dAuthor: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Mon Nov 17 11:15:14 2025 +0700 Merge pull request #147 from dikstub-rssa/feat/surat-kontrol-135 Feat: Integration Rehab Medik - Surat Kontrol commit975c87d99aMerge:f5820901cbde57Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Nov 17 10:58:10 2025 +0700 Merge branch 'dev' into feat/surat-kontrol-135 commitf582090d18Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Thu Nov 13 11:56:21 2025 +0700 Fix: Refactor surat kontrol commita14c4a5d3cAuthor: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 11 14:21:58 2025 +0700 Fix: Refactor Surat Kontrol CRUD {id} to {code} commit24313adef6Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Fri Nov 7 10:35:46 2025 +0700 Fix: debug back btn in add, edit, detail content page commit59b44b5729Merge:99a61a0db15ec9Author: Muhammad Hasyim Chaidir Ali <68959522+Hasyim-Kai@users.noreply.github.com> Date: Fri Nov 7 09:11:10 2025 +0700 Merge branch 'dev' into feat/surat-kontrol-135 commit99a61a0bf2Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Thu Nov 6 08:06:01 2025 +0700 Feat: add right & bottom label in input base component commitdb48919325Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:53:43 2025 +0700 Feat: add banner in List if requirement not met commitbd57250f7eAuthor: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:26:48 2025 +0700 Fix: refactor getDetail url param commita361922e32Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:19:07 2025 +0700 Feat: Add & integrate add, edit, detail page commit331f4a6b20Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 4 16:56:08 2025 +0700 Feat: Integrate Control Letter commit2275f4dc99Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Oct 27 14:01:58 2025 +0700 Feat: add UI BPJS > Surat Kontrol commit89e0e7a2c8Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Oct 27 10:21:59 2025 +0700 Feat: add UI CRUD Surat Kontrol at Rehab Medik > kunjungan > Proses
80 lines
1.9 KiB
Vue
80 lines
1.9 KiB
Vue
<script setup lang="ts">
|
|
import { useRouter } from 'vue-router'
|
|
import { withBase } from '~/models/_base'
|
|
import type { HeaderPrep } from '~/components/pub/my-ui/data/types'
|
|
import type { Patient } from '~/models/patient'
|
|
import type { Person } from '~/models/person'
|
|
import { getDetail } from '~/services/control-letter.service'
|
|
|
|
// Components
|
|
import Header from '~/components/pub/my-ui/nav-header/prep.vue'
|
|
import type { ControlLetter } from '~/models/control-letter'
|
|
|
|
// #region Props & Emits
|
|
const props = defineProps<{
|
|
}>()
|
|
|
|
// #endregion
|
|
|
|
// #region State & Computed
|
|
|
|
const route = useRoute()
|
|
const router = useRouter()
|
|
const encounterId = typeof route.params.id == 'string' ? parseInt(route.params.id) : 0
|
|
const controlLetterId = typeof route.params.control_letter_id == 'string' ? parseInt(route.params.control_letter_id) : 0
|
|
|
|
const controlLetter = ref<ControlLetter | null>(null)
|
|
|
|
const headerPrep: HeaderPrep = {
|
|
title: 'Detail Surat Kontrol',
|
|
icon: 'i-lucide-newspaper',
|
|
}
|
|
|
|
// #endregion
|
|
|
|
// #region Lifecycle Hooks
|
|
onMounted(async () => {
|
|
const result = await getDetail(controlLetterId, {
|
|
includes: "unit,specialist,subspecialist,doctor-employee-person",
|
|
})
|
|
if (result.success) {
|
|
controlLetter.value = result.body?.data
|
|
}
|
|
})
|
|
// #endregion
|
|
|
|
// #region Functions
|
|
function goBack() {
|
|
router.go(-1)
|
|
}
|
|
|
|
// #endregion region
|
|
|
|
// #region Utilities & event handlers
|
|
function handleAction(type: string) {
|
|
switch (type) {
|
|
case 'edit':
|
|
// TODO: Handle edit action
|
|
navigateTo({
|
|
name: 'rehab-encounter-id-control-letter-control_letter_id-edit',
|
|
params: { id: encounterId, "control_letter_id": controlLetterId },
|
|
})
|
|
break
|
|
|
|
case 'back':
|
|
goBack()
|
|
break
|
|
}
|
|
}
|
|
// #endregion
|
|
|
|
// #region Watchers
|
|
// #endregion
|
|
</script>
|
|
|
|
<template>
|
|
<Header :prep="headerPrep" :ref-search-nav="headerPrep.refSearchNav" />
|
|
|
|
<AppControlLetterPreview :instance="controlLetter" @click="handleAction" />
|
|
</template>
|