From 90abcf78a36852b8bd0373d02becbc435d3437e4 Mon Sep 17 00:00:00 2001 From: riefive Date: Wed, 12 Nov 2025 14:00:50 +0700 Subject: [PATCH] feat(sep): avoid duplicate get patinet --- app/components/content/sep/entry.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/components/content/sep/entry.vue b/app/components/content/sep/entry.vue index 63562e56..bb4a837e 100644 --- a/app/components/content/sep/entry.vue +++ b/app/components/content/sep/entry.vue @@ -85,6 +85,7 @@ const classPaySourcesList = ref>([]) const isServiceHidden = ref(false) const isSaveLoading = ref(false) const isLetterReadonly = ref(false) +const isLoadingPatient = ref(false) const specialistsTree = ref([]) const resourceType = ref('') const resourcePath = ref('') @@ -213,6 +214,7 @@ async function getPatientInternalMappers(id: string) { async function getPatientExternalMappers(id: string, type: string) { try { + isLoadingPatient.value = true const result = await getMemberList({ mode: type, number: id, @@ -228,8 +230,10 @@ async function getPatientExternalMappers(id: string, type: string) { selectedObjects.value['classLevel'] = memberRaws?.peserta?.hakKelas?.kode || '' selectedObjects.value['status'] = memberRaws?.statusPeserta?.kode || '' } + isLoadingPatient.value = false } catch (err) { console.error('Failed to load patient from query params:', err) + isLoadingPatient.value = false } } @@ -349,12 +353,11 @@ async function handleEvent(menu: string, value: any) { return } if (menu === 'search-patient-by-identifier') { + if (isLoadingPatient.value) return const text = value.text const type = value.type const prevCardNumber = selectedObjects.value['cardNumber'] || '' const prevNationalIdentity = selectedObjects.value['nationalIdentity'] || '' - console.log(text, prevCardNumber) - console.log(text, prevNationalIdentity) if (type === 'indentity' && text !== prevNationalIdentity) { await getPatientByIdentifierSearch(text) await getPatientExternalMappers(text, 'by-identity')