✨ 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:
@@ -1,21 +1,29 @@
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;" border="1">
|
||||
@php
|
||||
use Modules\Usermanagement\Models\User;
|
||||
|
||||
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
|
||||
$imagePathPenilai = storage_path(
|
||||
'app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign,
|
||||
);
|
||||
$laporan = $laporan ?? '';
|
||||
$penilaiUser = isset($penilai->userPenilaiTeam) ? $penilai->userPenilaiTeam : null;
|
||||
$imagePathPenilai = $penilaiUser && $penilaiUser->sign
|
||||
? storage_path('app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign)
|
||||
: null;
|
||||
|
||||
$soUser = $permohonan->approval_so ? User::find($permohonan->approval_so) : null;
|
||||
$imagePathSo = $soUser && $soUser->sign
|
||||
? storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign)
|
||||
: null;
|
||||
|
||||
$eoUser = $permohonan->approval_eo ? User::find($permohonan->approval_eo) : null;
|
||||
$imagePathEO = $eoUser && $eoUser->sign
|
||||
? storage_path('app/public/signatures/' . $eoUser->id . '/' . $eoUser->sign)
|
||||
: null;
|
||||
|
||||
$ddUser = $permohonan->approval_dd ? User::find($permohonan->approval_dd) : null;
|
||||
$imagePathDD = $ddUser && $ddUser->sign
|
||||
? storage_path('app/public/signatures/' . $ddUser->id . '/' . $ddUser->sign)
|
||||
: null;
|
||||
|
||||
$soUser = User::where('id', $senior_officer->id)->first();
|
||||
$imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign);
|
||||
|
||||
$imagePathEO = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('EO Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('EO Appraisal')->first()->sign,
|
||||
);
|
||||
|
||||
$imagePathDD = storage_path(
|
||||
'app/public/signatures/' .
|
||||
@@ -25,81 +33,148 @@
|
||||
);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Penilaian Dibuat</b>
|
||||
</td>
|
||||
@if($soUser->name==$eoUser->name)
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Diperiksa dan Menyetujui</b>
|
||||
</td>
|
||||
@endif
|
||||
@else
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Diperiksa</b>
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Menyetujui</b>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if($permohonan->approval_dd!==$permohonan->approval_eo)
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Menyetujui</b>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathPenilai))
|
||||
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if($soUser->name==$eoUser->name)
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@else
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if($permohonan->approval_dd!==$permohonan->approval_eo)
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('PENILAI')) }}
|
||||
<b>{{ ucwords(strtolower('PENILAI')) }}</b>
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{ isset($penilai->updated_at) ? formatTanggalIndonesia($penilai->updated_at) : '' }}
|
||||
{{ $permohonan_migrasi->mig_mst_jaminan_tgl_laporan ? formatTanggalIndonesia(parseTimestamp($permohonan_migrasi->mig_mst_jaminan_tgl_laporan)) : ($permohonan_migrasi->mig_mst_lpj_tgl_laporan ? formatTanggalIndonesia(parseTimestamp($permohonan_migrasi->mig_mst_lpj_tgl_laporan)) : '') }}
|
||||
</span>
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('SENIOR OFFICER')) }}
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{ isset($permohonan->approval_so_at) ? formatTanggalIndonesia($permohonan->approval_so_at) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{ isset($permohonan->approval_eo_at) ? formatTanggalIndonesia($permohonan->approval_eo_at) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
@if($soUser->name==$eoUser->name)
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $soUser->name ?? $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
@if($npw > 1000000000 && $npw < 5000000000)
|
||||
<b>{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}</b>
|
||||
@else
|
||||
<b>{{ ucwords(strtolower('SENIOR OFFICER')) }}</b>
|
||||
@endif
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{ isset($permohonan->approval_so_at) ? formatTanggalIndonesia($permohonan->approval_so_at) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@else
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $soUser->name ?? $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
<b>{{ ucwords(strtolower('SENIOR OFFICER')) }}</b>
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{ isset($permohonan->approval_so_at) ? formatTanggalIndonesia($permohonan->approval_so_at) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $eoUser->name ?? User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
<b>{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}</b>
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{ isset($permohonan->approval_eo_at) ? formatTanggalIndonesia($permohonan->approval_eo_at) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{
|
||||
isset($permohonan->approval_dd_at) ?
|
||||
formatTanggalIndonesia($permohonan->approval_dd_at) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
@if($permohonan->approval_dd!==$permohonan->approval_eo)
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $ddUser->name ?? User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
<b>{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}</b>
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{
|
||||
isset($permohonan->approval_dd_at) ?
|
||||
formatTanggalIndonesia($permohonan->approval_dd_at) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user