feat(slik): implementasi fitur laporan SLIK dengan integrasi SweetAlert

- Menambahkan tombol aksi "Pindahkan ke Laporan SLIK" pada halaman index & detail
- Integrasi SweetAlert2 untuk konfirmasi, loading state, dan notifikasi sukses/gagal
- Implementasi auto-refresh DataTable setelah pemindahan berhasil
- Disable tombol otomatis setelah sukses untuk mencegah duplikasi data
- LaporanSlikController: method store() dengan transaksi DB & auto-delete dari tabel sliks
- Routing baru untuk index, datatables, store, dan export laporan SLIK
- Penyesuaian views (index & show) dengan tombol, script SweetAlert, dan feedback visual
- Proteksi keamanan: CSRF token, validasi input, transaksi DB, dan error logging
- Testing checklist: pindahkan data, refresh tabel, disable tombol, error handling, responsif mobile/desktop
This commit is contained in:
Daeng Deni Mardaeni
2025-09-17 13:02:58 +07:00
parent c3c40fdc27
commit d932559849
4 changed files with 200 additions and 39 deletions

View File

@@ -5,8 +5,8 @@ use Modules\Lpj\Http\Controllers\NocController;
use Modules\Lpj\Http\Controllers\SLAController;
use Modules\Lpj\Http\Controllers\KJPPController;
use Modules\Lpj\Http\Controllers\MemoController;
use Modules\Lpj\Http\Controllers\BucokController;
use Modules\Lpj\Http\Controllers\SlikController;
use Modules\Lpj\Http\Controllers\BucokController;
use Modules\Lpj\Http\Controllers\TeamsController;
use Modules\Lpj\Http\Controllers\RegionController;
use Modules\Lpj\Http\Controllers\ResumeController;
@@ -22,6 +22,7 @@ use Modules\Lpj\Http\Controllers\PenilaianController;
use Modules\Lpj\Http\Controllers\PembatalanController;
use Modules\Lpj\Http\Controllers\PermohonanController;
use Modules\Lpj\Http\Controllers\CustomFieldController;
use Modules\Lpj\Http\Controllers\LaporanSlikController;
use Modules\Lpj\Http\Controllers\LaporanUserController;
use Modules\Lpj\Http\Controllers\JenisDokumenController;
use Modules\Lpj\Http\Controllers\JenisJaminanController;
@@ -805,6 +806,14 @@ Route::middleware(['auth'])->group(function () {
Route::delete('truncate', [SlikController::class, 'truncate'])->name('truncate');
});
// Route Laporan SLIK
Route::prefix('laporan-slik')->name('laporan-slik.')->group(function () {
Route::get('/', [LaporanSlikController::class, 'index'])->name('index');
Route::get('datatables', [LaporanSlikController::class, 'datatables'])->name('datatables');
Route::post('store', [LaporanSlikController::class, 'store'])->name('store');
Route::get('export', [LaporanSlikController::class, 'export'])->name('export');
});
// Laporan Routes
Route::prefix('laporan')->name('laporan.')->group(function () {
Route::get('/', [LaporanAdminKreditController::class, 'index'])->name('index');