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:
Daeng Deni Mardaeni
2025-11-09 21:19:58 +07:00
parent 535be2cff3
commit 0d5b6b1529
31 changed files with 2193 additions and 1865 deletions

View File

@@ -38,7 +38,7 @@
Pemohon:
</h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }}
{{ $permohonan->user->nik ?? '' }} | {{ $permohonan->user->name ?? '' }} | {{ $permohonan->user->branch->name ?? '' }}
</span>
</div>
@@ -85,7 +85,7 @@
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => $dokumen->id, 'jenis_jaminan_id' => $dokumen->jenis_jaminan_id ]) }}" class="btn btn-light">
<i class="ki-filled ki-printer"></i> Hasil Inspeksi
</a>
<a class="btn btn-success" onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }}, 0 )">
<a class="btn btn-success" href="{{ route('penilai.print-out-laporan', ['permohonan_id' => $permohonan->id, 'dokument_id' => $dokumen->id, 'jenis_jaminan_id' => $dokumen->jenis_jaminan_id ]) }}">
<i class="ki-filled ki-printer"></i> Print Laporan
</a>
</div>
@@ -100,4 +100,4 @@
</div>
</div>
@endsection
@include('lpj::surveyor.js.utils')
{{-- @include('lpj::surveyor.js.utils') --}}

View File

@@ -208,11 +208,11 @@
title: 'Tanggal Permohonan'
},
user_id: {
title: 'User Pemohon',
render: (item, data) => {
return data.user && data.user.name ? `${data.user.name}` : '-';
},
},
title: 'User Pemohon',
render: (item, data) => {
return data?.user?.name ?? data?.mig_nama_ao ?? '-';
}},
branch_id: {
title: 'Cabang Pemohon',
@@ -275,10 +275,10 @@
['survey', 'done', 'proses-laporan', 'laporan', 'paparan'].includes(status) ?
dokumenjaminan.map(dokumen => {
return `
<a class="btn btn-sm btn-icon btn-clear btn-info" href="surveyor/print-out-inspeksi/${data.id}/${dokumen.id}/${dokumen.jenis_jaminan_id}" title="Print Inspeksi Permohonan">
<i class="ki-outline ki-printer"></i>
</a>
`;
<a class="btn btn-sm btn-icon btn-clear btn-info" href="surveyor/print-out-inspeksi/${data.id}/${dokumen.id}/${dokumen.jenis_jaminan_id}" title="Print Inspeksi Permohonan">
<i class="ki-outline ki-printer"></i>
</a>
`;
}).join('') : ''
}
</div>

View File

@@ -9,7 +9,7 @@
</h3>
<div class="flex gap-2 items-center">
{!! $customlink ?? '' !!}
{!! $customlink ?? "" !!}
@if (isset($id))
@php
$parameters = isset($id) ? ['id' => $id] : [];
@@ -46,18 +46,18 @@
Pemohon:
</h3>
<span class="text-gray-700 text-2sm">
{{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }}
{{ $permohonan->user->nik ?? '' }} | {{ $permohonan->user->name ?? '' }} | {{ $permohonan->user->branch->name ?? '' }}
</span>
</div>
@if (isset($penawaran))
@if(isset($penawaran))
<div class="mb-5">
<h3 class="font-medium text-gray-900 text-md">
Nomor Penawaran:
</h3>
<span class="text-gray-700 text-2sm">
{{ $penawaran->code }}
</span>
{{ $penawaran->code }}
</span>
</div>
<div class="mb-5">
@@ -65,17 +65,18 @@
Nomor Penawaran:
</h3>
<span class="text-gray-700 text-2sm">
{{ $penawaran->tujuanPenilaianKjpp->name }}
</span>
{{ $penawaran->tujuanPenilaianKjpp->name }}
</span>
</div>
@else
<div class="mb-5">
<h3 class="font-medium text-gray-900 text-md">
Tujan Permohonan:
</h3>
<span class="text-gray-700 text-2sm">
{{ $permohonan->tujuanPenilaian->name }}
</span>
{{ $permohonan->tujuanPenilaian->name }}
</span>
</div>
<div class="mb-5">
@@ -83,8 +84,8 @@
Nilai Plafond:
</h3>
<span class="text-gray-700 text-2sm">
{{ $permohonan->nilaiPlafond->name }}
</span>
{{ $permohonan->nilaiPlafond->name ?? '' }}
</span>
</div>
<div class="mb-5">
@@ -93,8 +94,8 @@
</h3>
<span
class="text-md font-bold {{ $permohonan->status_bayar === 'belum_bayar' ? 'text-red-600' : 'text-green-600' }} uppercase">
{{ str_replace('_', ' ', $permohonan->status_bayar) }}
</span>
{{ str_replace('_', ' ', $permohonan->status_bayar) }}
</span>
</div>
@endif

View File

@@ -0,0 +1,33 @@
@if (is_array($details) && count($details) > 0)
@php $currentKey = ''; @endphp
@foreach ($details as $value)
@foreach ($value as $key => $item)
@if (!empty($item))
<tr>
<td style="padding: 2px; width:25%;">
@if ($currentKey !== $key)
{{ formatLabel($key) }}
@endif
@php
if ($currentKey !== $key) {
$currentKey = $key;
}
@endphp
</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px;">
@if (strpos(strtolower($key), 'tanggal') !== false)
{{ formatTanggalIndonesia($item) }}
@else
{{ $item }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<span></span>
@endif
@endif
</td>
</tr>
@endif
@endforeach
@endforeach
@endif

View File

@@ -76,24 +76,17 @@
@foreach ($kategoriUnik as $item)
@php
$luas = match ($item) {
'bangunan' => $forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ??
$forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'] ?? null,
'tanah' => $forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ??
$forminspeksi['tanah']['luas_tanah']['sesuai'] ?? null,
'apartemen-kantor' => $forminspeksi['luas_unit']['sesuai'] ??
$forminspeksi['luas_unit']['tidak sesuai'] ?? null,
default => null,
};
if ($item === 'bangunan') {
$luas =
$forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ??
($forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'] ?? null);
} elseif ($item === 'tanah') {
$luas =
$forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ??
($forminspeksi['tanah']['luas_tanah']['sesuai'] ?? null);
} elseif ($item === 'apartemen-kantor') {
$luas =
$forminspeksi['luas_unit']['sesuai'] ??
($forminspeksi['luas_unit']['tidak sesuai'] ?? null);
} else {
$luas = null;
}
$luas = old('luas_' . $item, $lpjData['luas_' . $item] ?? $luas);
$luasKey = 'luas_' . $item;
$nilaiKey1 = 'nilai_' . $item . '_1';
$nilaiKey2 = 'nilai_' . $item . '_2';
@@ -122,7 +115,8 @@
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<label class="input">
<i class="">Rp</i>
<input id="{{ $nilaiKey2 }}" type="text" class="w-full currency-format"
<input id="{{ $nilaiKey2 }}" type="text"
class="w-full currency-format"
name="{{ $nilaiKey2 }}"
value="{{ old($nilaiKey2, $lpjData[$nilaiKey2] ?? null) }}">
</label>
@@ -477,7 +471,6 @@
if (luasInput && nilaiInput && outputElement) {
const luas = parseFloat(luasInput.value.replace(/[^0-9.]/g, '')) || 0;
console.log("a", luas);
const nilai = parseInput(nilaiInput.value);
const hasil = luas * nilai;
@@ -620,24 +613,4 @@
input.value = formattedValue;
}
function showLoadingSwal(message, duration = 5000) {
Swal.fire({
title: message,
allowOutsideClick: false,
didOpen: () => {
Swal.showLoading();
},
timer: duration, // Durasi dalam milidetik
timerProgressBar: true, // Menampilkan progres bar timer
}).then((result) => {
if (result.dismiss === Swal.DismissReason.timer) {
console.log("Dialog loading otomatis ditutup.");
}
});
}
function hideLoadingSwal() {
Swal.close();
}
</script>

View File

@@ -1,41 +1,11 @@
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
@if (!empty($detail->name) && isset($detail->details) && !empty($detail->dokumen_jaminan))
<tr>
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
</tr>
@endif
@if (isset($detail->details))
@php
$details = json_decode($detail->details, true);
@endphp
@if (is_array($details) && count($details) > 0)
@foreach ($details as $value)
@if (is_array($value))
@foreach ($value as $key => $item)
@if (!empty($item))
<tr>
<td style="padding: 2px;">
{{ formatLabel($key) }}
</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px;">
@if (strpos(strtolower($key), 'tanggal') !== false)
{{ formatTanggalIndonesia($item) }}
@else
{{ $item }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<span></span>
@endif
@endif
</td>
</tr>
@endif
@endforeach
@endif
@endforeach
@if ($detail->name != 'LOKASI JAMINAN')
@if (isset($detail->details))
@php
$details = json_decode($detail->details, true);
@endphp
@include('lpj::component.detail-lokasi', ['details' => $details])
@endif
@endif
@endforeach

View File

@@ -0,0 +1,132 @@
@extends('layouts.main')
@section('breadcrumbs')
{{-- {{ Breadcrumbs::render(request()->route()->getName()) }} --}}
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card">
<div class="card-header py-5 flex-wrap">
<div class="card-title flex flex-row gap-1.5">
<button id="tab-laporan" class="btn btn-sm btn-primary">Laporan</button>
<button id="tab-hasil" class="btn btn-sm btn-light">Hasil Inspeksi</button>
</div>
<div class="flex items-wrap gap-2.5">
{{-- <a href="{{ $back ?? route()->previous()}}" class="btn btn-xs btn-info"><i
class="ki-filled ki-exit-left"></i>
Back</a> --}}
<a id="back-button" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
</div>
</div>
</div>
<div class="card-body">
@php
$permohonan_id = request()->segment(3);
$dokumen_id = request()->segment(4);
$jenis_jaminan_id = request()->segment(5);
@endphp
<div id="laporan" class="tab-content">
<div class="floating-button">
<a href="penilai/print-out-laporan/{{ $permohonan_id }}/{{ $dokumen_id }}/{{ $jenis_jaminan_id }}" class="btn btn-primary">
Cetak Laporan
<i class="ki-filled ki-printer"></i>
</a>
</div>
@php
$laporan = [
'sederhana' => 'lpj::penilai.components.print-out-sederhana',
'standar' => 'lpj::penilai.components.print-out-standar',
'resume' => 'lpj::penilai.components.print-resume',
'memo' => 'lpj::penilai.components.print-memo',
'rap' => 'lpj::penilai.components.print-out-rap',
'call-report' => 'penilai.components.print-out-call-report',
];
@endphp
@if (array_key_exists($lpj->type_penilai, $laporan))
@include($laporan[$lpj->type_penilai])
@else
<p>Tipe laporan tidak ditemukan.</p>
@endif
</div>
<div id="hasil-inspeksi" class="tab-content hidden-tab">
<div class="floating-button">
<a href="surveyor/print-out-inspeksi/{{ $permohonan_id }}/{{ $dokumen_id }}/{{ $jenis_jaminan_id }}"
class="btn btn-primary">
Cetak Laporan
<i class="ki-filled ki-printer"></i>
</a>
</div>
@include('lpj::surveyor.components.print-out.main')
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
const tabLaporan = document.getElementById('tab-laporan');
const tabHasil = document.getElementById('tab-hasil');
const laporanContent = document.getElementById('laporan');
const hasilContent = document.getElementById('hasil-inspeksi');
tabLaporan.addEventListener('click', () => {
tabLaporan.classList.add('btn-primary');
tabLaporan.classList.remove('btn-light');
tabHasil.classList.add('btn-light');
tabHasil.classList.remove('btn-primary');
laporanContent.classList.remove('hidden-tab');
hasilContent.classList.add('hidden-tab');
});
tabHasil.addEventListener('click', () => {
tabHasil.classList.add('btn-primary');
tabHasil.classList.remove('btn-light');
tabLaporan.classList.add('btn-light');
tabLaporan.classList.remove('btn-primary');
laporanContent.classList.add('hidden-tab');
hasilContent.classList.remove('hidden-tab');
});
});
document.getElementById('back-button').addEventListener('click', function(e) {
e.preventDefault();
console.log('Back button clicked', window.history.length);
if (window.history.length > 1) {
window.history.back();
} else {
window.location.href = "{{ $back ?? route()->previous()}}";
}
});
</script>
<style>
.hidden-tab {
display: none;
}
.floating-button {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 1000;
}
.floating-button .btn {
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
border-radius: 50px;
padding: 10px 20px;
}
.floating-button .btn:hover {
transform: scale(1.05);
transition: transform 0.2s ease-in-out;
}
</style>
{{-- @include('lpj::surveyor.js.utils') --}}
@endsection

View File

@@ -5,7 +5,7 @@
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
<form
action="{{ isset($daftarPustaka->id) ? route('daftar-pustaka.update', $daftarPustaka->id) : route('daftar-pustaka.store') }}"
method="POST" enctype="multipart/form-data">
@@ -15,18 +15,18 @@
@method('PUT')
@endif
<div class="card border border-agi-100 pb-2.5">
<div class="pb-2.5 border card border-agi-100">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
{{ isset($daftarPustaka->id) ? 'Edit' : 'Tambah' }} Daftar Pustaka
</h3>
<div class="flex items-center gap-2">
<div class="flex gap-2 items-center">
<a href="{{ route('daftar-pustaka.index') }}" class="btn btn-xs btn-info"><i
class="ki-filled ki-exit-left"></i> Back</a>
</div>
</div>
<div class="card-body grid gap-5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="grid gap-5 card-body">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Judul
</label>
@@ -34,11 +34,11 @@
<input class="input @error('judul') border-danger bg-danger-light @enderror" type="text"
name="judul" value="{{ $daftarPustaka->judul ?? old('judul') }}">
@error('judul')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Upload File
</label>
@@ -46,12 +46,12 @@
<input class="input @error('attachment') border-danger bg-danger-light @enderror" type="file"
name="attachment">
@error('attachment')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
@if (isset($daftarPustaka->attachment))
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
File
</label>
@@ -64,14 +64,14 @@
</div>
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Kategori
</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="select tomselect w-full" name="category_id">
<select class="w-full select tomselect" name="category_id">
<option value="">Pilih Kategori</option>
@if (isset($categories))
@foreach ($categories as $item)
@@ -83,19 +83,19 @@
@endif
</select>
@error('category_id')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Deskripsi
</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="deskripsi" class="textarea" id="" cols="30" rows="10">{{ $daftarPustaka->deskripsi ?? old('deskripsi') }}</textarea>
@error('deskripsi')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>

View File

@@ -6,12 +6,16 @@
$jenisAset = $dokumen->jenisJaminan->name;
}
$data = rtrim($data, ', ');
$permohonan_migrasi = json_decode($permohonan->mig_permohonan);
@endphp
<main class="content">
<div style="text-align: center; margin-top: 5px;">
<h4 style="text-transform: uppercase; font-size: 16px; margin: 0;">LAPORAN PENILAIAN ATAS
{{ $data }}</h4>
{{ $data }}
</h4>
<p style="font-size: 12px; margin: 5px 0;">NO: {{ $nomorLaporan }}</p>
</div>
<hr />
@@ -41,7 +45,7 @@
<tr>
<td style="padding: 2px; vertical-align: top;">Permintaan (AO)</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->user->name }}</td>
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->user->name ?? $permohonan_migrasi->mig_mst_jaminan_nama_ao ?? '-' }}</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">No Order</td>

View File

@@ -4,12 +4,15 @@
$data = '';
$dokument = null;
foreach ($permohonan->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
$jenisAset = $dokumen->jenisJaminan->name;
$dokument = $dokumen;
$data .= $dokumen->jenisJaminan->name . ', ';
$jenisAset = $dokumen->jenisJaminan->name;
$dokument = $dokumen;
}
$data = rtrim($data, ', ');
$permohonan_migrasi = json_decode($permohonan->mig_permohonan);
@endphp
<main class="content">
@php
$senior_officer = null;
@@ -21,7 +24,6 @@
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;
@@ -36,11 +38,12 @@
}
}
}
@endphp
<div style="text-align: center; margin-top: 5px;">
<h4 style="text-transform: uppercase; font-size: 16px; margin: 0;">LAPORAN PENILAIAN ATAS
{{ $data }}</h4>
{{ $data }}
</h4>
<p style="font-size: 12px; margin: 5px 0;">NO: {{ $nomorLaporan }}</p>
</div>
<hr />
@@ -52,19 +55,25 @@
<td style="width: 25%; padding: 2px; vertical-align: top;">Cabang/Pemohon</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ $permohonan->debiture->branch->name ?? '' }}
{{ $permohonan->branch->name ?? '' }}
</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px;">Tujuan Penilai</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ $permohonan->tujuanPenilaian->name ?? '' }}</td>
</tr>
<tr>
<td style=" padding: 2px; vertical-align: top;">Fasilitas Kredit</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">
{{ $permohonan->jenisFasilitasKredit->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px;">Ao</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">{{ $permohonan->user->name ?? '' }}</td>
<td style="vertical-align: top; padding: 2px;">{{ $permohonan->user->name ?? $permohonan->mig_nama_ao ?? '' }}</td>
</tr>
</table>
</td>
@@ -84,7 +93,6 @@
</td>
</tr>
</table>
</td>
</tr>
</table>
@@ -103,16 +111,21 @@
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; ">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td>Alamat dan Telpon</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ $permohonan->debiture->address ?? '' }} {{ $permohonan->debiture->phone ?? '' }}
</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur / Wakil Debitur</td>
<td style="width: 1%; vertical-align: top;">:</td>
@if (isset($forminspeksi['asset']['debitur_perwakilan']))
<td>
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $item)
{{ $item ?? $permohonan->debiture->name ?? '' }}<br>
@endforeach
</td>
@endif
<td>
{{ is_array($forminspeksi['asset']['debitur_perwakilan'] ?? null)
? implode('<br>', array_map(fn($v) => $v ?? $permohonan->debiture->name ?? '', $forminspeksi['asset']['debitur_perwakilan']))
: ($forminspeksi['asset']['debitur_perwakilan'] ?? $permohonan->debiture->name ?? '') }}
</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Pihak Bank selain Appraisal</td>
@@ -131,98 +144,128 @@
</td>
</tr>
</table>
<table style="width: 100%; ">
<tr>
<td width="25%">Terletak di</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Desa/Kelurahan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kabupaten/Kota</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td>Provinsi</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
@if ($permohonan->is_mig)
@if ($dokument)
<table style="width: 100%;">
<tr>
<td width="25%">Jenis Jaminan</td>
<td width="1%">:</td>
<td>{{ $dokument->jenisJaminan?->name }}</td>
</tr>
@foreach ($dokument->detail as $detail)
@if ($detail->name === 'LOKASI JAMINAN' && $detail->details)
@include('lpj::component.detail-lokasi', ['details' => json_decode($detail->details, true)])
@endif
@endforeach
</table>
@endif
@else
<table style="width: 100%; ">
<tr>
<td width="25%">Terletak di</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Desa/Kelurahan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kabupaten/Kota</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td>Provinsi</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
@endif
</div>
{{-- <div class="no-break"> --}}
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
DOKUMEN
</td>
</tr>
</table>
<table style="width: 100%; ">
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
DOKUMEN
</td>
</tr>
</table>
<table style="width: 100%; ">
@include('lpj::component.print-out-dokument')
</table>
{{-- </div> --}}
<div class="no-break">
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
HUBUNGAN CADEB/DEBITUR DENGAN PEMILIK DAN PENGHUNI
</td>
</tr>
</table>
<table style="width:100%">
<tr>
@php
$cekHubDebitur = isset($forminspeksi['asset']['hub_cadeb']) &&
$forminspeksi['asset']['hub_cadeb'] === 'sesuai'
? 'sesuai'
: 'tidak sesuai';
@if (!$permohonan->is_mig)
<div class="no-break">
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
HUBUNGAN CADEB/DEBITUR DENGAN PEMILIK DAN PENGHUNI
</td>
</tr>
</table>
<table style="width:100%">
<tr>
@php
$cekHubDebitur = ($forminspeksi['asset']['hub_cadeb'] ?? null) === 'sesuai' ? 'sesuai' : 'tidak sesuai';
$hubCadebDebitur = $forminspeksi['asset']['hub_cadeb'][$cekHubDebitur] ?? '';
@endphp
<td style="width:25%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadebDebitur ?? '' }}</td>
</tr>
<tr>
@php
$hubCadeb = $forminspeksi['asset']['hub_cadeb_penghuni'][$forminspeksi['asset']['hub_cadeb_penghuni']] ?? '';
@endphp
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
</tr>
</table>
</div>
$hubCadebDebitur = isset($forminspeksi['asset']['hub_cadeb'][$cekHubDebitur])
? $forminspeksi['asset']['hub_cadeb']['tidak sesuai']
: $forminspeksi['asset']['hub_cadeb']['sesuai'];
@endphp
<td style="width:25%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $cekHubDebitur ?? '' }}</td>
</tr>
<tr>
@php
$cekHub =
isset($forminspeksi['asset']['hub_cadeb_penghuni']) &&
$forminspeksi['asset']['hub_cadeb_penghuni'] === 'sesuai'
? 'sesuai'
: 'tidak sesuai';
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb_penghuni'][$cekHub])
? ($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'] ?? null)
: ($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'] ?? null);
@endphp
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
</tr>
</table>
</div>
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@endphp
@php $mig_detail_legalitas_jaminan = json_decode($inspeksi->mig_detail_legalitas_jaminan, true); @endphp
@if($mig_detail_legalitas_jaminan)
@foreach($mig_detail_legalitas_jaminan as $key => $items)
<table width="100%">
<tr>
<td colspan="3" style="border: 1px solid #000; text-align: center;">
{{ $key }}
</td>
</tr>
@php $currentLabel=''; @endphp
@foreach ($items as $item)
<tr>
<td style="padding: 2px; vertical-align: top;">
@if ($currentLabel !== $item['label'])
{{ $item['label'] }}
@php $currentLabel = $item['label']; @endphp
@endif
</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ ltrim($item['value'], ',') }}</td>
</tr>
@endforeach
</table>
@endforeach
@endif
@endif
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@endphp
@if(!$permohonan->is_mig)
@if (isset($formKategori) && $formKategori)
@php
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
@@ -236,7 +279,8 @@
@endforeach
@endif
@endif
@endforeach
@endif
@endforeach
<div class="no-break">
<table style="width: 100%; ">
@@ -246,104 +290,96 @@
</td>
</tr>
</table>
@include('lpj::penilai.components.print-pembanding')
@if(isset($dataPembanding))
@include('lpj::penilai.components.print-pembanding')
@endif
</div>
<div class="no-break">
<table style="width: 100%; ">
<table style="width: 100%;">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
TOTAL NILAI PASAR WAJAR
</td>
</tr>
</table>
<table>
<table style="width: 100%;">
<tr>
<td colspan="3" style=" padding: 8px; text-align: left;">1. Total Nilai Pasar Wajar
<td colspan="6" style=" padding: 8px; text-align: left;width:100%">1. Total Nilai Pasar Wajar
</td>
</tr>
@php
$totalNilaiPasarWajar = 0;
$labelNilai = [
'bangunan' => 'Luas Bangunan',
'tanah' => 'Luas Tanah',
'bangunan' => 'Luas Bangunan',
'tanah' => 'Luas Tanah',
'apartemen-kantor' => 'Luas Unit',
'alat-berat' => 'Luas Alat Berat',
'mesin' => 'Luas Mesin',
'kendaraan' => 'Luas Kendaraan',
'pesawat' => 'Luas Pesawat',
'kapal' => 'Luas Kapal',
'apartemen' => 'Luas Unit',
'alat-berat' => 'Luas Alat Berat',
'mesin' => 'Luas Mesin',
'kendaraan' => 'Luas Kendaraan',
'pesawat' => 'Luas Pesawat',
'kapal' => 'Luas Kapal',
];
if (strcasecmp($jenisAset, 'RUKO/RUKAN') === 0) {
$labelNilai['bangunan'] = 'Luas Unit';
unset($labelNilai['tanah']);
$labelNilai['bangunan'] = 'Luas Unit';
unset($labelNilai['tanah']);
}
if (strcasecmp($jenisAset, 'Apartemen') === 0) {
$labelNilai['tanah'] = 'Luas Unit';
}
@endphp
@foreach ($labelNilai as $key => $label)
@if (isset($lpjData['luas_' . $key]))
<tr>
<td style="padding: 3px; text-align: right; width:45%; ">
{{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m<sup>2</sup>
</td>
<td style="padding: 3px; width:5%;">
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
{{ $lpjData['nilai_' . $key . '_1'] ?? '' }}
</td>
<td style="padding: 3px; text-align: left; width:60%;">
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
{{ $lpjData['nilai_' . $key . '_2'] ?? '' }}
</td>
</tr>
@endif
@endforeach
@if (isset($lpjData['npw_tambahan']))
@foreach ($lpjData['npw_tambahan'] as $npw)
<tr>
<td style="padding: 3px; text-align: right;">
{{ $npw['name'] }} {{ $npw['luas'] }} m<sup>2</sup>
<td width="30%" style="padding: 3px; text-align: right;">
{{ $npw['name'] }}</sup>
</td>
<td style="padding: 3px;">
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
{{ $npw['nilai_1'] }}
<td width="10%" style="padding: 3px; text-align: right;">
{{ $npw['luas'] }} m<sup>2</sup>
</td>
<td style="padding: 3px; text-align: left; width:70%">
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
{{ $npw['nilai_2'] }}
<td width="5%" style="padding: 3px; text-align: center;">X</td>
<td width="25%" style="padding: 3px; text-align:right">
{{ number_format($npw['nilai_1'], 0, ',', '.') ?? '' }}
</td>
<td width="5" style="padding: 3px; text-align: center;">=</td>
<td width="25%" style="padding: 3px; text-align: left; text-align: right;">
{{ number_format($npw['nilai_2'], 0, ',', '.') ?? '' }}
</td>
</tr>
@php $totalNilaiPasarWajar += $npw['nilai_2']; @endphp
@endforeach
@endif
<tr>
<td style="padding: 3px; font-weight: bold; width:10%;">Total Nilai Pasar Wajar</td>
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%"></td>
<td style="padding: 3px; text-align: left; font-weight: bold; width: 70%;">
<span style="padding-left: 20px; padding-right: 20px;">=</span>
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%;" colspan="4">Total Nilai Pasar Wajar</td>
<td style="padding: 3px; text-align: center; width:5%;font-weight: bold;" >=</td>
<td style="padding: 3px; text-align: right; font-weight: bold; width: 40%;">
<div style="display: inline-block; border-top: 1px solid black; padding-top: 3px;">
Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? '' }}
{{ $lpjData['total_nilai_pasar_wajar'] ? number_format($lpjData['total_nilai_pasar_wajar'], 0, ',', '.') : number_format($totalNilaiPasarWajar, 0, ',', '.') ?? '' }}
</div>
</td>
</tr>
<!-- Total Nilai Likuidasi -->
<tr>
<td colspan="3" style="padding: 8px; text-align: left">
2. Total Nilai Likuidasi
</td>
</tr>
<tr>
<td style="padding: 3px; text-align: right; width:10%">
{{ $lpjData['likuidasi'] ?? '' }}%
</td>
<td style="padding: 3px; text-align: left; font-weight: bold; width:10%">
<span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
</td>
<td style="padding: 3px; text-align: left; width:70%;">
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
{{ $lpjData['likuidasi_nilai_2'] ?? '' }}
</td>
</tr>
@if (isset($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi) || isset($lpjData['likuidasi']) && $lpjData['likuidasi_nilai_2'] > 0)
<tr>
<td colspan="6" style="padding: 8px; text-align: left">
2. Total Nilai Likuidasi
</td>
</tr>
<tr>
<td style="padding: 3px; text-align: right;" colspan="4">
{{ $lpjData['likuidasi'] ?? '' }}% <span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
</td>
<td style="padding: 3px; text-align: center; font-weight: bold;">=</td>
<td style="padding: 3px; text-align: right;font-weight: bold;">{{ number_format($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi, 0, ',', '.') ?? '' }}
</td>
</tr>
@endif
</table>
</div>
@php
@@ -352,6 +388,136 @@
$keterangan = implode(', ', array_filter($keterangan));
}
@endphp
@if($permohonan->is_mig)
@if (!empty($forminspeksi['fakta']['fakta_positif']))
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
FAKTOR POSITIF
</td>
</tr>
</table>
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; text-align: left;">
@if (is_array($item))
@foreach ($item as $data_)
{!! nl2br(e($data_)) !!}<br>
@endforeach
@else
{!! nl2br(e($item)) !!}
@endif
</td>
</tr>
</table>
@endforeach
@endif
@if (!empty($forminspeksi['fakta']['fakta_negatif']))
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
FAKTOR NEGATIF
</td>
</tr>
</table>
@foreach ($forminspeksi['fakta']['fakta_negatif'] as $key => $item)
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; text-align: left;">
@if (is_array($item))
@foreach ($item as $data_)
{!! nl2br(e($data_)) !!}<br>
@endforeach
@else
{!! nl2br(e($item)) !!}
@endif
</td>
</tr>
</table>
@endforeach
@endif
@if (!empty($forminspeksi['fakta']['informasi_dokument']))
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
LAIN - LAIN
</td>
</tr>
</table>
@foreach ($forminspeksi['fakta']['informasi_dokument'] as $key => $item)
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; text-align: left;">
@if (is_array($item))
@foreach ($item as $data_)
{!! nl2br(e($data_)) !!}<br>
@endforeach
@else
{!! nl2br(e($item)) !!}
@endif
</td>
</tr>
</table>
@endforeach
@endif
@if (!empty($forminspeksi['fakta']['keterangan']))
@foreach ($forminspeksi['fakta']['keterangan'] as $key => $item)
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
{{ $key }}
</td>
</tr>
</table>
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; text-align: left;">
@if (is_array($item))
@foreach ($item as $data_)
{!! nl2br(e($data_)) !!}<br>
@endforeach
@else
{!! nl2br(e($item)) !!}
@endif
</td>
</tr>
</table>
@endforeach
@endif
@if (!empty($forminspeksi['fakta']['saran']))
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
SARAN
</td>
</tr>
</table>
@foreach ($forminspeksi['fakta']['saran'] as $key => $item)
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; text-align: left;">
<ul style="margin: 0px;padding-left: 10px;">
<li>
@if (is_array($item))
@foreach ($item as $data_)
{!! nl2br(e($data_)) !!}<br>
@endforeach
@else
{!! nl2br(e($item)) !!}
@endif
</li>
</ul>
</td>
</tr>
</table>
@endforeach
@endif
@endif
@if (!empty($keterangan))
<table style="width: 100% margin-top: 20px">
<tr>
@@ -366,7 +532,7 @@
</tr>
</table>
@endif
<div class="no-break">
<div class="no-break" style="margin-top:20px;">
<table style="width: 100%">
<tr>
<td>Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern
@@ -374,7 +540,7 @@
</tr>
</table>
@include('lpj::penilai.components.signature-approval')
@include('lpj::penilai.components.signature-approval',['laporan' => 'standar','npw' => $totalNilaiPasarWajar])
</div>
<hr />
<table style="width: 100%; ">

View File

@@ -12,19 +12,20 @@
}
$fields = [
'jenis_aset' => 'Jenis properti',
'hak_properti' => 'Status Hak Tanah',
'address' => 'Alamat Lokasi',
'harga' => 'Harga Penawaran',
'total' => 'Indikasi Harga Transaksi',
'telepon' => 'Penjual (HP)',
'luas_tanah' => 'Luas Tanah',
'jenis_aset' => 'Jenis properti',
'hak_properti' => 'Status Hak Tanah',
'address' => 'Alamat Lokasi',
'harga' => 'Harga Penawaran',
'total' => 'Indikasi Harga Transaksi',
'telepon' => 'Penjual (HP)',
'luas_tanah' => 'Luas Tanah',
'luas_bangunan' => 'Luas Bangunan',
'tanggal' => 'Tanggal Data',
'kordinat' => 'Titik Kordinat',
'tanggal' => 'Tanggal Data',
'kordinat' => 'Titik Kordinat',
];
@endphp
@foreach ($exportData as $index => $data)
<table style="width: 100%; margin-bottom: 15px; border-bottom: 1px solid #ddd;">
<tr>
@@ -32,37 +33,48 @@
Pembanding {{ substr($index, -1) }}
</td>
</tr>
@foreach ($fields as $key => $label)
@if ($inspeksi->is_mig == 1)
<tr>
<td style="width: 33%;">{{ $label }}</td>
<td style="width: 5%;">:</td>
<td style="width: 33%; vertical-align: top;">Keterangan</td>
<td style="width: 5%; vertical-align: top;">:</td>
<td style="width: 62%;">
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
{{ $data[$key] ?? '-' }}
@elseif($key == 'harga' || $key == 'total')
{{ isset($data[$key]) ? formatRupiah($data[$key]) : 0 }}
@elseif($key == 'tanggal')
{{ isset($data[$key]) ? formatTanggalIndonesia($data[$key]) : '-' }}
@elseif($key == 'telepon')
{{ isset($data['telepon']) ? ubahNomorHp($data['telepon']) : '-' }}
@elseif($key == 'kordinat')
@php
$lat = $data['kordinat_lat'] ?? null;
$lng = $data['kordinat_lng'] ?? null;
@endphp
@if ($lat && $lng)
{{ $lat }},{{ $lng }}
@else
-
@endif
@else
{{ $data[$key] ?? '-' }}
@endif
{!! isset($data['keterangan']) ? nl2br(e(parsePembandingMigration($data['keterangan']))) : '' !!}
</td>
</tr>
@endforeach
@else
@foreach ($fields as $key => $label)
<tr>
<td style="width: 33%;">{{ $label }}</td>
<td style="width: 5%;">:</td>
<td style="width: 62%;">
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
{{ $data[$key] ?? '-' }}
@elseif($key == 'harga' || $key == 'total')
{{ isset($data[$key]) ? formatRupiah($data[$key]) : 0 }}
@elseif($key == 'tanggal')
{{ isset($data[$key]) ? formatTanggalIndonesia($data[$key]) : '-' }}
@elseif($key == 'telepon')
{{ isset($data['telepon']) ? ubahNomorHp($data['telepon']) : '-' }}
@elseif($key == 'kordinat')
@php
$lat = $data['kordinat_lat'] ?? null;
$lng = $data['kordinat_lng'] ?? null;
@endphp
@if ($lat && $lng)
{{ $lat }},{{ $lng }}
@else
-
@endif
@else
{{ $data[$key] ?? '-' }}
@endif
</td>
</tr>
@endforeach
@endif
</table>
@endforeach
</td>

View File

@@ -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>

View File

@@ -6,8 +6,7 @@
@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'))
@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' => [
@@ -47,8 +46,7 @@
@endphp
@if (in_array($fileExtension, ['jpg', 'jpeg', 'png']))
<img src="{{ asset('storage/' . $denah['foto_denah']) }}"
class="object-contain max-w-full max-h-screen">
<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">

View File

@@ -53,8 +53,8 @@
@enderror
</div>
</div>
<!-- $penilaianTeam->isEmpty() -->
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<div
class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 {{ $penilaianTeam->isEmpty() ? '' : 'hidden' }}">
<label class="form-label max-w-56">
Pilih Surveyor dan Penilai
</label>
@@ -394,7 +394,7 @@
differentSurveyorPenilai.classList.remove('hidden');
surveyorPenilaiRegion.classList.add('hidden');
} else {
} else {
sameSurveyorPenilai.classList.add('hidden');
differentSurveyorPenilai.classList.add('hidden');
surveyorPenilaiRegion.classList.add('hidden');

View File

@@ -7,7 +7,7 @@
@section('content')
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
<div class="pb-2.5 border card border-agi-100">
<div class="min-w-full card-grid" data-datatable="false" data-datatable-page-size="10"
<div class="min-w-full card-grid" data-datatable="false" data-datatable-page-size="10"
data-datatable-state-save="false" id="permohonan-table"
data-api-url="{{ route('otorisator.sla.datatables') }}">
<div class="flex-wrap py-5 card-header bg-agi-50">
@@ -291,5 +291,22 @@
}
});
}
function showLoadingSwal(message, duration = 5000) {
Swal.fire({
title: message,
allowOutsideClick: false,
didOpen: () => {
Swal.showLoading();
},
timer: duration, // Durasi dalam milidetik
timerProgressBar: true, // Menampilkan progres bar timer
}).then((result) => {
if (result.dismiss === Swal.DismissReason.timer) {
console.log('Dialog loading otomatis ditutup.');
}
});
}
</script>
@endpush

View File

@@ -361,5 +361,22 @@
}
});
}
function showLoadingSwal(message, duration = 5000) {
Swal.fire({
title: message,
allowOutsideClick: false,
didOpen: () => {
Swal.showLoading();
},
timer: duration, // Durasi dalam milidetik
timerProgressBar: true, // Menampilkan progres bar timer
}).then((result) => {
if (result.dismiss === Swal.DismissReason.timer) {
console.log('Dialog loading otomatis ditutup.');
}
});
}
</script>
@endpush

View File

@@ -216,7 +216,7 @@
</button>
@endif
@if (Auth::user()->hasAnyRole(['administrator', 'EO Appraisal']) && $authorization->approve_so && $authorization->approve_eo == null && in_array($permohonan->nilai_plafond_id, [1, 2,3,4]) && $permohonan->status === 'proses-paparan')
@if (Auth::user()->hasAnyRole(['administrator', 'EO Appraisal']) && $authorization->approve_so && $authorization->approve_eo == null && in_array($permohonan->nilai_plafond_id, [1, 2, 3, 4]) && $permohonan->status === 'proses-paparan')
<button onclick="otorisatorData({{ $authorization->id }},'EO')" type="button"
class="btn btn-primary">
<i class="ki-filled ki-double-check"></i>
@@ -224,7 +224,7 @@
</button>
@endif
@if (Auth::user()->hasAnyRole(['administrator', 'DD Appraisal']) && $authorization->approve_eo && $authorization->approve_dd == null && in_array($permohonan->nilai_plafond_id, [4]) &&$permohonan->status === 'proses-paparan')
@if (Auth::user()->hasAnyRole(['administrator', 'DD Appraisal']) && $authorization->approve_eo && $authorization->approve_dd == null && in_array($permohonan->nilai_plafond_id, [2, 4]) &&$permohonan->status === 'proses-paparan')
<button onclick="otorisatorData({{ $authorization->id }},'DD')" type="button"
class="btn btn-primary">
<i class="ki-filled ki-double-check"></i>

View File

@@ -348,5 +348,22 @@
}
});
}
function showLoadingSwal(message, duration = 5000) {
Swal.fire({
title: message,
allowOutsideClick: false,
didOpen: () => {
Swal.showLoading();
},
timer: duration, // Durasi dalam milidetik
timerProgressBar: true, // Menampilkan progres bar timer
}).then((result) => {
if (result.dismiss === Swal.DismissReason.timer) {
console.log('Dialog loading otomatis ditutup.');
}
});
}
</script>
@endpush

View File

@@ -8,7 +8,7 @@
<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="permohonan-table" data-api-url="{{ route('permohonan.datatables') }}">
data-datatable-state-save="false" id="permohonan-table" data-api-url="{{ route('permohonan.datatables') }}">
<div class="flex-wrap py-5 card-header bg-agi-50">
<h3 class="card-title">
Daftar Permohonan
@@ -22,9 +22,8 @@
<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('permohonan.export') }}"> Export to Excel </a>
@if (auth()->user()->hasAnyRole(['administrator', 'pemohon-ao']))
<a class="btn btn-sm btn-primary" href="{{ route('permohonan.create') }}"> Tambah Permohonan
</a>
@if(auth()->user()->hasAnyRole(['administrator', 'pemohon-ao']))
<a class="btn btn-sm btn-primary" href="{{ route('permohonan.create') }}"> Tambah Permohonan </a>
@endif
</div>
</div>
@@ -32,50 +31,50 @@
<div class="card-body">
<div class="scrollable-x-auto">
<table class="table text-sm font-medium text-gray-700 align-middle table-auto table-border"
data-datatable-table="true">
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="nomor_registrasi">
<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="nomor_registrasi">
<span class="sort"> <span class="sort-label"> Nomor Registrasi </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="mig_mst_lpj_nomor_jaminan">
</th>
<th class="min-w-[150px]" data-datatable-column="mig_mst_lpj_nomor_jaminan">
<span class="sort"> <span class="sort-label"> Nomor LPJ Lama </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="tanggal_permohonan">
</th>
<th class="min-w-[150px]" data-datatable-column="tanggal_permohonan">
<span class="sort"> <span class="sort-label"> Tanggal Permohonan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="pemohon">
</th>
<th class="min-w-[150px]" data-datatable-column="pemohon">
<span class="sort"> <span class="sort-label"> User Pemohon </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="branch">
</th>
<th class="min-w-[150px]" data-datatable-column="branch">
<span class="sort"> <span class="sort-label"> Cabang Pemohon </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="debitur_id">
</th>
<th class="min-w-[150px]" data-datatable-column="debitur_id">
<span class="sort"> <span class="sort-label"> Debitur </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="tujuan_penilaian_id">
</th>
<th class="min-w-[150px]" data-datatable-column="tujuan_penilaian_id">
<span class="sort"> <span class="sort-label"> Tujuan Penilaian </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px] text-center" data-datatable-column="status">
</th>
<th class="min-w-[150px] text-center" data-datatable-column="status">
<span class="sort"> <span class="sort-label"> Status </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="keterangan">
</th>
<th class="min-w-[150px]" data-datatable-column="keterangan">
<span class="sort"> <span class="sort-label"> Keterangan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[50px] text-right" data-datatable-column="actions">Action</th>
</tr>
</th>
<th class="min-w-[50px] text-right" data-datatable-column="actions">Action</th>
</tr>
</thead>
</table>
</div>
@@ -146,17 +145,26 @@
nomor_registrasi: {
title: 'Nomor Registrasi',
},
mig_mst_lpj_nomor_jaminan: {
nomor_lpj: {
title: 'Nomor LPJ Lama',
},
tanggal_permohonan: {
title: 'Tanggal Permohonan',
render: (item, data) => {
return `${window.formatTanggalIndonesia(data.tanggal_permohonan)}`;
},
},
pemohon: {
title: 'User Pemohon'
},
branch: {
user_id: {
title: 'User Pemohon',
render: (item, data) => {
return data?.user?.name ?? data?.mig_nama_ao ?? '-';
}},
branch_id: {
title: 'Cabang Pemohon',
render: (item, data) => {
return `${data?.branch?.name || '-'}`;
},
},
debitur_id: {
title: 'Debitur',
@@ -260,17 +268,13 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
`;
}
if (data.status !== 'done' && data.status !== 'batal' && hasRole(['administrator',
'pemohon-ao'
])) {
if (data.status !== 'done' && data.status !== 'batal' && hasRole(['administrator', 'pemohon-ao'])) {
actionHtml += `
<a class="btn btn-sm btn-outline btn-info" href="permohonan/${data.id}/edit" title="Edit Permohonan">
<i class="ki-outline ki-notepad-edit"></i>
</a>`;
}
if (data.status !== 'done' && data.status !== 'batal' && hasRole(['administrator',
'pemohon-ao'
])) {
if (data.status === 'order' && hasRole(['administrator', 'pemohon-ao'])) {
actionHtml += `
<a onclick="deleteData(${data.id}, '${data.nomor_registrasi}','${data.debiture?.name}')" class="delete btn btn-sm btn-outline btn-danger" title="Batalkan Permohonan">
<i class="ki-outline ki-cross-square"></i>
@@ -288,7 +292,7 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
let dataTable = new KTDataTable(element, dataTableOptions);
// Custom search functionality
searchInput.addEventListener('input', function() {
searchInput.addEventListener('input', function () {
const searchValue = this.value.trim();
dataTable.search(searchValue, true);
@@ -333,7 +337,7 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
cache: false,
data: input_data,
dataType: "json",
success: function(response) {
success: function (response) {
console.log(response);
if ('success' == response.status) {
swal.fire('Sukses Menyetujui!', response.message, 'success').then(
@@ -345,7 +349,7 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
}
},
error: function(response, textStatus, errorThrown) {
error: function (response, textStatus, errorThrown) {
// var errors = response.responseJSON.errors;
// console.log(errors);
console.log(response);
@@ -423,7 +427,7 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
cache: false,
data: data,
dataType: "json",
success: function(response) {
success: function (response) {
if (response.status === 'success') {
Swal.fire('Sukses Reschedule!', response.message,
'success').then(() => {
@@ -433,7 +437,7 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
Swal.fire('Error!', response.message, 'error');
}
},
error: function(response) {
error: function (response) {
console.log(response);
}
});
@@ -489,8 +493,8 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
placeholder="Masukkan alasan reschedule..."></textarea>
</div>
${note ? `
<p class="text-gray-700"><strong>Catatan Reject:</strong> ${note}</p>
` : ''}
<p class="text-gray-700"><strong>Catatan Reject:</strong> ${note}</p>
` : ''}
</div>
`,
@@ -537,7 +541,7 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
cache: false,
data: data,
dataType: "json",
success: function(response) {
success: function (response) {
if (response.status === 'success') {
Swal.fire('Sukses Reschedule!', response.message, 'success').then(
() => {
@@ -547,7 +551,7 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
Swal.fire('Error!', response.message, 'error');
}
},
error: function(response) {
error: function (response) {
const errorMessage = response.responseJSON?.message ||
'Terjadi kesalahan saat memproses data.';
Swal.fire('Error!', errorMessage, 'error');

View File

@@ -19,7 +19,6 @@
<form id="dataPembandingForm" method="POST" enctype="multipart/form-data" class="grid gap-5">
@csrf
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input type="hidden" name="dokument_id" value="{{ request('documentId') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
<div class="card">
@@ -32,9 +31,11 @@
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
@endphp
<input type="hidden" name="action"
value="{{ is_array($formKategori) ? implode(',', $formKategori) : $formKategori }}">
<input type="hidden" name="type" value="{{ implode(',', $kategoriUnik) }}">
@if (!in_array(strtoupper($dokumentName), $tanahBangunanTypes))
@include('lpj::surveyor.components.pembanding-tanah-bangunan-unit')
@else
@@ -91,12 +92,10 @@
diskonInput = document.querySelector('input[name="diskon"]');
totalInput = document.querySelector('input[name="total"]');
} else {
const hargaInputs = document.getElementsByName('harga_pembanding[]');
const diskonInputs = document.getElementsByName('diskon_pembanding[]');
const totalInputs = document.getElementsByName('total_pembanding[]');
// Pastikan index valid
if (index !== null && index < hargaInputs.length) {
// hargaPenawaranInput = hargaPenawarans[index]
@@ -118,22 +117,16 @@
let diskonInput_value = diskonInput.value.replace(',', '.');
let diskon = parseFloat(diskonInput_value.replace(/[^\d.]/g, '') || '0');
// Batasi diskon maksimal 100%
diskon = Math.min(diskon, 100);
const total = harga;
const hargaPermeterSetelahDiskon = harga - (harga * (diskon / 100))
console.log(hargaPermeterSetelahDiskon);
// Update nilai dengan format currency
totalInput.value = formatCurrency(hargaPermeterSetelahDiskon.toString());
}
// Update fungsi fillPembandingData
function fillPembandingData(data, index) {
if (!data) return;
@@ -167,8 +160,6 @@
// Cek apakah arrayData berisi normalizedDk
const useFirstInputs = arrayData.includes(normalizedDk);
const currentData = Array.isArray(data) ? data[index] : data;
const inputs = useFirstInputs ? {
@@ -226,7 +217,6 @@
setArrayInputValue(name, value, index);
});
// Handle foto objek
if (data.foto_objek) {
const imageId = `uploadedImage${index + 2}`;
@@ -301,8 +291,6 @@
});
}
document.addEventListener('DOMContentLoaded', function() {
try {
const inspectionData = {!! isset($inspectionData) ? json_encode($inspectionData) : 'null' !!};

View File

@@ -15,6 +15,7 @@
</style>
@include('lpj::assetsku.includenya')
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
<div class="min-w-full border card border-agi-100">
<div class="card-header bg-agi-50">
@@ -170,8 +171,7 @@
<label class="form-label max-w-56">
<span class="form-label">Total Luas</span>
</label>
<input type="text" name="total_luas" id="totalLuas"
class="w-full input number-format" readonly>
<input type="text" name="total_luas" id="totalLuas" class="w-full input number-format" readonly>
</div>
</div>

View File

@@ -1,45 +1,41 @@
<div class="w-full rounded-lg shadow-md card border-agi-100">
<div class="card-header light:bg-agi-50">
@php
$title = $title ?? 'Form Inspeksi';
@endphp
<h3 class="uppercase card-title">
{{ $title }}
</h3>
<div class="flex gap-2 items-center">
@php
use Illuminate\Support\Facades\Route;
// dd(request('header'));
@endphp
@if (isset($id))
<h3 class="uppercase card-title">
{{ $title ?? 'Form Inspeksi' }}
</h3>
<div class="flex gap-2 items-center">
@if (isset($id) && isset($backLink))
<a href="{{ route($backLink, ['id' => $id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
Request::is('otorisator/*'))
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => request('header') ?? 'Pelaporan']) }}"
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor', 'penilai']))
@if (Request::is('surveyor/inspeksi/*/create') && request()->has('documentId') && request()->has('jenis_jaminan'))
<a href="{{ route('surveyor.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@elseif (Request::is('penilai/*/*'))
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
@if (Auth::check() && Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) && request()->is('otorisator/*'))
@if (isset($permohonan))
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => request('header') ?? 'Pelaporan']) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
@elseif (Auth::check() && Auth::user()->hasAnyRole(['administrator', 'surveyor', 'penilai']))
@if (request()->is('surveyor/inspeksi/*/create') && request()->has('documentId') && request()->has('jenis_jaminan'))
@if (isset($permohonan))
<a href="{{ route('surveyor.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
@elseif (request()->is('penilai/*/*'))
@if (isset($permohonan))
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
@endif
@endif
@endif
{{-- <a href="{{ route('surveyor.show', ['id' => request('inspeksi')]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a> --}}
</div>
</div>
<div class="card-body">
<div class="grid grid-cols-2 gap-5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
@@ -53,7 +49,7 @@
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">Tanggal Survey</label>
<div class="flex flex-wrap w-full items-base line">
<p class="text-gray-700 text-2sm">{{ $permohonan->created_at->format('d/m/Y') }}</p>
<p class="text-gray-700 text-2sm">{{ optional($permohonan->created_at)->format('d/m/Y') }}</p>
</div>
</div>
@@ -80,7 +76,6 @@
<label class="form-label max-w-56">Debitur/Perwakilan</label>
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
<div id="perwakilan" class="flex flex-wrap gap-5 items-baseline w-full">
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
<div class="flex flex-wrap gap-2 items-baseline w-full perwakilan">
@@ -109,7 +104,6 @@
<em id="error-debitur_perwakilan" class="text-sm alert text-danger"></em>
</div>
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap" style="margin-top: 20px">
<label class="form-label max-w-56">Pihak Bank (Selain Appraisal)</label>
<div id="perwakilan" class="flex gap-5 items-baseline w-full">
@@ -128,8 +122,6 @@
<h1 class="font-medium text-gray-900 uppercase text-md">Nama Cadeb/Debitur</h1>
</div>
<div class="card-body">
<div class="grid gap-5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">Nama</label>
@@ -143,7 +135,6 @@
</div>
</div>
<div class="w-full rounded-lg border shadow-md card border-agi-100">
<div class="card-header light:bg-agi-50">
<h1 class="font-medium text-gray-900 uppercase text-md">Deskripsi Aset jaminan</h1>
@@ -223,7 +214,6 @@
{{ formatAlamat($dokumen) }}
</span>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-3 gap-4 mt-2 md:grid-cols-3">
<label class="flex gap-3 items-center form-label text-nowrap">
@@ -240,7 +230,6 @@
</label>
</div>
<em id="error-alamat_sesuai" class="text-sm alert text-danger"></em>
<em id="error-alamat_sesuai" class="text-sm alert text-danger"></em>
</div>
@php
@@ -254,8 +243,6 @@
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -130,7 +130,7 @@
<img id="upload-gs-preview"
src="{{ isset($forminspeksi['upload_gs']) && is_string($forminspeksi['upload_gs']) && !empty($forminspeksi['upload_gs']) ? asset('storage/' . $forminspeksi['upload_gs']) : '' }}"
alt="Foto Gs" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['upload_gs']) && is_string($forminspeksi['upload_gs']) && !empty($forminspeksi['upload_gs']) ? '' : 'display: none;' }} max-width: 20rem;" />
style="{{ isset($forminspeksi['upload_gs']) && is_string($forminspeksi['upload_gs']) && !empty($forminspeksi['upload_gs']) ? '' : 'display: none;' }} max-width: 30rem;" />
</div>
</div>
@@ -146,19 +146,18 @@
<input id="inputGistaru" type="file" name="foto_sentuh_tanahku"
class="w-full file-input file-input-bordered"
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'sentuh_tanahku-preview', 'foto_sentuh_tanahku')">
onchange="uploadFile(this, 'sentuh_tanahku-preview', 'foto_sentuh_tanahku')"
>
<img id="sentuh_tanahku-preview"
src="{{ isset($forminspeksi['foto_sentuh_tanahku']) && is_string($forminspeksi['foto_sentuh_tanahku']) && !empty($forminspeksi['foto_sentuh_tanahku']) ? asset('storage/' . $forminspeksi['foto_sentuh_tanahku']) : '' }}"
src="{{ isset($forminspeksi['foto_sentuh_tanahku']) && is_string($forminspeksi['foto_sentuh_tanahku']) && !empty($forminspeksi['foto_sentuh_tanahku']) ? asset('storage/' . $forminspeksi['foto_sentuh_tanahku']) : '' }}"
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_sentuh_tanahku']) && is_string($forminspeksi['foto_sentuh_tanahku']) && !empty($forminspeksi['foto_sentuh_tanahku']) ? '' : 'display: none;' }} max-width: 20rem;" />
style="{{ isset($forminspeksi['foto_sentuh_tanahku']) && is_string($forminspeksi['foto_sentuh_tanahku']) && !empty($forminspeksi['foto_sentuh_tanahku']) ? '' : 'display: none;' }} max-width: 30rem;"/>
</div>
</div>
</div>
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
<span class="form-label">Gistaru</span>
@@ -174,7 +173,7 @@
<img id="gistaru-preview"
src="{{ isset($forminspeksi['foto_gistaru']) && is_string($forminspeksi['foto_gistaru']) && !empty($forminspeksi['foto_gistaru']) ? asset('storage/' . $forminspeksi['foto_gistaru']) : '' }}"
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_gistaru']) && is_string($forminspeksi['foto_gistaru']) && !empty($forminspeksi['foto_gistaru']) ? '' : 'display: none;' }} max-width: 20rem;" />
style="{{ isset($forminspeksi['foto_gistaru']) && is_string($forminspeksi['foto_gistaru']) && !empty($forminspeksi['foto_gistaru']) ? '' : 'display: none;' }} max-width: 30rem;" />
</div>
@@ -198,17 +197,15 @@
class="w-full file-input file-input-bordered"
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'bhumi-preview', 'foto_bhumi')">
@php
$bhumiPath =
isset($forminspeksi['foto_bhumi']) &&
is_string($forminspeksi['foto_bhumi']) &&
!empty($forminspeksi['foto_bhumi'])
@php
$bhumiPath = isset($forminspeksi['foto_bhumi']) && is_string($forminspeksi['foto_bhumi']) && !empty($forminspeksi['foto_bhumi'])
? asset('storage/' . $forminspeksi['foto_bhumi'])
: '';
@endphp
<img id="bhumi-preview" src="{{ $bhumiPath }}" alt="Foto Bhumi"
class="mt-2 max-w-full h-auto"
style="{{ $bhumiPath ? '' : 'display: none;' }} max-width: 20rem;" />
@endphp
<img id="bhumi-preview"
src="{{ $bhumiPath }}"
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
style="{{ $bhumiPath ? '' : 'display: none;' }} max-width: 30rem;" />
</div>
<a href="https://bhumi.atrbpn.go.id/peta" type="button" class="btn btn-light" target="_blank">
<i class="ki-filled ki-map"></i> Bhumi
@@ -229,18 +226,17 @@
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'argis-region-preview', 'foto_argis_region')">
@php
$argisRegionPath =
isset($forminspeksi['foto_argis_region']) &&
is_string($forminspeksi['foto_argis_region']) &&
!empty($forminspeksi['foto_argis_region'])
? asset('storage/' . $forminspeksi['foto_argis_region'])
: '';
$argisRegionPath = isset($forminspeksi['foto_argis_region']) && is_string($forminspeksi['foto_argis_region']) && !empty($forminspeksi['foto_argis_region'])
? asset('storage/' . $forminspeksi['foto_argis_region'])
: '';
@endphp
<img id="argis-region-preview" src="{{ $argisRegionPath }}" alt="Foto Argis Region"
class="mt-2 max-w-full h-auto"
style="{{ $argisRegionPath ? '' : 'display: none;' }} max-width: 20rem;">
<img id="argis-region-preview"
src="{{ $argisRegionPath }}"
alt="Foto Argis Region" class="mt-2 max-w-full h-auto"
style="{{ $argisRegionPath ? '' : 'display: none;' }} max-width: 30rem;">
</div>
< </div>
</div>
</div>
<!-- Upload Photo Button -->
@@ -260,17 +256,14 @@
</button>
</div>
@php
$fotoTempat =
isset($forminspeksi['foto_tempat']) &&
is_string($forminspeksi['foto_tempat']) &&
!empty($forminspeksi['foto_tempat'])
? asset('storage/' . $forminspeksi['foto_tempat'])
: '';
$fotoTempat = isset($forminspeksi['foto_tempat']) && is_string($forminspeksi['foto_tempat']) && !empty($forminspeksi['foto_tempat'])
? asset('storage/' . $forminspeksi['foto_tempat'])
: '';
@endphp
<img id="foto_tempat-preview" src="{{ $fotoTempat ?: '' }}" alt="Foto Tempat"
class="mt-2 max-w-full h-auto"
style="max-width: 20rem; {{ $fotoTempat ? '' : 'display: none;' }}">
style="max-width: 30rem; {{ $fotoTempat ? '' : 'display: none;' }}">
</div>
</div>
@@ -321,7 +314,6 @@
// Ambil file dari elemen input
const file = inputElement.files[0];
if (!file) {
Swal.fire({
icon: 'warning',

View File

@@ -6,6 +6,7 @@
@section('content')
@include('lpj::assetsku.includenya')
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
@csrf
@@ -46,6 +47,7 @@
@endif
@endforeach
@endif
<div class="overflow-hidden w-full rounded-lg border shadow-md card border-agi-100">
<div class="card-header light:bg-agi-50">
<h3 class="uppercase card-title">
@@ -57,7 +59,6 @@
@foreach (['penilai', 'cabang', 'debitur', 'kjpp'] as $type)
@include('lpj::component.signature-pad', ['type' => $type])
@endforeach
</div>
</div>
<div class="card-footer">
@@ -75,16 +76,16 @@
<i class="ki-filled ki-printer"></i>
<span>Cetak Form Inspeksi</span>
</a>
</div>
</form>
</div>
@php
use Modules\Usermanagement\Models\User;
$cabangUser = User::where('id', $permohonan->user->id)->first();
// print_r($cabangUser->sign);
$cabangUser = null;
if ($permohonan->user) {
$cabangUser = getUser('id', $permohonan->user->id);
}
@endphp
@endsection
@@ -237,7 +238,7 @@
(type === 'penilai' ?
`{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}` :
(type === 'cabang' ?
`{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}` :
`{{ asset('storage/signatures/' . $cabangUser?->id . '/' . $cabangUser?->sign) }}` :
'')) :
signaturePad.toDataURL('image/png', 1.0); // Use full quality
@@ -332,13 +333,13 @@
} else {
const signUrl = type === 'penilai' ?
`{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}` :
`{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}`;
`{{ asset('storage/signatures/' . $cabangUser?->id . '/' . $cabangUser?->sign) }}`;
drawSignature(signaturePad, signUrl);
const defaultName = type === 'penilai' ?
`{{ Auth::user()->name }}` :
`{{ $cabangUser->name }}`;
`{{ $cabangUser?->name }}`;
if (nameInputElement) {
nameInputElement.value = defaultName;
}
@@ -362,7 +363,7 @@
(type === 'penilai' ?
`{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}` :
(type === 'cabang' ?
`{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}` :
`{{ asset('storage/signatures/' . $cabangUser?->id . '/' . $cabangUser?->sign) }}` :
'')) :
signaturePad.toDataURL('image/png');

View File

@@ -1,13 +1,10 @@
<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;">
ANalisa Fakta
Analisa Fakta
</h2>
</td>
</tr>
</table>
@@ -28,6 +25,7 @@
@endisset
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Faktor Negatif</td>
<td width="1%" style="vertical-align: top;">:</td>
@@ -55,64 +53,63 @@
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Rute Munuju</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
<p>{{ $forminspeksi['fakta']['rute_menuju'] ?? '' }}</p>
</td>
</tr>
@if (!empty($forminspeksi['fakta']['rute_menuju']))
<tr>
<td width="20%" style="vertical-align: top;">Rute Munuju</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
<p>{{ $forminspeksi['fakta']['rute_menuju'] ?? '' }}</p>
</td>
</tr>
@endif
<tr>
<td width="20%" style="vertical-align: top;">Batas Batas </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['batas_batas_input'] ?? [] as $arah => $batas)
@if ($batas)
@if (!empty($forminspeksi['fakta']['batas_batas_input']))
<tr>
<td width="20%" style="vertical-align: top;">Batas Batas </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach (array_filter($forminspeksi['fakta']['batas_batas_input'] ?? []) as $arah => $batas)
<p> - {{ $arah }} : {{ $batas }}</p>
@endif
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait lingkungan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
<p>{!! nl2br(e($kondisi)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait Bangunan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $kondisiLain)
<p>{!! nl2br(e($kondisiLain)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Informasi Terkait Dokumen </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
</td>
</tr>
@endforeach
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['kondisi_lingkungan']))
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait lingkungan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
<p>{!! nl2br(e($kondisi)) !!}</p>
@endforeach
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['kondisi_lain_bangunan']))
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait Bangunan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $kondisiLain)
<p>{!! nl2br(e($kondisiLain)) !!}</p>
@endforeach
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['informasi_dokument']))
<tr>
<td width="20%" style="vertical-align: top;">Informasi Terkait Dokumen </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
</td>
</tr>
@endif
</table>
</div>

View File

@@ -1,103 +1,99 @@
<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;">Informasi Dinas Tata Ruang</h2>
</td>
</tr>
</table>
<table>
@php
use Illuminate\Support\Facades\Storage;
// Daftar kunci informasi dan tipe foto yang akan ditampilkan
$informasi = [
'peruntukan', 'kdb', 'kdh', 'gsb', 'max_lantai', 'klb', 'gss', 'pelebaran_jalan', 'nama_petugas',
];
<tr>
<td width="20%" style="vertical-align: top;">Informasi Dinas Tata Ruang </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
$fotoTypes = [
'upload_gs', 'foto_sentuh_tanahku', 'foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat',
];
@foreach ($informasi as $key)
@if (isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-')
@php
$displayKey = ucfirst(str_replace('_', ' ', $key));
if (strlen($key) == 3) {
$displayKey = strtoupper($key);
}
@endphp
<p> - {{ $displayKey }}: {{ $forminspeksi['fakta'][$key] }}</p>
@endif
@endforeach
</td>
</tr>
$customLabels = [
'upload_gs' => 'Gambar Situasi',
'foto_sentuh_tanahku' => 'Sentuh Tanahku',
'foto_gistaru' => 'Gistaru',
'foto_bhumi' => 'Bhumi',
'foto_argis_region' => 'Blad Tata Ruang',
'foto_tempat' => 'Peta Lokasi',
];
@php
$fotoTypes = [
'upload_gs',
'foto_sentuh_tanahku',
'foto_gistaru',
'foto_bhumi',
'foto_argis_region',
'foto_tempat',
];
// Periksa apakah ada informasi dinas tata ruang yang valid
$hasInformasi = collect($informasi)->some(fn ($key) => isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-');
$customLabels = [
'upload_gs' => 'Gambar Situasi',
'foto_sentuh_tanahku' => 'Sentuh Tanahku',
'foto_gistaru' => 'Gistaru',
'foto_bhumi' => 'Bhumi',
'foto_argis_region' => 'Blad Tata Ruang ',
'foto_tempat' => 'Peta Lokasi',
];
// Memindahkan foto_tempat ke depan jika ada
if (($key = array_search('upload_gs', $fotoTypes)) !== false) {
unset($fotoTypes[$key]);
array_unshift($fotoTypes, 'upload_gs');
}
// Filter fotoTypes untuk memastikan hanya yang memiliki imagePath valid
$validPhotoTypes = array_filter($fotoTypes, function ($type) use ($forminspeksi) {
return isset($forminspeksi[$type]) && !empty($forminspeksi[$type]) && is_string($forminspeksi[$type]);
});
@endphp
@foreach ($validPhotoTypes as $type)
@php
$imagePath = $forminspeksi[$type] ?? null;
$imageUrl = is_string($imagePath) ? asset('storage/' . $imagePath) : null;
// Periksa apakah ada foto yang valid (menggunakan Storage disk public)
$hasValidPhotos = collect($fotoTypes)->some(function ($type) use ($forminspeksi) {
$imagePath = $forminspeksi[$type] ?? null;
return is_string($imagePath) && Storage::disk('public')->exists($imagePath);
});
@endphp
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
// Siapkan catatan sebagai array, kemudian periksa apakah ada catatan yang perlu diperhatikan
$notes = (array) ($forminspeksi['fakta']['keterangan'] ?? []);
$hasNotes = count($notes) > 0;
// Log render status untuk debugging
\Log::info('Render print-out informasi tata ruang', [
'hasInformasi' => $hasInformasi,
'hasValidPhotos' => $hasValidPhotos,
'hasNotes' => $hasNotes,
]);
@endphp
@if ($hasInformasi || $hasValidPhotos || $hasNotes)
<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;">Informasi Dinas Tata Ruang</h2>
</td>
</tr>
</table>
<table>
@if ($hasInformasi)
<tr>
<td style="20%"> {{ $customLabels[$type] ?? '' }}</td>
<td width="1%" style="vertical-align: top;"></td>
<td style="width: 79%">
<img src="{{ storage_path('app/public/' . $imagePath) }}" alt="{{ $imageUrl }}"
style="max-height: 400px; height: auto; max-width: 100%;">
<td width="20%" style="vertical-align: top;">Informasi Dinas Tata Ruang</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($informasi as $key)
@if (($val = $forminspeksi['fakta'][$key] ?? null) && $val !== '-')
<p>- {{ strlen($key) === 3 ? strtoupper($key) : ucfirst(str_replace('_', ' ', $key)) }}: {{ $val }}</p>
@endif
@endforeach
</td>
</tr>
@endif
@endforeach
<tr>
<td width="20%" style="vertical-align: top;">Catatan yang Perlu Diperhatikan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@if ($hasValidPhotos)
@foreach ($fotoTypes as $type)
@php
$imagePath = $forminspeksi[$type] ?? null;
@endphp
@if (is_string($imagePath) && Storage::disk('public')->exists($imagePath))
<tr>
<td width="20%" style="vertical-align: top;">{{ $customLabels[$type] ?? '' }}</td>
<td width="1%" style="vertical-align: top;"></td>
<td style="width: 79%">
<img src="{{ asset('storage/' . $imagePath) }}" alt="{{ $customLabels[$type] ?? '' }}"
style="max-height: 400px; height: auto; max-width: 100%;">
</td>
</tr>
@endif
@endforeach
@endif
</td>
</tr>
</table>
</div>
@if ($hasNotes)
<tr>
<td width="20%" style="vertical-align: top;">Catatan yang Perlu Diperhatikan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($notes as $note)
<p>{!! nl2br(e($note)) !!}</p>
@endforeach
</td>
</tr>
@endif
</table>
</div>
@endif

View File

@@ -1,6 +1,5 @@
<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;">
@@ -38,27 +37,26 @@
<tr>
@foreach ($basicData['perkerasanJalan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) &&
in_array($item->name, $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']))
>
{{ $item->name }}
@if ($item->name == 'Lainnya' && !empty($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']))
({{ $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] }})
@endif
</label>
</td>
@endforeach
</tr>
<tr>
</table>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) && in_array($item->name, $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']) ? ' (' . $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Lalu Lintas Depan Lokasi</td>
@@ -69,245 +67,242 @@
<tr>
@foreach ($basicData['laluLintasLokasi'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['lalu_lintas'])
&& is_array($forminspeksi['lingkungan']['lalu_lintas'])
&& in_array($item->name, $forminspeksi['lingkungan']['lalu_lintas']))
>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
<tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Golongan Masyarakat Sekitar</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['golMasySekitar']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['golMasySekitar'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['gol_mas_sekitar'])
&& is_array($forminspeksi['lingkungan']['gol_mas_sekitar'])
&& in_array($item->name, $forminspeksi['lingkungan']['gol_mas_sekitar']))
>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Tingkat Keramaian</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['tingkatKeramaian']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['tingkatKeramaian'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['tingkat_keramaian']) &&
is_array($forminspeksi['lingkungan']['tingkat_keramaian']) &&
in_array($item->name, $forminspeksi['lingkungan']['tingkat_keramaian']))
>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Terletak Di Area</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['terletakDiArea']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['terletakDiArea'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) &&
in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? []))
>
{{ $item->name }}
@if ($item->name == 'Lainnya' && !empty($forminspeksi['lingkungan']['terletak_diarea']['lainnya']))
({{ $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] }})
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Disekitar Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Telah ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? 'checked' : '' }}>
Telah ada bangunan
@if (($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya')
- Kondisi Bangunan:
{{ $forminspeksi['lingkungan']['kondisi_bagunan_disekitar_lokasi'] ?? '' }}
, Sifat Bangunan:
{{ $forminspeksi['lingkungan']['sifat_bagunan_disekitar_lokasi'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Belum ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'tidak' ? 'checked' : '' }}>
Belum ada bangunan
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Makam</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya')
- Nama Makam: {{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }}
, Jarak Makam: {{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat TPS</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya')
- Nama TPS:
{{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }}
, Jarak TPS:
{{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Lainnya</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['dekat_lainnya'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;">Merupakan Daerah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['merupakanDaerah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['merupakanDaerah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['merupakan_daerah']) &&
in_array($item->name, $forminspeksi['lingkungan']['merupakan_daerah']))
>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Fasilitas Umum Dekat Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($basicData['fasilitasObjek']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['fasilitasObjek'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]) &&
$forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]))
>
{{ $item->name }}
@if (!empty($forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]))
({{ $forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] }})
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['lalu_lintas']) && in_array($item->name, $forminspeksi['lingkungan']['lalu_lintas']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Golongan Masyarakat Sekitar</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['golMasySekitar']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['golMasySekitar'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['gol_mas_sekitar']) && in_array($item->name, $forminspeksi['lingkungan']['gol_mas_sekitar']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Tingkat Keramaian</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['tingkatKeramaian']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['tingkatKeramaian'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['tingkat_keramaian']) && in_array($item->name, $forminspeksi['lingkungan']['tingkat_keramaian']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Terletak Di Area</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['terletakDiArea']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['terletakDiArea'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '') ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['lainnya']) ? ' (' . $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Disekitar Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Telah ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? 'checked' : '' }}>
Telah ada bangunan
@if (($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya')
- Kondisi Bangunan:
{{ $forminspeksi['lingkungan']['kondisi_bagunan_disekitar_lokasi'] ?? '' }}
, Sifat Bangunan:
{{ $forminspeksi['lingkungan']['sifat_bagunan_disekitar_lokasi'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Belum ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'tidak' ? 'checked' : '' }}>
Belum ada bangunan
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Makam</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya')
- Nama Makam:
{{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }}
, Jarak Makam:
{{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat TPS</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya')
- Nama TPS:
{{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }}
, Jarak TPS:
{{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Lainnya</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['dekat_lainnya'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;">Merupakan Daerah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['merupakanDaerah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['merupakanDaerah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['merupakan_daerah']) && in_array($item->name, $forminspeksi['lingkungan']['merupakan_daerah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Fasilitas Umum Dekat Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($basicData['fasilitasObjek']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['fasilitasObjek'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['fasilitas_dekat_object']) && $forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] ? 'checked' : '' }}>
{{ $item->name}} {{isset($forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]) ? '('. $forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] .')' : ''}}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>

View File

@@ -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

View File

@@ -4,6 +4,7 @@
Analisa Tanah
</h3>
</div>
<div class="card-body">
<div class="grid gap-5">
<!-- Luas tanah -->
@@ -13,7 +14,7 @@
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
@php
$total_luas_tanah = 0;
$jenis_legalitas_jaminan_id = 0;
if (isset($item->detail)) {
@@ -28,8 +29,8 @@
<p class="text-gray-700 text-2sm">{{ $total_luas_tanah }} m<sup>2</sup></p>
@endforeach
@endif
<div class="flex-wrap items-stretch">
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-3 gap-4 mt-2 md:grid-cols-3">
<label class="flex gap-3 items-center form-label text-nowrap">
<input type="radio" class="radio" name="luas_tanah" value="sesuai"
@@ -57,10 +58,10 @@
</div>
</div>
<em id="error-luas_tanah" class="text-sm alert text-danger"></em>
</div>
</div>
</div>
<!-- Hadap Mata Angin -->
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<input type="hidden" name="hadap_mata_angin_sesuai" class="input" value="sesuai">
@@ -111,6 +112,7 @@
</div>
</div>
</div>
<!-- Bentuk Tanah -->
<div class="flex flex-wrap gap-2.5 items-stretch lg:flex-nowrap">
<label class="form-label max-w-56">Bentuk Tanah</label>
@@ -164,6 +166,7 @@
<em id="error-kontur_tanah" class="text-sm alert text-danger"></em>
</div>
</div>
<!-- Beda Ketinggian Dengan Jalan -->
<div class="flex flex-wrap gap-2.5 items-stretch lg:flex-nowrap">
<label class="form-label max-w-56">Beda Ketinggian Dengan Jalan</label>
@@ -201,6 +204,7 @@
<em id="error-ketinggian_jalan" class="text-sm alert text-danger"></em>
</div>
</div>
<!-- Kontur Jalan Depan Objek -->
<div class="flex flex-wrap gap-2.5 items-stretch lg:flex-nowrap">
<label class="form-label max-w-56">Kontur Jalan Depan Objek</label>
@@ -224,7 +228,6 @@
</div>
<em id="error-kontur_jalan" class="text-sm alert text-danger"></em>
</div>
</div>
<div class="flex flex-wrap gap-2.5 items-stretch lg:flex-nowrap">
@@ -242,6 +245,7 @@
$forminspeksi['tanah']['posisi_kavling']['lainnya'] ?? '',
);
@endphp
@foreach ($basicData['posisiKavling'] as $item)
<div class="flex items-center">
<label class="flex gap-2.5 items-center form-label text-nowrap">
@@ -281,11 +285,13 @@
$statusKey = isset($forminspeksi['tanah']['tusuk_sate']['Ya']) ? 'Ya' : 'Tidak';
$selectedData = $forminspeksi['tanah']['tusuk_sate'][$statusKey] ?? null;
@endphp
<input id="tusuk_sate_ya" class="input" name="tusuk_sate_ya"
placeholder="Masukkan Tusuk Sate..."
value="{{ old('tusuk_sate_ya', isset($selectedData) ? $selectedData : '') }}"
style="{{ $statusKey == 'Ya' ? '' : 'display: none;' }}">
</label>
<label class="flex gap-2.5 items-center form-label text-nowrap">
<input onclick="toggleFieldVisibility('tusuk_sate', 'tusuk_sate_ya', ['Ya'])"
type="radio" class="radio" name="tusuk_sate" value="Tidak"
@@ -347,7 +353,6 @@
<em id="error-kondisi_fisik_tanah" class="text-sm alert text-danger"></em>
</div>
</div>
</div>
</div>
</div>

View File

@@ -18,27 +18,25 @@
@endpush
@include('lpj::assetsku.includenya')
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
@include('lpj::component.detail-jaminan', ['backLink' => 'surveyor.index'])
@include('lpj::component.detail-jaminan',['backLink'=>'surveyor.index'])
@if ($permohonan->status == 'revisi-survey')
<div class="min-w-full border card border-agi-100">
<div class="card-header light:bg-agi-50" id="basic_settings">
<div class="flex flex-row gap-1.5 card-title">
Catatan Revisi
Catatan Revisi
</div>
</div>
<div class="card-body">
<p>{{ $permohonan->keterangan ?? '' }}</p>
</div>
</div>
@endif
<div class="min-w-full border card border-agi-100">
<div class="card-header light:bg-agi-50" id="basic_settings">
<div class="flex flex-row gap-1.5 card-title">
Form Jaminan
Form Jaminan
</div>
</div>
@@ -48,7 +46,6 @@
<div class="card-footer">
<div class="flex gap-5">
<button type="button" id="btnSubmit" class="btn btn-primary">
Submit
</button>
@@ -104,25 +101,13 @@
}
},
error: function(xhr, status, error) {
console.log('Error checking button status:', error, status, xhr);
if (xhr.responseJSON.message) {
toastrErrorBuild(xhr.responseJSON.message);
} else {
}else{
toastrErrorBuild('Terjadi kesalahan');
}
}
});
}
// $('.card-title a').on('click', function(e) {
// e.preventDefault();
// var url = $(this).attr('href');
// $.get(url, function(response) {
// $('.card-body').html(response);
// });
// });
</script>
@endpush

File diff suppressed because it is too large Load Diff