@extends('layouts.app') @section('title', 'الذمم المُعمّرة') @php $bucketMeta = [ '0-30' => ['label' => '0–30 يوم', 'color' => 'success', 'icon' => 'clock', 'desc' => 'حديثة — متابعة عادية'], '31-60' => ['label' => '31–60 يوم', 'color' => 'info', 'icon' => 'clock-hour-3', 'desc' => 'تستحق المتابعة'], '61-90' => ['label' => '61–90 يوم', 'color' => 'warning', 'icon' => 'alert-triangle', 'desc' => 'متأخرة — تواصل مع المريض'], '90+' => ['label' => '90+ يوم', 'color' => 'danger', 'icon' => 'alert-octagon', 'desc' => 'حرجة — قد تحتاج إجراء قانوني'], ]; @endphp @section('content') كل التقارير {{-- Bucket summary cards --}}
@foreach($buckets as $range => $invs) @php $meta = $bucketMeta[$range]; $totals_b = $bucketTotals[$range]; @endphp
{{ $meta['label'] }}
{{ $totals_b['count'] }}
{{ $meta['desc'] }} {{ number_format($totals_b['amount'], 0) }}
@endforeach
{{-- Per-bucket detail tables --}} @foreach($buckets as $range => $invs) @php $meta = $bucketMeta[$range]; @endphp

{{ $meta['label'] }} {{ $meta['desc'] }}

{{ $invs->count() }} فاتورة · {{ number_format($invs->sum('balance'), 0) }}
@if($invs->isEmpty())
لا توجد فواتير في هذه الفئة 🎉
@else
@foreach($invs as $inv) @php $name = trim(($inv->patient?->first_name ?? '').' '.($inv->patient?->last_name ?? '')); $initials = collect(preg_split('/\s+/u', $name)) ->filter()->take(2) ->map(fn ($w) => mb_substr($w, 0, 1)) ->implode('') ?: '؟'; $genderClass = ($inv->patient->gender ?? null) === 'female' ? 'gender-female' : ''; @endphp @endforeach
الفاتورة التاريخ العمر المريض الإجمالي المتبقي
{{ $inv->invoice_number }} {{ $inv->issue_date->format('Y-m-d') }} {{ $inv->age_days }} يوم
{{ $initials }}
{{ $name ?: '—' }} @if($inv->patient?->phone)
{{ $inv->patient->phone }}
@endif
{{ number_format($inv->total, 2) }} {{ number_format($inv->balance, 2) }}
@endif
@endforeach @endsection