From c3a7352fb8908f82789b48cd0564d13cbd81df65 Mon Sep 17 00:00:00 2001 From: riefive Date: Mon, 20 Oct 2025 12:01:51 +0700 Subject: [PATCH] feat(sep): fix get patient data --- app/components/app/sep/entry-form.vue | 21 ++++++++++----------- app/components/content/sep/entry.vue | 8 ++++---- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/app/components/app/sep/entry-form.vue b/app/components/app/sep/entry-form.vue index 1a3e52d3..c8e8beb0 100644 --- a/app/components/app/sep/entry-form.vue +++ b/app/components/app/sep/entry-form.vue @@ -32,7 +32,6 @@ const emit = defineEmits<{ const isLoading = props.isLoading !== undefined ? props.isLoading : false const isReadonly = props.isReadonly !== undefined ? props.isReadonly : false -const patient = props.patient || ({} as PatientEntity) const items = [ { value: 'item-1', label: 'Item 1' }, @@ -63,21 +62,21 @@ const [cataract, cataractAttrs] = defineField('cataract') const [procedureType, procedureTypeAttrs] = defineField('procedureType') const [supportCode, supportCodeAttrs] = defineField('supportCode') -if (Object.keys(patient).length > 0) { - bpjsNumber.value = '-' - nationalId.value = patient?.person?.residentIdentityNumber || '-' - medicalRecordNumber.value = patient?.number || '-' - patientName.value = patient?.person?.name || '-' - phoneNumber.value = '-' -} - // Submit handler const onSubmit = handleSubmit((values) => { console.log('✅ Validated form values:', values) }) -watch(patient, () => { - console.log('patient changed:', patient) +watch(props, (value) => { + console.log('patient changed:', value) + const patient = value.patient || ({} as PatientEntity) + if (Object.keys(patient).length > 0) { + bpjsNumber.value = '-' + nationalId.value = patient?.person?.residentIdentityNumber || '-' + medicalRecordNumber.value = patient?.number || '-' + patientName.value = patient?.person?.name || '-' + phoneNumber.value = '-' + } }) diff --git a/app/components/content/sep/entry.vue b/app/components/content/sep/entry.vue index e159edbd..7a8cb327 100644 --- a/app/components/content/sep/entry.vue +++ b/app/components/content/sep/entry.vue @@ -88,8 +88,6 @@ async function getPatientsList(params: any = { 'page-size': 10 }) { } async function getPatientCurrent(id: string) { - isPatientsLoading.value = true - selectedPatientObject.value = null try { const result = await getPatientDetail(Number(id)) if (result && result.success && result.body && result.body.data) { @@ -99,7 +97,6 @@ async function getPatientCurrent(id: string) { } catch (err) { console.error('Failed to fetch patient:', err) } - isPatientsLoading.value = false } async function getMonitoringHistoryMappers() { @@ -143,7 +140,10 @@ const letters = [ ] function handleSavePatient() { - getPatientCurrent(selectedPatient.value) + selectedPatientObject.value = null + setTimeout(() => { + getPatientCurrent(selectedPatient.value) + }, 150) } function handleSaveLetter() {