fix(sep): add external mapper for member
This commit is contained in:
@@ -15,7 +15,6 @@ import TreeSelect from '~/components/pub/my-ui/select-tree/tree-select.vue'
|
||||
|
||||
// Types
|
||||
import { IntegrationBpjsSchema, type IntegrationBpjsFormData } from '~/schemas/integration-bpjs.schema'
|
||||
import type { PatientEntity } from '~/models/patient'
|
||||
import type { TreeItem } from '~/components/pub/my-ui/select-tree/type'
|
||||
|
||||
// Helpers
|
||||
@@ -48,7 +47,6 @@ const props = defineProps<{
|
||||
cities: any[]
|
||||
districts: any[]
|
||||
specialists?: TreeItem[]
|
||||
patient?: PatientEntity | null | undefined
|
||||
objects?: any
|
||||
values?: any
|
||||
}>()
|
||||
@@ -138,7 +136,6 @@ const onSubmit = handleSubmit((values) => {
|
||||
})
|
||||
|
||||
watch(props, (value) => {
|
||||
const patient = value.patient || ({} as PatientEntity)
|
||||
const objects = value.objects || ({} as any)
|
||||
if (Object.keys(objects).length > 0) {
|
||||
sepDate.value = objects?.registerDate || new Date().toISOString().substring(0, 10)
|
||||
@@ -160,13 +157,6 @@ watch(props, (value) => {
|
||||
isDateReload.value = false
|
||||
}, 100)
|
||||
}
|
||||
if (Object.keys(patient).length > 0) {
|
||||
cardNumber.value = '-'
|
||||
nationalId.value = patient?.person?.residentIdentityNumber || '-'
|
||||
medicalRecordNumber.value = patient?.number || '-'
|
||||
patientName.value = patient?.person?.name || '-'
|
||||
phoneNumber.value = '-'
|
||||
}
|
||||
})
|
||||
|
||||
// Watch debounced search values
|
||||
|
||||
@@ -218,9 +218,9 @@ async function getPatientInternalMappers(id: string) {
|
||||
if (selectedPatientObject.value) {
|
||||
const patient = selectedPatientObject.value
|
||||
selectedObjects.value['cardNumber'] = '-'
|
||||
selectedObjects.value['patientName'] = patient?.person?.name || '-'
|
||||
selectedObjects.value['nationalIdentity'] = patient?.person?.residentIdentityNumber || '-'
|
||||
selectedObjects.value['medicalRecordNumber'] = patient?.number || '-'
|
||||
selectedObjects.value['patientName'] = patient?.person?.name || '-'
|
||||
selectedObjects.value['phoneNumber'] = patient?.person?.contacts?.[0]?.value || '-'
|
||||
}
|
||||
} catch (err) {
|
||||
@@ -230,11 +230,21 @@ async function getPatientInternalMappers(id: string) {
|
||||
|
||||
async function getPatientExternalMappers(id: string, type: string) {
|
||||
try {
|
||||
const resultMember = await getMemberList({
|
||||
const result = await getMemberList({
|
||||
mode: type,
|
||||
number: id,
|
||||
date: new Date().toISOString().substring(0, 10),
|
||||
})
|
||||
if (result && result.success && result.body) {
|
||||
const memberRaws = result.body?.response || null
|
||||
selectedObjects.value['cardNumber'] = memberRaws?.peserta?.noKartu || ''
|
||||
selectedObjects.value['nationalIdentity'] = memberRaws?.peserta?.nik || ''
|
||||
selectedObjects.value['medicalRecordNumber'] = memberRaws?.peserta?.mr?.noMR || ''
|
||||
selectedObjects.value['patientName'] = memberRaws?.peserta?.nama || ''
|
||||
selectedObjects.value['phoneNumber'] = memberRaws?.peserta?.mr?.noTelepon || ''
|
||||
selectedObjects.value['classLevel'] = memberRaws?.peserta?.hakKelas?.kode || ''
|
||||
selectedObjects.value['status'] = memberRaws?.statusPeserta?.kode || ''
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Failed to load patient from query params:', err)
|
||||
}
|
||||
@@ -278,20 +288,10 @@ async function handleEvent(menu: string, value: any) {
|
||||
const prevCardNumber = selectedPatientObject.value?.person?.residentIdentityNumber || ''
|
||||
if (type === 'indentity' && text !== prevCardNumber) {
|
||||
await getPatientByIdentifierSearch(text)
|
||||
const resultMember = await getMemberList({
|
||||
mode: 'by-identity',
|
||||
number: text,
|
||||
date: new Date().toISOString().substring(0, 10),
|
||||
})
|
||||
console.log(resultMember)
|
||||
await getPatientExternalMappers(text, 'by-identity')
|
||||
}
|
||||
if (type === 'cardNumber' && text !== prevCardNumber) {
|
||||
const resultMember = await getMemberList({
|
||||
mode: 'by-card',
|
||||
number: text,
|
||||
date: new Date().toISOString().substring(0, 10),
|
||||
})
|
||||
console.log(resultMember)
|
||||
await getPatientExternalMappers(text, 'by-card')
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user