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.
117 lines
5.6 KiB
PHP
117 lines
5.6 KiB
PHP
@extends('layouts.main')
|
|
|
|
@section('breadcrumbs')
|
|
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
|
@endsection
|
|
|
|
@section('content')
|
|
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
|
|
@if (Auth::user()->hasAnyRole(['senior-officer', 'administrator','DD Appraisal', 'EO Appraisal']) && Request::is('penilai/lampiran'))
|
|
@include('lpj::component.detail-jaminan', [
|
|
'backLink' => 'otorisator.view-laporan',
|
|
'queryParams' => [
|
|
'permohonanId' => request()->query('permohonanId'),
|
|
'documentId' => request()->query('documentId'),
|
|
'inspeksiId' => request()->query('inspeksiId'),
|
|
'jaminanId' => request()->query('jaminanId'),
|
|
'statusLpj' => 1,
|
|
'header' => request('header'),
|
|
],
|
|
'title' => 'Paparan dokument',
|
|
])
|
|
@else
|
|
@include('lpj::component.detail-jaminan', [
|
|
'backLink' => 'penilai.show',
|
|
'id' => $permohonan->id,
|
|
'title' => 'Lampiran foto dan dokumen',
|
|
])
|
|
@endif
|
|
|
|
@include('lpj::penilai.components.foto-lampiran')
|
|
|
|
|
|
@if (isset($formDenah['denahs']) && is_array($formDenah['denahs']) && count($formDenah['denahs']) > 0)
|
|
<div class="card">
|
|
<div class="uppercase card-header bg-agi-50">
|
|
Denah
|
|
</div>
|
|
@foreach ($formDenah['denahs'] as $index => $denah)
|
|
<div class="card-body">
|
|
<div class="grid gap-5 w-full">
|
|
<!-- Preview Container -->
|
|
<div class="preview-container-{{ $index }}" class="flex items-center">
|
|
@if (isset($denah['foto_denah']))
|
|
@php
|
|
$fileExtension = pathinfo($denah['foto_denah'], PATHINFO_EXTENSION);
|
|
@endphp
|
|
|
|
@if (in_array($fileExtension, ['jpg', 'jpeg', 'png']))
|
|
<img src="{{ asset('storage/' . $denah['foto_denah']) }}" class="object-contain max-w-full max-h-screen">
|
|
@elseif($fileExtension === 'pdf')
|
|
<embed src="{{ asset('storage/' . $denah['foto_denah']) }}" type="application/pdf"
|
|
width="100%" height="500px">
|
|
@endif
|
|
@endif
|
|
</div>
|
|
<div class="flex flex-wrap gap-4 w-full lg:flex-nowrap text-start">
|
|
<div class="w-full">
|
|
<div class="flex flex-wrap gap-4">
|
|
<div class="flex gap-4 justify-start items-center w-full">
|
|
<label class="form-label max-w-56">
|
|
<span class="form-label">Nama Denah</span>
|
|
</label>
|
|
<p class="text-gray-700 text-md">
|
|
{{ isset($denah['nama_denah']) ? $denah['nama_denah'] : '' }}</p>
|
|
</div>
|
|
</div>
|
|
<div class="flex flex-wrap gap-4">
|
|
<div class="flex gap-4 justify-start items-center w-full">
|
|
<label class="form-label max-w-56">
|
|
<span class="form-label">Total Luas</span>
|
|
</label>
|
|
<p class="text-gray-700 text-md">
|
|
{{ isset($denah['luas_denah']) ? $denah['luas_denah'] . ' m²' : '' }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="mt-5 border-b border-b-gray-200"></div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
@endif
|
|
|
|
@if ($penilai && $penilai->kertas_kerja)
|
|
<div class="card">
|
|
<div class="uppercase card-header bg-agi-50">
|
|
Kertas Kerja
|
|
</div>
|
|
<div class="flex justify-between items-center card-body">
|
|
|
|
@php
|
|
$url = '';
|
|
$fileName = '';
|
|
if ($penilai && $penilai->kertas_kerja) {
|
|
$url = asset('storage/' . $penilai->kertas_kerja);
|
|
$fileName = basename($penilai->kertas_kerja);
|
|
}
|
|
@endphp
|
|
|
|
@if ($penilai && $penilai->kertas_kerja)
|
|
<button type="button" class="btn btn-primary"
|
|
onclick="window.open('{{ $url }}', '_blank')">
|
|
<i class="ki-outline ki-cloud-download"></i>
|
|
Lihat Kertas Kerja</button>
|
|
|
|
<p class="text-gray-700 text-2sm">{{ $fileName }}</p>
|
|
@else
|
|
<p class="text-gray-700 text-2sm">Belum ada kertas kerja</p>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
@endsection
|