feat(sep): modify item tree specialist

This commit is contained in:
riefive
2025-11-07 13:45:14 +07:00
parent daf9c8f46c
commit ca687911f5
2 changed files with 22 additions and 37 deletions
+20 -35
View File
@@ -38,6 +38,7 @@ import { getValueLabelList as getDistrictList } from '~/services/vclaim-region-d
import { getValueLabelList as getDoctorLabelList } from '~/services/vclaim-doctor.service'
import { getValueLabelList as getHealthFacilityLabelList } from '~/services/vclaim-healthcare.service'
import { getValueLabelList as getDiagnoseLabelList } from '~/services/vclaim-diagnose.service'
import { getList as getMemberList } from '~/services/vclaim-member.service'
import { getList as getHospitalLetterList } from '~/services/vclaim-reference-hospital-letter.service'
import { getList as getControlLetterList } from '~/services/vclaim-control-letter.service'
import { getList as getMonitoringHistoryList } from '~/services/vclaim-monitoring-history.service'
@@ -166,19 +167,7 @@ async function getLetterMappers(admissionType: string, search: string) {
},
]
} else {
// lettersRaw.asalFaskes
// lettersRaw.peserta.hakKelas?.kode
// lettersRaw.peserta.mr?.noMR
// lettersRaw.peserta.mr?.noTelepon
// lettersRaw.peserta?.nama
// lettersRaw.peserta?.noKartu
// lettersRaw.poliRujukan?.kode
// lettersRaw.rujukan?.pelayanan?.kode
// lettersRaw.rujukan?.poliRujukan?.kode
// lettersRaw.diagAwal
// integrate ke sep ---
// "rujukan": {
// "noRujukan": "0212R0300625B000006", // rujukan?.noKunjungan
// "ppkRujukan": "0212R030",
@@ -200,15 +189,23 @@ async function getLetterMappers(admissionType: string, search: string) {
letters.value = [
{
letterNumber: lettersRaw.rujukan.noKunjungan || '',
plannedDate: lettersRaw.rujukan.tglKunjungan || '',
sepNumber: lettersRaw.rujukan?.informasi?.eSEP || '-',
patientName: lettersRaw.rujukan.peserta.nama || '',
bpjsCardNo: lettersRaw.rujukan.peserta.noKartu || '',
clinic: lettersRaw.rujukan.poliRujukan.nama || '',
letterNumber: lettersRaw?.rujukan?.noKunjungan || '',
plannedDate: lettersRaw?.rujukan?.tglKunjungan || '',
sepNumber: lettersRaw?.rujukan?.informasi?.eSEP || '-',
patientName: lettersRaw?.rujukan?.peserta.nama || '',
bpjsCardNo: lettersRaw?.rujukan?.peserta.noKartu || '',
clinic: lettersRaw?.rujukan?.poliRujukan.nama || '',
doctor: '',
information: {
facility: lettersRaw?.asalFaskes || '',
diagnoses: lettersRaw?.rujukan?.diagnosa?.kode || '',
serviceType: lettersRaw?.rujukan?.pelayanan?.kode || '',
classLevel: lettersRaw?.rujukan?.peserta?.hakKelas?.kode || '',
poly: lettersRaw?.rujukan?.poliRujukan?.kode || '',
cardNumber: lettersRaw?.rujukan?.peserta?.noKartu || '',
patientName: lettersRaw?.rujukan?.peserta?.nama || '',
patientPhone: lettersRaw?.rujukan?.peserta?.mr?.noTelepon || '',
medicalRecordNumber: lettersRaw?.rujukan?.peserta?.mr?.noMR || '',
}
},
]
@@ -290,6 +287,7 @@ async function handleEvent(menu: string, value: any) {
}
if (menu === 'save-sep') {
isSaveLoading.value = true
// value.destinationClinic = value.destinationClinic || ''
createSep(makeSepData(value))
.then((res) => {
const body = res?.body
@@ -416,6 +414,8 @@ async function handleInit() {
const queries = route.query as any
isServiceHidden.value = queries['is-service'] === 'true'
selectedObjects.value = {}
if (queries['resource']) resourceType.value = queries['resource']
if (queries['resource-path']) resourcePath.value = queries['resource-path']
if (queries['doctor-code']) selectedObjects.value['doctorCode'] = queries['doctor-code']
if (queries['specialist-code']) selectedObjects.value['subSpecialistCode'] = queries['specialist-code']
if (queries['sub-specialist-code']) selectedObjects.value['subSpecialistCode'] = queries['sub-specialist-code']
@@ -425,26 +425,11 @@ async function handleInit() {
if (queries['sep-number']) selectedObjects.value['sepNumber'] = queries['sep-number']
if (queries['register-date']) selectedObjects.value['registerDate'] = queries['register-date']
if (queries['payment-type']) selectedObjects.value['paymentType'] = queries['payment-type']
if (queries['resource']) resourceType.value = queries['resource']
if (queries['resource-path']) resourcePath.value = queries['resource-path']
// Load patient data if identifier is provided
if (queries['patient-id']) {
try {
await getPatientCurrent(queries['patient-id'])
} catch (err) {
console.error('Failed to load patient from query params:', err)
}
}
if (queries['national-identity'] && queries['medical-record-number']) {
try {
await getPatientByIdentifierSearch(queries['national-identity'])
if (patients.value.length > 0) {
const foundPatient = patients.value[0]
if (foundPatient && foundPatient.id) {
selectedPatient.value = foundPatient.id
await getPatientCurrent(foundPatient.id)
}
}
console.log(selectedPatientObject.value)
} catch (err) {
console.error('Failed to load patient from query params:', err)
}
+2 -2
View File
@@ -47,9 +47,9 @@ export async function getValueLabelList(params: any = null): Promise<{ value: st
* @param specialists Array of specialist objects from API
* @returns TreeItem[]
*/
export function getValueTreeItems(specialists: any[]): TreeItem[] {
export function getValueTreeItems(specialists: any[], byCode = true): TreeItem[] {
return specialists.map((specialist: Specialist) => ({
value: specialist.id ? String(specialist.id) : specialist.code,
value: byCode ? String(specialist.code) : String(specialist.id),
label: specialist.name,
hasChildren: Array.isArray(specialist.subspecialists) && specialist.subspecialists.length > 0,
children: