feat: Implement comprehensive patient queue management system with Pinia store, API integration, and dedicated admin counter page.
This commit is contained in:
@@ -135,7 +135,7 @@ export const useQueue = (adminType = "loket", specificId = null) => {
|
||||
|
||||
// Filtered lists
|
||||
const filteredKliniks = computed(() => {
|
||||
let result = queueStore.kliniks;
|
||||
let result = (queueStore.kliniks.value || queueStore.kliniks || []).filter(k => k.jenisLayanan === 'Reguler');
|
||||
if (klinikSearch.value) {
|
||||
result = result.filter((k) =>
|
||||
k.name.toLowerCase().includes(klinikSearch.value.toLowerCase())
|
||||
@@ -157,7 +157,7 @@ export const useQueue = (adminType = "loket", specificId = null) => {
|
||||
});
|
||||
|
||||
const filteredChangeKliniks = computed(() => {
|
||||
let result = queueStore.kliniks;
|
||||
let result = (queueStore.kliniks.value || queueStore.kliniks || []).filter(k => k.jenisLayanan === 'Reguler');
|
||||
if (changeKlinikSearch.value) {
|
||||
result = result.filter((k) =>
|
||||
k.name.toLowerCase().includes(changeKlinikSearch.value.toLowerCase())
|
||||
@@ -278,18 +278,21 @@ export const useQueue = (adminType = "loket", specificId = null) => {
|
||||
if (!patient) {
|
||||
showSnackbar("Tidak ada pasien yang sedang diproses", "error");
|
||||
showChangeKlinikDialog.value = false;
|
||||
return;
|
||||
return { success: false };
|
||||
}
|
||||
|
||||
const result = queueStore.changeKlinik(
|
||||
patient,
|
||||
klinik,
|
||||
adminType
|
||||
adminType,
|
||||
idValue.value
|
||||
);
|
||||
showSnackbar(result.message, result.success ? "success" : "error");
|
||||
showChangeKlinikDialog.value = false;
|
||||
return result;
|
||||
};
|
||||
|
||||
|
||||
const processNextQueue = () => {
|
||||
const result = queueStore.processNextQueue(adminType, idValue.value);
|
||||
showSnackbar(result.message, result.success ? "success" : "warning");
|
||||
|
||||
Reference in New Issue
Block a user