{{ $this->form }} @if($hasRun) @php $type = $reportData['type'] ?? 'appointments'; @endphp {{-- No-show summary cards --}} @if($type === 'no_show')

Total Appointments

{{ $reportData['total'] ?? 0 }}

No Shows

{{ $reportData['noShow'] ?? 0 }}

Cancellations

{{ $reportData['cancelled'] ?? 0 }}

@if(!empty($reportData['byHour']))
@foreach(['Hour', 'No Shows', 'Cancelled'] as $h) @endforeach @foreach($reportData['byHour'] as $row) @endforeach
{{ $h }}
{{ str_pad(data_get($row,'hour',0), 2, '0', STR_PAD_LEFT) }}:00 {{ data_get($row,'no_show',0) }} {{ data_get($row,'cancelled',0) }}
@endif {{-- Tabular reports --}} @else
@php $headers = match($type) { 'revenue' => ['Date', 'Total Appts', 'Collected (PKR)', 'Pending (PKR)', 'Expected (PKR)'], 'consultant' => ['Consultant', 'Department', 'Total', 'Completed', 'Cancelled', 'No Show', 'Revenue (PKR)', 'Completion %'], 'department' => ['Department', 'Code', 'Total', 'Completed', 'Cancelled', 'Revenue (PKR)'], 'slot_utilisation' => ['Consultant', 'Days Worked', 'Total Booked', 'Completed'], default => ['Ref', 'Patient', 'Phone', 'MR#', 'Consultant', 'Dept', 'Date', 'Time', 'Type', 'Status', 'Payment'], }; @endphp @foreach($headers as $h) @endforeach @forelse($reportData['rows'] ?? [] as $row) @if($type === 'appointments') @elseif($type === 'revenue') @elseif($type === 'consultant') @elseif($type === 'department') @elseif($type === 'slot_utilisation') @endif @empty @endforelse
{{ $h }}
{{ data_get($row,'booking_ref') }} {{ data_get($row,'patient_name') }} {{ data_get($row,'patient_phone') }} {{ data_get($row,'mr_number') }} {{ data_get($row,'consultant.full_name') }} {{ data_get($row,'department.name') }} {{ data_get($row,'appointment_date') }} {{ substr(data_get($row,'slot_start',''), 0, 5) }} {{ data_get($row,'visit_type') }} {{ data_get($row,'status') }} {{ data_get($row,'payment_status') }} {{ data_get($row,'appointment_date') }} {{ data_get($row,'total_appointments') }} {{ number_format(data_get($row,'revenue_collected',0), 2) }} {{ number_format(data_get($row,'revenue_pending',0), 2) }} {{ number_format(data_get($row,'total_expected',0), 2) }}{{ data_get($row,'consultant_name') }} {{ data_get($row,'department_name') }} {{ data_get($row,'total') }} {{ data_get($row,'completed') }} {{ data_get($row,'cancelled') }} {{ data_get($row,'no_show') }} {{ number_format(data_get($row,'revenue',0), 2) }} {{ data_get($row,'completion_rate') }}%{{ data_get($row,'department_name') }} {{ data_get($row,'department_code') }} {{ data_get($row,'total') }} {{ data_get($row,'completed') }} {{ data_get($row,'cancelled') }} {{ number_format(data_get($row,'revenue',0), 2) }}{{ data_get($row,'consultant') }} {{ data_get($row,'days_worked') }} {{ data_get($row,'total_booked') }} {{ data_get($row,'completed') }}
No data found for the selected filters.
@endif @endif