feat(slik): migrasi route SLIK ke group admin-kredit

Mengubah struktur route SLIK agar sesuai dengan arsitektur admin-kredit dengan menambahkan prefix admin-kredit pada semua route.

- Menambahkan route SLIK lengkap dalam group admin-kredit di routes/web.php
- Memperbarui breadcrumb SLIK untuk menggunakan prefix admin-kredit di routes/breadcrumbs.php
- Memperbarui semua referensi route di view index.blade.php:
  * Breadcrumbs: slik → admin-kredit.slik
  * Route datatables: slik.datatables → admin-kredit.slik.datatables
  * Route import: slik.import → admin-kredit.slik.import
  * Route export: slik.export → admin-kredit.slik.export
  * Route download template: admin-kredit.slik.download-template
  * Route JavaScript: slik.show → admin-kredit.slik.show
- Memperbarui referensi route di view show.blade.php:
  * Breadcrumbs: slik → admin-kredit.slik.show
  * Tombol kembali: slik.index → admin-kredit.slik.index
- Menambahkan link download template Excel di modal import
This commit is contained in:
Daeng Deni Mardaeni
2025-09-16 17:18:31 +07:00
parent 2a1ecfd9e2
commit 41262e0317
8 changed files with 190 additions and 163 deletions

View File

@@ -5,84 +5,94 @@
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card border border-agi-100">
<div class="card-header bg-agi-50 py-5">
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
<div class="border card border-agi-100">
<div class="py-5 card-header bg-agi-50">
<h3 class="card-title">
Edit Laporan Admin Kredit
</h3>
</div>
<div class="card-body">
<form action="{{ route('laporan-admin-kredit.update', $laporanAdminKredit->id) }}" method="POST" class="grid gap-5">
<form action="{{ route('admin-kredit.laporan.update', $laporanAdminKredit->id) }}" method="POST"
class="grid gap-5">
@csrf
@method('PUT')
<div class="grid grid-cols-1 md:grid-cols-2 gap-5">
<div class="grid grid-cols-1 gap-5 md:grid-cols-2">
<!-- Editable Fields -->
<div class="form-group">
<label for="kode_register_t24" class="form-label">Kode Register T24</label>
<input type="text" name="kode_register_t24" id="kode_register_t24" class="input" value="{{ $laporanAdminKredit->kode_register_t24 }}" required>
<input type="text" name="kode_register_t24" id="kode_register_t24" class="input"
value="{{ $laporanAdminKredit->kode_register_t24 }}" required>
</div>
<div class="form-group">
<label for="cif" class="form-label">CIF</label>
<input type="text" name="cif" id="cif" class="input" value="{{ $laporanAdminKredit->debiture ? $laporanAdminKredit->debiture->cif : '' }}" required>
<input type="text" name="cif" id="cif" class="input"
value="{{ $laporanAdminKredit->debiture ? $laporanAdminKredit->debiture->cif : '' }}"
required>
</div>
<!-- Read-only Information Fields -->
<div class="form-group">
<label class="form-label">Nama Debitur</label>
<div class="input bg-gray-100">{{ $laporanAdminKredit->debiture ? $laporanAdminKredit->debiture->name : '' }}</div>
<div class="bg-gray-100 input">
{{ $laporanAdminKredit->debiture ? $laporanAdminKredit->debiture->name : '' }}</div>
</div>
<div class="form-group">
<label class="form-label">Cabang</label>
<div class="input bg-gray-100">{{ $laporanAdminKredit->debiture ? $laporanAdminKredit->debiture->branch->name : '' }}</div>
<div class="bg-gray-100 input">
{{ $laporanAdminKredit->debiture ? $laporanAdminKredit->debiture->branch->name : '' }}</div>
</div>
<div class="form-group">
<label class="form-label">Jenis Agunan</label>
<div class="input bg-gray-100">{{ $laporanAdminKredit->jenis_agunan }}</div>
<div class="bg-gray-100 input">{{ $laporanAdminKredit->jenis_agunan }}</div>
</div>
<div class="form-group">
<label class="form-label">Bukti Kepemilikan</label>
<div class="input bg-gray-100">{{ $laporanAdminKredit->bukti_kepemilikan }}</div>
<div class="bg-gray-100 input">{{ $laporanAdminKredit->bukti_kepemilikan }}</div>
</div>
<div class="form-group">
<label class="form-label">Alamat Agunan</label>
<div class="textarea bg-gray-100 h-auto min-h-[70px] p-3">{{ $laporanAdminKredit->alamat_agunan }}</div>
<div class="textarea bg-gray-100 h-auto min-h-[70px] p-3">
{{ $laporanAdminKredit->alamat_agunan }}</div>
</div>
<div class="form-group">
<label class="form-label">Nama Pemilik</label>
<div class="input bg-gray-100">{{ $laporanAdminKredit->nama_pemilik }}</div>
<div class="bg-gray-100 input">{{ $laporanAdminKredit->nama_pemilik }}</div>
</div>
<div class="form-group">
<label class="form-label">Tanggal Kunjungan</label>
<div class="input bg-gray-100">{{ \Carbon\Carbon::parse($laporanAdminKredit->tanggal_kunjungan)->format('d-m-Y') }}</div>
<div class="bg-gray-100 input">
{{ \Carbon\Carbon::parse($laporanAdminKredit->tanggal_kunjungan)->format('d-m-Y') }}</div>
</div>
<div class="form-group">
<label class="form-label">Nilai Pasar Wajar</label>
<div class="input bg-gray-100">{{ number_format($laporanAdminKredit->nilai_pasar_wajar, 0, ',', '.') }}</div>
<div class="bg-gray-100 input">
{{ number_format($laporanAdminKredit->nilai_pasar_wajar, 0, ',', '.') }}</div>
</div>
<div class="form-group">
<label class="form-label">Nilai Likuidasi</label>
<div class="input bg-gray-100">{{ number_format($laporanAdminKredit->nilai_likuidasi, 0, ',', '.') }}</div>
<div class="bg-gray-100 input">
{{ number_format($laporanAdminKredit->nilai_likuidasi, 0, ',', '.') }}</div>
</div>
<div class="form-group">
<label class="form-label">Nama Penilai</label>
<div class="input bg-gray-100">{{ $laporanAdminKredit->nama_penilai }}</div>
<div class="bg-gray-100 input">{{ $laporanAdminKredit->nama_penilai }}</div>
</div>
</div>
<div class="flex justify-end gap-3">
<a href="{{ route('laporan-admin-kredit.index') }}" class="btn btn-light">Cancel</a>
<div class="flex gap-3 justify-end">
<a href="{{ route('admin-kredit.laporan.index') }}" class="btn btn-light">Cancel</a>
<button type="submit" class="btn btn-primary">Update</button>
</div>
</form>

View File

@@ -5,9 +5,11 @@
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card border border-agi-100 card-grid min-w-full" data-datatable="false" data-datatable-page-size="10" data-datatable-state-save="false" id="laporan-admin-kredit-table" data-api-url="{{ route('laporan-admin-kredit.datatables') }}">
<div class="card-header bg-agi-50 py-5 flex-wrap">
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
<div class="min-w-full border card border-agi-100 card-grid" data-datatable="false" data-datatable-page-size="10"
data-datatable-state-save="false" id="laporan-admin-kredit-table"
data-api-url="{{ route('admin-kredit.laporan.datatables') }}">
<div class="flex-wrap py-5 card-header bg-agi-50">
<h3 class="card-title">
Daftar Laporan Admin Kredit
</h3>
@@ -32,82 +34,85 @@
</div>
<div class="flex flex-wrap gap-2.5">
<div class="h-[24px] border border-r-gray-200"></div>
<a class="btn btn-sm btn-light" href="{{ route('laporan-admin-kredit.export') }}"> Export to Excel </a>
<a class="btn btn-sm btn-light" href="{{ route('admin-kredit.laporan.export') }}"> Export to Excel
</a>
</div>
</div>
</div>
<div class="card-body">
<div class="scrollable-x-auto">
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm" data-datatable-table="true">
<table class="table text-sm font-medium text-gray-700 align-middle table-auto table-border"
data-datatable-table="true">
<thead>
<tr>
<th class="w-14">
<input class="checkbox checkbox-sm" data-datatable-check="true" type="checkbox"/>
</th>
<th class="min-w-[150px]" data-datatable-column="cif">
<span class="sort"> <span class="sort-label"> CIF </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="kode_register_t24">
<span class="sort"> <span class="sort-label"> Kode Register T24 </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nama_debitur">
<span class="sort"> <span class="sort-label"> Nama Debitur </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="cabang">
<span class="sort"> <span class="sort-label"> Cabang </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="jenis_agunan">
<span class="sort"> <span class="sort-label"> Jenis Agunan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="bukti_kepemilikan">
<span class="sort"> <span class="sort-label"> Bukti Kepemilikan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="alamat_agunan">
<span class="sort"> <span class="sort-label"> Alamat Agunan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nama_pemilik">
<span class="sort"> <span class="sort-label"> Nama Pemilik </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="tanggal_kunjungan">
<span class="sort"> <span class="sort-label"> Tanggal Kunjungan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nilai_pasar_wajar">
<span class="sort"> <span class="sort-label"> Nilai Pasar Wajar </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nilai_likuidasi">
<span class="sort"> <span class="sort-label"> Nilai Likuidasi </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nama_penilai">
<span class="sort"> <span class="sort-label"> Nama Penilai </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[100px]" data-datatable-column="actions">
<span class="sort"> <span class="sort-label"> Actions </span>
<span class="sort-icon"> </span> </span>
</th>
</tr>
<tr>
<th class="w-14">
<input class="checkbox checkbox-sm" data-datatable-check="true" type="checkbox" />
</th>
<th class="min-w-[150px]" data-datatable-column="cif">
<span class="sort"> <span class="sort-label"> CIF </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="kode_register_t24">
<span class="sort"> <span class="sort-label"> Kode Register T24 </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nama_debitur">
<span class="sort"> <span class="sort-label"> Nama Debitur </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="cabang">
<span class="sort"> <span class="sort-label"> Cabang </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="jenis_agunan">
<span class="sort"> <span class="sort-label"> Jenis Agunan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="bukti_kepemilikan">
<span class="sort"> <span class="sort-label"> Bukti Kepemilikan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="alamat_agunan">
<span class="sort"> <span class="sort-label"> Alamat Agunan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nama_pemilik">
<span class="sort"> <span class="sort-label"> Nama Pemilik </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="tanggal_kunjungan">
<span class="sort"> <span class="sort-label"> Tanggal Kunjungan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nilai_pasar_wajar">
<span class="sort"> <span class="sort-label"> Nilai Pasar Wajar </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nilai_likuidasi">
<span class="sort"> <span class="sort-label"> Nilai Likuidasi </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nama_penilai">
<span class="sort"> <span class="sort-label"> Nama Penilai </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[100px]" data-datatable-column="actions">
<span class="sort"> <span class="sort-label"> Actions </span>
<span class="sort-icon"> </span> </span>
</th>
</tr>
</thead>
</table>
</div>
<div class="card-footer justify-center md:justify-between flex-col md:flex-row gap-3 text-gray-600 text-2sm font-medium">
<div class="flex items-center gap-2">
<div
class="flex-col gap-3 justify-center font-medium text-gray-600 card-footer md:justify-between md:flex-row text-2sm">
<div class="flex gap-2 items-center">
Show
<select class="select select-sm w-16" data-datatable-size="true" name="perpage"> </select> per
<select class="w-16 select select-sm" data-datatable-size="true" name="perpage"> </select> per
page
</div>
<div class="flex items-center gap-4">
<div class="flex gap-4 items-center">
<span data-datatable-info="true"> </span>
<div class="pagination" data-datatable-pagination="true">
</div>

View File

@@ -1,13 +1,13 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render('slik') }}
{{ Breadcrumbs::render('admin-kredit.slik') }}
@endsection
@section('content')
<div class="grid">
<div class="min-w-full border card border-agi-100 card-grid" data-datatable="false" data-datatable-page-size="10"
data-datatable-state-save="false" id="slik-table" data-api-url="{{ route('slik.datatables') }}">
data-datatable-state-save="false" id="slik-table" data-api-url="{{ route('admin-kredit.slik.datatables') }}">
<div class="flex-wrap py-5 card-header bg-agi-50">
<h3 class="card-title">
Data SLIK
@@ -129,7 +129,7 @@
<i class="ki-filled ki-cross"></i>
</button>
</div>
<form action="{{ route('slik.import') }}" method="POST" enctype="multipart/form-data">
<form action="{{ route('admin-kredit.slik.import') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="modal-body">
<div class="flex flex-col gap-5">
@@ -139,6 +139,12 @@
<div class="text-gray-600 text-2sm">
Format yang didukung: .xlsx, .xls, .csv (Maksimal 10MB)
</div>
<div class="text-blue-600 text-2sm">
<a href="{{ route('admin-kredit.slik.download-template') }}"
class="underline hover:text-blue-800">
<i class="ki-filled ki-download"></i> Download Template Excel
</a>
</div>
</div>
<div class="p-3 bg-yellow-100 rounded border border-yellow-300">
<div class="text-sm text-yellow-800">
@@ -163,6 +169,7 @@
</form>
</div>
</div>
@endsection
@push('styles')
@@ -211,7 +218,7 @@
*/
function showDetail(id) {
// Redirect ke halaman detail
window.location.href = `{{ route('slik.show', ':id') }}`.replace(':id', id);
window.location.href = `{{ route('admin-kredit.slik.show', ':id') }}`.replace(':id', id);
}
</script>
@@ -346,7 +353,7 @@
if (monthFilter.value) params.append('month', monthFilter.value);
if (statusFilter.value) params.append('status', statusFilter.value);
const exportUrl = '{{ route('slik.export') }}?' + params.toString();
const exportUrl = '{{ route('admin-kredit.slik.export') }}?' + params.toString();
window.open(exportUrl, '_blank');
});
});

View File

@@ -1,7 +1,7 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render('slik') }}
{{ Breadcrumbs::render('admin-kredit.slik.show', $slik) }}
@endsection
@section('content')
@@ -14,7 +14,7 @@
<p class="mt-1 text-sm text-gray-600">Informasi lengkap debitur {{ $slik->nama_debitur }}</p>
</div>
<div class="flex gap-2">
<a href="{{ route('slik.index') }}" class="btn btn-sm btn-light">
<a href="{{ route('admin-kredit.slik.index') }}" class="btn btn-sm btn-light">
<i class="ki-filled ki-arrow-left"></i>
Kembali
</a>