@php $lost = $this->lostClients(); $highMileage = $this->highMileageVehicles(); $unpaid = $this->unpaidWO(); $vip = $this->vipNeedingTouchup(); @endphp
😴 Clienți pierduți {{ $lost->count() }}
Clienți care n-au mai venit de peste 6 luni — bun moment pentru un mesaj de revenire.
@forelse ($lost as $c) @empty @endforelse
{{ $c->name }}
{{ $c->phone }}
ultima fișă
{{ $c->workOrders->first()?->opened_at?->diffForHumans() ?? '—' }}
Niciun client pierdut. 🎉
🚗 Mașini cu kilometraj mare {{ $highMileage->count() }}
Sugerează revizie / piese de uzură.
@forelse ($highMileage as $v) @empty @endforelse
{{ $v->make }} {{ $v->model }} {{ $v->year }} @if ($v->plate) [{{ $v->plate }}] @endif
{{ $v->client?->name }}
{{ number_format($v->mileage, 0, '.', ' ') }} km
💰 Fișe neplătite {{ $unpaid->count() }}
Sună-i sau trimite-le un email cu suma datorată.
@forelse ($unpaid as $w) @empty @endforelse
{{ $w->number }} — {{ $w->client?->name }}
{{ $w->vehicle?->make }} {{ $w->vehicle?->model }} {{ $w->vehicle?->plate ? '[' . $w->vehicle->plate . ']' : '' }}
{{ number_format(max(0, (float) $w->total - (float) $w->payments->sum('amount')), 2, '.', ' ') }} MDL
Niciun rest de încasat. 🎉
⭐ VIP fără contact recent {{ $vip->count() }}
Clienți VIP cu care nu s-a vorbit de peste 30 zile.
@forelse ($vip as $c) @empty @endforelse
{{ $c->name }}
{{ $c->phone }}
{{ $c->last_contact_at?->diffForHumans() ?? 'niciodată' }}
Toți VIP-ii sunt în contact recent.