ไม่พบรหัสงาน"; return; } $jobModel = new Job(); $job = $jobModel->getByJobNumber($job_number); if (!$job) { echo "
ไม่พบข้อมูลงาน {$job_number}
"; return; } $timelines = $jobModel->getJobTimelines($job['id']); $statusColors = [ 'pending' => 'bg-yellow-100 text-yellow-800 border-yellow-200', 'assigned' => 'bg-blue-100 text-blue-800 border-blue-200', 'accepted' => 'bg-indigo-100 text-indigo-800 border-indigo-200', 'in_progress' => 'bg-purple-100 text-purple-800 border-purple-200', 'completed' => 'bg-green-100 text-green-800 border-green-200', 'cancelled' => 'bg-red-100 text-red-800 border-red-200', ]; $statusNames = [ 'pending' => 'รอดำเนินการ', 'assigned' => 'มอบหมายแล้ว', 'accepted' => 'กำลังไปรับ', 'in_progress' => 'กำลังไปส่ง', 'completed' => 'เสร็จสิ้น', 'cancelled' => 'ยกเลิก', ]; $priorityColors = [ 'normal' => 'emerald', 'urgent' => 'amber', 'emergency' => 'red' ]; $priorityNames = [ 'normal' => 'ทั่วไป (Normal)', 'urgent' => 'ด่วน (Urgent)', 'emergency' => 'ฉุกเฉิน (Emergency)' ]; $badgeClass = $statusColors[$job['status']] ?? 'bg-slate-100 text-slate-800'; $badgeName = $statusNames[$job['status']] ?? $job['status']; $pColor = $priorityColors[$job['priority']] ?? 'emerald'; $pName = $priorityNames[$job['priority']] ?? $job['priority']; ?>

รายละเอียดงาน

หมายเลขงาน:

ข้อมูลผู้ป่วย
รูปผู้ป่วย

ชื่อผู้ป่วย

(HN: )

ความเร่งด่วน

อุปกรณ์

ผู้ป่วยโรคติดต่อ / แยกกักโรค
เส้นทางการเคลื่อนย้าย
A

รับที่ (From)

B

ส่งที่ (To)

หมายเหตุ

ไทม์ไลน์ (Timeline)

ไม่มีข้อมูลไทม์ไลน์

$tl): $isLast = ($index === count($timelines) - 1); $tlColor = 'slate'; $icon = 'fa-circle-dot'; if (strpos($tl['status'], 'cancelled') !== false) { $tlColor = 'red'; $icon = 'fa-times'; } elseif (strpos($tl['status'], 'completed') !== false) { $tlColor = 'green'; $icon = 'fa-check'; } elseif (strpos($tl['status'], 'accepted') !== false) { $tlColor = 'blue'; $icon = 'fa-user-check'; } ?>

โดย: