Files
pds/resources/views/livewire/guard-patrol-entry-data-table.blade.php

259 lines
18 KiB
PHP

<div class="p-4">
<h2 class="text-lg font-bold mb-4 text-gray-700 uppercase tracking-wider">
GUARD PATROL ENTRY STATUS TABLE:
</h2>
<div class="overflow-x-auto rounded-lg shadow">
<table class="w-full w-[600px] divide-y divide-gray-200 text-sm text-center">
<thead class="bg-gray-100 text-s font-semibold uppercase text-gray-700">
<tr>
<th rowspan="2" class="border px-4 py-2">Patrol Round</th>
{{-- <th class="text-center border px-4 py-2">Created Datetime</th> --}}
<th rowspan="2" class="border px-4 py-2">Guard Name</th>
<th colspan="3" class="border px-4 py-2">Patrol</th>
<th colspan="9" class="border px-4 py-2">Sequences</th>
{{-- <th class="text-center border px-4 py-2">Scanned Status</th> --}}
</tr>
<tr>
@php
$seqTitle1 = $startSeqCheckPoint1 ? $startSeqCheckPoint1->checkPointNames1->name . " - " . $startSeqCheckPoint1->checkPointNames2->name : '';
$seqTitle2 = $startSeqCheckPoint2 ? $startSeqCheckPoint2->checkPointNames1->name . " - " . $startSeqCheckPoint2->checkPointNames2->name : '';
$seqTitle3 = $startSeqCheckPoint3 ? $startSeqCheckPoint3->checkPointNames1->name . " - " . $startSeqCheckPoint3->checkPointNames2->name : '';
$seqTitle4 = $startSeqCheckPoint4 ? $startSeqCheckPoint4->checkPointNames1->name . " - " . $startSeqCheckPoint4->checkPointNames2->name : '';
$seqTitle5 = $startSeqCheckPoint5 ? $startSeqCheckPoint5->checkPointNames1->name . " - " . $startSeqCheckPoint5->checkPointNames2->name : '';
$seqTitle6 = $startSeqCheckPoint6 ? $startSeqCheckPoint6->checkPointNames1->name . " - " . $startSeqCheckPoint6->checkPointNames2->name : '';
$seqTitle7 = $startSeqCheckPoint7 ? $startSeqCheckPoint7->checkPointNames1->name . " - " . $startSeqCheckPoint7->checkPointNames2->name : '';
$seqTitle8 = $startSeqCheckPoint8 ? $startSeqCheckPoint8->checkPointNames1->name . " - " . $startSeqCheckPoint8->checkPointNames2->name : '';
$seqTitle9 = $startSeqCheckPoint9 ? $startSeqCheckPoint9->checkPointNames1->name . " - " . $startSeqCheckPoint9->checkPointNames2->name : '';
// if($startSeqCheckPoint1) { $seqTitle1 = $startSeqCheckPoint1->checkPointNames1->name . " - " . $startSeqCheckPoint1->checkPointNames2->name; }
@endphp
<th class="border px-4 py-2">Start Time</th>
<th class="border px-4 py-2">End Time</th>
<th class="border px-4 py-2">Lap Time</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle1); ?>">1</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle2); ?>">2</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle3); ?>">3</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle4); ?>">4</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle5); ?>">5</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle6); ?>">6</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle7); ?>">7</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle8); ?>">8</th>
<th class="border px-4 py-2" title="<?php echo htmlspecialchars($seqTitle9); ?>">9</th>
{{-- <th class="text-center border px-4 py-2">Scanned Status</th> --}}
</tr>
</thead>
<tbody class="divide-y divide-gray-100">
@forelse ($records as $index => $record)
<tr class="hover:bg-gray-50">
@php
$actualVal1 = $record['Sequence_1'] ?? 'X';
$minVal1 = $startSeqCheckPoint1->min_cushioning;
$maxVal1 = $startSeqCheckPoint1->max_cushioning;// . "\n"
$seqTitTime1 = $seqTitle1 . "\n". $record['Sequence_Time_1'] ?? '';
if ($actualVal1 == 'X') {
$bgStyle1 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal1) && is_numeric($minVal1) && is_numeric($maxVal1)) {
if ($actualVal1 < $minVal1) {
$bgStyle1 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal1 > $maxVal1) {
$bgStyle1 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle1 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle1 = '';
}
$actualVal2 = $record['Sequence_2'] ?? 'X';
$minVal2 = $startSeqCheckPoint2->min_cushioning;
$maxVal2 = $startSeqCheckPoint2->max_cushioning;
$seqTitTime2 = $seqTitle2 . "\n". $record['Sequence_Time_2'] ?? '';
if ($actualVal2 == 'X') {
$bgStyle2 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal2) && is_numeric($minVal2) && is_numeric($maxVal2)) {
if ($actualVal2 < $minVal2) {
$bgStyle2 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal2 > $maxVal2) {
$bgStyle2 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle2 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle2 = '';
}
$actualVal3 = $record['Sequence_3'] ?? 'X';
$minVal3 = $startSeqCheckPoint3->min_cushioning;
$maxVal3 = $startSeqCheckPoint3->max_cushioning;
$seqTitTime3 = $seqTitle3 . "\n". $record['Sequence_Time_3'] ?? '';
if ($actualVal3 == 'X') {
$bgStyle3 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal3) && is_numeric($minVal3) && is_numeric($maxVal3)) {
if ($actualVal3 < $minVal3) {
$bgStyle3 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal3 > $maxVal3) {
$bgStyle3 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle3 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle3 = '';
}
$actualVal4 = $record['Sequence_4'] ?? 'X';
$minVal4 = $startSeqCheckPoint4->min_cushioning;
$maxVal4 = $startSeqCheckPoint4->max_cushioning;
$seqTitTime4 = $seqTitle4 . "\n". $record['Sequence_Time_4'] ?? '';
if ($actualVal4 == 'X') {
$bgStyle4 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal4) && is_numeric($minVal4) && is_numeric($maxVal4)) {
if ($actualVal4 < $minVal4) {
$bgStyle4 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal4 > $maxVal4) {
$bgStyle4 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle4 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle4 = '';
}
$actualVal5 = $record['Sequence_5'] ?? 'X';
$minVal5 = $startSeqCheckPoint5->min_cushioning;
$maxVal5 = $startSeqCheckPoint5->max_cushioning;
$seqTitTime5 = $seqTitle5 . "\n". $record['Sequence_Time_5'] ?? '';
if ($actualVal5 == 'X') {
$bgStyle5 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal5) && is_numeric($minVal5) && is_numeric($maxVal5)) {
if ($actualVal5 < $minVal5) {
$bgStyle5 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal5 > $maxVal5) {
$bgStyle5 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle5 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle5 = '';
}
$actualVal6 = $record['Sequence_6'] ?? 'X';
$minVal6 = $startSeqCheckPoint6->min_cushioning;
$maxVal6 = $startSeqCheckPoint6->max_cushioning;
$seqTitTime6 = $seqTitle6 . "\n". $record['Sequence_Time_6'] ?? '';
if ($actualVal6 == 'X') {
$bgStyle6 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal6) && is_numeric($minVal6) && is_numeric($maxVal6)) {
if ($actualVal6 < $minVal6) {
$bgStyle6 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal6 > $maxVal6) {
$bgStyle6 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle6 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle6 = '';
}
$actualVal7 = $record['Sequence_7'] ?? 'X';
$minVal7 = $startSeqCheckPoint7->min_cushioning;
$maxVal7 = $startSeqCheckPoint7->max_cushioning;
$seqTitTime7 = $seqTitle7 . "\n". $record['Sequence_Time_7'] ?? '';
if ($actualVal7 == 'X') {
$bgStyle7 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal7) && is_numeric($minVal7) && is_numeric($maxVal7)) {
if ($actualVal7 < $minVal7) {
$bgStyle7 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal7 > $maxVal7) {
$bgStyle7 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle7 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle7 = '';
}
$actualVal8 = $record['Sequence_8'] ?? 'X';
$minVal8 = $startSeqCheckPoint8->min_cushioning;
$maxVal8 = $startSeqCheckPoint8->max_cushioning;
$seqTitTime8 = $seqTitle8 . "\n". $record['Sequence_Time_8'] ?? '';
if ($actualVal8 == 'X') {
$bgStyle8 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal8) && is_numeric($minVal8) && is_numeric($maxVal8)) {
if ($actualVal8 < $minVal8) {
$bgStyle8 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal8 > $maxVal8) {
$bgStyle8 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle8 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle8 = '';
}
$actualVal9 = $record['Sequence_9'] ?? 'X';
$minVal9 = $startSeqCheckPoint9->min_cushioning;
$maxVal9 = $startSeqCheckPoint9->max_cushioning;
$seqTitTime9 = $seqTitle9 . "\n". $record['Sequence_Time_9'] ?? '';
if ($actualVal9 == 'X') {
$bgStyle9 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} elseif (is_numeric($actualVal9) && is_numeric($minVal9) && is_numeric($maxVal9)) {
if ($actualVal9 < $minVal9) {
$bgStyle9 = 'background-color: #fde68a;';// 'bg-yellow-300'; // Tailwind yellow
} elseif ($actualVal9 > $maxVal9) {
$bgStyle9 = 'background-color: #f87171;';// 'bg-red-500'; // Tailwind red
} else {
$bgStyle9 = 'background-color: #4ade80;';// 'bg-green-400'; // Tailwind green
}
} else {
$bgStyle9 = '';
}
@endphp
<td class="border px-4 py-2" title="Patrol Round">{{ $index + 1 }}</td>
{{-- <td class="text-center border px-4 py-2 whitespace-nowrap">{{ $record['created_at'] ?? '' }}</td> --}}
<td class="border px-4 py-2" title="Guard Name">{{ $record['guard_name'] ?? '' }}</td>
<td class="border px-4 py-2" title="Start Time">{{ $record['start_time'] ?? '' }}</td>
<td class="border px-4 py-2" title="End Time">{{ $record['end_time'] ?? '' }}</td>
<td class="border px-4 py-2" title="Lap Time">{{ $record['lap_time'] ?? '' }}</td>
{{-- <td class="border px-4 py-2" style="{{ $bgStyle1 }}" title="<?php echo htmlspecialchars($seqTitle1); ?>">{{ $actualVal1 }}</td> --}}
<td class="border px-4 py-2" style="{{ $bgStyle1 }}" title="{{ $seqTitTime1 }}">{{ $actualVal1 }}</td>
<td class="border px-4 py-2" style="{{ $bgStyle2 }}" title="{{ $seqTitTime2 }}">{{ $actualVal2 }}</td>
<td class="border px-4 py-2" style="{{ $bgStyle3 }}" title="{{ $seqTitTime3 }}">{{ $actualVal3 }}</td>
<td class="border px-4 py-2" style="{{ $bgStyle4 }}" title="{{ $seqTitTime4 }}">{{ $actualVal4 }}</td>
<td class="border px-4 py-2" style="{{ $bgStyle5 }}" title="{{ $seqTitTime5 }}">{{ $actualVal5 }}</td>
<td class="border px-4 py-2" style="{{ $bgStyle6 }}" title="{{ $seqTitTime6 }}">{{ $actualVal6 }}</td>
<td class="border px-4 py-2" style="{{ $bgStyle7 }}" title="{{ $seqTitTime7 }}">{{ $actualVal7 }}</td>
<td class="border px-4 py-2" style="{{ $bgStyle8 }}" title="{{ $seqTitTime8 }}">{{ $actualVal8 }}</td>
<td class="border px-4 py-2" style="{{ $bgStyle9 }}" title="{{ $seqTitTime9 }}">{{ $actualVal9 }}</td>
{{-- <td class="text-center border px-4 py-2">
@php
$status = $record['scanned_status'] ?? '';
@endphp
<span @class([
'text-green-600 font-semibold' => $status === 'Scanned',
'text-yellow-600 font-semibold' => $status === 'Incompleted',
'text-red-600 font-semibold' => $status === 'Not Exist',
])>
{{ $status }}
</span>
</td> --}}
</tr>
@empty
<tr>
<td colspan="14" class="px-4 py-4 text-center text-gray-500">
No records found.
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>