📊 Laporan Penjualan

Detail pendapatan, transaksi, dan produk yang keluar

Export Excel
{{-- ===== FILTER BAR ===== --}}
Reset
{{-- ===== RINGKASAN ===== --}}
Rp {{ number_format($summary['total_pendapatan'] ?? 0, 0, ',', '.') }}
Total Pendapatan
{{ number_format($summary['total_transaksi'] ?? 0) }}
Total Transaksi
{{ number_format($summary['total_produk_keluar'] ?? 0) }}
Produk Terjual (unit)
Rp {{ number_format($summary['rata_per_transaksi'] ?? 0, 0, ',', '.') }}
Rata-rata per Transaksi
{{-- ===== GRAFIK PENDAPATAN ===== --}}
Grafik Pendapatan Harian
@if(isset($chartLabels) && count($chartLabels) > 0) @else

Belum ada data grafik untuk periode ini.

@endif
{{-- ===== GRAFIK PRODUK TERLARIS ===== --}}
Produk Terlaris
@if(isset($topProducts) && count($topProducts) > 0) @else

Belum ada data produk terlaris.

@endif
{{-- ===== TABEL PRODUK KELUAR ===== --}}
Detail Produk Keluar
@if(isset($productSales) && count($productSales) > 0)
@foreach($productSales as $i => $item) @endforeach
# Nama Produk Terjual (unit) Pendapatan Proporsi
{{ $i + 1 }} {{ $item->product_name }}
{{ $item->category ?? '-' }}
{{ number_format($item->total_qty) }} Rp {{ number_format($item->total_revenue, 0, ',', '.') }} @php $pct = $summary['total_produk_keluar'] > 0 ? round($item->total_qty / $summary['total_produk_keluar'] * 100) : 0; @endphp
{{ $pct }}%
@else

Belum ada data produk untuk periode ini.

@endif
{{-- ===== TABEL DETAIL TRANSAKSI ===== --}}
Riwayat Transaksi Detail
@if(isset($orders) && $orders->count() > 0)
@foreach($orders as $order) @endforeach
No. Order Tanggal Pelanggan Produk Qty Total Status Aksi
#{{ $order->invoice_number ?? $order->id }} {{ \Carbon\Carbon::parse($order->created_at)->format('d M Y') }}
{{ \Carbon\Carbon::parse($order->created_at)->format('H:i') }}
{{ $order->customer_name ?? $order->user->name ?? 'Guest' }}
{{ $order->customer_email ?? $order->user->email ?? '-' }}
{{-- Relasi di Transaksi adalah 'details', bukan 'items' --}} @forelse($order->details ?? [] as $detail)
{{ $detail->product->name ?? '-' }}
@empty - @endforelse
@forelse($order->details ?? [] as $detail)
{{ $detail->quantity }}
@empty - @endforelse
Rp {{ number_format($order->total_amount ?? 0, 0, ',', '.') }} {{-- Status sesuai nilai enum di DB: pending, processing, shipped, delivered, cancelled --}} @php $orderStatus = $order->order_status ?? 'pending'; @endphp @if($orderStatus == 'delivered') ✔ Selesai @elseif($orderStatus == 'shipped') 🚚 Dikirim @elseif($orderStatus == 'cancelled') ✖ Batal @elseif($orderStatus == 'processing') ⚙ Diproses @else ⏳ Pending @endif {{-- Payment status --}}
@php $payStatus = $order->payment_status ?? 'pending'; @endphp @if($payStatus == 'paid') 💳 Paid @elseif($payStatus == 'failed') ✖ Failed @else ⏳ Pending @endif
{{-- Pagination --}} @if($orders->hasPages())
Menampilkan {{ $orders->firstItem() }}–{{ $orders->lastItem() }} dari {{ $orders->total() }} transaksi {{ $orders->appends(request()->query())->links() }}
@endif @else

Belum ada transaksi untuk periode yang dipilih.

@endif
{{-- end content-area --}}