@php use Illuminate\Support\Str; use Illuminate\Support\Facades\Storage; if (!function_exists('isImage')) { function isImage($path) { if (!$path) return false; $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); return in_array($ext, ['jpg', 'jpeg', 'png', 'gif', 'webp']); } } @endphp {{-- [DIUBAH] Menggunakan layout project --}} @extends('layouts.project') @section('header') Detail Klien & Legalitas @endsection @section('content')
{{-- Header Halaman (Disederhanakan karena header sudah ada di layout) --}}

Proyek: {{ $dataKlien->proyek->nama_proyek ?? 'N/A' }}

Klien: {{ $dataKlien->user->name ?? 'N/A' }}

Edit Data Ini
{{-- Konten Utama (Grid 2 Kolom) --}}
{{-- [KIRI] Kolom Info Utama --}}

Informasi Dasar

Jenis Bangunan
{{ $dataKlien->jenis_bangunan }}
Alamat Proyek
{{ $dataKlien->alamat }}
{{-- Info Legalitas dalam Grid --}}
Nomor PBG
{{ $dataKlien->nomor_pbg ?? '-' }}
Tanggal Terbit PBG
{{ $dataKlien->tanggal_terbit ? \Carbon\Carbon::parse($dataKlien->tanggal_terbit)->format('d M Y') : '-' }}
Status Arsitek
{{ $dataKlien->status_arsitek ?? '-' }}
Tanggal OSS
{{ $dataKlien->tanggal_oss ? \Carbon\Carbon::parse($dataKlien->tanggal_oss)->format('d M Y') : '-' }}
{{-- Info Tambahan --}}
Analisa
{{ $dataKlien->Analisa ?? '-' }}
Keterangan
{{ $dataKlien->keterangan ?? '-' }}
{{-- [KANAN] Kolom Dokumen (File) --}}

Dokumen Legalitas

Status Dokumen
@if($dataKlien->status == 'Lengkap') {{ $dataKlien->status }} @else {{ $dataKlien->status ?? 'Belum Lengkap' }} @endif
{{-- Daftar Dokumen --}}
    {{-- KTP --}}
  • File KTP
    @if(isImage($dataKlien->ktp)) @php $fileKtp = json_encode([['src' => Storage::url($dataKlien->ktp), 'download' => route('klien.downloadFile', ['id' => $dataKlien->id, 'field' => 'ktp']), 'deskripsi' => 'KTP - ' . ($dataKlien->user->name ?? 'Klien')]]); @endphp @elseif($dataKlien->ktp) Download @else Kosong @endif
  • {{-- SHM --}}
  • File SHM
    @if(isImage($dataKlien->shm)) @php $fileShm = json_encode([['src' => Storage::url($dataKlien->shm), 'download' => route('klien.downloadFile', ['id' => $dataKlien->id, 'field' => 'shm']), 'deskripsi' => 'SHM - ' . ($dataKlien->proyek->nama_proyek ?? 'Proyek')]]); @endphp @elseif($dataKlien->shm) Download @else Kosong @endif
  • {{-- GAMBAR (Multi) --}}
  • File Gambar
    @if(is_array($dataKlien->gambar) && !empty($dataKlien->gambar)) @php $gambarData = []; $nonGambarCount = 0; foreach($dataKlien->gambar as $item) { if(isset($item['path']) && isImage($item['path'])) { $url = Storage::url($item['path']); $gambarData[] = ['src' => $url, 'download' => $url, 'deskripsi' => $item['deskripsi'] ?? '...']; } elseif (isset($item['path'])) { $nonGambarCount++; } } $gambarJson = htmlspecialchars(json_encode($gambarData)); @endphp @if(count($gambarData) > 0) @endif @if($nonGambarCount > 0) ({{ $nonGambarCount }} file non-gambar) @endif @if(count($gambarData) == 0 && $nonGambarCount == 0) Kosong @endif @else Kosong @endif
  • {{-- ITR --}}
  • File ITR
    @if(isImage($dataKlien->ITR)) @php $fileItr = json_encode([['src' => Storage::url($dataKlien->ITR), 'download' => route('klien.downloadFile', ['id' => $dataKlien->id, 'field' => 'ITR']), 'deskripsi' => 'ITR - ' . ($dataKlien->proyek->nama_proyek ?? 'Proyek')]]); @endphp @elseif($dataKlien->ITR) Download @else Kosong @endif
  • {{-- MEP --}}
  • File MEP
    @if(isImage($dataKlien->perhitungan_MEP)) @php $fileMep = json_encode([['src' => Storage::url($dataKlien->perhitungan_MEP), 'download' => route('klien.downloadFile', ['id' => $dataKlien->id, 'field' => 'perhitungan_MEP']), 'deskripsi' => 'Perhitungan MEP - ' . ($dataKlien->proyek->nama_proyek ?? 'Proyek')]]); @endphp @elseif($dataKlien->perhitungan_MEP) Download @else Kosong @endif
{{-- Link Kembali --}}
Kembali ke Daftar Klien
{{-- MODAL GALERI GAMBAR --}}
@endsection