From 0c7b33aa70fd313dde46d312c6f7b9fea86ccd02 Mon Sep 17 00:00:00 2001 From: Fanrouver Date: Tue, 13 Jan 2026 11:24:01 +0700 Subject: [PATCH] checkin tampilan --- pages/CheckInPasien/checkIn.vue | 91 +++++++++++++++++++++++++-------- 1 file changed, 71 insertions(+), 20 deletions(-) diff --git a/pages/CheckInPasien/checkIn.vue b/pages/CheckInPasien/checkIn.vue index 68c6ee1..a66ce6a 100644 --- a/pages/CheckInPasien/checkIn.vue +++ b/pages/CheckInPasien/checkIn.vue @@ -236,15 +236,15 @@

Input Manual

-

Masukkan nomor antrean atau ID pasien

+

Masukkan nomor Antrean Code atau Barcode Pasien

- +
{{ item.method }} + + mdi-hospital-building + {{ item.klinik }} +
@@ -875,7 +886,7 @@ - +
mdi-account-circle {{ item.patientId }} + + mdi-hospital-building + {{ item.klinik }} + >([]); // QR History Dialog @@ -1903,7 +1926,9 @@ const handleQRScanSuccess = (decodedText: string) => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'QR Scan' + method: 'QR Scan', + klinik: 'N/A', + kodeKlinik: null }); }); } catch (error) { @@ -1919,7 +1944,9 @@ const handleQRScanSuccess = (decodedText: string) => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'QR Scan' + method: 'QR Scan', + klinik: 'N/A', + kodeKlinik: null }); } @@ -2296,7 +2323,9 @@ const onDetect = async (decodedText: string) => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'QR Scan' + method: 'QR Scan', + klinik: foundPatient.klinik || 'N/A', + kodeKlinik: foundPatient.kodeKlinik || null }); const errorMsg = `❌ Pasien tidak ditemukan di sistem setelah refresh data.`; @@ -2329,7 +2358,9 @@ const onDetect = async (decodedText: string) => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'QR Scan' + method: 'QR Scan', + klinik: freshPatient.klinik || 'N/A', + kodeKlinik: freshPatient.kodeKlinik || null }); lastCheckInResult.value = { @@ -2357,7 +2388,9 @@ const onDetect = async (decodedText: string) => { status: 'NOT_ALLOWED', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'QR Scan' + method: 'QR Scan', + klinik: freshPatient.klinik || 'N/A', + kodeKlinik: freshPatient.kodeKlinik || null }); lastCheckInResult.value = { @@ -2399,7 +2432,9 @@ const onDetect = async (decodedText: string) => { status: 'success', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'QR Scan' + method: 'QR Scan', + klinik: checkInResult.patient.klinik || 'N/A', + kodeKlinik: checkInResult.patient.kodeKlinik || null }); saveSuccessfulScan(decodedText); @@ -2418,7 +2453,9 @@ const onDetect = async (decodedText: string) => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'QR Scan' + method: 'QR Scan', + klinik: foundPatient.klinik || 'N/A', + kodeKlinik: foundPatient.kodeKlinik || null }); lastCheckInResult.value = { @@ -2551,7 +2588,9 @@ const checkInManual = async () => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'Manual' + method: 'Manual', + klinik: 'N/A', + kodeKlinik: null }); const errorMsg = `❌ Tiket Belum Di-generate!\n\nInput: ${inputValue}\n\nTiket belum terdaftar di sistem. Pastikan tiket sudah di-generate terlebih dahulu.`; @@ -2589,7 +2628,9 @@ const checkInManual = async () => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'Manual' + method: 'Manual', + klinik: foundPatient.klinik || 'N/A', + kodeKlinik: foundPatient.kodeKlinik || null }); const errorMsg = `❌ Pasien tidak ditemukan di sistem setelah refresh data.`; @@ -2622,7 +2663,9 @@ const checkInManual = async () => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'Manual' + method: 'Manual', + klinik: freshPatient.klinik || 'N/A', + kodeKlinik: freshPatient.kodeKlinik || null }); lastCheckInResult.value = { @@ -2650,7 +2693,9 @@ const checkInManual = async () => { status: 'NOT_ALLOWED', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'Manual' + method: 'Manual', + klinik: freshPatient.klinik || 'N/A', + kodeKlinik: freshPatient.kodeKlinik || null }); lastCheckInResult.value = { @@ -2692,7 +2737,9 @@ const checkInManual = async () => { status: 'success', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'Manual' + method: 'Manual', + klinik: checkInResult.patient.klinik || 'N/A', + kodeKlinik: checkInResult.patient.kodeKlinik || null }); const successMsg = `✅ Check-in Berhasil!\n\nPasien ${successKlinikQueueNumber} berhasil melakukan check-in dan status berubah menjadi di loket.`; @@ -2715,7 +2762,9 @@ const checkInManual = async () => { status: 'failed', checkInTime: new Date().toISOString(), checkInDate: new Date().toISOString(), - method: 'Manual' + method: 'Manual', + klinik: foundPatient.klinik || 'N/A', + kodeKlinik: foundPatient.kodeKlinik || null }); lastCheckInResult.value = { @@ -2935,6 +2984,7 @@ const saveToHistory = (item: { checkInDate: string; method: string; kodeKlinik?: string; + klinik?: string; }) => { // JANGAN generate nomor antrean baru - selalu gunakan nomor dari pasien yang ditemukan // Jika queueNumber tidak ada, gunakan klinikQueueNumber atau patientId sebagai fallback @@ -3119,7 +3169,8 @@ const filteredHistory = computed(() => { item.patientId.toLowerCase().includes(search) || (item.queueNumber && item.queueNumber.toLowerCase().includes(search)) || (item.klinikQueueNumber && item.klinikQueueNumber.toLowerCase().includes(search)) || - (item.method && item.method.toLowerCase().includes(search)) + (item.method && item.method.toLowerCase().includes(search)) || + (item.klinik && item.klinik.toLowerCase().includes(search)) ); }