diff --git a/app/Exports/DataPelangganDetailExport.php b/app/Exports/DataPelangganDetailExport.php
new file mode 100644
index 0000000..26edc6f
--- /dev/null
+++ b/app/Exports/DataPelangganDetailExport.php
@@ -0,0 +1,126 @@
+pelanggan = collect($pelanggan);
+ $this->year = $year;
+ }
+
+ /**
+ * Data source
+ */
+ public function collection(): Collection
+ {
+ return $this->pelanggan;
+ }
+
+ /**
+ * Start data from row 5 (sebab ada tajuk)
+ */
+ public function startCell(): string
+ {
+ return 'A5';
+ }
+
+ /**
+ * Header column
+ */
+ public function headings(): array
+ {
+ return [
+ 'No',
+ 'Nama Pelanggan',
+ 'Umur',
+ 'Jantina',
+ 'Pekerjaan',
+ 'Lokasi',
+ 'Tempoh Pajakan',
+ 'Tarikh Mula',
+ 'Tarikh Tamat',
+ 'Hari Sejak Transaksi Terakhir',
+ 'Bil Transaksi',
+ 'Bil Tebus',
+ 'Jumlah Pinjaman (RM)',
+ 'Jumlah Ujrah (RM)',
+ 'Tujuan Gadaian',
+ 'Status Aktif',
+ 'Cara Bayaran',
+ 'Tarikh Lelong',
+ ];
+ }
+
+ /**
+ * Map setiap row
+ */
+ public function map($row): array
+ {
+ return [
+ ++$this->no,
+ strtoupper($row['nama']),
+ $row['umur'],
+ $row['jantina'],
+ $row['pekerjaan'],
+ $row['daerah'],
+ $row['tempoh_pajakan'],
+ $row['tarikh_mula'],
+ $row['tarikh_tamat'],
+ $row['hari_sejak_transaksi'],
+ $row['bil_transaksi'],
+ $row['bil_tebus'],
+ number_format($row['jumlah_pinjaman'], 2),
+ number_format($row['jumlah_ujrah'], 2),
+ $row['tujuan_gadai'],
+ $row['status_aktif'],
+ $row['cara_bayaran'],
+ $row['tarikh_lelong'] ?? '-',
+ ];
+ }
+
+ /**
+ * Styling Excel
+ */
+ public function styles(Worksheet $sheet)
+ {
+ // Tajuk utama
+ $sheet->mergeCells('A1:R1');
+ $sheet->setCellValue('A1', 'LAPORAN DATA PELANGGAN');
+ $sheet->getStyle('A1')->getFont()->setBold(true)->setSize(14);
+ $sheet->getStyle('A1')->getAlignment()->setHorizontal('center');
+
+ // Tahun
+ $sheet->mergeCells('A2:R2');
+ $sheet->setCellValue('A2', 'TAHUN : ' . $this->year);
+ $sheet->getStyle('A2')->getFont()->setBold(true);
+ $sheet->getStyle('A2')->getAlignment()->setHorizontal('center');
+
+ // Header table
+ $sheet->getStyle('A5:R5')->getFont()->setBold(true);
+ $sheet->getStyle('A5:R5')->getAlignment()->setHorizontal('center');
+
+ // Auto width
+ foreach (range('A', 'R') as $col) {
+ $sheet->getColumnDimension($col)->setAutoSize(true);
+ }
+ }
+}
diff --git a/resources/views/reports/data-pelanggan/index.blade.php b/resources/views/reports/data-pelanggan/index.blade.php
new file mode 100644
index 0000000..08f63f2
--- /dev/null
+++ b/resources/views/reports/data-pelanggan/index.blade.php
@@ -0,0 +1,223 @@
+@extends('layouts.app')
+
+@section('content')
+
+
+
+
+
+
+ {{-- Breadcrumb --}}
+
+
+
+
+
+ {{-- Error Alert --}}
+ @if ($errors->any())
+
+
+
+
+ @foreach ($errors->all() as $error)
+ {{ $error }}
+ @endforeach
+
+
+
+ @endif
+
+
+
+
+ {{-- Header --}}
+
+
+
+
+
+ Laporan Data Pelanggan
+
+
+
+ {{-- FORM --}}
+
+
+
+
+
+
+
+
+ @include('layouts.footer')
+
+
+{{-- Loading Overlay --}}
+
+
+
+
+ Sedang menjana laporan..
+
+
+
+
+@endsection
+
+{{-- =======================
+| Scripts
+|======================= --}}
+@push('additional_scripts')
+
+@endpush
+
+
diff --git a/resources/views/reports/data-pelanggan/show.blade.php b/resources/views/reports/data-pelanggan/show.blade.php
new file mode 100644
index 0000000..dfee142
--- /dev/null
+++ b/resources/views/reports/data-pelanggan/show.blade.php
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Laporan Data Pelanggan |
+
+ Tarikh Cetak: {{ $tarikh_cetak }}
+ |
+
+
+
+ | TAHUN LAPORAN |
+ {{ $tebus_date }} |
+
+
+
+
+
+
+
+ | No |
+ Nama Pelanggan |
+ Umur |
+ Jantina |
+ Pekerjaan |
+ Lokasi |
+ Tempoh Pajakan |
+ Tarikh Mula |
+ Tarikh Tamat |
+ Hari Sejak Transaksi Terakhir |
+ Bil Transaksi |
+ Bil Tebus |
+ Jumlah Pinjaman (RM) |
+ Jumlah Ujrah (RM) |
+ Tujuan Gadaian |
+ Status Aktif |
+ Cara Bayaran |
+ Tarikh Lelong |
+
+
+
+
+ @foreach($pelanggan as $index => $row)
+
+ | {{ $index + 1 }} |
+ {{ strtoupper($row['nama']) }} |
+ {{ $row['umur'] }} |
+ {{ $row['jantina'] }} |
+ {{ $row['pekerjaan'] }} |
+ {{ $row['daerah'] }} |
+ {{ $row['tempoh_pajakan'] }} |
+ {{ $row['tarikh_mula'] }} |
+ {{ $row['tarikh_tamat'] }} |
+ {{ $row['hari_sejak_transaksi'] }} |
+ {{ $row['bil_transaksi'] }} |
+ {{ $row['bil_tebus'] }} |
+ {{ number_format($row['jumlah_pinjaman'], 2) }} |
+ {{ number_format($row['jumlah_ujrah'], 2) }} |
+ {{ $row['tujuan_gadai'] }} |
+ {{ $row['status_aktif'] }} |
+ {{ $row['cara_bayaran'] }} |
+ {{ $row['tarikh_lelong'] }} |
+
+ @endforeach
+
+
+
+
+
+
+
+ |
+ .................................................................. |
+ |
+ .................................................................. |
+ |
+
+
+ |
+ DI SEMAK |
+ |
+ DI SAHKAN |
+ |
+
+