update print adminloket, logika klinik ruang, numbering antrian baru klinik ruang

This commit is contained in:
bagus-arie05
2026-01-08 14:38:37 +07:00
parent 14153a2f03
commit 676bdc076f
5 changed files with 252 additions and 239 deletions

No files matched your search

+20 -1
View File
@@ -5,6 +5,8 @@ export interface ThermalPrintData {
noAntrian: string;
barcode: string;
klinik: string;
ruang?: string;
nomorRuang?: string;
shift: string;
pembayaran: string;
tanggal: string;
@@ -103,6 +105,21 @@ export const useThermalPrint = () => {
// Format nomor antrian (hilangkan bagian "| Onsite - barcode")
const noAntrianDisplay = data.noAntrian.split(' |')[0];
// Format informasi ruang: "Poli Anak - Ruang A"
let ruangInfo = '';
if (data.klinik && data.nomorRuang) {
// Konversi nomor ruang ke abjad (1 = A, 2 = B, 3 = C, dst)
const ruangNumber = parseInt(data.nomorRuang) || 1;
const ruangLetter = String.fromCharCode(64 + ruangNumber); // 64 = '@', 65 = 'A', 66 = 'B', dst
ruangInfo = `${data.klinik} - Ruang ${ruangLetter}`;
} else if (data.klinik && data.ruang) {
// Fallback jika hanya ada nama ruang
ruangInfo = `${data.klinik} - ${data.ruang}`;
} else if (data.klinik) {
// Hanya klinik jika tidak ada info ruang
ruangInfo = data.klinik;
}
const html = `
<!DOCTYPE html>
@@ -333,7 +350,7 @@ export const useThermalPrint = () => {
<div class="no-antrian">${noAntrianDisplay}</div>
<div class="klinik-name">${data.klinik}</div>
${ruangInfo ? `<div class="klinik-name">${ruangInfo}</div>` : `<div class="klinik-name">${data.klinik}</div>`}
<div class="qr-code-section">
<div class="qr-code">
@@ -502,6 +519,8 @@ export const useThermalPrint = () => {
noAntrian: patient.noAntrian || '',
barcode: patient.barcode || '',
klinik: patient.klinik || '',
ruang: patient.ruang || undefined,
nomorRuang: patient.nomorRuang || undefined,
shift: patient.shift || 'Shift 1',
pembayaran: patient.pembayaran || '',
tanggal: tanggalKunjungan,