feat(sep): avoid duplicate get patinet

This commit is contained in:
riefive
2025-11-13 13:15:23 +07:00
parent 8f8cc0c815
commit 90abcf78a3
+5 -2
View File
@@ -85,6 +85,7 @@ const classPaySourcesList = ref<Array<{ value: string; label: string }>>([])
const isServiceHidden = ref(false) const isServiceHidden = ref(false)
const isSaveLoading = ref(false) const isSaveLoading = ref(false)
const isLetterReadonly = ref(false) const isLetterReadonly = ref(false)
const isLoadingPatient = ref(false)
const specialistsTree = ref<TreeItem[]>([]) const specialistsTree = ref<TreeItem[]>([])
const resourceType = ref('') const resourceType = ref('')
const resourcePath = ref('') const resourcePath = ref('')
@@ -213,6 +214,7 @@ async function getPatientInternalMappers(id: string) {
async function getPatientExternalMappers(id: string, type: string) { async function getPatientExternalMappers(id: string, type: string) {
try { try {
isLoadingPatient.value = true
const result = await getMemberList({ const result = await getMemberList({
mode: type, mode: type,
number: id, number: id,
@@ -228,8 +230,10 @@ async function getPatientExternalMappers(id: string, type: string) {
selectedObjects.value['classLevel'] = memberRaws?.peserta?.hakKelas?.kode || '' selectedObjects.value['classLevel'] = memberRaws?.peserta?.hakKelas?.kode || ''
selectedObjects.value['status'] = memberRaws?.statusPeserta?.kode || '' selectedObjects.value['status'] = memberRaws?.statusPeserta?.kode || ''
} }
isLoadingPatient.value = false
} catch (err) { } catch (err) {
console.error('Failed to load patient from query params:', 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 return
} }
if (menu === 'search-patient-by-identifier') { if (menu === 'search-patient-by-identifier') {
if (isLoadingPatient.value) return
const text = value.text const text = value.text
const type = value.type const type = value.type
const prevCardNumber = selectedObjects.value['cardNumber'] || '' const prevCardNumber = selectedObjects.value['cardNumber'] || ''
const prevNationalIdentity = selectedObjects.value['nationalIdentity'] || '' const prevNationalIdentity = selectedObjects.value['nationalIdentity'] || ''
console.log(text, prevCardNumber)
console.log(text, prevNationalIdentity)
if (type === 'indentity' && text !== prevNationalIdentity) { if (type === 'indentity' && text !== prevNationalIdentity) {
await getPatientByIdentifierSearch(text) await getPatientByIdentifierSearch(text)
await getPatientExternalMappers(text, 'by-identity') await getPatientExternalMappers(text, 'by-identity')