{{-- Header Section --}}

Laporan Pendapatan

Periode: {{ \Carbon\Carbon::parse($startDate)->format('d M') }} - {{ \Carbon\Carbon::parse($endDate)->format('d M Y') }}

{{-- Statistik Ringkas --}}
{{-- Pendapatan Laundry --}}
local_laundry_service

Pendapatan Laundry

Rp {{ number_format($totalLaundryRevenue, 0, ',', '.') }}

{{-- Pendapatan Driver --}}
two_wheeler

Pendapatan Driver

Rp {{ number_format($totalDeliveryFee, 0, ',', '.') }}

{{-- Total Keseluruhan --}}
payments

Total Keseluruhan

Rp {{ number_format($totalRevenue, 0, ',', '.') }}

{{-- Total Pesanan --}}
shopping_cart

Total Pesanan

{{ $totalOrders }}

{{-- Filter Tanggal --}}
Reset
{{-- Tabel Laporan --}}
@csrf @method('DELETE')
{{-- Header Normal (Saat Tidak Ada Pilihan) --}}

Data Detail Laporan

table_view Ekspor Semua
{{-- Header Bulk Action (Muncul Saat Checklist Tercentang) --}}
{{-- Mobile Card Layout --}}
@php $currentMonthMobile = null; @endphp @forelse($reports as $report) @php $monthNameMobile = $report->updated_at->translatedFormat('F Y'); @endphp @if($monthNameMobile !== $currentMonthMobile)
{{ $monthNameMobile }}
@php $currentMonthMobile = $monthNameMobile; @endphp @endif

#{{ $report->order_number ?? $report->invoice_number }}

{{ $report->customer_name }}

{{ $report->updated_at->format('d/m/Y H:i') }}

@if($report->items && $report->items->count() > 0) @foreach($report->items as $item) @php $serviceName = explode('||', $item->service_name)[0]; $unitDb = strtolower($item->unit ?? ''); $isPcs = ($unitDb == 'pcs' || stripos($serviceName, 'satuan') !== false || stripos($serviceName, 'pcs') !== false); $weightValue = $isPcs ? (int)$item->qty_or_weight : $item->qty_or_weight; $alreadyHasUnit = preg_match('/\d+(\.\d+)?\s*(pcs|kg)/i', $serviceName); @endphp @if($alreadyHasUnit) {!! nl2br(e($serviceName)) !!} @else {!! nl2br(e($serviceName)) !!} ({{ $weightValue }} {{ $isPcs ? 'Pcs' : 'Kg' }}) @endif @endforeach @else @php $serviceName = explode('||', $report->service_name)[0]; $unitDb = strtolower($report->unit ?? ''); $isPcs = ($unitDb == 'pcs' || stripos($serviceName, 'satuan') !== false || stripos($serviceName, 'pcs') !== false); $weightValue = $isPcs ? (int)$report->weight : $report->weight; $alreadyHasUnit = preg_match('/\d+(\.\d+)?\s*(pcs|kg)/i', $serviceName); @endphp @if($alreadyHasUnit) {!! nl2br(e($serviceName)) !!} @else {!! nl2br(e($serviceName)) !!} ({{ $weightValue }} {{ $isPcs ? 'Pcs' : 'Kg' }}) @endif @endif
@if(strtolower($report->payment_method) == 'qris') QRIS @else TUNAI @endif @if($report->delivery_type == 'none' || !$report->delivery_type) AMBIL SENDIRI @else @php $typeLabel = "Ambil Sendiri"; if ($report->delivery_type === 'pickup') $typeLabel = "Pick-up"; elseif ($report->delivery_type === 'delivery') $typeLabel = "Delivery"; elseif ($report->delivery_type === 'both') $typeLabel = "Pick-up & Delivery"; @endphp {{ $typeLabel }} @endif
@if(strtolower($report->payment_method) != 'qris')
Uang: Rp {{ number_format($report->cash_received ?? 0, 0, ',', '.') }} Kembali: Rp {{ number_format($report->cash_change ?? 0, 0, ',', '.') }}
@else Nominal Pas @endif @if($report->delivery_fee > 0) Ongkir: Rp {{ number_format($report->delivery_fee, 0, ',', '.') }} @endif
Total Pembayaran Rp {{ number_format($report->total_price, 0, ',', '.') }}
@empty
Belum ada transaksi untuk periode ini.
@endforelse
{{-- Script untuk Interaksi --}}