@extends('layouts.app') @section('title', 'Laporan Penjualan') @section('page-title', 'Laporan Penjualan') @section('page-actions') @endsection @section('content') @php($avgTicket = count($transaksi) ? $grandTotal / count($transaksi) : 0)
Penjualan Per Produk Per Kasir
Reset
Total Transaksi
{{ number_format(count($transaksi)) }}
Jumlah transaksi dalam filter aktif
Total Pendapatan
Rp {{ number_format($grandTotal, 0, ',', '.') }}
Pendapatan bersih dari transaksi terpilih
Rata-rata Per Transaksi
Rp {{ number_format($avgTicket, 0, ',', '.') }}
Ticket size periode ini
@forelse($transaksi as $t) @empty @endforelse
Invoice Tanggal Kasir Subtotal Diskon Total Bayar Aksi
{{ $t->no_invoice }} {{ $t->created_at->format('d/m/Y H:i') }} {{ $t->kasir->name }} Rp {{ number_format($t->total_harga, 0, ',', '.') }} {{ $t->diskon > 0 ? '- Rp '.number_format($t->diskon, 0, ',', '.') : '—' }} Rp {{ number_format($t->total_bayar, 0, ',', '.') }} Struk
@endsection @push('scripts') @include('partials.dt-init', [ 'tableId' => 'tbl-laporan', 'config' => "{ order: [[1, 'desc']], columnDefs: [ { className: 'dtr-control', orderable: false, targets: -1 }, { orderable: false, targets: [6] }, { responsivePriority: 1, targets: 0 }, { responsivePriority: 2, targets: 5 }, { responsivePriority: 3, targets: 1 }, { responsivePriority: 10, targets: [2, 3, 4, 6] }, ], buttons: window.DT_EXPORT_BUTTONS, language: { emptyTable: 'Tidak ada transaksi pada periode ini' }, }", 'extra' => " var btnCsv = document.getElementById('btn-export-csv'); var btnPrint = document.getElementById('btn-print'); if (btnCsv) btnCsv.onclick = function() { dt.button(0).trigger(); }; if (btnPrint) btnPrint.onclick = function() { dt.button(1).trigger(); }; ", ]) @endpush