✨ feat(lpj-module): tambah tampilan laporan inspeksi & refactor detail lokasi
Ringkasan: - Menambahkan halaman hasil inspeksi dan tampilan cetak laporan. - Mengekstrak komponen detail lokasi ke partial baru agar reusable. - Menambahkan null-safe access dan perbaikan binding data di view. - Merapikan tombol cetak dan navigasi agar konsisten antar halaman. Perubahan utama: 1. activitydetail.blade.php → ubah tombol print jadi route, tambah null-safe user/branch. 2. detail-lokasi.blade.php (baru) → komponen reusable untuk detail lokasi dengan formatLabel & tanggal. 3. form-penilai.blade.php → refactor luas menggunakan match, hapus fungsi debug & Swal loading. 4. print-out-dokument.blade.php → gunakan partial lpj::component.detail-lokasi untuk detail lokasi. 5. show-laporan-inspeksi.blade.php (baru) → tab 'Laporan' & 'Hasil Inspeksi' + tombol cetak dan back. 6. print-out-sederhana / print-out-standar → penyesuaian tampilan & binding data. 7. signature-approval.blade.php → perbaikan layout area tanda tangan. 8. surveyor/components/* → normalisasi tampilan, validasi gambar, dan penyelarasan fakta/lingkungan. 9. routes/web.php → tambah dan ubah rute untuk laporan inspeksi dan cetak laporan. Catatan: - Tidak ada perubahan query database; semua modifikasi bersifat tampilan. - Logging tambahan untuk observabilitas proses render laporan.
This commit is contained in:
@@ -148,11 +148,9 @@
|
||||
td, th {
|
||||
border: 1px solid #000;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
@php
|
||||
@@ -167,14 +165,14 @@
|
||||
$senior_officer = null;
|
||||
if ($permohonan->debiture && $permohonan->documents) {
|
||||
foreach ($permohonan->documents as $dokumen) {
|
||||
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
|
||||
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
|
||||
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first();
|
||||
$teams = $permohonan->region->teams;
|
||||
$teams = $permohonan->region->teams;
|
||||
|
||||
if ($teams) {
|
||||
foreach ($teams as $team) {
|
||||
$team_users = $team->teamsUsers;
|
||||
// print_r($team_users);
|
||||
|
||||
if ($team_users) {
|
||||
foreach ($team_users as $team_user) {
|
||||
$user = $team_user->user;
|
||||
@@ -189,8 +187,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
use Modules\Usermanagement\Models\User;
|
||||
$surveyorUser = User::where('id', $surveyor->userPenilaiTeam->id)->first();
|
||||
|
||||
$surveyorUser = getUser($surveyor->userPenilaiTeam->id);
|
||||
@endphp
|
||||
|
||||
<body style="width: 90%; margin: auto">
|
||||
@@ -218,11 +216,11 @@
|
||||
<div style="text-align: center; text-transform: uppercase; font-weight: bold;">
|
||||
<h1 style="font-size: 14px;">
|
||||
FORM INSPEKSI {{ $data ?? '' }}
|
||||
</h1></div>
|
||||
<div >
|
||||
<table
|
||||
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td style="text-align: center; margin-top: 5px; ">
|
||||
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
|
||||
@@ -254,11 +252,12 @@
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur/Perwakilan</td>
|
||||
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; padding: 2px;">
|
||||
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
|
||||
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
|
||||
<p style="margin: 0; padding:0;">
|
||||
{{ $item }}
|
||||
</p>
|
||||
@php
|
||||
$debitur = $forminspeksi['asset']['debitur_perwakilan'] ?? null;
|
||||
@endphp
|
||||
@if ($debitur)
|
||||
@foreach (is_array($debitur) ? $debitur : [$debitur] as $item)
|
||||
<p style="margin:0;padding:0;">{{ $item }}</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
@@ -280,7 +279,7 @@
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Pihak Bank</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; vertical-align: top;">
|
||||
{{ isset($forminspeksi['asset']['pihak_bank']) ? $forminspeksi['asset']['pihak_bank'] : '' }}
|
||||
{{ $forminspeksi['asset']['pihak_bank'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -319,16 +318,13 @@
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<tr>ß
|
||||
@php
|
||||
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai']) ? 'sesuai' : 'tidak sesuai';
|
||||
$selectedData = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
|
||||
|
||||
$lainnya = isset($forminspeksi['asset']['jenis_asset']['Lainnya'])
|
||||
? $forminspeksi['asset']['jenis_asset']['Lainnya']
|
||||
: null;
|
||||
|
||||
$jenisAsset = $forminspeksi['asset']['jenis_asset'] ?? [];
|
||||
$selectedData = $jenisAsset['sesuai'] ?? $jenisAsset['tidak sesuai'] ?? null;
|
||||
$lainnya = $jenisAsset['Lainnya'] ?? null;
|
||||
@endphp
|
||||
|
||||
<td width="25%" style="padding: 2px; vertical-align: top;">Jenis Aset</td>
|
||||
<td width="1%" style=" vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; width: %;">
|
||||
@@ -340,35 +336,31 @@
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Alamat</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
<table style="margin: 0">
|
||||
<tr>
|
||||
<td width="25%">Terletak di</td>
|
||||
<td> {{ $alamat['address'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kelurahan</td>
|
||||
<td>{{ $alamat['village_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kecamatan</td>
|
||||
<td>{{ $alamat['district_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kotamadya</td>
|
||||
<td> {{ $alamat['city_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Propinsi</td>
|
||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
@if ($permohonan->is_mig == 1 && $dokumen)
|
||||
<table style="margin: 0">
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@if ($detail->name && $detail->details && $detail->dokumen_jaminan)
|
||||
<tr><td width="25%"><strong>{{ $detail->name }}</strong></td></tr>
|
||||
@endif
|
||||
@if ($detail->name == 'LOKASI JAMINAN' && $detail->details)
|
||||
@include('lpj::component.detail-lokasi', ['details' => json_decode($detail->details, true)])
|
||||
@endif
|
||||
@endforeach
|
||||
</table>
|
||||
@else
|
||||
<table style="margin: 0">
|
||||
<tr><td width="25%">Terletak di</td><td>{{ $alamat['address'] ?? '' }}</td></tr>
|
||||
<tr><td>Kelurahan</td><td>{{ $alamat['village_code'] ?? '' }}</td></tr>
|
||||
<tr><td>Kecamatan</td><td>{{ $alamat['district_code'] ?? '' }}</td></tr>
|
||||
<tr><td>Kotamadya</td><td>{{ $alamat['city_code'] ?? '' }}</td></tr>
|
||||
<tr><td>Propinsi</td><td>{{ $alamat['province_code'] ?? '' }}</td></tr>
|
||||
</table>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table
|
||||
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
|
||||
|
||||
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
|
||||
<tr>
|
||||
<td style="text-align: center; margin-top: 5px; ">
|
||||
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
|
||||
@@ -383,16 +375,15 @@
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Titik Kordinat</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; width: 79%;">
|
||||
{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }}
|
||||
{{ isset($forminspeksi['asset']['kordinat_lat']) && !empty($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '-' }}
|
||||
,
|
||||
{{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}
|
||||
{{ isset($forminspeksi['asset']['kordinat_lng']) && !empty($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '-' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="no-break" >
|
||||
<table
|
||||
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
|
||||
|
||||
<div class="no-break" >
|
||||
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
|
||||
<tr>
|
||||
<td style="text-align: center; margin-top: 5px; ">
|
||||
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
|
||||
@@ -408,8 +399,9 @@
|
||||
<tr>
|
||||
@php
|
||||
// Ambil nilai sesuai dan tidak sesuai
|
||||
$hubCadebSesuai = $forminspeksi['asset']['hub_cadeb']['sesuai'] ?? null;
|
||||
$hubCadebTidakSesuai = $forminspeksi['asset']['hub_cadeb']['tidak sesuai'] ?? null;
|
||||
$hubCadeb = $forminspeksi['asset']['hub_cadeb'] ?? [];
|
||||
$hubCadebSesuai = $hubCadeb['sesuai'] ?? null;
|
||||
$hubCadebTidakSesuai = $hubCadeb['tidak sesuai'] ?? null;
|
||||
@endphp
|
||||
<td style="vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
@@ -428,7 +420,6 @@
|
||||
@if (!empty($basicData['hubCadeb']))
|
||||
<table>
|
||||
<tr>
|
||||
@php $count = 0; @endphp
|
||||
@foreach ($basicData['hubCadeb'] as $item)
|
||||
<td>
|
||||
<label>
|
||||
@@ -437,46 +428,31 @@
|
||||
{{ $item->name ?? '' }}
|
||||
</label>
|
||||
</td>
|
||||
@php $count++; @endphp
|
||||
|
||||
@if ($count % 3 === 0)
|
||||
@if ($loop->iteration % 3 === 0)
|
||||
</tr>
|
||||
<tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tr>
|
||||
<tr>
|
||||
</table>
|
||||
@endif
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@if ($count % 3 !== 0)
|
||||
@for ($i = 0; $i < 3 - ($count % 3); $i++)
|
||||
<td></td>
|
||||
@endfor
|
||||
@endif
|
||||
<tr>
|
||||
@php
|
||||
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai']
|
||||
?? $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai']
|
||||
?? null;
|
||||
@endphp
|
||||
|
||||
<td style="vertical-align: top; width: 20%; padding: 2px;">Hubungan Penghuni Jaminan dengan Debitur</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
{{ $selectedData ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
@php
|
||||
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])
|
||||
? 'sesuai'
|
||||
: 'tidak sesuai';
|
||||
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
|
||||
@endphp
|
||||
|
||||
<td style="vertical-align: top; width: 20%; padding: 2px;">Hubungan Penghuni Jaminan dengan Debitur</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
@if (isset($selectedData))
|
||||
{{ $selectedData ?? '' }}
|
||||
</td>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -487,20 +463,12 @@
|
||||
@foreach ($permohonan->documents as $dokumen)
|
||||
@if ($dokumen->jenisJaminan)
|
||||
@php
|
||||
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
|
||||
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true) ?: [];
|
||||
$kategoriUnik = array_unique(is_array($formKategori) ? $formKategori : [$formKategori]);
|
||||
@endphp
|
||||
@if (isset($formKategori) && $formKategori)
|
||||
@php
|
||||
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
|
||||
$kategoriUnik = array_unique($kategoriArray);
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
@foreach ($kategoriUnik as $kategori)
|
||||
{{-- Tampilkan komponen sesuai kategori jika file komponen ada --}}
|
||||
@includeIf('lpj::surveyor.components.print-out.' . str_replace('-', '-', $kategori), [
|
||||
'dokumen' => $dokumen,
|
||||
])
|
||||
@includeIf('lpj::surveyor.components.print-out.' . $kategori, ['dokumen' => $dokumen])
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
Reference in New Issue
Block a user