feat(laporan): tambah fitur laporan permohonan

Menambahkan fitur laporan permohonan dengan kemampuan ekspor data ke Excel dan filtering yang komprehensif.

- Membuat view laporan_permohonan/index.blade.php untuk menampilkan daftar permohonan dalam format datatable
- Mengimplementasikan LaporanPermohonanController dengan method index, dataForDatatables, dan export
- Menambahkan fitur filter berdasarkan tanggal (start_date dan end_date) untuk memudahkan pencarian data berdasarkan rentang waktu
- Mengimplementasikan fitur pencarian global yang dapat mencari di berbagai kolom termasuk nomor_registrasi, tanggal, pemohon, cabang, dll
- Membuat LaporanPermohonanExport class yang mengimplementasikan FromCollection, WithHeadings, dan WithMapping
- Menyesuaikan export data agar konsisten dengan filter yang diterapkan pada datatable
- Menerapkan role-based filtering sehingga hanya administrator yang dapat melihat semua data
- Mengoptimalkan query dengan eager loading untuk meningkatkan performa
- Menambahkan pagination dan sorting untuk meningkatkan user experience
- Menyesuaikan tampilan status dengan badge yang berbeda warna sesuai dengan statusnya
This commit is contained in:
Daeng Deni Mardaeni
2025-04-09 10:19:08 +07:00
parent 5fa1526f1e
commit 22f6e3c8b2
5 changed files with 522 additions and 35 deletions

View File

@@ -22,7 +22,8 @@ use Modules\Lpj\Http\Controllers\LampiranDokumenController;
use Modules\Lpj\Http\Controllers\LaporanAdminKreditController;
use Modules\Lpj\Http\Controllers\LaporanController;
use Modules\Lpj\Http\Controllers\LaporanExternalController;
use Modules\Lpj\Http\Controllers\NilaiPlafondController;
use Modules\Lpj\Http\Controllers\LaporanPermohonanController;
use Modules\Lpj\Http\Controllers\NilaiPlafondController;
use Modules\Lpj\Http\Controllers\NocController;
use Modules\Lpj\Http\Controllers\PembatalanController;
use Modules\Lpj\Http\Controllers\PemilikJaminanController;
@@ -682,6 +683,12 @@ Route::middleware(['auth'])->group(function () {
Route::get('export', [LaporanPenilaiJaminanController::class, 'export'])->name('export');
});
Route::prefix('laporan-permohonan')->name('laporan-permohonan.')->group(function() {
Route::get('datatables', [LaporanPermohonanController::class, 'dataForDatatables'])->name('data');
Route::get('export', [LaporanPermohonanController::class, 'export'])->name('export');
Route::get('/', [LaporanPermohonanController::class, 'index'])->name('index');
});
});
require __DIR__ . '/registrasi.php';