@forelse($schedules as $schedule) @empty @endforelse
@if($type === 'upcoming') @endif Duty # Site @if(request('sort') === 'site') @else @endif Employee @if(request('sort') === 'employee') @else @endif Date & Time @if(request('sort') === 'data_time') @else @endif Status @if(request('sort') === 'status') @else @endif Actions
@if($type === 'upcoming') @endif
{{ $schedule->duty_number }}
@if($schedule->customer_reference)
Ref: {{ $schedule->customer_reference }}
@endif
{{ substr($schedule->site->name, 0, 1) }}
{{ $schedule->site->name }}
ID: {{ $schedule->site->site_id }}
@foreach($schedule->employees as $employee)
@if($employee->profile_picture) @else
{{ substr($employee->first_name, 0, 1) }}{{ substr($employee->last_name, 0, 1) }}
@endif
{{ $employee->first_name }} {{ $employee->last_name }}
{{ $employee->employee_id }}
@endforeach @if($schedule->employees->count() === 0) Unassigned @endif
{{ $schedule->from_datetime->format('M d, Y') }}
{{ $schedule->from_datetime->format('h:i A') }} - {{ $schedule->to_datetime->format('h:i A') }}
@php $displayStatus = $schedule->status; // Dynamic Status Logic for Display if ($schedule->active && $schedule->status !== 'completed' && $schedule->status !== 'active' && $schedule->status !== 'cancelled') { if ($schedule->to_datetime->isPast()) { $displayStatus = 'missed'; } elseif ($schedule->from_datetime->isToday()) { $displayStatus = 'today'; } else { $displayStatus = 'upcoming'; } } $statusColors = [ 'upcoming' => 'bg-blue-100 text-blue-700', 'today' => 'bg-amber-100 text-amber-700', 'completed' => 'bg-emerald-100 text-emerald-700', 'missed' => 'bg-rose-100 text-rose-700', 'archived' => 'bg-slate-100 text-slate-700', 'active' => 'bg-green-100 text-green-700', 'cancelled' => 'bg-red-100 text-red-700' ]; $dotColors = [ 'upcoming' => 'bg-blue-500', 'today' => 'bg-amber-500', 'completed' => 'bg-emerald-500', 'missed' => 'bg-rose-500', 'archived' => 'bg-slate-500', 'active' => 'bg-green-500', 'cancelled' => 'bg-red-500' ]; $isAddon = $schedule->employees->contains(fn($e) => $e->pivot->is_addon); @endphp
{{ !$schedule->active ? 'Inactive' : $displayStatus }} @if($isAddon) Manual/Addon @endif
View Details @if($schedule->status !== 'completed' && $schedule->status !== 'active' && $type !== 'active')
@csrf @method('PATCH')
@endif @if($schedule->status !== 'completed' && $schedule->status !== 'active' && $type !== 'active') Edit Schedule @endif @if($schedule->status !== 'active' && $schedule->status !== 'completed' && !$schedule->employees->contains(fn($e) => $e->pivot->actual_start_at !== null))
@csrf @method('DELETE')
@endif @if($schedule->status === 'completed' || $schedule->active) @endif @if($schedule->status === 'completed') @php $firstEmployee = $schedule->employees->first(); $actualStart = $firstEmployee && $firstEmployee->pivot->actual_start_at ? \Carbon\Carbon::parse($firstEmployee->pivot->actual_start_at)->format('Y-m-d\TH:i') : ''; $actualEnd = $firstEmployee && $firstEmployee->pivot->actual_end_at ? \Carbon\Carbon::parse($firstEmployee->pivot->actual_end_at)->format('Y-m-d\TH:i') : ''; @endphp @endif @if($schedule->status === 'completed' || $schedule->status === 'cancelled')
View Report Download Report Download Photos (ZIP)
@csrf
@endif
No schedules found for this category.
{{ $schedules->appends(request()->query())->links() }}