Job Cards

Manage vehicle service job cards following the 11-step workflow

New Job Card

Total

{{ $statistics['total'] }}

Received

{{ $statistics['received'] }}

In Progress

{{ $statistics['in_progress'] }}

Pending Approval

{{ $statistics['pending_approval'] }}

Completed Today

{{ $statistics['completed_today'] }}

Delivered Today

{{ $statistics['delivered_today'] }}

Overdue

{{ $statistics['overdue'] }}

@foreach($statusOptions as $value => $label) @endforeach
@foreach($branchOptions as $value => $label) @endforeach
@foreach($priorityOptions as $value => $label) @endforeach
@foreach($serviceAdvisorOptions as $value => $label) @endforeach
@foreach($dateRangeOptions as $value => $label) @endforeach
Refresh Clear Filters
@if(is_array($selectedJobCards) && count($selectedJobCards) > 0)
{{ is_array($selectedJobCards) ? count($selectedJobCards) : 0 }} job card(s) selected
@endif
@if($jobCards->count() > 0)
@foreach($jobCards as $jobCard) @endforeach
Job Card # @if($sortBy === 'job_card_number') {{ $sortDirection === 'asc' ? '↑' : '↓' }} @endif Customer Vehicle Status @if($sortBy === 'status') {{ $sortDirection === 'asc' ? '↑' : '↓' }} @endif Priority @if($sortBy === 'priority') {{ $sortDirection === 'asc' ? '↑' : '↓' }} @endif Arrival Date @if($sortBy === 'arrival_datetime') {{ $sortDirection === 'asc' ? '↑' : '↓' }} @endif Service Advisor Actions
{{ $jobCard->customer->first_name ?? '' }} {{ $jobCard->customer->last_name ?? '' }}
{{ $jobCard->customer->phone ?? '' }}
{{ $jobCard->vehicle->year ?? '' }} {{ $jobCard->vehicle->make ?? '' }} {{ $jobCard->vehicle->model ?? '' }}
{{ $jobCard->vehicle->license_plate ?? '' }}
@php $statusClasses = [ 'received' => 'bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200', 'inspected' => 'bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200', 'assigned_for_diagnosis' => 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200', 'in_diagnosis' => 'bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200', 'estimate_sent' => 'bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200', 'approved' => 'bg-emerald-100 text-emerald-800 dark:bg-emerald-900 dark:text-emerald-200', 'parts_procurement' => 'bg-indigo-100 text-indigo-800 dark:bg-indigo-900 dark:text-indigo-200', 'in_progress' => 'bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-200', 'completed' => 'bg-teal-100 text-teal-800 dark:bg-teal-900 dark:text-teal-200', 'delivered' => 'bg-gray-100 text-gray-800 dark:bg-gray-900 dark:text-gray-200', ]; $statusClass = $statusClasses[$jobCard->status] ?? 'bg-zinc-100 text-zinc-800 dark:bg-zinc-900 dark:text-zinc-200'; @endphp {{ $statusOptions[$jobCard->status] ?? $jobCard->status }} @php $workflowSteps = [ 'received' => 1, 'inspected' => 2, 'assigned_for_diagnosis' => 3, 'in_diagnosis' => 4, 'estimate_sent' => 5, 'approved' => 6, 'parts_procurement' => 7, 'in_progress' => 8, 'completed' => 9, 'delivered' => 10, ]; $currentStep = $workflowSteps[$jobCard->status] ?? 1; $progress = ($currentStep / 10) * 100; @endphp
Step {{ $currentStep }}/10
@php $priorityClasses = [ 'low' => 'bg-zinc-100 text-zinc-800 dark:bg-zinc-900 dark:text-zinc-200', 'medium' => 'bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200', 'high' => 'bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200', 'urgent' => 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200', ]; $priorityClass = $priorityClasses[$jobCard->priority] ?? 'bg-zinc-100 text-zinc-800 dark:bg-zinc-900 dark:text-zinc-200'; @endphp {{ ucfirst($jobCard->priority) }} {{ $jobCard->arrival_datetime ? $jobCard->arrival_datetime->format('M j, Y g:i A') : '-' }} {{ $jobCard->serviceAdvisor->name ?? '-' }}
View @can('update', $jobCard) Edit @endcan Workflow
{{ $jobCards->links() }}
@else

No job cards found

Try adjusting your search criteria or create a new job card.

@endif