Merge remote-tracking branch 'composer/feature/senior-officer' into staging

This commit is contained in:
Daeng Deni Mardaeni
2025-03-05 14:29:12 +07:00
22 changed files with 2240 additions and 1159 deletions

View File

@@ -255,7 +255,6 @@ class PenilaiController extends Controller
}
public function storePaparan(Request $request, $id)
{
try {
@@ -281,8 +280,8 @@ class PenilaiController extends Controller
$penilai = Penilai::updateOrCreate(
[
'permohonan_id' => $request->permohonan_id,
'dokument_id' => $request->documentId,
'inspeksi_id' => $request->inspeksiId,
'dokument_id' => $request->dokument_id,
'inspeksi_id' => $request->inspeksi_id,
]
);
@@ -653,7 +652,7 @@ class PenilaiController extends Controller
'permohonan_id' => 'required|integer',
'document_id' => 'required|integer',
'inspeksi_id' => 'required|integer',
'kertas_kerja' => 'required|file|mimes:pdf,doc,docx,xls,xlsx,xlsx',
'kertas_kerja' => 'required|file|mimes:pdf',
]);
try {

View File

@@ -448,6 +448,7 @@ class PermohonanController extends Controller
'nomor_registrasi' => 'required',
'reschedule_note' => 'required',
'reschedule_date' => 'required',
'keterangan' => 'required'
]);
DB::beginTransaction();

View File

@@ -2479,6 +2479,11 @@ class SurveyorController extends Controller
: ($data['hadap_mata_angin_tidak_sesuai'] ?? null);
$hadap_mata_angin[$hadap_mata_angin_key] = $hasil_hadap_mata_angin;
$tusuk_sate_key = ($data['tusuk_sate'] ?? null) === 'Ya' ? 'Ya' : 'Tidak';
$tusuk_sate = [];
$tusuk_sate[$tusuk_sate_key] = $data['tusuk_sate_ya'] ?? null;
return [
'tanah' => [
@@ -2505,7 +2510,7 @@ class SurveyorController extends Controller
'lainnya'
),
'tusuk_sate' => $data['tusuk_sate'] ?? null,
'tusuk_sate' => $tusuk_sate,
'lockland' => $data['lockland'] ?? null,
'kondisi_fisik_tanah' => $this->getFieldData(
$data,
@@ -3620,7 +3625,6 @@ class SurveyorController extends Controller
// Generate PDF
$pdf = PDF::loadView($templateView, compact('permohonan', 'basicData', 'forminspeksi', 'alamat'));
$pdf->setPaper('A4', 'portrait');
// Tentukan nama file PDF
$namaDebiture = $permohonan->debiture->name . '-' . $permohonan->nomor_registrasi;
@@ -3681,6 +3685,7 @@ class SurveyorController extends Controller
'permohonan_id' => 'required|exists:permohonan,id',
'rejected_note' => 'required|string|max:255',
'nomor_registrasi' => 'required|string',
'keterangan' => 'required|string',
]);
// Memulai transaksi

View File

@@ -1,9 +1,34 @@
<style>
.signature-pad-container canvas {
max-width: 100%;
max-height: 100%;
object-fit: contain;
overflow: hidden;
}
.signature-pad-container {
position: relative;
display: flex;
flex-direction: column;
align-items: stretch;
}
.signature-pad {
width: 100%;
height: auto;
aspect-ratio: 2/1;
object-fit: contain;
}
</style>
<div class="signature-pad-container mx-auto border p-4 max-w-md sm:max-w-lg lg:max-w-xl">
<h3 class="signature-title text-lg sm:text-xl font-semibold mb-2">{{ ucfirst($type) }}</h3>
<canvas
id="signature-pad-{{ $type }}"
class="signature-pad w-full h-48 sm:h-56 bg-white border rounded"
></canvas>
<div class="w-full aspect-w-2 aspect-h-1">
<canvas
id="signature-pad-{{ $type }}"
class="signature-pad w-full h-full bg-white border rounded"
></canvas>
</div>
<input
type="text"
class="input w-full border p-2 mt-2 rounded"

View File

@@ -12,13 +12,15 @@
Upload File Paparan
</div>
<div class="flex items-center gap-2">
<a href="{{ route('pembayaran.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
<a href="{{ route('penilai.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
</div>
</div>
<div class="card-body">
<form action="{{ route('penilai.storePaparan',['id'=> $permohonan->id]) }}" method="POST" class="grid gap-5" enctype="multipart/form-data">
@csrf
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input type="hidden" name="dokument_id" value="{{ request('document_id') }}">
<input type="hidden" name="inspeksi_id" value="{{ request('inspeksi_id') }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">

View File

@@ -194,9 +194,15 @@
if (data.status === 'survey-completed' || data.status === 'proses-laporan' || data.status === 'paparan' || data.status === 'proses-paparan' || data.status === 'paparan' || data.status == 'revisi-laporan' || data.status === 'done' || data.status === 'revisi-paparan') {
return `
<div class="flex flex-nowrap justify-center gap-1.5">
<a class="btn btn-sm btn-outline btn-info" href="penilai/${data.id}/show">
<a class="btn btn-sm btn-icon btn-clear btn-info" href="penilai/${data.id}/show">
<i class="ki-outline ki-eye"></i>
</a>
<button type="button"
class="btn btn-sm btn-icon btn-clear btn-warning"
onclick="surveyorFreeze('${data.id}', '${data.nomor_registrasi}', '${data.debiture?.name}')"
title="Freeze SLA">
<i class="ki-filled ki-arrow-circle-right"></i>
</button>
</div>`;
} else {
return `<div class="flex flex-nowrap justify-center">
@@ -221,6 +227,57 @@
</script>
<script>
function surveyorFreeze(permohonanId, noReg, debitur) {
Swal.fire({
title: 'Apakah Anda yakin?',
text: "Yakin akan Request Freeze dengan " + noReg + " untuk Debitur " + debitur +
" ?",
icon: 'warning',
input: 'textarea',
inputLabel: 'Keterangan',
inputPlaceholder: 'Masukkan keterangan...',
inputAttributes: {
'aria-label': 'Masukkan keterangan'
},
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, Lanjutkan!',
cancelButtonText: 'Batal',
}).then((result) => {
if (result.isConfirmed) {
const userMessage = result.value || ''; // Ambil pesan dari textarea
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
});
$.ajax({
url: `/surveyor/storeFreeze/${permohonanId}`,
type: 'POST',
data: {
message: userMessage
},
success: (response) => {
Swal.fire('Berhasil!',
response.message,
'success').then(() => {
window.location.reload();
});
console.log(response);
},
error: (error) => {
console.error('Error:', error);
Swal.fire('Gagal!', 'Terjadi kesalahan saat melakukan Freeze.',
'error');
}
});
}
});
}
function showLoadingSwal(message, duration = 5000) {
Swal.fire({
title: message,

View File

@@ -226,7 +226,7 @@
Kertas Kerja
</a>
@endif
<a class="btn btn-primary" onclick="paparan({{ $permohonan->id }})">
<a class="btn btn-primary" onclick="paparan({{ $permohonan->id }}, {{ $dokumen->id }}, {{ $inspeksiId }}, {{ $dokumen->jenis_jaminan_id }})">
Paparan
</a>
@@ -400,17 +400,13 @@
onclick="uploadKertasKerja({{ $permohonan->id }}, '{{ $documentId }}', '{{ $inspeksiId }}', '{{ $jenisJaminanId }}')">Upload</button>
</div>
</div>
{{-- <div class="form-group flex items-baseline flex-wrap">
@if ($jenisJaminanId)
<a class="btn btn-outline btn-primary w-full"
href="{{ route('penilai.export.kertas-kerja') }}?permohonanId={{ $permohonan->id }}&documentId={{ $documentId }}&inspeksiId={{ $inspeksiId }}&jaminanId={{ $jenisJaminanId }}">
Export Kertas Kerja
</a>
@else
<p class="text-red-500">Tidak ada dokumen yang memiliki jenis jaminan.</p>
@endif
</div> --}}
<div class="flex justify-between items-center">
@if ($permohonan->penilai->kertas_kerja)
<span data-modal-dismiss="true" class="btn btn-warning btn-outline"
onclick="viewPDF('{{ Storage::url($permohonan->penilai->kertas_kerja) }}')"><i
class="ki-filled ki-eye mr-2"></i>Lihat Kertas Kerja</span>
@endif
</div>
</div>
<div class="modal-footer">
@@ -420,6 +416,7 @@
</div>
@endsection
@include('lpj::component.pdfviewer')
<script>
function seletSederhanaStandart(permohonanId, documentId, inspeksiId, jaminanId, fasilitasKredit, statusBayar) {
@@ -598,7 +595,7 @@
}
function paparan(permohonanId) {
function paparan(permohonanId, documentId, inspeksiId, jaminanId) {
Swal.fire({
title: 'Apakah Kamu yakin ingin melakukan paparan',
icon: 'warning',
@@ -608,7 +605,7 @@
confirmButtonText: 'Yes'
}).then((result) => {
if (result.isConfirmed) {
window.location.href = `/penilai/${permohonanId}/edit`;
window.location.href = `/penilai/${permohonanId}/edit?document_id=${documentId}&inspeksi_id=${inspeksiId}&jaminanId=${jaminanId}`;
}
});
}

View File

@@ -210,9 +210,9 @@
${data.id},
${data.penilaian.id},
'${data.nomor_registrasi}',
'${data.debiture?.name}',
'${data.penilaian.waktu_penilaian}',
${JSON.stringify(data.penilaian.rejected_note)}
'${data.debiture ? data.debiture.name.replace(/'/g, "\\'") : ""}',
'${data.penilaian.waktu_penilaian}',
'${data.penilaian.rejected_note ? JSON.stringify(data.penilaian.rejected_note).replace(/'/g, "\\'").replace(/"/g, '&quot;') : '{}'}'
)" class="delete btn btn-sm btn-outline btn-light" title="Reschedule Jadwal Survey">
<i class="ki-filled ki-calendar-remove"></i>
</a>`;
@@ -379,7 +379,8 @@
nomor_registrasi: noReg,
permohonan_id: permohonanId,
reschedule_date: rescheduleDate,
reschedule_note: rescheduleNote
reschedule_note: rescheduleNote,
keterangan: rejectedNote
};
$.ajax({

View File

@@ -79,42 +79,38 @@
let columnCount = 1;
// Fungsi calculate prices yang diperbaiki
function calculatePrices(type = 'main', index = null) {
let hargaInput, diskonInput, totalInput, hargaDiskonInput, hargaPenawaranInput;
let hargaInput, diskonInput, totalInput, hargaDiskonInput;
// Tentukan input berdasarkan tipe (main atau pembanding)
if (type === 'main') {
hargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]');
// hargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]');
hargaInput = document.querySelector('input[name="harga"]');
diskonInput = document.querySelector('input[name="diskon"]');
totalInput = document.querySelector('input[name="total"]');
hargaDiskonInput = document.querySelector('input[name="harga_diskon"]');
} else {
// Untuk pembanding, gunakan array input dengan index
const hargaPenawarans = document.getElementsByName('harga_penawaran_pembanding[]');
const hargaInputs = document.getElementsByName('harga_pembanding[]');
const diskonInputs = document.getElementsByName('diskon_pembanding[]');
const totalInputs = document.getElementsByName('total_pembanding[]');
const hargaDiskonInputs = document.getElementsByName('harga_diskon_pembanding[]');
// Pastikan index valid
if (index !== null && index < hargaInputs.length) {
hargaPenawaranInput = hargaPenawarans[index]
// hargaPenawaranInput = hargaPenawarans[index]
hargaInput = hargaInputs[index];
diskonInput = diskonInputs[index];
totalInput = totalInputs[index];
hargaDiskonInput = hargaDiskonInputs[index];
// hargaDiskonInput = hargaDiskonInputs[index];
} else {
return; // Keluar jika index tidak valid
}
}
// Validasi input
if (!hargaPenawaranInput || !hargaInput || !diskonInput || !totalInput || !hargaDiskonInput) {
if (!hargaInput || !diskonInput || !totalInput) {
return;
}
// Ambil nilai numerik dari input
const hargaPenawaran = parseFloat(hargaPenawaranInput.value.replace(/[^\d]/g, '') || '0');
const harga = parseFloat(hargaInput.value.replace(/[^\d]/g, '') || '0');
let diskonInput_value = diskonInput.value.replace(',', '.');
let diskon = parseFloat(diskonInput_value.replace(/[^\d.]/g, '') || '0');
@@ -123,13 +119,15 @@
// Batasi diskon maksimal 100%
diskon = Math.min(diskon, 100);
const total = harga;
const hargaPermeterSetelahDiskon = harga - (harga * (diskon / 100))
const hargaSetelahDiskon = hargaPenawaran - (hargaPenawaran * (diskon / 100));
console.log(hargaPermeterSetelahDiskon);
// Update nilai dengan format currency
totalInput.value = formatCurrency(hargaPermeterSetelahDiskon.toString());
hargaDiskonInput.value = formatCurrency(hargaSetelahDiskon.toString());
}
@@ -217,7 +215,7 @@
'telepon_pembanding[]': currentData.telepon,
'penawaran_pembanding[]': currentData.penawaran,
'tanggal_pembanding[]': currentData.tanggal,
'harga_penawaran_pembanding[]':currentData.harga_penawaran
// 'harga_penawaran_pembanding[]':currentData.harga_penawaran
};
@@ -267,15 +265,15 @@
function initializePriceCalculation() {
// Event listener untuk input utama
const mainHargaInput = document.querySelector('input[name="harga"]');
const mainHargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]');
// const mainHargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]');
const mainDiskonInput = document.querySelector('input[name="diskon"]');
if (mainHargaInput) {
mainHargaInput.addEventListener('input', () => calculatePrices('main'));
}
if (mainHargaPenawaranInput) {
mainHargaPenawaranInput.addEventListener('input', () => calculatePrices('main'));
}
// if (mainHargaPenawaranInput) {
// mainHargaPenawaranInput.addEventListener('input', () => calculatePrices('main'));
// }
if (mainDiskonInput) {
mainDiskonInput.addEventListener('input', () => calculatePrices('main'));
@@ -283,7 +281,7 @@
// Event listener untuk input pembanding
const pembandingHargaInputs = document.getElementsByName('harga_pembanding[]');
const pembandingHargaPenawaranInput = document.getElementsByName('harga_penawaran_pembanding[]');
// const pembandingHargaPenawaranInput = document.getElementsByName('harga_penawaran_pembanding[]');
const pembandingDiskonInputs = document.getElementsByName('diskon_pembanding[]');
@@ -291,9 +289,9 @@
pembandingHargaInputs.forEach((input, index) => {
input.addEventListener('input', () => calculatePrices('pembanding', index));
});
pembandingHargaPenawaranInput.forEach((input, index) => {
input.addEventListener('input', () => calculatePrices('pembanding', index));
});
// pembandingHargaPenawaranInput.forEach((input, index) => {
// input.addEventListener('input', () => calculatePrices('pembanding', index));
// });
pembandingDiskonInputs.forEach((input, index) => {
input.addEventListener('input', () => calculatePrices('pembanding', index));

View File

@@ -5,7 +5,7 @@
@endsection
@section('content')
<link rel="stylesheet" href="https://unpkg.com/dropzone@5/dist/min/dropzone.min.css" type="text/css" />
{{-- <link rel="stylesheet" href="https://unpkg.com/dropzone@5/dist/min/dropzone.min.css" type="text/css" /> --}}
<style>
.dropzone {
border: 2px dashed #3498db;
@@ -265,7 +265,7 @@
@include('lpj::surveyor.js.fotojs')
@include('lpj::surveyor.js.utils')
@push('scripts')
<script src="https://unpkg.com/dropzone@5/dist/min/dropzone.min.js"></script>
{{-- <script src="https://unpkg.com/dropzone@5/dist/min/dropzone.min.js"></script> --}}
<script>
let jsonDataContoh = @json($formFoto);
Dropzone.autoDiscover = false;
@@ -871,5 +871,7 @@
}
});
}
</script>
@endpush

View File

@@ -80,12 +80,12 @@
</form>
</div>
@php
use Modules\Usermanagement\Models\User;
$cabangUser = User::where('id', $permohonan->user->id)->first();
use Modules\Usermanagement\Models\User;
$cabangUser = User::where('id', $permohonan->user->id)->first();
// print_r($cabangUser->sign);
// print_r($cabangUser->sign);
@endphp
@endphp
@endsection
@push('scripts')
@@ -95,42 +95,122 @@
console.log(datas);
document.addEventListener('DOMContentLoaded', function() {
const signaturePads = {};
const types = ['penilai', 'cabang', 'debitur', 'kjjp'];
const types = ['penilai', 'cabang', 'debitur', 'kjjp'];
// Inisialisasi semua signature pad
types.forEach(type => initSignaturePad(type));
// Initialize all signature pads
types.forEach(type => initSignaturePad(type));
function initSignaturePad(type) {
const canvas = document.getElementById(`signature-pad-${type}`);
if (!canvas) return;
function initSignaturePad(type) {
const canvas = document.getElementById(`signature-pad-${type}`);
if (!canvas) return;
setCanvasSize(canvas);
// Improved canvas sizing with strict boundary control
function resizeCanvas() {
const container = canvas.closest('.signature-pad-container');
const containerWidth = container.clientWidth;
const signaturePad = new SignaturePad(canvas, {
backgroundColor: 'rgba(255, 255, 255, 0)',
penColor: 'rgb(0, 0, 0)',
minWidth: 0.5,
maxWidth: 2.5
});
signaturePads[type] = signaturePad;
// Set canvas style dimensions
canvas.style.width = '100%';
canvas.style.height = `${containerWidth * 0.5}px`; // 2:1 aspect ratio
// Load tanda tangan yang ada
if (type === 'penilai' || type === 'cabang') {
loadPenilaiAndCabangSignature(type, signaturePad);
} else {
loadSignature(type, signaturePad);
// Set actual canvas dimensions with high DPI support
const ratio = window.devicePixelRatio || 1;
canvas.width = containerWidth * ratio;
canvas.height = (containerWidth * 0.5) * ratio;
// Scale canvas context
const ctx = canvas.getContext('2d');
ctx.scale(ratio, ratio);
// Clear and redraw existing signature if any
if (signaturePads[type] && !signaturePads[type].isEmpty()) {
const signaturePad = signaturePads[type];
const imageData = signaturePad.toData();
signaturePad.clear();
signaturePad.fromData(imageData);
}
}
// Create signature pad with boundary and scaling control
const signaturePad = new SignaturePad(canvas, {
backgroundColor: 'rgba(255, 255, 255, 0)',
penColor: 'rgb(0, 0, 0)',
minWidth: 0.5,
maxWidth: 2.5,
throttle: 16,
dotSize: 2,
// Custom function to control signature drawing
onBegin: (event) => {
const ctx = canvas.getContext('2d');
const rect = canvas.getBoundingClientRect();
const scaleX = canvas.width / rect.width;
const scaleY = canvas.height / rect.height;
// Ensure drawing stays within canvas
if (
event.clientX < rect.left ||
event.clientX > rect.right ||
event.clientY < rect.top ||
event.clientY > rect.bottom
) {
return false;
}
// Event listeners
addEventListeners(type, signaturePad);
}
});
signaturePads[type] = signaturePad;
function setCanvasSize(canvas) {
const ratio = Math.max(window.devicePixelRatio || 1, 1);
canvas.width = canvas.offsetWidth * ratio;
canvas.height = canvas.offsetHeight * ratio;
canvas.getContext('2d').scale(ratio, ratio);
}
// Initial resize
resizeCanvas();
// Load existing signature
if (type === 'penilai' || type === 'cabang') {
loadPenilaiAndCabangSignature(type, signaturePad);
} else {
loadSignature(type, signaturePad);
}
// Add event listeners
addEventListeners(type, signaturePad);
// Add resize listener
window.addEventListener('resize', () => {
resizeCanvas();
});
}
function drawSignature(signaturePad, imageUrl) {
const image = new Image();
image.crossOrigin = 'Anonymous';
image.onload = function() {
const ctx = signaturePad.canvas.getContext('2d');
const canvasWidth = signaturePad.canvas.width;
const canvasHeight = signaturePad.canvas.height;
// Clear previous content
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
// Calculate scaling to fit within canvas while maintaining aspect ratio
const scale = Math.min(
canvasWidth / image.width,
canvasHeight / image.height
);
const scaledWidth = image.width * scale;
const scaledHeight = image.height * scale;
// Center the image
const x = (canvasWidth - scaledWidth) / 2;
const y = (canvasHeight - scaledHeight) / 2;
// Draw the scaled and centered image
ctx.drawImage(image, x, y, scaledWidth, scaledHeight);
};
image.onerror = function() {
console.error('Error loading signature image');
};
image.src = imageUrl;
}
function addEventListeners(type, signaturePad) {
document.getElementById(`save-${type}`)?.addEventListener('click', () => saveSignature(type,
@@ -141,6 +221,98 @@
signaturePad));
}
function saveSignature(type, signaturePad) {
// Prevent saving empty signature for debitur and kjjp
if (signaturePad.isEmpty() && type !== 'penilai' && type !== 'cabang') {
Swal.fire({
icon: 'warning',
title: 'Peringatan',
text: 'Harap memberikan tanda tangan terlebih dahulu.'
});
return;
}
// Use high-quality PNG with appropriate scaling
const signatureDataUrl = signaturePad.isEmpty() ?
(type === 'penilai' ?
`{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}` :
(type === 'cabang' ?
`{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}` :
'')) :
signaturePad.toDataURL('image/png', 1.0); // Use full quality
const data = {
signature: signatureDataUrl,
type: type,
name: document.getElementById(`name-${type}`)?.value,
document_id: document.getElementById('dokument_id')?.value,
permohonan_id: document.getElementById('permohonan_id')?.value
};
Swal.fire({
title: 'Menyimpan...',
allowOutsideClick: false,
didOpen: () => Swal.showLoading()
});
fetch(`{{ url('/surveyor/signatures') }}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': '{{ csrf_token() }}',
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
Swal.close();
if (data.success) {
Swal.fire({
icon: 'success',
title: 'Berhasil',
text: 'Tanda tangan berhasil disimpan!',
timer: 1500
});
} else {
throw new Error(data.message || 'Terjadi kesalahan');
}
})
.catch(error => {
Swal.fire({
icon: 'error',
title: 'Error',
text: error.message || 'Terjadi kesalahan saat menyimpan tanda tangan'
});
});
}
function drawSignature(signaturePad, imageUrl) {
const image = new Image();
image.crossOrigin = 'Anonymous'; // Handle cross-origin images
image.onload = function() {
const ctx = signaturePad.canvas.getContext('2d');
ctx.clearRect(0, 0, signaturePad.canvas.width, signaturePad.canvas.height);
// Calculate scaling to fit within canvas while maintaining aspect ratio
const scale = Math.min(
signaturePad.canvas.width / image.width,
signaturePad.canvas.height / image.height
);
const scaledWidth = image.width * scale;
const scaledHeight = image.height * scale;
const x = (signaturePad.canvas.width - scaledWidth) / 2;
const y = (signaturePad.canvas.height - scaledHeight) / 2;
ctx.drawImage(image, x, y, scaledWidth, scaledHeight);
};
image.onerror = function() {
console.error('Error loading signature image');
};
image.src = imageUrl;
}
function loadPenilaiAndCabangSignature(type, signaturePad) {
const nameInputElement = document.getElementById(`name-${type}`);
@@ -186,13 +358,13 @@
return;
}
const signatureDataUrl = signaturePad.isEmpty()
? (type === 'penilai'
? `{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}`
: (type === 'cabang'
? `{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}`
: ''))
: signaturePad.toDataURL('image/png');
const signatureDataUrl = signaturePad.isEmpty() ?
(type === 'penilai' ?
`{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}` :
(type === 'cabang' ?
`{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}` :
'')) :
signaturePad.toDataURL('image/png');
const data = {
signature: signatureDataUrl,
@@ -365,7 +537,7 @@
}).then((response) => {
if (response.isConfirmed) {
// window.location.href =
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
}
});
} else {

View File

@@ -114,7 +114,7 @@
@endphp
<td class="px-4 py-2">
<input type="text" name="luas_tanah" class="input "
value="{{ $inspectionData['tanah']['luas_tanah']['sesuai'] ?? ($inspectionData['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
value="{{ $inspectionData['tanah']['luas_tanah']['sesuai'] ?? ($inspectionData['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
</td>
<td class="px-4 py-2">
@@ -188,7 +188,7 @@
</td>
</tr>
<tr>
{{-- <tr>
<td class="px-4 py-2">Harga Penawaran/ Transaksi(Rp)</td>
<td class="px-4 py-2">
<input type="text" name="harga_penawaran" class="input currency-format"
@@ -197,7 +197,7 @@
<td class="px-4 py-2">
<input type="text" name="harga_penawaran_pembanding[]" class="input currency-format">
</td>
</tr>
</tr> --}}
<tr>
@@ -412,11 +412,11 @@
</tr>
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Harga Per Meter</td>
<td colspan="3" class="px-4 py-2 font-semibold">Harga</td>
</tr>
<tr>
<td class="px-4 py-2">Harga</td>
<td class="px-4 py-2">Harga Penawaran/ Transaksi(Rp)</td>
<td class="px-4 py-2">
<input type="text" name="harga" class="input currency-format"
value="{{ $inspectionData['asset']['harga'] ?? '' }}">
@@ -448,8 +448,8 @@
</td>
</tr>
<tr style="">
<td class="px-4 py-2"></td>
{{-- <tr style="">
<td class="px-4 py-2">Harga Setelah Diskon</td>
<td class="px-4 py-2">
<input type="text" name="total" class="input currency"
value="{{ $inspectionData['asset']['total'] ?? '' }}" readonly>
@@ -457,15 +457,15 @@
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" class="input currency-format" readonly>
</td>
</tr>
</tr> --}}
<tr>
<td class="px-4 py-2">Harga Setelah Diskon</td>
<td class="px-4 py-2">
<input type="text" name="harga_diskon" class="input currency-format" readonly
value="{{ $inspectionData['asset']['harga_diskon'] ?? '' }}">
<input type="text" name="total" class="input currency-format" readonly
value="{{ $inspectionData['asset']['total'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_diskon_pembanding[]" readonly
<input type="text" name="total_pembanding[]" readonly
class="input currency-format">
</td>
</tr>

View File

@@ -1,3 +1,15 @@
<div class="no-break" style="margin: 0; padding: 0">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Analisa Unit
</h2>
</td>
</tr>
</table>
<table>
<tr>
@php
@@ -99,3 +111,4 @@
</table>
@endif
</table>
</div>

View File

@@ -1,24 +1,64 @@
<table>
<!-- Luas Tanah Bangunan -->
<tr>
@php
$cekLuasBangunan = isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])
? 'tidak sesuai'
: 'sesuai';
$luasBangunan = $forminspeksi['bangunan']['luas_tanah_bagunan'][$cekLuasBangunan] ?? null;
@endphp
<td width="25%"><strong>Luas Bangunan (IMB)</strong></td>
<td>{{ $luasBangunan }}</td>
<div class="no-break" style="margin: 0; padding: 0">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Bangunan
</h2>
</td>
</tr>
</table>
<table>
<!-- Luas Tanah Bangunan -->
<tr>
@php
$cekLuasBangunan = isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])
? 'tidak sesuai'
: 'sesuai';
$luasBangunan = $forminspeksi['bangunan']['luas_tanah_bagunan'][$cekLuasBangunan] ?? null;
@endphp
<td width="25%"><strong>Luas Bangunan (IMB)</strong></td>
<td>{{ $luasBangunan }}</td>
</tr>
<!-- Jenis Bangunan -->
<tr>
<td><strong>Jenis Bangunan</strong></td>
<td>
@if (isset($basicData['jenisBangunan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['jenisBangunan'] 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['bangunan']['jenis_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['jenis_bangunan']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Jenis Bangunan -->
<!-- Kondisi Bangunan -->
<tr>
<td><strong>Jenis Bangunan</strong></td>
<td><strong>Kondisi Bangunan</strong></td>
<td>
@if (isset($basicData['jenisBangunan']))
@if (isset($basicData['kondisiBangunan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['jenisBangunan'] as $index => $item)
@foreach ($basicData['kondisiBangunan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@@ -26,63 +66,36 @@
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['bangunan']['jenis_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['jenis_bangunan']) ? 'checked' : '' }}>
{{ isset($forminspeksi['bangunan']['kondisi_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['kondisi_bangunan']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Kondisi Bangunan -->
<tr>
<td><strong>Kondisi Bangunan</strong></td>
<td>
@if (isset($basicData['kondisiBangunan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['kondisiBangunan'] 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['bangunan']['kondisi_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['kondisi_bangunan']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</table>
@endif
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</tr>
<!-- Sifat Bangunan -->
<tr>
<td><strong>Sifat Bangunan</strong></td>
<td>
@if (isset($basicData['sifatBangunan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['sifatBangunan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" name="sifat_bangunan[]" value="{{ $item->name }}"
{{ isset($forminspeksi['bangunan']['sifat_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['sifat_bangunan']) ? 'checked' : '' }}>
{{ $item->name }}
<!-- Sifat Bangunan -->
<tr>
<td><strong>Sifat Bangunan</strong></td>
<td>
@if (isset($basicData['sifatBangunan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['sifatBangunan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" name="sifat_bangunan[]" value="{{ $item->name }}"
{{ isset($forminspeksi['bangunan']['sifat_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['sifat_bangunan']) ? 'checked' : '' }}>
{{ $item->name }}
@if (isset($forminspeksi['bangunan']['sifat_bangunan']) &&
@if (isset($forminspeksi['bangunan']['sifat_bangunan']) &&
in_array($item->name, $forminspeksi['bangunan']['sifat_bangunan']))
@php
$inputValues = isset($forminspeksi['bangunan']['sifat_bangunan_input'][$index])
@@ -93,80 +106,118 @@
<span class="label-checkbox"> - {{ $inputValues }}</span>
@endif
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
@if (isset($forminspeksi['bangunan']['spesifikasi_bangunan']) &&
count($forminspeksi['bangunan']['spesifikasi_bangunan']) > 0)
@foreach ($forminspeksi['bangunan']['spesifikasi_bangunan'] as $bangunanIndex => $bangunan)
<tr>
<td colspan="2"><strong>Spesifikasi Bangunan {{ $bangunanIndex + 1 }}</strong></td>
</tr>
@if (isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $index => $spesifikasi)
<tr>
<td style="vertical-align: top;"><strong>{{ $spesifikasi->name }}</strong></td>
<td>
<table class="checkbox-list">
@if (isset($basicData['spekBangunan']))
@php $count = 0; @endphp
<tr>
@foreach ($basicData['spekBangunan'] as $kategori)
@if ($kategori->spek_kategori_bangunan_id == $spesifikasi->id)
@php
$selectedValues = [];
if (isset($bangunan['spek_kategori_bangunan'][$spesifikasi->name])) {
$selectedValues = array_values(
$bangunan['spek_kategori_bangunan'][$spesifikasi->name],
);
}
$lainnyaValue =
$bangunan['spek_kategori_bangunan'][$spesifikasi->name][
'lainnya'
] ?? '';
@endphp
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" class="checkbox-lainnya"
style="margin-right: 3px;"
name="spesifikasi_bangunan[{{ $bangunanIndex }}][{{ $spesifikasi->name }}][]"
value="{{ $kategori->name }}"
@if (in_array($kategori->name, $selectedValues)) checked @endif>
{{ $kategori->name }}
@if ($kategori->name == 'Lainnya')
<span class="text-lainnya"
style="display: {{ in_array('Lainnya', $selectedValues) ? 'inline' : 'none' }};">
: {{ $lainnyaValue }}
</span>
@endif
</label>
</td>
@php $count++; @endphp
@if ($count % 3 == 0)
</tr>
<tr>
@endif
@endif
</label>
</td>
@endforeach
</tr>
@endif
</tr>
</table>
@endif
</td>
</tr>
@endforeach
@endif
@endforeach
@endif
</table>
@if (isset($forminspeksi['bangunan']['spesifikasi_bangunan']) &&
count($forminspeksi['bangunan']['spesifikasi_bangunan']) > 0)
@foreach ($forminspeksi['bangunan']['spesifikasi_bangunan'] as $bangunanIndex => $bangunan)
<tr>
<td colspan="2"><strong>Spesifikasi Bangunan {{ $bangunanIndex + 1 }}</strong></td>
</tr>
@if (isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $index => $spesifikasi)
<tr>
<td style="vertical-align: top;"><strong>{{ $spesifikasi->name }}</strong></td>
<td>
<table class="checkbox-list">
@if (isset($basicData['spekBangunan']))
@php $count = 0; @endphp
<tr>
@foreach ($basicData['spekBangunan'] as $kategori)
@if ($kategori->spek_kategori_bangunan_id == $spesifikasi->id)
@php
$selectedValues = [];
if (
isset($bangunan['spek_kategori_bangunan'][$spesifikasi->name])
) {
$selectedValues = array_values(
$bangunan['spek_kategori_bangunan'][$spesifikasi->name],
);
}
$lainnyaValue =
$bangunan['spek_kategori_bangunan'][$spesifikasi->name][
'lainnya'
] ?? '';
@endphp
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" class="checkbox-lainnya"
style="margin-right: 3px;"
name="spesifikasi_bangunan[{{ $bangunanIndex }}][{{ $spesifikasi->name }}][]"
value="{{ $kategori->name }}"
@if (in_array($kategori->name, $selectedValues)) checked @endif>
{{ $kategori->name }}
@if ($kategori->name == 'Lainnya')
<span class="text-lainnya"
style="display: {{ in_array('Lainnya', $selectedValues) ? 'inline' : 'none' }};">
: {{ $lainnyaValue }}
</span>
@endif
</label>
</td>
@php $count++; @endphp
@if ($count % 3 == 0)
</tr>
<tr>
@endif
@endif
@endforeach
</tr>
@endif
</table>
</td>
</tr>
@endforeach
@endif
@endforeach
@endif
<tr>
<td style="vertical-align: top;"><strong>Sarana Pelengkap</strong></td>
<td>
@if (isset($basicData['saranaPelengkap']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['saranaPelengkap'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" name="sarana_pelengkap[]" value="{{ $item->name }}"
{{ isset($forminspeksi['bangunan']['sarana_pelengkap']) && in_array($item->name, $forminspeksi['bangunan']['sarana_pelengkap']) ? 'checked' : '' }}>
{{ $item->name }}
@if (isset($forminspeksi['bangunan']['sarana_pelengkap']) &&
in_array($item->name, $forminspeksi['bangunan']['sarana_pelengkap']))
@php
$inputValues = isset($forminspeksi['bangunan']['sarana_pelengkap_input'][$index])
? $forminspeksi['bangunan']['sarana_pelengkap_input'][$index]
: null;
@endphp
@if ($inputValues)
<span class="label-checkbox"> - {{ $inputValues }}</span>
@endif
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</div>

View File

@@ -0,0 +1,111 @@
<div class="no-break" style="margin: 0; padding: 0">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Fakta
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Faktor Positif</strong></td>
<td width="100%">
@isset($forminspeksi['fakta']['fakta_positif'])
<table style="width: 100%; border-collapse: collapse;">
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@endisset
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Faktor Negatif</strong></td>
<td>
@php
$faktaNegatif = $forminspeksi['fakta']['fakta_negatif'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
? array_filter($faktaNegatif, function ($item) {
return !empty(trim($item));
})
: [];
@endphp
@if (!empty($faktaNegatifFiltered))
<table style="width: 100%; border-collapse: collapse;">
@foreach ($faktaNegatifFiltered as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@else
<p>Tidak ada faktor negatif yang teridentifikasi.</p>
@endif
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Rute Munuju</strong></td>
<td>
<p>{{ $forminspeksi['fakta']['rute_menuju'] ?? '' }}</p>
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Batas Batas </strong></td>
<td>
@foreach ($forminspeksi['fakta']['batas_batas_input'] ?? [] as $arah => $batas)
@if ($batas)
<p> - {{ $arah }} : {{ $batas }}</p>
@endif
@endforeach
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Kondisi lain terkait lingkungan </strong></td>
<td>
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
<p>{!! nl2br(e($kondisi)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Kondisi lain terkait Bangunan </strong></td>
<td>
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $kondisiLain)
<p>{!! nl2br(e($kondisiLain)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Informasi Terkait Dokumen </strong></td>
<td>
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
</td>
</tr>
</table>
</div>

View File

@@ -1,145 +1,58 @@
<tr>
<td style="text-align: center; border: 1px solid #000;">
G
</td>
<td style="text-align: center; border: 1px solid #000;">
KESIMPULAN
</td>
</tr>
<div class="no-break" style="margin: 0; padding: 0">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td>
<table>
<tr>
<td>
1 KESIMPULAN PENILAI
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Faktor Positif</strong></td>
<td width="100%">
@isset($forminspeksi['fakta']['fakta_positif'])
<table style="width: 100%; border-collapse: collapse;">
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@endisset
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Faktor Negatif</strong></td>
<td>
@php
$faktaNegatif = $forminspeksi['fakta']['fakta_negatif'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
? array_filter($faktaNegatif, function ($item) {
return !empty(trim($item));
})
: [];
@endphp
<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 (!empty($faktaNegatifFiltered))
<table style="width: 100%; border-collapse: collapse;">
@foreach ($faktaNegatifFiltered as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@else
<p>Tidak ada faktor negatif yang teridentifikasi.</p>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Informasi Dinas Tata Ruang </strong></td>
<td>
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
@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
</td>
</tr>
@endforeach
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Lain - lain :</strong></td>
<td>
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $keterangan)
<p>{!! nl2br(e($keterangan)) !!}</p>
@endforeach
<p>{{ $forminspeksi['fakta']['rute_menuju'] ?? '' }}</p>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Catatan yang Perlu Diperhatikan </strong></td>
<td tyle="vertical-align: top;">
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
<p>{!! nl2br(e($kondisi)) !!}</p>
@endforeach
</td>
</tr>
@foreach ($forminspeksi['fakta']['batas_batas_input'] ?? [] as $arah => $batas)
@if ($batas)
<p> - {{ $arah }} : {{ $batas }}</p>
@endif
@endforeach
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $kondisiLain)
<p>{!! nl2br(e($kondisiLain)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td>
2 CATATAN YANG PERLU DI PERHATIKAN
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"></td>
<td>
<table>
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $keterangan)
<tr>
<td>
<p>{!! nl2br(e($keterangan)) !!}</p>
</td>
</tr>
@endforeach
</table>
</td>
</tr>
<tr>
<td>
3 DINAS TATA KOTA
</td>
</tr>
<tr>
<td>
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
@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>
</table>
</td>
</tr>
</table>
</div>

View File

@@ -1,294 +1,295 @@
<tr>
<td style="text-align: center; border: 1px solid #000;">
F
</td>
<td style="text-align: center; border: 1px solid #000;">
SARANA PELENGKAP DAN LINKUNGAN
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td>
<table>
<tr>
<td width="25%">Jarak Jalan Utama</td>
<td>{{ $forminspeksi['lingkungan']['jarak_jalan_utama'] ?? '' }}</td>
</tr>
<tr>
<td>Jalan Lingkungan</td>
<td>{{ $forminspeksi['lingkungan']['jalan_linkungan'] ?? '' }}</td>
</tr>
<tr>
<td>Jarak CBD Point</td>
<td>{{ $forminspeksi['lingkungan']['jarak_cbd_point'] ?? '' }}</td>
</tr>
<tr>
<td>Nama CBD Point</td>
<td>{{ $forminspeksi['lingkungan']['nama_cbd_point'] ?? '' }}</td>
</tr>
<tr>
<td>Lebar Perkerasan Jalan</td>
<td>{{ $forminspeksi['lingkungan']['lebar_perkerasan_jalan'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Sarana Pelengkap</strong></td>
<td>
@if (isset($basicData['saranaPelengkap']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['saranaPelengkap'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" name="sarana_pelengkap[]" value="{{ $item->name }}"
{{ isset($forminspeksi['bangunan']['sarana_pelengkap']) && in_array($item->name, $forminspeksi['bangunan']['sarana_pelengkap']) ? 'checked' : '' }}>
{{ $item->name }}
<div class="no-break">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
@if (isset($forminspeksi['bangunan']['sarana_pelengkap']) &&
in_array($item->name, $forminspeksi['bangunan']['sarana_pelengkap']))
@php
$inputValues = isset($forminspeksi['bangunan']['sarana_pelengkap_input'][$index])
? $forminspeksi['bangunan']['sarana_pelengkap_input'][$index]
: null;
@endphp
@if ($inputValues)
<span class="label-checkbox"> - {{ $inputValues }}</span>
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Analisa Lingkungan
</td>
</tr>
</table>
<table>
<tr>
<td>
<table>
<tr>
<td width="25%">Jarak Jalan Utama</td>
<td>{{ $forminspeksi['lingkungan']['jarak_jalan_utama'] ?? '' }}</td>
</tr>
<tr>
<td>Jalan Lingkungan</td>
<td>{{ $forminspeksi['lingkungan']['jalan_linkungan'] ?? '' }}</td>
</tr>
<tr>
<td>Jarak CBD Point</td>
<td>{{ $forminspeksi['lingkungan']['jarak_cbd_point'] ?? '' }}</td>
</tr>
<tr>
<td>Nama CBD Point</td>
<td>{{ $forminspeksi['lingkungan']['nama_cbd_point'] ?? '' }}</td>
</tr>
<tr>
<td>Lebar Perkerasan Jalan</td>
<td>{{ $forminspeksi['lingkungan']['lebar_perkerasan_jalan'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Perkerasan Jalan</strong></td>
<td>
@if (isset($basicData['perkerasanJalan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['perkerasanJalan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Lapisan Perkerasan Jalan</strong></td>
<td>
@if (isset($basicData['perkerasanJalan']))
<table class="checkbox-list">
<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"
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) && in_array($item->name, $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<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 }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Lapisan Perkerasan Jalan</strong></td>
<td>
@if (isset($basicData['laluLintasLokasi']))
<table class="checkbox-list">
<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"
{{ isset($forminspeksi['lingkungan']['lalu_lintas']) && in_array($item->name, $forminspeksi['lingkungan']['lalu_lintas']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
<tr>
<td style="vertical-align: top;"><strong>Lalu Lintas Depan Lokasi</strong></td>
<td>
@if (isset($basicData['laluLintasLokasi']))
<table class="checkbox-list">
<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"
{{ isset($forminspeksi['lingkungan']['lalu_lintas']) && in_array($item->name, $forminspeksi['lingkungan']['lalu_lintas']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Golongan Masyarakat Sekitar</strong></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;"><strong>Terletak di Daerah</strong></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']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Disekitar Lokasi</strong></td>
<td>
<div class="checkbox-item">
<tr>
<td style="vertical-align: top;"><strong>Golongan Masyarakat Sekitar</strong></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="radio" name="disekitar_lokasi" value="Telah ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? 'checked' : '' }}>
<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;"><strong>Tingkat Keramaian</strong></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']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Terletak di Daerah</strong></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']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Disekitar Lokasi</strong></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' : '' }}>
@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>
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Dekat Makam</strong></td>
<td>
<div class="checkbox-item">
<tr>
<td style="vertical-align: top;"><strong>Dekat Makam</strong></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;"><strong>Dekat TPS</strong></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;"><strong>Dekat Lainnya</strong></td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Merupakan Daerah</strong></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="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
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['merupakan_daerah']) && in_array($item->name, $forminspeksi['lingkungan']['merupakan_daerah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Dekat TPS</strong></td>
<td>
<div class="checkbox-item">
<tr>
<td style="vertical-align: top;"><strong>Fasilitas Umum Dekat Lokasi</strong></td>
<td>
@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="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
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['fasilitas_dekat_object']) && in_array($item->name, $forminspeksi['lingkungan']['fasilitas_dekat_object']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Merupakan Daerah</strong></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>
</tr>
</table>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Fasilitas Umum Dekat Lokasi</strong></td>
<td>
@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']) && in_array($item->name, $forminspeksi['lingkungan']['fasilitas_dekat_object']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</table>
</td>
</tr>
</tr>
</table>
</div>

View File

@@ -195,10 +195,10 @@
}
.no-break {
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
</style>
</head>
@@ -255,483 +255,474 @@
</tr>
</table>
</header>
<table style="width: 100%">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
FORM INSPEKSI ATAS
{{ $data }}
</h2>
</td>
</tr>
</table>
<div style="border: 1px solid #000;">
<table style="width: 100%; border-top: none; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Tujuan Penilaian
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top;">
<table>
<tr>
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse; margin-bottom: 10px;">
<tr>
<td style="text-align: center; border: 1px solid #000;">
A
</td>
<td style="text-align: center; border: 1px solid #000;">
TUJUAN PENILAIAN
</td>
</tr>
<tr>
<td>
<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="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->user->name ?? '' }}
</td>
</tr>
</td>
<td style="border: 1px solid #000;">
<table style="border: none;">
<tr>
<td style="width: 25%; padding: 2px;">Debitur/Perwakilan</td>
<td style="width: 1%; padding: 2px;">:</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)
{{ $item }}
@endforeach
@endif
</td>
</tr>
</table>
</td>
<tr>
<td style="border: none;">
@if (isset($basicData['tujuanPenilaian']))
<table style="border: none;">
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px;">
Tanggal Survey</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
<tr>
<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'] : '' }}
</td>
</tr>
</table>
</td>
</tr>
</table>
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Nama Cadeb/Debitur
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td>
<table>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Nama</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
</table>
</td>
</tr>
</table>
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Deskripsi Aset jaminan
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td>
<table>
<tr>
@php
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
@endphp
<td style="width: 25%; padding: 2px; vertical-align: top;">Jenis Aset</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">
{{ $selectedData ?? '' }}
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Alamat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">
<table>
<tr>
@foreach ($basicData['tujuanPenilaian'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
<td width="25%"><strong>Terletak di</strong></td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
@endif
<td class="checkbox-item" style="border: none;">
<label class="checkbox-label">
<input type="checkbox"
{{ $item->name == $permohonan->tujuanPenilaian->name ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
<table>
<tr>
<td><strong>Permintaan (A/O. Tlp/Hp)</strong></td>
<td>{{ $permohonan->user->name }}</td>
<td><strong>Tanggal</strong></td>
<td>{{ formatTanggalIndonesia($permohonan->created_at) }}</td>
</tr>
<tr>
<td><strong>Nama Debiture/ Wakil Debiture</strong></td>
<td>{{ $permohonan->debiture->name ?? '' }}
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
/ {{ $item }}
@endforeach
@endif
</td>
<td><strong>Kunjungan Tanggal</strong></td>
<td>{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
</table>
</td>
</tr>
<td>Kelurahan</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Kecamatan</strong></td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Kotamadya</strong></td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Propinsi</strong></td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</table>
</td>
</tr>
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; border: 1px solid #000;">
B
</td>
<td style="text-align: center; border: 1px solid #000;">
IDENTITAS DEBITURE
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td>
<table>
<tr>
<td><strong>Nama Debitur</strong></td>
<td style="text-align: start">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Titik Koordinat Google Maps
</h2>
</td>
</tr>
</table>
</table>
</td>
</tr>
<table>
<tr>
<td>
<table>
<tr>
<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_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
C
</td>
<td style="text-align: center; border: 1px solid #000;">
JENIS DAN LOKASI JAMINAN + KORDINAT
</td>
</tr>
</table>
</td>
</tr>
</table>
<tr>
<td style=" text-align: center; border: 1px solid #000;">
</td>
<td>
@if (isset($basicData['jenisJaminan']))
<table class="checkbox-list">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
@foreach ($basicData['jenisJaminan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" {{ in_array($item->name, explode(',', $data)) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Jaminan
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td width="25%"><strong>Terletak di</strong></td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Kelurahan</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Kecamatan</strong></td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Kotamadya</strong></td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Propinsi</strong></td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
<table>
<tr>
<td>Titik Kordinat</td>
<td>{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }} ,
{{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}</td>
</tr>
</table>
</td>
</tr>
<table>
<tr>
<td>
<table>
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
@if (isset($detail->dokumen_jaminan))
<tr>
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
{{-- <td style="width:1%; padding: 2px; vertical-align: top;">:</td> --}}
<td>
@if (isset($detail->dokumen_jaminan))
@php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp
<tr>
<td style="text-align: center; border: 1px solid #000;">
D
</td>
<td style="text-align: center; border: 1px solid #000;">
STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI
</td>
</tr>
@foreach ($dokumen_jaminan as $index => $dokumen)
<div>
@if (!empty($dokumen_nomor[$index]))
<span>{{ $dokumen_nomor[$index] }}</span>
@endif
</div>
@endforeach
@endif
</td>
</tr>
@endif
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td>
<table>
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
@if (isset($detail->dokumen_jaminan))
<tr>
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
</tr>
<tr>
<td>
@if (isset($detail->dokumen_jaminan))
@php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp
@foreach ($dokumen_jaminan as $index => $dokumen)
<div>
@if (!empty($dokumen_nomor[$index]))
<span>{{ $dokumen_nomor[$index] }}</span>
@endif
</div>
@if (isset($detail->details))
@if (json_decode($detail->details))
@foreach (json_decode($detail->details) as $key => $value)
@if (!is_null($value) && $value !== '')
<tr>
<td style="padding: 2px;">
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}
</td>
{{-- <td style="width:1%; padding: 2px; vertical-align: top;">:</td> --}}
<td style="padding: 2px;">
{{ $value }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<sup>m2</sup>
@endif
</td>
</tr>
@endif
@endforeach
@endif
</td>
</tr>
@endif
@endforeach
@endif
@if (isset($detail->details))
@if (json_decode($detail->details))
@foreach (json_decode($detail->details) as $key => $value)
@if (!is_null($value) && $value !== '')
<tr>
@php
// Ambil nilai hub_cadeb langsung
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb'])
? $forminspeksi['asset']['hub_cadeb']
: null;
// Jika nilai adalah array dengan key 'sesuai', ambil nilainya
if (is_array($hubCadeb) && isset($hubCadeb['sesuai'])) {
$hubCadeb = $hubCadeb['sesuai'];
}
@endphp
<td style="vertical-align: top;"><strong>Hubungan Pemilik Jaminan dengan Debitur</strong>
</td>
{{-- <td style="width:1%; padding: 2px; vertical-align: top;">:</td> --}}
<td>
@if (isset($basicData['hubCadeb']))
<table class="checkbox-table">
@php $count = 0; @endphp
<tr>
<td style="padding: 2px;">
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}
</td>
<td style="padding: 2px;">
{{ $value }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<sup>m2</sup>
@endif
</td>
@foreach ($basicData['hubCadeb'] as $item)
<td>
<label>
<input type="checkbox"
{{ $hubCadeb === $item->name ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@php $count++; @endphp
@if ($count % 3 === 0)
</tr>
@endif
<tr>
@endif
@endforeach
@if ($count % 3 !== 0)
@for ($i = 0; $i < 3 - ($count % 3); $i++)
<td></td>
@endfor
@endif
@endif
</tr>
</table>
</table>
@endif
</td>
</tr>
{{-- end hub --}}
<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;"><strong>Hubungan Penghuni Jaminan dengan Debitur</strong></td>
<td>
@if (isset($selectedData))
<table class="checkbox-table">
<tr>
<td>
{{ $selectedData ?? '' }}
</td>
</tr>
</table>
@endif
</td>
</tr>
</table>
</td>
</tr>
</table>
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
@include('lpj::surveyor.components.print-out.rap')
@else
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@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,
])
@endforeach
@endif
<tr>
<td><strong>Atas Nama</strong></td>
<td>{{ $dokument->pemilik->name ?? '' }}</td>
</tr>
<tr>
@php
// Ambil nilai hub_cadeb langsung
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb'])
? $forminspeksi['asset']['hub_cadeb']
: null;
// Jika nilai adalah array dengan key 'sesuai', ambil nilainya
if (is_array($hubCadeb) && isset($hubCadeb['sesuai'])) {
$hubCadeb = $hubCadeb['sesuai'];
}
@endphp
<td style="vertical-align: top;"><strong>Hubungan Pemilik Jaminan dengan Debitur</strong>
</td>
<td>
@if (isset($basicData['hubCadeb']))
<table class="checkbox-table">
@php $count = 0; @endphp
<tr>
@foreach ($basicData['hubCadeb'] as $item)
<td>
<label>
<input type="checkbox"
{{ $hubCadeb === $item->name ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@php $count++; @endphp
@if ($count % 3 === 0)
</tr>
<tr>
@endif
@endforeach
@if ($count % 3 !== 0)
@for ($i = 0; $i < 3 - ($count % 3); $i++)
<td></td>
@endfor
@endif
</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><strong>Hubungan Penghuni Jaminan dengan Debitur</strong></td>
<td>
@if (isset($selectedData))
<table class="checkbox-table">
<tr>
<td>
{{ $selectedData ?? '' }}
</td>
</tr>
</table>
@endif
</td>
</tr>
</table>
</td>
</tr>
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
@include('lpj::surveyor.components.print-out.rap')
@else
<tr>
<td style="text-align: center; border: 1px solid #000;">
E
</td>
<td style="text-align: center; text-transform: uppercase; border: 1px solid #000;">
ANALISA {{ $data }}
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style="">
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@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,
]
)
@endforeach
@endif
@endforeach
</td>
</tr>
@endIf
@endforeach
@endif
</div>
{{-- <tr>
<td style="text-align: center; border: 1px solid #000;">
G
</td>
<td style="text-align: center; border: 1px solid #000;">
ASURANSI
</td>
</tr> --}}
<tr>
<td style="text-align: center;">
<div class="no-break">
<table style="width: 100%; border-collapse: collapse;" >
<tr>
<td style="border: 1px solid #000;">
<table>
<tr>
<td>
Jakarta {{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
</td>
</tr>
</td>
<td style="border: 1px solid #000;">
<table>
<tr>
<td>
Jakarta {{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
</td>
</tr>
<tr>
<td>
TTD
</td>
</tr>
</table>
<table style="width: 100%; border-collapse: collapse; text-align: center;">
<tr>
@if (isset($forminspeksi['signature']['penilai']['image']) && !empty($forminspeksi['signature']['penilai']['image']))
@php
$imagePath = $forminspeksi['signature']['penilai']['image'];
<tr>
<td>
TTD
</td>
</tr>
</table>
<table style="width: 100%; border-collapse: collapse; text-align: center;">
<tr>
@if (isset($forminspeksi['signature']['penilai']['image']) && !empty($forminspeksi['signature']['penilai']['image']))
@php
$imagePath = $forminspeksi['signature']['penilai']['image'];
$isBase64 = str_starts_with($imagePath, 'data:image');
$isBase64 = str_starts_with($imagePath, 'data:image');
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']))
@php
$imagePath = $forminspeksi['signature']['cabang']['image'];
@if (isset($forminspeksi['signature']['cabang']))
@php
$imagePath = $forminspeksi['signature']['cabang']['image'];
$isBase64 = str_starts_with($imagePath, 'data:image');
$isBase64 = str_starts_with($imagePath, 'data:image');
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['debitur']['image'] }}"
alt="Debitur/Perwakilan">
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['debitur']['image'] }}"
alt="Debitur/Perwakilan">
</td>
@endif
<!-- K.J.P.P -->
@if (isset($forminspeksi['signature']['kjjp']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['kjjp']['image'] }}"
alt="KJPP">
</td>
@endif
</tr>
<!-- K.J.P.P -->
@if (isset($forminspeksi['signature']['kjjp']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['kjjp']['image'] }}"
alt="KJPP">
</td>
@endif
</tr>
<tr>
@if (isset($forminspeksi['signature']['penilai']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['penilai']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('PENILAI')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['cabang']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('CABANG')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['debitur']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('DEBITUR/PERWAKILAN')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['kjjp']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['kjjp']['name'])) }}</span>
<br />
<span>{{ strtoupper('K.J.P.P') }}</span>
</td>
@endif
</tr>
</table>
</td>
</tr>
</table>
<tr>
@if (isset($forminspeksi['signature']['penilai']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['penilai']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('PENILAI')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['cabang']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('CABANG')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['debitur']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('DEBITUR/PERWAKILAN')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['kjjp']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['kjjp']['name'])) }}</span>
<br />
<span>{{ strtoupper('K.J.P.P') }}</span>
</td>
@endif
</tr>
</table>
</td>
</tr>
</table>
</div>
<footer id="footer">

View File

@@ -0,0 +1,704 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Laporan Penilai Jaminan</title>
<style>
body {
font-family: Arial, sans-serif;
}
* {
font-size: 8px;
font-weight: bold;
}
h1,
h2,
h3 {
text-align: center;
margin-bottom: 10px;
color: #000;
}
.container {
/* width: 100%; */
padding: 10px;
/* border: 1px solid #000; */
margin-bottom: 20px;
}
.header {
margin-bottom: 10px;
}
.judul {
font-weight: bold;
text-align: center;
margin-bottom: 10px;
}
.photo-item {
text-align: center;
margin-bottom: 20px;
}
.photo-image {
max-width: 80%;
height: auto;
display: block;
margin: 0 auto;
}
.judul-table {
width: 100%;
/* border-collapse: collapse; */
margin-bottom: 10px;
}
.judul-table td {
text-align: center;
vertical-align: middle;
padding: 5px;
}
.border1 {
/* border: 1px solid #000; */
width: 50px;
}
.border {
/* border: 1px solid #000; */
}
.judul h6 {
margin: 0;
/* Menghindari margin bawaan */
font-size: 12px;
}
.custom-dl-tujuan {
width: 100%;
/* border-collapse: collapse; */
}
.inner-table {
width: 100%;
/* border-collapse: collapse; */
}
.inner-table td {
padding: 5px;
}
.inner-table td:first-child {
font-weight: bold;
/* Lebar kolom keterangan */
}
.custom-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
.custom-table td {
vertical-align: top;
}
.custom-table td:first-child {
font-weight: bold;
width: 30%;
/* Sesuaikan lebar kolom keterangan */
}
.grid-table {
width: 100%;
border-collapse: collapse;
}
.grid-table td {
padding: 8px;
vertical-align: top;
text-align: left;
width: 33%;
/* Membagi kolom menjadi tiga */
}
.grid-table input[type="checkbox"] {
margin-right: 5px;
}
table {
width: 100%;
/* border: 1px solid #000; */
/* border-collapse: collapse; */
}
table.checkbox-list {
width: 100%;
border-collapse: collapse;
}
td.checkbox-item {
width: 33.33%;
vertical-align: top;
text-align: left;
}
label.checkbox-label {
display: flex;
align-items: center;
font-size: 8px;
}
label.checkbox-label input[type="checkbox"] {
margin-right: 6px;
transform: scale(1.3);
/* Memperkecil ukuran checkbox */
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: right;
border-top: 1px solid #ddd;
padding-top: 10px;
}
.page-number:after {
content: counter(page) " dari " counter(pages);
}
.content {
margin-top: 20px;
}
.page-break {
page-break-after: always;
}
.no-break {
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
</style>
</head>
@php
$data = '';
$dokument = null;
foreach ($permohonan->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
$dokument = $dokumen;
}
$data = rtrim($data, ', ');
$senior_officer = null;
if ($permohonan->debiture && $permohonan->documents) {
foreach ($permohonan->documents as $dokumen) {
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$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;
if ($user && $user->hasRole('senior-officer')) {
$senior_officer = $user;
break 3;
}
}
}
}
}
}
}
@endphp
<body style="width: 80%; margin: auto">
<header id="header">
<table style="width: 100%; border: none;">
<tr>
<td style="width: 20%; text-align: left;" class="header-left">
@include('lpj::component.logo-bag')
</td>
<td style="text-align: right;">
<div style="">
<p>Tanggal: {{ date('Y-m-d') }}</p>
<p>Waktu: {{ date('H:i:s') }}</p>
<p>User: {{ Auth::user()->name }}</p>
</div>
</td>
</tr>
</table>
</header>
<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;">
Tujuan Penilaian
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top;">
<table>
<tr>
<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 ?? '' }}
</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->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>
</tr>
</table>
</td>
{{-- <td style="border: 1px solid #000;">
<table style="border: none;">
<tr>
<td style="border: none;">
@if (isset($basicData['tujuanPenilaian']))
<table style="border: none;">
<tr>
@foreach ($basicData['tujuanPenilaian'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item" style="border: none;">
<label class="checkbox-label">
<input type="checkbox"
{{ $item->name == $permohonan->tujuanPenilaian->name ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
<table>
<tr>
<td><strong>Permintaan (A/O. Tlp/Hp)</strong></td>
<td>{{ $permohonan->user->name }}</td>
<td><strong>Tanggal</strong></td>
<td>{{ formatTanggalIndonesia($permohonan->created_at) }}</td>
</tr>
<tr>
<td><strong>Nama Debitur/ Wakil Debitur</strong></td>
<td>{{ $permohonan->debiture->name ?? '' }}
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
{{ $item }}
@endforeach
@endif
</td>
<td><strong>Kunjungan Tanggal</strong></td>
<td>{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
</table>
</td> --}}
</tr>
</table>
{{-- <tr>
<td style="text-align: center; border: 1px solid #000;">
B
</td>
<td style="text-align: center; border: 1px solid #000;">
IDENTITAS DEBITUR
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td>
<table>
<tr>
<td><strong>Nama Debitur</strong></td>
<td style="text-align: start">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
</table>
</td>
</tr> --}}
{{-- <tr>
<td style="text-align: center; border: 1px solid #000;">
C
</td>
<td style="text-align: center; border: 1px solid #000;">
JENIS DAN LOKASI JAMINAN + KORDINAT
</td>
</tr>
<tr>
<td style=" text-align: center; border: 1px solid #000;">
</td>
<td>
@if (isset($basicData['jenisJaminan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['jenisJaminan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" {{ in_array($item->name, explode(',', $data)) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
<table>
<tr>
<td width="25%"><strong>Terletak di</strong></td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Kelurahan</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Kecamatan</strong></td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Kotamadya</strong></td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Propinsi</strong></td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
<table>
<tr>
<td>Titik Kordinat</td>
<td>{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }} ,
{{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
D
</td>
<td style="text-align: center; border: 1px solid #000;">
STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td>
<table>
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
@if (isset($detail->dokumen_jaminan))
<tr>
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
</tr>
<tr>
<td>
@if (isset($detail->dokumen_jaminan))
@php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp
@foreach ($dokumen_jaminan as $index => $dokumen)
<div>
@if (!empty($dokumen_nomor[$index]))
<span>{{ $dokumen_nomor[$index] }}</span>
@endif
</div>
@endforeach
@endif
</td>
</tr>
@endif
@if (isset($detail->details))
@if (json_decode($detail->details))
@foreach (json_decode($detail->details) as $key => $value)
@if (!is_null($value) && $value !== '')
<tr>
<td style="padding: 2px;">
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}
</td>
<td style="padding: 2px;">
{{ $value }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<sup>m2</sup>
@endif
</td>
</tr>
@endif
@endforeach
@endif
@endif
@endforeach
@endif
<tr>
<td><strong>Atas Nama</strong></td>
<td>{{ $dokument->pemilik->name ?? '' }}</td>
</tr>
<tr>
@php
// Ambil nilai hub_cadeb langsung
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb'])
? $forminspeksi['asset']['hub_cadeb']
: null;
// Jika nilai adalah array dengan key 'sesuai', ambil nilainya
if (is_array($hubCadeb) && isset($hubCadeb['sesuai'])) {
$hubCadeb = $hubCadeb['sesuai'];
}
@endphp
<td style="vertical-align: top;"><strong>Hubungan Pemilik Jaminan dengan Debitur</strong>
</td>
<td>
@if (isset($basicData['hubCadeb']))
<table class="checkbox-table">
@php $count = 0; @endphp
<tr>
@foreach ($basicData['hubCadeb'] as $item)
<td>
<label>
<input type="checkbox"
{{ $hubCadeb === $item->name ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@php $count++; @endphp
@if ($count % 3 === 0)
</tr>
<tr>
@endif
@endforeach
@if ($count % 3 !== 0)
@for ($i = 0; $i < 3 - ($count % 3); $i++)
<td></td>
@endfor
@endif
</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><strong>Hubungan Penghuni Jaminan dengan Debitur</strong></td>
<td>
@if (isset($selectedData))
<table class="checkbox-table">
<tr>
<td>
{{ $selectedData ?? '' }}
</td>
</tr>
</table>
@endif
</td>
</tr>
</table>
</td>
</tr> --}}
{{-- <tr>
<td style="text-align: center; border: 1px solid #000;">
G
</td>
<td style="text-align: center; border: 1px solid #000;">
ASURANSI
</td>
</tr> --}}
<tr>
<td style="text-align: center;">
</td>
<td style="border: 1px solid #000;">
<table>
<tr>
<td>
Jakarta {{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
</td>
</tr>
<tr>
<td>
TTD
</td>
</tr>
</table>
<table style="width: 100%; border-collapse: collapse; text-align: center;">
<tr>
@if (isset($forminspeksi['signature']['penilai']['image']) && !empty($forminspeksi['signature']['penilai']['image']))
@php
$imagePath = $forminspeksi['signature']['penilai']['image'];
$isBase64 = str_starts_with($imagePath, 'data:image');
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']))
@php
$imagePath = $forminspeksi['signature']['cabang']['image'];
$isBase64 = str_starts_with($imagePath, 'data:image');
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['debitur']['image'] }}"
alt="Debitur/Perwakilan">
</td>
@endif
<!-- K.J.P.P -->
@if (isset($forminspeksi['signature']['kjjp']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['kjjp']['image'] }}"
alt="KJPP">
</td>
@endif
</tr>
<tr>
@if (isset($forminspeksi['signature']['penilai']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['penilai']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('PENILAI')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['cabang']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('CABANG')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['debitur']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('DEBITUR/PERWAKILAN')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['kjjp']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['kjjp']['name'])) }}</span>
<br />
<span>{{ strtoupper('K.J.P.P') }}</span>
</td>
@endif
</tr>
</table>
</td>
</tr>
{{-- </table> --}}
<footer id="footer">
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
</footer>
</body>
</html>

View File

@@ -1,11 +1,18 @@
<tr>
<td style="text-align: center; border: 1px solid #000;">
E
</td>
<td style="text-align: center; text-transform: uppercase; border: 1px solid #000;">
PERIZINAN
</td>
</tr>
<div class="no-break" style="margin: 0; padding: 0">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
PERIZINAN
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td style="text-align: center; border: 1px solid #000;">
@@ -470,3 +477,5 @@
</tr>
@endisset
</table>
</div>

View File

@@ -1,3 +1,17 @@
<div class="no-break" style="margin: 0; padding: 0">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td></td>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Tanah
</h2>
</td>
</tr>
</table>
<table>
<tr>
@php
@@ -13,6 +27,27 @@
<td>{{ $luas }}</td>
</tr>
<tr>
<td><strong>Hadap mata Angin</strong></td>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Ya"
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['sesuai'] ? 'checked' : '' }}>
sesuai
</label>
<label>
<input type="radio" name="hadap_mata_angin" value="tidak sesuai"
{{isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] ? 'checked' : '' }}>
Tidak
@if (isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) ? ' (' . $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] . ')' : '' }}
@endif
</label>
</td>
</tr>
<!-- Bentuk Tanah -->
<tr>
<td style="vertical-align: top;"><strong>Bentuk Tanah</strong></td>
@@ -69,7 +104,7 @@
<!-- Ketinggian Tanah -->
<tr>
<td style="vertical-align: top;"><strong>Ketinggian Tanah</strong></td>
<td style="vertical-align: top;"><strong>Beda Ketinggian Dengan Jalan</strong></td>
<td>
@if (isset($basicData['ketinggianTanah']))
<table class="checkbox-list">
@@ -93,6 +128,53 @@
</td>
</tr>
<tr>
<td><strong>Hadap mata Angin</strong></td>
<td>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'menurun' ? 'checked' : '' }}>
<span class="ml-2">Menurun</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="rata"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'rata' ? 'checked' : '' }}>
<span class="ml-2">Rata</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="Menanjak"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'Menanjak' ? 'checked' : '' }}>
<span class="ml-2">Menanjak</span>
</label>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Posisi Kavling</strong></td>
<td>
@if (isset($basicData['posisiKavling']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['posisiKavling'] 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['tanah']['posisi_kavling']['posisi_kavling']) && in_array($item->name, $forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Kondisi Fisik Tanah -->
<tr>
<td style="vertical-align: top;"><strong>Kondisi Fisik Tanah</strong></td>
@@ -154,3 +236,4 @@
</tr>
</table>
</div>

View File

@@ -104,56 +104,6 @@
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
<script>
function surveyorFreeze(permohonanId, noReg, debitur) {
Swal.fire({
title: 'Apakah Anda yakin?',
text: "Yakin akan Request Freeze dengan " + noReg + " untuk Debitur " + debitur +
" ?",
icon: 'warning',
input: 'textarea',
inputLabel: 'Keterangan',
inputPlaceholder: 'Masukkan keterangan...',
inputAttributes: {
'aria-label': 'Masukkan keterangan'
},
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, Lanjutkan!',
cancelButtonText: 'Batal',
}).then((result) => {
if (result.isConfirmed) {
const userMessage = result.value || ''; // Ambil pesan dari textarea
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
});
$.ajax({
url: `/surveyor/storeFreeze/${permohonanId}`,
type: 'POST',
data: {
message: userMessage
},
success: (response) => {
Swal.fire('Berhasil!',
response.message,
'success').then(() => {
window.location.reload();
});
console.log(response);
},
error: (error) => {
console.error('Error:', error);
Swal.fire('Gagal!', 'Terjadi kesalahan saat melakukan Freeze.',
'error');
}
});
}
});
}
function approveReschedule(penilaianId, permohonanId, noReg, debitur, reschedule_date, reschedule_note) {
Swal.fire({
@@ -223,7 +173,8 @@
_token: token,
permohonan_id: permohonanId,
nomor_registrasi: noReg,
rejected_note: rejectResult.value
rejected_note: rejectResult.value,
keterangan: rejectResult.value
}
$.ajax({
url: useURL,
@@ -642,12 +593,7 @@
title="Lihat Form Inspeksi">
<i class="ki-outline ki-eye"></i>
</a>
<button type="button"
class="btn btn-sm btn-icon btn-clear btn-info"
onclick="surveyorFreeze('${data.id}', '${data.nomor_registrasi}', '${data.debiture?.name}')"
title="Freeze Survey">
<i class="ki-filled ki-arrow-circle-right"></i>
</button>
`;
}
}