diff --git a/app/components/content/chemotherapy/process.vue b/app/components/content/chemotherapy/process.vue index e6ae4b45..e6238c82 100644 --- a/app/components/content/chemotherapy/process.vue +++ b/app/components/content/chemotherapy/process.vue @@ -10,11 +10,19 @@ import type { TabItem } from '~/components/pub/my-ui/comp-tab/type' import CompTab from '~/components/pub/my-ui/comp-tab/comp-tab.vue' // PLASE ORDER BY TAB POSITION +import Status from '~/components/content/encounter/status.vue' +import EarlyMedicalAssesmentList from '~/components/content/soapi/entry.vue' +import EarlyMedicalRehabList from '~/components/content/soapi/entry.vue' +import PrescriptionList from '~/components/content/prescription/list.vue' +import Consultation from '~/components/content/consultation/list.vue' import ProtocolList from '~/components/app/chemotherapy/list.protocol.vue' import MedicineProtocolList from '~/components/app/chemotherapy/list.medicine.vue' const route = useRoute() const router = useRouter() +const mode = computed(() => { + return route.query.mode as string || 'series' +}) // activeTab selalu sinkron dengan query param const activeTab = computed({ @@ -25,12 +33,32 @@ const activeTab = computed({ }) const id = typeof route.params.id == 'string' ? parseInt(route.params.id) : 0 -const dataRes = await getDetail(id, { - includes: - 'patient,patient-person,patient-person-addresses,unit,Appointment_Doctor,Appointment_Doctor-employee,Appointment_Doctor-employee-person', +// const dataRes = await getDetail(id, { +// includes: +// 'patient,patient-person,patient-person-addresses,unit,Appointment_Doctor,Appointment_Doctor-employee,Appointment_Doctor-employee-person', +// }) +// const dataResBody = dataRes.body ?? null +// const data = dataResBody?.data ?? null + +// Dummy data so AppEncounterQuickInfo can render in development/storybook +// Replace with real API result when available (see commented fetch below) +const data = ref({ + patient: { + number: 'RM-2025-0001', + person: { + name: 'John Doe', + birthDate: '1980-01-01T00:00:00Z', + gender_code: 'M', + addresses: [{ address: 'Jl. Contoh No.1, Jakarta' }], + frontTitle: '', + endTitle: '', + }, + }, + visitDate: new Date().toISOString(), + unit: { name: 'Onkologi' }, + responsible_doctor: null, + appointment_doctor: { employee: { person: { name: 'Dr. Clara Smith', frontTitle: 'Dr.', endTitle: 'Sp.OG' } } }, }) -const dataResBody = dataRes.body ?? null -const data = dataResBody?.data ?? null // Dummy rows for ProtocolList (matches keys expected by list-cfg.protocol) const protocolRows = [ @@ -62,8 +90,40 @@ const paginationMeta = { } const tabs: TabItem[] = [ - { value: 'chemotherapy-protocol', label: 'Protokol Kemoterapi', component: ProtocolList, props: { data: protocolRows, paginationMeta } }, - { value: 'chemotherapy-medicine', label: 'Protokol Obat Kemoterapi', component: MedicineProtocolList, props: { data: protocolRows, paginationMeta } }, + { value: 'status', label: 'Status Masuk/Keluar', component: Status, props: { encounter: data } }, + { value: 'early-medical-assessment', label: 'Pengkajian Awal Medis', component: EarlyMedicalAssesmentList }, + { + value: 'rehab-medical-assessment', + label: 'Pengkajian Awal Medis Rehabilitasi Medis', + component: EarlyMedicalRehabList, + }, + { + value: 'chemotherapy-protocol', + label: 'Protokol Kemoterapi', + component: ProtocolList, + props: { data: protocolRows, paginationMeta }, + }, + { + value: 'chemotherapy-medicine', + label: 'Protokol Obat Kemoterapi', + component: MedicineProtocolList, + props: { data: protocolRows, paginationMeta }, + }, + { value: 'report', label: 'Laporan Tindakan' }, + { value: 'patient-note', label: 'CPRJ' }, + { value: 'prescription', label: 'Order Obat', component: PrescriptionList }, + { value: 'device', label: 'Order Alkes' }, + { value: 'mcu-radiology', label: 'Order Radiologi' }, + { value: 'mcu-lab-pc', label: 'Order Lab PK' }, + { value: 'mcu-lab-micro', label: 'Order Lab Mikro' }, + { value: 'mcu-lab-pa', label: 'Order Lab PA' }, + { value: 'medical-action', label: 'Order Ruang Tindakan' }, + { value: 'mcu-result', label: 'Hasil Penunjang' }, + { value: 'consultation', label: 'Konsultasi', component: Consultation, props: { encounter: data } }, + { value: 'resume', label: 'Resume' }, + { value: 'control', label: 'Surat Kontrol' }, + { value: 'screening', label: 'Skrinning MPP' }, + { value: 'price-list', label: 'Tarif Tindakan' }, ] @@ -74,10 +134,10 @@ const tabs: TabItem[] = [ - diff --git a/app/pages/(features)/outpatient-action/chemotherapy/[id]/index.vue b/app/pages/(features)/outpation-action/chemotherapy/[id]/index.vue similarity index 100% rename from app/pages/(features)/outpatient-action/chemotherapy/[id]/index.vue rename to app/pages/(features)/outpation-action/chemotherapy/[id]/index.vue diff --git a/app/pages/(features)/outpatient-action/chemotherapy/index.vue b/app/pages/(features)/outpation-action/chemotherapy/index.vue similarity index 76% rename from app/pages/(features)/outpatient-action/chemotherapy/index.vue rename to app/pages/(features)/outpation-action/chemotherapy/index.vue index 4dd31ebe..a2dfdea5 100644 --- a/app/pages/(features)/outpatient-action/chemotherapy/index.vue +++ b/app/pages/(features)/outpation-action/chemotherapy/index.vue @@ -1,7 +1,7 @@