feat: add comprehensive queue management features for clinic rooms and counters, including admin, kiosk views, and a dedicated store.

This commit is contained in:
Fanrouver
2026-02-13 13:07:59 +07:00
parent a5ab338147
commit 4df13cbe70
9 changed files with 686 additions and 147 deletions
+14 -1
View File
@@ -158,7 +158,12 @@ export const useQueueStore = defineStore('queue', () => {
fastTrack: 'TIDAK',
registrationType: 'api',
visitId: visit.visit_id || visit.id,
visitCode: visit.visit_code
visitCode: visit.visit_code,
referencePatient: healthcareServices.find(s => {
const type = (s.healthcare_type_name || '').toUpperCase();
const code = (s.healthcare_service_code || s.healtcare_service_code || '').toUpperCase();
return type.includes('LOKET') || type.includes('PENDAFTARAN') || type.includes('REGISTRATION') || code === 'RN';
})?.ticket || ''
};
if (isTodayPatient(p)) mappedClinicPatients.push(p);
@@ -529,6 +534,14 @@ export const useQueueStore = defineStore('queue', () => {
ticket: apiPatient.ticket,
posisi: apiPatient.posisi,
deskripsi: apiPatient.deskripsi,
visitCode: apiPatient.visit_code || apiPatient.ticket,
referencePatient: (apiPatient.healthcare_services && Array.isArray(apiPatient.healthcare_services))
? apiPatient.healthcare_services.find(s => {
const type = (s.healthcare_type_name || '').toUpperCase();
const code = (s.healthcare_service_code || s.healtcare_service_code || '').toUpperCase();
return type.includes('LOKET') || type.includes('PENDAFTARAN') || type.includes('REGISTRATION') || code === 'RN';
})?.ticket || ''
: ''
};
// Map klinik name to code using clinicStore