Merge branch 'staging' of https://git.putrakuningan.com/daengdeni/lpj into tender

This commit is contained in:
2025-02-07 09:31:11 +07:00
23 changed files with 3576 additions and 5161 deletions

View File

@@ -52,7 +52,7 @@ class PenilaiController extends Controller
$permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId');
$jaminanId = $request->query('jaminanId');
$basicData = $this->surveyorController->getCommonData();
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inpeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
@@ -62,7 +62,7 @@ class PenilaiController extends Controller
$forminspeksi = json_decode($inpeksi->data_form, true);
}
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto', 'forminspeksi'));
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto', 'forminspeksi','basicData'));
}
public function create()
@@ -1043,7 +1043,7 @@ class PenilaiController extends Controller
if ($statusLpj) {
// $pdf = view('lpj::' . $viewLaporan, compact(
$pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
$pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
'permohonan',
'forminspeksi',
'lpjData',

View File

@@ -340,18 +340,6 @@ class SurveyorController extends Controller
{
$validatedData = $this->validateFotoRequest($request);
try {
$log = [];
$photoCategories = [
'rute_menuju_lokasi',
'foto_lingkungan',
];
$lainnya = [
'foto_rute_lainnya' => ['foto_rute_lainnya', 'name_rute_lainnya'],
'foto_lantai_lainnya' => ['foto_lantai_lainnya', 'name_lantai_lainnya']
];
$inspeksi = Inspeksi::firstOrNew([
'permohonan_id' => $request->input('permohonan_id'),
'dokument_id' => $request->input('dokument_id')
@@ -361,62 +349,23 @@ class SurveyorController extends Controller
? json_decode($inspeksi->foto_form, true)
: [];
$formatFotojson = $existingData;
if (!$this->isValidFormat($existingData)) {
$existingData = [];
}
// Upload berbagai jenis foto
$this->handleFileUpload($request, 'rute_menuju_lokasi', $formatFotojson);
$this->handleFileUpload($request, 'foto_lingkungan', $formatFotojson);
$newFoto = $this->handleFileUpload($request, 'upload_foto', $existingData);
$this->processFotoLantaiUnit($request, $formatFotojson);
if ($request->hasFile('foto_objek')) {
$existingObjekJaminan = $formatFotojson['object_jaminan'] ?? [];
$formatFotojson['object_jaminan'] = $this->processObjekJaminanPhotos(
$request,
$existingObjekJaminan
);
}
foreach ($lainnya as $category => $fields) {
$photoField = $fields[0];
$nameField = $fields[1];
$descriptionField = $fields[2] ?? null;
if ($request->hasFile($photoField)) {
$newPhotos = $this->processPhotoLainnya(
$request,
$fields,
$existingData[$category] ?? []
);
$formatFotojson[$category] = $newPhotos;
}
}
// // Process single files
$singleFiles = ['foto_basement', 'foto_gerbang', 'pendamping'];
foreach ($singleFiles as $file) {
if ($request->hasFile($file)) {
// Hapus file lama jika ada
if (isset($formatFotojson[$file])) {
$this->deleteOfFile($formatFotojson[$file]);
}
// Upload dan simpan file baru
$formatFotojson[$file] = $this->uploadFile($request->file($file), $file);
}
}
// Update record
if (!empty($formatFotojson)) {
$inspeksi->foto_form = json_encode($formatFotojson);
if (!empty($newFoto)) {
$inspeksi->foto_form = json_encode($existingData);
$inspeksi->save();
return response()->json([
'success' => true,
'message' => 'Data berhasil disimpan',
'data' => $formatFotojson,
'log' => $log
'file' => $newFoto
], 200);
}
@@ -430,74 +379,107 @@ class SurveyorController extends Controller
}
/**
* Process a photo
*/
protected function processFotoLantaiUnit(Request $request, &$formatFotojson)
* Validasi apakah format JSON sesuai dengan yang diinginkan.
*
* @param array $data
* @return bool
*/
private function isValidFormat($data)
{
// Pastikan foto_lantai_unit sudah ada di formatFotojson
if (!isset($formatFotojson['foto_lantai_unit'])) {
$formatFotojson['foto_lantai_unit'] = [];
if (!isset($data['upload_foto']) || !is_array($data['upload_foto'])) {
return false;
}
// Ambil nama-nama lantai dari request
$lantaiNama = $request->input('lantai_nama', []);
// Tambahan: gunakan lantai_index jika tersedia
$lantaiIndex = $request->input('lantai_index', null);
// Cek apakah ada file foto lantai yang diunggah
$lantaiFiles = $request->file('foto_lantai_unit', []);
// Proses setiap file foto lantai
foreach ($lantaiFiles as $index => $files) {
// Pastikan $files adalah array
if (!is_array($files)) {
$files = [$files];
}
// Gunakan lantai_index jika tersedia, jika tidak gunakan cara sebelumnya
$lantaiNomor = $lantaiIndex ?? ($index + 1);
// Inisialisasi array untuk lantai ini jika belum ada
if (!isset($formatFotojson['foto_lantai_unit'][$lantaiNomor])) {
$formatFotojson['foto_lantai_unit'][$lantaiNomor] = [];
}
foreach ($files as $fileIndex => $file) {
// Validasi file
if (!$file->isValid()) {
continue; // Lewati file yang tidak valid
}
// Generate nama file unik
$uniqueFileName = 'lantai_unit_' . $lantaiNomor . '_' . $fileIndex . '_' . Str::random(10) . '.' . $file->getClientOriginalExtension();
// Simpan file dengan nama asli
$path = $file->storeAs(
'surveyor/lantai_unit',
$uniqueFileName . '/' . time() . '_' . $file->getClientOriginalName(),
'public'
);
// Buat nama foto
$fotoName = "Foto Lantai {$lantaiNomor} - " . ($fileIndex + 1);
// Tambahkan detail foto ke array
$fotoDetail = [
'path' => $path,
'name' => $fotoName
];
// Tambahkan ke array foto lantai unit sesuai struktur
$formatFotojson['foto_lantai_unit'][$lantaiNomor][] = $fotoDetail;
}
}
return $formatFotojson;
return true;
}
public function updateFoto(Request $request)
{
try {
// Validasi input
$validated = $request->validate([
'permohonan_id' => 'required',
'dokument_id' => 'required|string',
'name' => 'required|string|max:255',
'description' => 'nullable|string',
'category' => 'required|string|max:255',
'sub' => 'nullable|string|max:255',
'path' => 'nullable|string',
]);
$inspeksi = Inspeksi::firstOrNew([
'permohonan_id' => $validated['permohonan_id'],
'dokument_id' => $validated['dokument_id'],
]);
$cleanRequestPath = str_replace('/storage/', '', $validated['path']);
$fotoForm = json_decode($inspeksi->foto_form, true) ?? [];
if (!isset($fotoForm['upload_foto'])) {
$fotoForm['upload_foto'] = [];
}
$existingIndex = null;
if (!empty($validated['path'])) {
foreach ($fotoForm['upload_foto'] as $index => $foto) {
if ($foto['path'] === $cleanRequestPath) {
$existingIndex = $index;
break;
}
}
}
// Siapkan data baru
$newFotoData = [
'name' => $validated['name'],
'description' => $validated['description'],
'category' => $validated['category'],
'sub' => $validated['sub'],
'path' => $cleanRequestPath,
'created_by' => Auth::user()->name,
'created_at' => now()->toDateTimeString(),
'updated_by' => Auth::user()->name,
'updated_at' => now()->toDateTimeString(),
];
if ($existingIndex !== null) {
$existingFoto = $fotoForm['upload_foto'][$existingIndex];
$fotoForm['upload_foto'][$existingIndex] = [
'name' => $validated['name'],
'description' => $validated['description'],
'category' => $validated['category'],
'sub' => $validated['sub'],
'path' => $cleanRequestPath,
'created_by' => $existingFoto['created_by'] ?? Auth::user()->name,
'created_at' => $existingFoto['created_at'] ?? now()->toDateTimeString(),
'updated_by' => Auth::user()->name,
'updated_at' => now()->toDateTimeString(),
];
} else {
$fotoForm['upload_foto'][] = $newFotoData;
}
// Simpan kembali data ke database
$inspeksi->foto_form = json_encode($fotoForm);
$inspeksi->save();
return response()->json([
'success' => true,
'message' => 'Data berhasil diperbarui.',
], 200);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => 'Gagal memperbarui data: ' . $e->getMessage(),
], 500);
}
}
private function handleFileUpload(Request $request, $paramName, &$formatFotojson)
{
@@ -510,45 +492,54 @@ class SurveyorController extends Controller
}
$formatFotoData = [];
$nomor_registrasi = $request->nomor_registrasi;
foreach ($files as $index => $file) {
$timestamp = time();
$originalName = $file->getClientOriginalName();
$uniqueFileName = "{$timestamp}_{$originalName}";
$extension = $file->getClientOriginalExtension();
// Validasi nama file
if (empty($originalName)) {
$originalName = "file_{$timestamp}";
}
$uniqueFileName = "{$timestamp}.{$extension}";
// Simpan file
$path = $file->storeAs("surveyor/{$paramName}", $uniqueFileName, 'public');
$nomor_registrasi = $request->nomor_registrasi;
$path = $file->storeAs("surveyor/{$paramName}/{$nomor_registrasi}", $uniqueFileName, 'public');
$fotoData = [
'name' => pathinfo($originalName, PATHINFO_FILENAME),
'path' => $path,
'name' => ucwords(str_replace('_', ' ', $paramName)) . ' - ' . ($index + 1)
'category' => 'lainnya',
'sub' => null,
'description' => null,
'created_by' => Auth::user()->name,
'created_at' => now()->toDateTimeString(),
];
$formatFotoData[] = $fotoData;
}
// Struktur JSON yang konsisten
if (!isset($formatFotojson[$paramName][$paramName][0])) {
$formatFotojson[$paramName] = [
$paramName => [
$formatFotoData
]
];
if (!isset($formatFotojson[$paramName])) {
$formatFotojson[$paramName] = $formatFotoData;
} else {
$formatFotojson[$paramName][$paramName][0] = array_merge(
$formatFotojson[$paramName][$paramName][0] ?? [],
$formatFotojson[$paramName] = array_merge(
$formatFotojson[$paramName] ?? [],
$formatFotoData
);
}
return $formatFotoData;
}
return [];
}
public function hapusFoto(Request $request)
{
try {
@@ -563,39 +554,35 @@ class SurveyorController extends Controller
);
$fotoForm = json_decode($inspeksi->foto_form, true);
if (isset($fotoForm[$paramName][$paramName][0])) {
// Filter foto yang akan dihapus
$tes = null;
$fotoForm[$paramName][$paramName][0] = array_values(
array_filter(
$fotoForm[$paramName][$paramName][0],
function ($foto) use ($cleanRequestPath) {
if ($foto['path'] === $cleanRequestPath) {
// Hapus file dari storage
\Storage::disk('public')->delete($cleanRequestPath);
return false; // Hapus elemen ini dari array
}
$tes = $foto['path'];
return true;
if (isset($fotoForm[$paramName]) && is_array($fotoForm[$paramName])) {
// Filter foto yang tidak sesuai dengan path yang akan dihapus
$fotoForm[$paramName] = array_values(array_filter(
$fotoForm[$paramName],
function ($foto) use ($cleanRequestPath) {
if ($foto['path'] === $cleanRequestPath) {
// Hapus file dari storage
\Storage::disk('public')->delete($cleanRequestPath);
return false;
}
)
);
return true;
}
));
// Reset array index
$fotoForm[$paramName][$paramName][0] = array_values($fotoForm[$paramName][$paramName][0]);
$inspeksi->foto_form = $fotoForm;
// Simpan kembali data ke database
$inspeksi->foto_form = json_encode($fotoForm);
$inspeksi->save();
return response()->json([
'success' => true,
'message' => 'Foto berhasil dihapus',
'message' => 'Foto berhasil dihapus',
], 200);
}
return response()->json(['success' => false], 400);
// Jika parameter tidak ditemukan
return response()->json([
'success' => false,
'message' => 'Foto atau parameter tidak ditemukan',
], 400);
} catch (\Exception $e) {
return response()->json([
'success' => false,
@@ -622,37 +609,32 @@ class SurveyorController extends Controller
$fotos = $this->findFotoByParamName($fotoForm, $paramName);
$param = $paramName == 'rute_menuju_lokasi' ? $fotos['rute_menuju_lokasi'][0] : $fotos['foto_lingkungan'][0];
$data = array_map(function ($foto) {
return [
'name' => $foto['name'] ?? 'Foto',
'path' => \Storage::url($foto['path']),
'path' => \Storage::url($foto['path'] ?? ''),
'category' => $foto['category'] ?? 'lainnya',
'sub' => $foto['sub'] ?? null,
'description' => $foto['description'] ?? null,
'upload_by' => $foto['upload_by'] ?? null,
];
}, $param);
}, $fotos);
return response()->json([
'fotos' => $data,
'success' => !empty($data)
'success' => !empty($data),
]);
}
private function findFotoByParamName($fotoForm, $paramName)
{
// Mapping parameter name ke struktur JSON
$paramMapping = [
'rute_menuju_lokasi' => ['rute_menuju_lokasi'],
'foto_lingkungan' => ['foto_lingkungan'],
];
// // Traverse array menggunakan mapping
$fotos = $fotoForm;
if (isset($paramMapping[$paramName])) {
foreach ($paramMapping[$paramName] as $key) {
$fotos = $fotos[$key] ?? [];
}
if (isset($fotoForm[$paramName]) && is_array($fotoForm[$paramName])) {
return $fotoForm[$paramName]; // Kembalikan array foto jika ditemukan
}
return is_array($fotos) ? $fotos : [];
// Jika parameter tidak ditemukan atau bukan array, kembalikan array kosong
return [];
}
@@ -784,38 +766,7 @@ class SurveyorController extends Controller
], 404);
}
private function processPhotoLainnya(Request $request, array $fields, array $existingPhotos = [])
{
$result = $existingPhotos; // Start with existing photos
$photoField = $fields[0];
$nameField = $fields[1];
$descriptionField = $fields[2] ?? null;
if ($request->hasFile($photoField)) {
$newFiles = $request->file($photoField, []);
$newNames = $request->input($nameField, []);
$newDescriptions = $descriptionField ? $request->input($descriptionField, []) : [];
// Process each new file
foreach ($newFiles as $key => $file) {
// Create new photo entry
$newPhotoEntry = [
$nameField => $newNames[$key] ?? '', // Use new name if provided
$photoField => $this->uploadFile($file, $photoField . '.' . $key)
];
// Add description if field exists
if ($descriptionField) {
$newPhotoEntry[$descriptionField] = $newDescriptions[$key] ?? '';
}
// Add to result
$result[] = $newPhotoEntry;
}
}
return $result;
}
private function generateUniqueFileName($file, $prefix = '')
{
@@ -839,27 +790,8 @@ class SurveyorController extends Controller
return $request->validate([
'permohonan_id' => 'required',
'dokument_id' => 'required',
'pendamping' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
'foto_objek.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
'name_objek.*' => 'required|string|max:255',
'name_lingkungan.*' => 'required|string|max:255',
'nomor_registrasi' => 'required',
'foto_rute.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
'name_rute.*' => 'required|string|max:255',
'lantai.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
'name_rute_lainnya.*' => 'nullable|string',
'foto_rute_lainnya.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
'foto_lantai_lainnya.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
'name_lantai_lainnya.*' => 'nullable|string|max:255',
'foto_basement.*' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
'name_basement.*' => 'nullable|string|max:255',
'foto_gerbang' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
'name_gerbang' => 'nullable|string|max:255',
'name_lantai_unit' => 'array',
]);
}
@@ -1487,6 +1419,8 @@ class SurveyorController extends Controller
'permohonan_id' => 'required|exists:permohonan,id',
'type' => 'required|string',
'dokument_id' => 'required',
'name_foto_objek' => 'nullable|string',
'nomor_registrasi' => 'required|string',
'foto_objek' => 'nullable|image|max:'.$maxSize,
'foto_objek_pembanding.*' => 'nullable|image|max:'.$maxSize,
]);
@@ -1502,43 +1436,7 @@ class SurveyorController extends Controller
$objekPenilaian = $this->formatObjekPenilaian($request);
}
if ($request->hasFile('foto_objek')) {
$newFoto = $this->handleupdateOrDeleteFile(
$request->file('foto_objek'),
$request['type'] = 'pembanding',
'objek_penilaian'
);
// Update foto_form
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))
->where('dokument_id', $request->input('dokument_id'))
->first();
if ($inspeksi) {
$fotoForm = json_decode($inspeksi->foto_form, true) ?: [];
if (!isset($fotoForm['object_jaminan'])) {
$fotoForm['object_jaminan'] = [];
}
if (empty($fotoForm['object_jaminan'])) {
$fotoForm['object_jaminan'][] = [
'name_objek' => 'Tampak Depan Objek',
'foto_objek' => $newFoto,
'deskripsi_objek' => ''
];
} else {
// Update objek pertama dalam array object_jaminan
$fotoForm['object_jaminan'][0]['foto_objek'] = $newFoto;
// Tambahkan nama dan deskripsi jika belum ada
if (!isset($fotoForm['object_jaminan'][0]['name_objek'])) {
$fotoForm['object_jaminan'][0]['name_objek'] = 'Tampak Depan Objek';
}
}
$inspeksi->foto_form = json_encode($fotoForm);
$inspeksi->save();
}
$newFoto = $this->handleEditTampakDepan($request);
$objekPenilaian['foto_objek'] = $newFoto;
}
@@ -1571,7 +1469,75 @@ class SurveyorController extends Controller
}
}
public function handleEditTampakDepan(Request $request)
{
$nomor_registrasi = $request->nomor_registrasi;
// Ambil data inspeksi
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))
->where('dokument_id', $request->input('dokument_id'))
->firstOrFail();
// Bersihkan path dari request
$cleanRequestPath = str_replace('/storage/', '', $request['path']);
// Ambil foto_form dari inspeksi
$fotoForm = json_decode($inspeksi->foto_form, true) ?? [];
$fotoForm['upload_foto'] = $fotoForm['upload_foto'] ?? [];
$existingIndex = null;
if (!empty($request['path'])) {
foreach ($fotoForm['upload_foto'] as $index => $foto) {
if ($foto['path'] === $cleanRequestPath) {
$existingIndex = $index;
break;
}
}
}
if ($request->hasFile('foto_objek')) {
$file = $request->file('foto_objek');
$timestamp = time();
$originalName = $file->getClientOriginalName();
$extension = $file->getClientOriginalExtension();
// Validasi nama file
if (empty($originalName)) {
$originalName = "file_{$timestamp}";
}
$uniqueFileName = "{$timestamp}.{$extension}";
// Simpan file ke penyimpanan publik
$path = $file->storeAs("surveyor/upload_foto/{$nomor_registrasi}", $uniqueFileName, 'public');
// Data baru untuk foto
$newFotoData = [
'name' => $originalName,
'description' => null,
'category' => 'Tampak Depan',
'sub' => null,
'path' => $path,
'created_by' => Auth::user()->name,
'created_at' => now()->toDateTimeString(),
'updated_by' => Auth::user()->name,
'updated_at' => now()->toDateTimeString(),
];
// Update atau tambahkan data baru
if ($existingIndex !== null) {
$fotoForm['upload_foto'][$existingIndex] = $newFotoData;
} else {
$fotoForm['upload_foto'][] = $newFotoData;
}
// Simpan kembali data ke database
$inspeksi->foto_form = json_encode($fotoForm);
$inspeksi->save();
return $path;
}
}
/**
* Form inspeksi.
@@ -1707,6 +1673,7 @@ class SurveyorController extends Controller
$permohonan = $this->getPermohonanJaminanId($id, $dokumentId, $jaminanId);
$surveyor = $id;
$branches = Branch::all();
$provinces = Province::all();
@@ -2342,7 +2309,8 @@ class SurveyorController extends Controller
'perkerasanJalan' => PerkerasanJalan::all(),
'terletakDiArea' => TerletakArea::all(),
'tujuanPenilaian' => TujuanPenilaian::all(),
'perizinan' => Perizinan::all()
'perizinan' => Perizinan::all(),
'foto' => FotoObjekJaminan::all()
];
}

View File

@@ -0,0 +1,82 @@
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
ANALISA UNIT
</td>
</tr>
</table>
<table style="width: 100%; ">
<tr>
@php
$cekLuas = isset($forminspeksi['luas_unit']['tidak sesuai'])
? 'tidak sesuai'
: 'sesuai';
$luas = $forminspeksi['luas_unit'][$cekLuas] ?? null;
@endphp
<td style="width: 25%; padding: 2px; vertical-align: top;">Luas Unit</td>
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
<td style="width: 74%; padding: 2px; vertical-align: top;">{{ $luas ?? '' }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Bentuk Unit</td>
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
<td style="width: 74%; padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['bentuk_unit'] ?? [];
@endphp
@if (!empty($bentukUnit))
{{ implode(', ', $bentukUnit) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Kondisi Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['kondisi_unit'] ?? [];
@endphp
@if (!empty($bentukUnit))
{{ implode(', ', $bentukUnit) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Posisi Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['posisi_unit'] ?? [];
@endphp
@if (!empty($bentukUnit))
{{ implode(', ', $bentukUnit) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">View Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['view'] ?? [];
@endphp
@if (!empty($bentukUnit))
{{ implode(', ', $bentukUnit) }}
@else
-
@endif
</td>
</tr>
</table>

View File

@@ -0,0 +1,145 @@
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
ANALISA BANGUNAN
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style=" width: 25%; padding: 2px; vertical-align: top;">Luas Bangunan</td>
<td style=" width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$luasTanahBangunan =
$forminspeksi['bangunan']['luas_tanah_bagunan'];
$output = !empty($luasTanahBangunan['sesuai'])
? $luasTanahBangunan['sesuai']
: (!empty($luasTanahBangunan['tidak sesuai'])
? $luasTanahBangunan['tidak sesuai']
: '-');
@endphp
{{ $output }} <sup>m2</sup>
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Jenis Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$jenisBangunan =
$forminspeksi['bangunan']['jenis_bangunan'] ?? [];
@endphp
@if (!empty($jenisBangunan))
{{ implode(', ', $jenisBangunan) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Kondisi Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$kondisiBangunan =
$forminspeksi['bangunan']['kondisi_bangunan'] ?? [];
@endphp
@if (!empty($kondisiBangunan))
{{ implode(', ', $kondisiBangunan) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Sifat Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$sifatBangunan =
$forminspeksi['bangunan']['sifat_bangunan'][0] ?? '-';
$sifatBangunanInput =
$forminspeksi['bangunan']['sifat_bangunan_input'];
// Filter input yang tidak null
$inputTambahan = array_filter($sifatBangunanInput, function (
$value,
) {
return $value !== null && $value !== '';
});
// Gabungkan sifat bangunan dengan input tambahan
$output = $sifatBangunan;
if (!empty($inputTambahan)) {
$output .= ' (' . implode(', ', $inputTambahan) . ')';
}
@endphp
{{ $output }}
</td>
</tr>
@if (isset($forminspeksi['bangunan']['spesifikasi_bangunan']) && count($forminspeksi['bangunan']['spesifikasi_bangunan']) > 0)
@foreach ($forminspeksi['bangunan']['spesifikasi_bangunan'] as $bangunanIndex => $bangunan)
@if (count($forminspeksi['bangunan']['spesifikasi_bangunan']) > 1)
<tr>
<td colspan="2">Spesifikasi Bangunan {{ $bangunanIndex + 1 }}</td>
</tr>
@else
<tr>
<td colspan="2">Spesifikasi Bangunan</td>
</tr>
@endif
@if (isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $index => $spesifikasi)
@if (!empty($spesifikasi->name)) <!-- Hanya tampilkan jika 'name' tidak kosong -->
<tr>
<td style="vertical-align: top;">{{ $spesifikasi->name }}</td>
<td>:</td>
<td>
@php
$selectedValue = null;
$lainnyaValue = null;
if (isset($bangunan['spek_kategori_bangunan'][$spesifikasi->name])) {
$selectedValues = $bangunan['spek_kategori_bangunan'][$spesifikasi->name];
// Ambil nilai pertama (bukan key) dari array
$selectedValue = array_values(array_filter($selectedValues, function ($key) {
return $key !== 'lainnya'; // Filter key lainnya
}, ARRAY_FILTER_USE_KEY))[0] ?? null;
$lainnyaValue = $selectedValues['lainnya'] ?? null;
}
@endphp
@if ($selectedValue)
<span>
{{ $selectedValue }}
@if ($selectedValue === 'Lainnya' && $lainnyaValue)
: {{ $lainnyaValue }}
@endif
</span>
@else
<span></span>
@endif
</td>
</tr>
@endif
@endforeach
@endif
@endforeach
@endif
</table>

View File

@@ -0,0 +1,104 @@
<table class="judul" style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
ANALISA FAKTA
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td width="25%" style="vertical-align: top;">Faktor Positif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@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>
{{-- Faktor Negatif --}}
<tr>
<td width="25%" style="vertical-align: top;">Faktor Negatif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@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>
@if (!empty($forminspeksi['fakta']['rute_menuju']))
<tr>
<td width="25%" style="vertical-align: top;">Rute Menuju</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
{!! nl2br(e($forminspeksi['fakta']['rute_menuju'] ?? '')) !!}
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['batas_batas_input']))
<tr>
<td width="25%" style="vertical-align: top;">Batas batas</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['batas_batas_input'] ?? [] as $arah => $batas)
@if ($batas)
<p> - {{ $arah }} : {{ $batas }}</p>
@endif
@endforeach
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['kondisi_lingkungan']))
<tr>
<td width="25%" style="vertical-align: top;">Kondisi Lingkungan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
{!! nl2br(e($kondisi)) !!}
@endforeach
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['informasi_dokument']))
<tr>
<td width="25%" style="vertical-align: top;">Informasi Lain terkait
Dokumen</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
{!! nl2br(e($informasi)) !!}
@endforeach
</td>
</tr>
@endif
</table>

View File

@@ -0,0 +1,55 @@
<table style="width: 100%">
<tr>
<td width="25%" style="vertical-align: top;">Informasi Dinas Tata Ruang
</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
@foreach ($informasi as $key)
@if (isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-')
<p> - {{ ucfirst(str_replace('_', ' ', $key)) }}:
{{ $forminspeksi['fakta'][$key] }}</p>
@endif
@endforeach
</td>
</tr>
@if (!empty($forminspeksi['fakta']['keterangan']))
<tr>
<td width="25%" style="vertical-align: top;">Catatan yang Perlu
Diperhatikan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@php
$keterangan = $forminspeksi['fakta']['keterangan'] ?? '';
if (is_array($keterangan)) {
$keterangan = implode(', ', array_filter($keterangan));
}
@endphp
@if (!empty($keterangan))
<table style="width: 100%; border-collapse: collapse;">
<tr>
<td>{!! nl2br(e($keterangan)) !!}</td>
</tr>
</table>
@endif
</td>
</tr>
@endif
</table>

View File

@@ -0,0 +1,129 @@
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
ANALISA LINGKUNGAN
</td>
</tr>
</table>
<table style="width: 100%">
@php
$lingkungan = $forminspeksi['lingkungan'];
$fasilitas = $lingkungan['fasilitas_dekat_object'] ?? [];
$fasilitasInput = $lingkungan['fasilitas_dekat_object_input'] ?? [];
@endphp
<tr>
<td style=" width:25%; padding: 2px; vertical-align: top;">Jarak Jalan Utama</td>
<td style=" width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_jalan_utama'] ?? '-' }} m</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Jalan Lingkungan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jalan_linkungan'] ?? '-' }} m</td>
<tr>
<td style="padding: 2px; vertical-align: top;">Jarak CBD</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_cbd_point'] ?? '-' }} m
({{ $lingkungan['nama_cbd_point'] ?? '-' }})</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Lebar Perkerasan Jalan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['lebar_perkerasan_jalan'] ?? '-' }} m</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Perkerasan Jalan</td>
<td style="padding: 2px; vertical-align: top;">:
</td>
<td style="padding: 2px; vertical-align: top;">
{{ implode(', ', $lingkungan['perkerasan_jalan']['perkerasan_jalan'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Lalu Lintas</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['lalu_lintas'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Golongan Masyarakat Sekitar</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['gol_mas_sekitar'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Tingkat Keramaian</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ implode(', ', $lingkungan['tingkat_keramaian'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Terletak di Area</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ implode(', ', $lingkungan['terletak_diarea']['terletak_diarea'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Kondisi Bangunan Sekitar</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['kondisi_bagunan_disekitar_lokasi'] ?? '-' }}
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Sifat Bangunan Sekitar</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['sifat_bagunan_disekitar_lokasi'] ?? '-' }}
</td>
</tr>
@if ($lingkungan['dekat_makam'] == 'ya')
<tr>
<td style="padding: 2px; vertical-align: top;">Dekat Makam</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">Ya, Jarak {{ $lingkungan['jarak_makam'] ?? '-' }} m
({{ $lingkungan['nama_makam'] ?? '-' }})
</td>
</tr>
@endif
@if ($lingkungan['dekat_tps'] == 'ya')
<tr>
<td style="padding: 2px; vertical-align: top;">Dekat TPS</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">Ya, Jarak {{ $lingkungan['jarak_tps'] ?? '-' }} m
({{ $lingkungan['nama_tps'] ?? '-' }})</td>
</tr>
@endif
<tr>
<td style="padding: 2px; vertical-align: top;">Daerah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ implode(', ', $lingkungan['merupakan_daerah'] ?? ['-']) }}
</td>
</tr>
@if (!empty($fasilitas))
<tr>
<td style="padding: 2px; vertical-align: top;">Fasilitas Dekat Objek</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@foreach ($fasilitas as $fas)
{{ $fas }}
@if (isset($fasilitasInput[$fas]))
({{ $fasilitasInput[$fas] }})
@endif
@if (!$loop->last)
,
@endif
@endforeach
</td>
</tr>
@endif
</table>

View File

@@ -0,0 +1,148 @@
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
ANALISA TANAH
</td>
</tr>
</table>
<table style="width: 100%; ">
<tr>
@php
$cekLuas = isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai']) ? 'tidak sesuai' : 'sesuai';
$luas = $forminspeksi['tanah']['luas_tanah'][$cekLuas] ?? null;
@endphp
<td style="width: 25%; padding: 2px; vertical-align: top;">Luas Tanah</td>
<td style=" width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="width: 74%; padding: 2px; vertical-align: top;">{{ $luas ?? '' }}</td>
</tr>
<tr>
@php
$cekMataAngin = isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])
? 'tidak sesuai'
: 'sesuai';
$Arah = $forminspeksi['tanah']['hadap_mata_angin'][$cekMataAngin] ?? null;
@endphp
<td style="padding: 2px; vertical-align: top;">Hadap Mata Angin</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $Arah ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Bentuk Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukTanah = isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah'])
? $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']
: [];
$lainnya = isset($forminspeksi['tanah']['bentuk_tanah']['lainnya'])
? $forminspeksi['tanah']['bentuk_tanah']['lainnya']
: null;
@endphp
{{ !empty($bentukTanah) ? implode(', ', $bentukTanah) : 'Data tidak tersedia' }}
@if (in_array('Lainnya', $bentukTanah) && $lainnya)
({{ $lainnya }})
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Kontur Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$konturTanah = $forminspeksi['tanah']['kontur_tanah'] ?? [];
@endphp
@if (!empty($konturTanah))
{{ implode(', ', $konturTanah) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Beda Ketinggian dengan Jalan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$ketinggianTanah = $forminspeksi['tanah']['ketinggian_tanah'];
$ketinggian = $ketinggianTanah['ketinggian'][0] ?? '-';
$lebihTinggi = $ketinggianTanah['lebih_tinggi'];
$lebihRendah = $ketinggianTanah['lebih_rendah'];
@endphp
{{ $ketinggian }}
@if ($ketinggian === 'Lebih Tinggi' && $lebihTinggi !== null)
(Ketinggian: {{ $lebihTinggi }} cm)
@elseif($ketinggian === 'Lebih Rendah' && $lebihRendah !== null)
(Kerendahan: {{ $lebihRendah }} cm)
@endif
</td>
</tr>
<tr>
<td>Kontur Jalan Depan Objek</td>
<td>:</td>
<td>
{{ $forminspeksi['tanah']['kontur_jalan'] == 'menurun' ? 'Menurun' : 'Rata' }}
</td>
</tr>
<tr>
<td>Posisi Kavling</td>
<td>:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$posisiKavling = isset($forminspeksi['tanah']['posisi_kavling']['posisi_kavling'])
? $forminspeksi['tanah']['posisi_kavling']['posisi_kavling']
: [];
$lainnya = isset($forminspeksi['tanah']['posisi_kavling']['lainnya'])
? $forminspeksi['tanah']['posisi_kavling']['lainnya']
: null;
@endphp
{{ !empty($posisiKavling) ? implode(', ', $posisiKavling) : '' }}
@if (in_array('Lainnya', $posisiKavling) && $lainnya)
({{ $lainnya }})
@endif
</td>
</tr>
</tr>
<tr>
<td>Tusuk Sate</td>
<td>:</td>
<td>
{{ $forminspeksi['tanah']['tusuk_sate'] == 'yes' ? 'Ya' : 'Tidak' }}
</td>
</tr>
<tr>
<td>Lockland</td>
<td>:</td>
<td>
{{ $forminspeksi['tanah']['lockland'] == 'yes' ? 'Ya' : 'Tidak' }}
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Kondisi Fisik Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$kondisiFisikTanah = $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah'][0] ?? '-';
$lainnya = $forminspeksi['tanah']['kondisi_fisik_tanah']['lainnya'];
@endphp
{{ $kondisiFisikTanah }}
@if ($kondisiFisikTanah === 'Lainnya' && $lainnya)
({{ $lainnya }})
@endif
</td>
</tr>
</table>

View File

@@ -0,0 +1,34 @@
<footer id="footer">
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
</footer>
<script>
const datas = @json($forminspeksi);
console.log(datas);
const lpjData = @json($lpjData);
console.log(lpjData);
document.addEventListener('DOMContentLoaded', function() {
const checkboxes = document.querySelectorAll('.checkbox-lainnya');
checkboxes.forEach(checkbox => {
checkbox.addEventListener('change', function() {
const textLainnya = this.closest('label').querySelector('.text-lainnya');
if (this.checked && this.value === 'Lainnya') {
textLainnya.style.display = 'inline';
} else if (this.value === 'Lainnya') {
textLainnya.style.display = 'none';
}
});
// Atur visibilitas awal
if (checkbox.checked && checkbox.value === 'Lainnya') {
const textLainnya = checkbox.closest('label').querySelector('.text-lainnya');
textLainnya.style.display = 'inline';
}
});
});
</script>
</body>
</html>

View File

@@ -1,45 +1,6 @@
<div>
@php
$photoSections = [
'rute_menuju_lokasi' => [
'key' => 'rute_menuju_lokasi',
'name_prefix' => '',
'nested' => true,
],
'foto_rute_lainnya' => [
'key' => 'name_rute_lainnya',
'name_prefix' => '',
'nested' => true,
],
'foto_lingkungan' => [
'key' => 'foto_lingkungan',
'name_prefix' => '',
'nested' => true,
],
'single_photos' => [
'foto_basement' => 'Basement',
'foto_gerbang' => 'Gerbang',
'pendamping' => 'Pendamping',
],
'object_jaminan' => [
'key' => 'name_objek',
'name_prefix' => '',
'nested' => false,
],
'foto_lantai_unit' => [
'key' => 'name',
'name_prefix' => 'Foto Lantai',
'nested' => true,
],
];
$hasPhotos = false;
@endphp
<style>
/* General Styles */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
@@ -48,7 +9,7 @@
width: 100%;
margin-bottom: 10px;
clear: both;
page-break-inside: avoid;
page-break-inside: avoid;
}
.photo-row {
@@ -72,10 +33,12 @@
/* Image Styling */
.photo-item img {
max-width: 100%;
height: auto;
object-fit: cover;
width: 300px;
height: 300px;
object-fit: contain;
background-color: #f0f0f0;
border-radius: 5px;
page-break-inside: avoid;
}
/* Clearfix */
@@ -97,124 +60,129 @@
}
.photo-item img {
max-width: 100%;
height: auto;
width: 300px;
height: 300px;
object-fit: contain;
background-color: #f0f0f0;
border-radius: 5px;
page-break-inside: avoid;
}
h2 {
font-size: 14px;
margin-bottom: 5px;
}
.photo-container {
page-break-inside: avoid;
}
.photo-row {
page-break-inside: avoid;
}
}
</style>
@foreach ($photoSections as $sectionKey => $sectionConfig)
@if ($sectionKey === 'single_photos')
@isset($basicData['foto'])
@php
$photos = $formFoto['upload_foto'] ?? [];
if (!is_array($photos)) {
$photos = [];
}
$groupedPhotos = collect($photos)->groupBy('category');
$mainPhotos = $groupedPhotos->filter(fn($_, $key) => $key !== 'lainnya');
$otherPhotos = $groupedPhotos->get('lainnya', collect());
@endphp
@if ($groupedPhotos->isEmpty())
<p class="text-gray-500">Tidak ada foto yang tersedia.</p>
@else
@foreach ($mainPhotos as $category => $photos)
<div class="photo-container">
@php $counter = 0; @endphp
@foreach ($sectionConfig as $photoKey => $photoName)
@if (isset($formFoto[$photoKey]) && !empty($formFoto[$photoKey]))
@php
$imagePath = storage_path('app/public/' . $formFoto[$photoKey]);
$hasPhotos = true;
@endphp
@if ($counter % 2 == 0)
<div class="photo-row clearfix">
@endif
<div class="photo-item border">
<h2 class="text-gray-600 font-semibold text-xl">
{{ $photoName }}
</h2>
@if ($statusLpj || file_exists($imagePath))
<img src="{{ $imagePath }}" alt="{{ $photoName }}" class="photo-image">
@endif
<h2>{{ $category }}</h2>
@php
$groupedBySubcategory = $photos->groupBy('sub');
@endphp
@if ($groupedBySubcategory->isEmpty())
<p class="text-gray-500">Tidak ada subkategori yang tersedia.</p>
@else
@foreach ($groupedBySubcategory as $subcategory => $subPhotos)
@isset($subcategory)
<h6 style="font-size:10px">
{{ $subcategory ?: '' }}
</h6>
@endisset
<div class="photo-row clearfix">
@foreach ($subPhotos as $index => $item)
@php
$imagePath = storage_path('app/public/' . $item['path']);
@endphp
<div class="photo-item border">
<p style="text-align: center" >{{ $item['name'] }}</p>
@if ($statusLpj || file_exists($imagePath))
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image">
@else
<p class="text-gray-400">Foto tidak ditemukan.</p>
@endif
@isset($item['description'])
<p style="font-size:9px">{{ $item['description'] }}</p>
@endisset
</div>
@if (($index + 1) % 2 == 0 && !$loop->last)
</div>
@if ($counter % 2 == 1 || $loop->last)
</div> <!-- Tutup baris setelah 2 item atau di akhir loop -->
@endif
@php $counter++; @endphp
<div class="photo-row clearfix">
@endif
@endforeach
</div>
@else
@php
$sectionData = $formFoto[$sectionKey] ?? null;
@endphp
@if (!empty($sectionData))
@if ($sectionConfig['nested'])
@if (isset($sectionData[$sectionConfig['key']][0]))
<div class="photo-container">
@php $counter = 0; @endphp
@foreach ($sectionData[$sectionConfig['key']][0] as $index => $item)
@php
$imagePath = storage_path('app/public/' . $item['path']);
$hasPhotos = true;
@endphp
@if ($counter % 2 == 0)
<div class="photo-row clearfix">
@endif
<div class="photo-item border">
<h2 class="text-gray-600 font-semibold text-xl">
{{ $sectionConfig['name_prefix']
? $sectionConfig['name_prefix'] . ' ' . ($index + 1)
: $item['name'] ?? 'Foto ' . ($index + 1) }}
</h2>
@if ($statusLpj || file_exists($imagePath))
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image">
@endif
</div>
@if ($counter % 2 == 1 || $loop->last)
</div> <!-- Tutup baris setelah 2 item atau di akhir loop -->
@endif
@php $counter++; @endphp
@endforeach
</div>
@endif
@else
<div class="photo-container">
@php $counter = 0; @endphp
@foreach ($sectionData as $index => $item)
@php
$name = $item[$sectionConfig['key']] ?? '';
$photoPath =
$sectionKey === 'object_jaminan'
? $item['foto_objek'] ?? ''
: $item['foto_rute_lainnya'] ?? '';
$imagePath = storage_path('app/public/' . $photoPath);
@endphp
@if (!empty($name) || !empty($photoPath))
@php $hasPhotos = true; @endphp
@if ($counter % 2 == 0)
<div class="photo-row clearfix">
@endif
<div class="photo-item border">
@if (!empty($name))
<h2 class="text-gray-600 font-semibold text-xl">
{{ $name }}
</h2>
@endif
@if ($statusLpj || (file_exists($imagePath) && !empty($photoPath)))
<img src="{{ $imagePath }}" alt="{{ $name ?: 'Foto' }}" class="photo-image">
@endif
</div>
@if ($counter % 2 == 1 || $loop->last)
</div> <!-- Tutup baris setelah 2 item atau di akhir loop -->
@endif
@php $counter++; @endphp
@endif
@endforeach
</div>
@endif
@endif
@endif
@endforeach
@endif
</div>
@endforeach
@if (!$hasPhotos)
<div class="text-center py-6 bg-gray-100 rounded-lg">
<p class="text-gray-500 italic">Tidak ada foto yang tersedia</p>
@if (!$otherPhotos->isEmpty())
<div class="photo-container">
<h2 class="text-gray-800 font-bold text-lg">Lainnya</h2>
@php
$groupedBySubcategory = $otherPhotos->groupBy('sub');
@endphp
@if ($groupedBySubcategory->isEmpty())
<p class="text-gray-500">Tidak ada subkategori yang tersedia.</p>
@else
@foreach ($groupedBySubcategory as $subcategory => $subPhotos)
@isset($subcategory)
<h6 style="font-size:10px">
{{ $subcategory ?: '' }}
</h6>
@endisset
<div class="photo-row clearfix">
@foreach ($subPhotos as $index => $item)
@php
$imagePath = storage_path('app/public/' . $item['path']);
@endphp
<div class="photo-item border">
<h6 style="text-align: center" >{{ $item['name'] }}</h6>
@if ($statusLpj || file_exists($imagePath))
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image">
@else
<p class="text-gray-400">Foto tidak ditemukan.</p>
@endif
</div>
@if (($index + 1) % 2 == 0 && !$loop->last)
</div>
<div class="photo-row clearfix">
@endif
@endforeach
</div>
@endforeach
@endif
</div>
</div>
@endif
@endif
@endisset

View File

@@ -1,264 +1,89 @@
@if (isset($formFoto['rute_menuju_lokasi']['rute_menuju_lokasi']))
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Rute Menuju Lokasi
</h3>
</div>
<div class="card-body">
@if (isset($formFoto['rute_menuju_lokasi']['rute_menuju_lokasi']))
@foreach ($formFoto['rute_menuju_lokasi']['rute_menuju_lokasi'][0] as $index => $item)
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class="text-gray-600 font-semibold text-xl">
{{ $item['name'] ?? 'Rute menuju lokasi - ' . ($index + 1) }}
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($item['path']) }}" alt="Gambar {{ $index + 1 }}"
class="w-full h-auto object-cover">
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
@endif
@isset($basicData['foto'])
@php
$photos = $formFoto['upload_foto'] ?? [];
if (!is_array($photos)) {
$photos = [];
}
$groupedPhotos = collect($photos)->groupBy('category');
@endphp
@if (isset($formFoto['foto_rute_lainnya']))
<div class="card">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Rute Lainnya
</h3>
</div>
<div class="card-body">
@if (isset($formFoto['foto_rute_lainnya']))
@foreach ($formFoto['foto_rute_lainnya'] as $index => $item)
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class="text-gray-600 font-semibold text-xl">
{{ $item['name_rute_lainnya'] ?? 'Rute Lainnya - ' . ($index + 1) }}
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($item['foto_rute_lainnya']) }}" alt="Gambar {{ $index + 1 }}"
class="w-full h-auto object-cover">
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
@endif
@if (isset($formFoto['foto_gerbang']))
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Gerbang
</h3>
</div>
<div class="card-body">
<div class="flex items-center justify-between mt-5">
@if ($groupedPhotos->isEmpty())
<p class="text-gray-500">Tidak ada foto yang tersedia.</p>
@else
@foreach ($groupedPhotos as $category => $photos)
<div class="mt-5">
<h2 class="text-gray-800 font-bold text-xl mb-3">{{ $category ?? 'Tanpa Kategori' }}</h2>
<div class="grid gap-5">
<h2 class=" font-semibold text-xl">
Gerbang
</h2>
<div class="flex items-center">
@php
$groupedBySubcategory = $photos->groupBy('sub');
@endphp
@if ($groupedBySubcategory->isEmpty())
<img src="{{ Storage::url($formFoto['foto_gerbang']) }}" alt="" class="w-full h-auto object-cover">
</div>
</div>
</div>
</div>
</div>
@endif
@if (isset($formFoto['foto_lingkungan']['foto_lingkungan']))
<div class="card">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Lingkungan </h3>
</div>
<div class="card-body">
@if (isset($formFoto['foto_lingkungan']['foto_lingkungan']))
@foreach ($formFoto['foto_lingkungan']['foto_lingkungan'][0] as $index => $item)
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class="text-gray-600 font-semibold text-xl">
{{ $item['name'] ?? 'Lingkungan - ' . ($index + 1) }}
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($item['path']) }}" alt="Gambar {{ $index + 1 }}"
class="w-full h-auto object-cover">
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
@endif
@if (isset($formFoto['object_jaminan']))
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Object Jaminan
</h3>
</div>
<div class="card-body">
@if (isset($formFoto['object_jaminan']))
@foreach ($formFoto['object_jaminan'] as $item)
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class=" font-semibold text-xl">
{{ $item['name_objek'] ?? "" }}
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($item['foto_objek']) }}" alt=""
class="w-full h-auto object-cover">
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
@endif
@if (isset($formFoto['foto_lantai_unit']))
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">Lantai</h3>
</div>
<div class="card-body">
@if (isset($formFoto['foto_lantai_unit']))
@foreach ($formFoto['foto_lantai_unit'] as $floorIndex => $floorPhotos)
<div class="mt-5">
@foreach ($floorPhotos as $index => $item)
@if (is_int($index) && isset($item['name'], $item['path']) && is_string($item['path']))
<div class="flex items-center justify-between mt-3">
<div class="grid gap-3">
<h3 class="text-gray-600 font-semibold text-lg">
{{ $item['name'] ?? 'Foto Lantai ' . ($floorIndex + 1) . ' - ' . ($index + 1) }}
</h3>
<div class="flex items-center ">
<img src="{{ Storage::url($item['path']) }}"
alt="Gambar {{ $floorIndex + 1 }}-{{ $index + 1 }}"
class="w-full h-auto object-cover">
@foreach ($photos as $index => $item)
<div class="flex items-center justify-between">
<div class="grid gap-5">
<h3 class="text-gray-600 font-semibold text-lg">
{{ $item['name'] ?? 'Foto - ' . ($index + 1) }}
</h3>
<div class="flex items-center">
@if (isset($item['path']))
<img src="{{ asset('storage/' . $item['path']) }}" alt="Gambar {{ $index + 1 }}"
class="w-full h-auto object-cover rounded-md">
@else
<p class="text-gray-500">Gambar tidak tersedia</p>
@endif
</div>
<p class="text-gray-500 text-sm">{{ $item['description'] ?? '-' }}</p>
</div>
</div>
</div>
@endif
@endforeach
</div>
@endforeach
@endif
</div>
</div>
@endif
@if (isset($formFoto['foto_basement']))
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Basement
</h3>
</div>
<div class="card-body">
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class=" font-semibold text-xl">
Basemnt
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($formFoto['foto_basement']) }}" alt="" class="w-full h-auto object-cover">
</div>
@endforeach
@else
<!-- Jika ada subkategori, tampilkan berdasarkan subkategori -->
@foreach ($groupedBySubcategory as $subcategory => $subPhotos)
<div class="mb-4">
<!-- Judul Subkategori -->
<h4 class="text-gray-700 font-semibold text-lg mb-2">
@if ($subcategory)
{{ $subcategory }}
@endif
</h4>
<div class="grid gap-5">
@foreach ($subPhotos as $index => $item)
<div class="flex items-center justify-between">
<div class="grid gap-5">
<h3 class="text-gray-600 font-semibold text-lg">
{{ $item['name'] ?? 'Foto - ' . ($index + 1) }}
</h3>
<div class="flex items-center">
@if (isset($item['path']))
<img src="{{ asset('storage/' . $item['path']) }}" alt="Gambar {{ $index + 1 }}"
class="w-full h-auto object-cover rounded-md">
@else
<p class="text-gray-500">Gambar tidak tersedia</p>
@endif
</div>
<p class="text-gray-500 text-sm">{{ $item['description'] ?? '-' }}</p>
</div>
</div>
@endforeach
</div>
</div>
@endforeach
@endif
</div>
</div>
</div>
</div>
@endif
@if (isset($formFoto['foto_lantai_lainnya']))
<div class="card">
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Lantai Lainnya
</h3>
</div>
<div class="card-body">
@if (isset($formFoto['foto_lantai_lainnya']))
@foreach ($formFoto['foto_lantai_lainnya'] as $index => $item)
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class="text-gray-600 font-semibold text-xl">
{{ $item['name_lantai_lainnya'] ?? 'Lantai - ' . ($index + 1) }}
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($item['foto_lantai_lainnya']) }}"
alt="Gambar {{ $index + 1 }}" class="w-full h-auto object-cover">
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
@endif
@if (isset($formFoto['pendamping']))
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Pendamping
</h3>
</div>
<div class="card-body">
<div class="flex items-center justify-between mt-5">
<div class="grid gap-5">
<h2 class=" font-semibold text-xl">
Pendamping
</h2>
<div class="flex items-center">
<img src="{{ Storage::url($formFoto['pendamping']) }}" alt="" class="w-full h-auto object-cover">
</div>
</div>
</div>
</div>
</div>
@endif
@endforeach
@endif
@endisset
@php
$fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
if (($key = array_search('foto_tempat', $fotoTypes)) !== false) {
unset($fotoTypes[$key]);
array_unshift($fotoTypes, 'foto_tempat');
}
$adaFoto = false;
$fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
if (($key = array_search('foto_tempat', $fotoTypes)) !== false) {
unset($fotoTypes[$key]);
array_unshift($fotoTypes, 'foto_tempat');
}
$adaFoto = false;
if (isset($forminspeksi)) {
foreach ($fotoTypes as $type) {
$imagePath = $forminspeksi[$type] ?? null;
@@ -271,33 +96,33 @@ $adaFoto = false;
@endphp
@if ($adaFoto)
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Peta
</h3>
</div>
<div class="card-body">
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Peta
</h3>
</div>
<div class="card-body">
<div>
@if (isset($forminspeksi))
@forelse ($fotoTypes as $type)
<div class="border photo-item">
@php
$imagePath = $forminspeksi[$type] ?? null;
@endphp
<div>
@if (isset($forminspeksi))
@forelse ($fotoTypes as $type)
<div class="border photo-item">
@php
$imagePath = $forminspeksi[$type] ?? null;
@endphp
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
<img src="{{ Storage::url($imagePath) }}" alt="{{ $type }}"
class="w-full h-auto object-cover">
@endif
<p class="mt-2 text-sm">{{ Str::title(str_replace('_', ' ', $type)) }}</p>
</div>
@empty
<p>Tidak ada tipe foto yang tersedia</p>
@endforelse
@endif
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
<img src="{{ asset('storage/' . $imagePath) }}" alt="{{ $type }}"
class="w-full h-auto object-cover">
@endif
<p class="mt-2 text-sm">{{ Str::title(str_replace('_', ' ', $type)) }}</p>
</div>
@empty
<p>Tidak ada tipe foto yang tersedia</p>
@endforelse
@endif
</div>
</div>
</div>
</div>
@endif

View File

@@ -0,0 +1,112 @@
<!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>
* {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
/** Define the header rules **/
@page {
margin-top: 100px;
margin-bottom: 50px;
}
#header {
position: fixed;
top: -80px;
left: 0;
right: 0;
height: 50px;
text-align: center;
padding-bottom: 10px;
}
.header-logo {
position: absolute;
left: 20px;
top: 10px;
max-height: 80px;
max-width: 150px;
}
.header-title {
margin-top: 20px;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: center;
border-top: 1px solid #ddd;
padding-top: 10px;
font-size: 9px;
}
.page-number:after {
content: counter(page) " dari " counter(pages);
}
.content {
margin-top: 10px;
}
.page-break {
page-break-after: always;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: left;
border-top: 1px solid #ddd;
padding-top: 10px;
}
body {
margin-top: 3cm;
margin-bottom: 120px;
position: relative;
z-index: 1;
}
.border {
border: 1px solid #000;
}
</style>
</head>
<body style="width: 90%; 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 style="margin: 0; padding:0; font-size:10px;">Tanggal: {{ date('Y-m-d') }}</p>
<p style="margin: 0; padding:0; font-size:10px;">Waktu: {{ date('H:i:s') }}</p>
<p style="margin: 0; padding:0; font-size:10px;">User: {{ Auth::user()->name }}</p>
</div>
</td>
</tr>
</table>
</header>

View File

@@ -1,216 +1,102 @@
<!DOCTYPE html>
<html lang="en">
@include('lpj::penilai.components.header')
@php
$data = '';
foreach ($permohonan->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
<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>
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first();
$teams = $permohonan->region->teams;
<style>
* {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
}
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;
h2 {
font-size: 12px
}
/** Define the header rules **/
@page {
margin-top: 100px;
/* Ruang untuk header */
margin-bottom: 50px;
/* Ruang untuk footer */
}
#header {
position: fixed;
top: -100px;
/* Posisi header di luar konten */
left: 0;
right: 0;
height: 90px;
text-align: center;
padding-bottom: 10px;
}
.header-logo {
position: absolute;
left: 20px;
top: 10px;
max-height: 80px;
max-width: 150px;
}
.header-title {
margin-top: 20px;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: center;
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;
}
footer {
position: fixed;
bottom: 0cm;
left: 0cm;
right: 0cm;
}
body {
margin-top: 3cm;
/* Tambahkan margin top sedikit lebih besar dari tinggi header */
margin-bottom: 120px;
position: relative;
z-index: 1;
/* Pastikan konten berada di bawah header */
}
.border {
border: 1px solid #000;
}
</style>
</head>
<body style="width: 80%; margin: auto">
@php
$data = '';
foreach ($permohonan->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->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;
}
if ($user && $user->hasRole('senior-officer')) {
$senior_officer = $user;
break 3;
}
}
}
}
}
$data = rtrim($data, ', ');
@endphp
<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>
}
$data = rtrim($data, ', ');
@endphp
<main class="content">
<table style="width: 100%">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style="text-decoration: underline; text-transform: uppercase; text-align: center; margin: 0;">
MEMO ANTAR KANTOR</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 20%; padding: 2px;">Kepada</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $memo['kepada'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Dari</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $memo['dari'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">No memo</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $nomorLaporan ?? '-' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Tanggal</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ formatTanggalIndonesia($memo['tanggal']) }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Perihal</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $memo['perihal'] ?? '' }}</td>
</tr>
</table>
<table>
<tr>
<td>
Menindak lanjuti permintann penilaian jaminan dari {{ $permohonan->user->name }} AO Cabang
{{ $permohonan->debiture->branch->name ?? '' }}
tanggal {{ formatTanggalIndonesia($memo['tanggal']) ?? '' }}, dapat di sampaikan sebagai berikut:
</td>
</tr>
</table>
<main class="content">
<table style="width: 100%">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style="text-decoration: underline; text-transform: uppercase; text-align: center; margin: 0;">
MEMO ANTAR KANTOR</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 20%; padding: 2px;">Kepada</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $memo['kepada'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Dari</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $memo['dari'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">No memo</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $nomorLaporan ?? '-' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Tanggal</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ formatTanggalIndonesia($memo['tanggal']) }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Perihal</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $memo['perihal'] ?? '' }}</td>
</tr>
</table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">Data Debitur dan Jaminan</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<table>
<tr>
<td>
Menindak lanjuti permintann penilaian jaminan dari {{ $permohonan->user->name }} AO Cabang
{{ $permohonan->debiture->branch->name ?? '' }}
tanggal {{ formatTanggalIndonesia($memo['tanggal']) ?? '' }}, dapat di sampaikan sebagai berikut:
</td>
</tr>
</table>
<tr>
<td style="width: 20%; padding: 2px;">Nama Calon Debitur</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Jenis Aset</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $data ?? '' }}</td>
</tr>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">Data Debitur dan Jaminan</h2>
</td>
</tr>
</table>
<table style="width: 100%">
@if (@isset($dokumen))
<tr>
<td style="width: 20%; padding: 2px;">Nama Calon Debitur</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Jenis Aset</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $data ?? '' }}</td>
</tr>
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
<tr>
@if (isset($detail->dokumen_jaminan))
@@ -246,17 +132,17 @@
@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;">:</td>
<td style="">{{ $value }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<sup>m2</sup>
@endif
</td>
</tr>
@endif
@if (!is_null($value) && $value !== '')
<tr>
<td style="padding: 2px;">{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}</td>
<td style=" padding: 2px;">:</td>
<td style="">{{ $value }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<sup>m2</sup>
@endif
</td>
</tr>
@endif
@endforeach
@endif
@endif
@@ -264,13 +150,13 @@
@endif
<tr>
<td style="width: 20%; padding: 2px;">Atas Nama</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Atas Nama</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
@if (!empty($memo['lokasi']['address']))
@if (!empty($memo['lokasi']['address']))
<tr>
<td style="width: 20%; padding: 2px;">Lokasi Jaminan</td>
<td style="width: 1%; padding: 2px;">:</td>
@@ -278,147 +164,136 @@
{{ $alamat['village_code'] ?? '' }} {{ $alamat['district_code'] ?? '' }},
{{ $alamat['city_code'] ?? '' }}, {{ $alamat['province_code'] ?? '' }} </td>
</tr>
@endif
</table>
@endif
</table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">HASIL Kunjungan</h6>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 20%; padding: 2px;">Tanggal Kunjungan</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Surveyor</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $surveyor->userPenilaiTeam->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Pihak Pemohon</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->user->name ?? '' }} -
{{ $permohonan->debiture->branch->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Pihak Cadeb/Debitur</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
</table>
<table>
<tr>
@isset($memo['hasil_survey'])
@foreach ($memo['hasil_survey'] as $key => $item)
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">HASIL Kunjungan</h6>
</td>
<td>{{ $item }}</td>
</tr>
</table>
@endforeach
@endisset
</tr>
</table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">KESIMPULAN DAN SARAN</h6>
</td>
</tr>
<tr>
@isset($memo['kesimpulan_saran'])
@foreach ($memo['kesimpulan_saran'] as $key => $item)
<tr>
<td> {{ $item }}</td>
</tr>
@endforeach
@endisset
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 20%; padding: 2px;">Tanggal Kunjungan</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Surveyor</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $surveyor->userPenilaiTeam->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Pihak Pemohon</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->user->name ?? '' }} -
{{ $permohonan->debiture->branch->name ?? '' }}</td>
</tr>
<table style="width: 100%">
<tr>
<td>Demikian Kami Sampaikan, atas perhatiannya kami ucapkan terimakasih</td>
</tr>
<tr>
<table style="width: 100%; text-align: center;">
<tr>
<td style="width: 20%; padding: 2px;">Pihak Cadeb/Debitur</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
</table>
<table>
<tr>
@isset($memo['hasil_survey'])
@foreach ($memo['hasil_survey'] as $key => $item)
<tr>
<td>{{ $item }}</td>
<td style="height: 50px"></td>
<td style="height: 50px"></td>
<td style="height: 50px"></td>
<td style="height: 50px"></td>
</tr>
@endforeach
@endisset
</tr>
</table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">KESIMPULAN DAN SARAN</h6>
</td>
</tr>
<tr>
@isset($memo['kesimpulan_saran'])
@foreach ($memo['kesimpulan_saran'] as $key => $item)
@php
use Modules\Usermanagement\Models\User;
@endphp
<tr>
<td> {{ $item }}</td>
</tr>
@endforeach
@endisset
</tr>
</table>
<td>{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
<span style=" margin: 0; ">
<table style="width: 100%">
<tr>
<td>Demikian Kami Sampaikan, atas perhatiannya kami ucapkan terimakasih</td>
</tr>
<tr>
<table style="width: 100%; text-align: center;">
<tr>
<td style="height: 50px"></td>
<td style="height: 50px"></td>
<td style="height: 50px"></td>
<td style="height: 50px"></td>
</tr>
@php
use Modules\Usermanagement\Models\User;
@endphp
<tr>
<td>{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
{{ ucwords(strtolower('PENILAI')) }}
</span>
</td>
<td>
@if ($permohonan->approval_so != null)
{{ $senior_officer->name ?? '' }}</br>
<span style=" margin: 0; ">
{{ ucwords(strtolower('SENIOR OFFICER')) }}
</span>
@endif
</td>
<td>
@if ($permohonan->approval_eo != null)
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
<span style=" margin: 0; ">
{{ ucwords(strtolower('PENILAI')) }}
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
</span>
</td>
<td>
@if ($permohonan->approval_so != null)
{{ $senior_officer->name ?? '' }}</br>
<span style=" margin: 0; ">
{{ ucwords(strtolower('SENIOR OFFICER')) }}
</span>
@endif
</td>
<td>
@if ($permohonan->approval_eo != null)
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
<span style=" margin: 0; ">
@endif
</td>
<td>
@if ($permohonan->approval_dd != null)
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
<span style=" margin: 0; ">
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
</span>
@endif
</td>
</tr>
</table>
</tr>
</table>
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
</span>
@endif
</td>
<td>
@if ($permohonan->approval_dd != null)
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
<span style=" margin: 0; ">
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
</span>
@endif
</td>
</tr>
</table>
</tr>
</table>
<div class="page-break"></div>
<div class="page-break"></div>
<div class="section">
<div class="judul">
<h6 class="border" style="text-align: center">
FOTO JAMINAN
</h6>
</div>
@include('lpj::penilai.components.foto-jaminan')
<div class="section">
<div class="judul">
<h6 class="border" style="text-align: center">
FOTO JAMINAN
</h6>
</div>
@include('lpj::penilai.components.foto-jaminan')
</div>
</main>
<footer id="footer">
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
</footer>
<script>
const data = @json($memo);
console.log(data);
</script>
</body>
</html>
</main>
@include('lpj::penilai.components.footer')

File diff suppressed because it is too large Load Diff

View File

@@ -1,122 +1,4 @@
<!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: 9px;
}
h3 {
font-size: 14px
}
/** Define the header rules **/
@page {
margin-top: 120px;
/* Ruang untuk header */
margin-bottom: 50px;
/* Ruang untuk footer */
}
#header {
position: fixed;
top: -100px;
/* Posisi header di luar konten */
left: 0;
right: 0;
height: 90px;
text-align: center;
padding-bottom: 10px;
}
.header-logo {
position: absolute;
left: 20px;
top: 10px;
max-height: 80px;
max-width: 150px;
}
.header-title {
margin-top: 20px;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: left;
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;
}
footer {
position: fixed;
bottom: 0cm;
left: 0cm;
right: 0cm;
}
body {
margin-top: 3cm;
/* Tambahkan margin top sedikit lebih besar dari tinggi header */
margin-bottom: 120px;
position: relative;
z-index: 1;
/* Pastikan konten berada di bawah header */
}
.border {
border: 1px solid #000;
}
.photo-item {
text-align: center;
margin-bottom: 20px;
}
.photo-image {
max-width: 80%;
height: auto;
display: block;
margin: 0 auto;
}
table {
width: 100%;
/* border: 1px solid #000; */
/* border-collapse: collapse; */
}
</style>
</head>
<body style="width: 80%; margin: auto">
@include('lpj::penilai.components.header')
@php
$data = '';
foreach ($permohonan->documents as $dokumen) {
@@ -124,20 +6,6 @@
}
$data = rtrim($data, ', ');
@endphp
<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="width: 80%; text-align: center; border: 1px solid black; ">
<h3 style="width:100% padding-top: 40px; text-align: center;text-transform: uppercase;">LAPORAN
PENILAIAN ATAS {{ $data }}
</h3>
</td>
</tr>
</table>
</header>
<main class="content">
<table style="width: 100%">
@@ -145,48 +13,48 @@
<td style="vertical-align: top;">
<table style="width: 100%; border-collapse: collapse;">
<tr>
<td style=" padding: 2px;">Nama Debitur</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Nama Debitur</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td>Alamat dan Telpon</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ $permohonan->debiture->address ?? '' }} {{ $permohonan->debiture->phone ?? '' }}
</td>
</tr>
<tr>
<td style="padding: 2px;">Permintaan Cabang</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $permohonan->debiture->branch->name ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">Permintaan Cabang</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->debiture->branch->name ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px;">Permintaan (AO)</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $permohonan->user->name }}</td>
<td style="padding: 2px; vertical-align: top;">Permintaan (AO)</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->user->name }}</td>
</tr>
<tr>
<td style="padding: 2px;">No Order</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $permohonan->nomor_registrasi ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">No Order</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->nomor_registrasi ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px;">Tanggal Order</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ formatTanggalIndonesia($permohonan->created_at) }}</td>
<td style="padding: 2px; vertical-align: top;">Tanggal Order</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ formatTanggalIndonesia($permohonan->created_at) }}</td>
</tr>
<tr>
<td style="padding: 2px;">Tanggal Survey</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Tanggal Survey</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
<tr>
<td style="padding: 2px;">User</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $permohonan->user->name ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">User</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->user->name ?? '' }}</td>
</tr>
@@ -220,29 +88,29 @@
@endphp
<tr>
<td style="padding: 2px;">Pemeriksa</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $senior_officer->name ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">Pemeriksa</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $senior_officer->name ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px;">Menyetujui</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $senior_officer->name ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">Menyetujui</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $senior_officer->name ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px;">No Laporan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $nomorLaporan ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">No Laporan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $nomorLaporan ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px;">Tanggal Laporan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ formatTanggalIndonesia($tanggalLaporan) ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">Tanggal Laporan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ formatTanggalIndonesia($tanggalLaporan) ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px;">Waktu Penyelesaian</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Waktu Penyelesaian</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ hitungHariKerja($permohonan->penilaian->tanggal_kunjungan, $tanggalLaporan) }}</td>
</tr>
</table>
@@ -250,56 +118,56 @@
<td>
<table style="width: 100%; border-collapse: collapse;">
<tr>
<td style=" padding: 2px;">Fasilitas Kredit</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $permohonan->jenisFasilitasKredit->name ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Fasilitas Kredit</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $permohonan->jenisFasilitasKredit->name ?? '' }}</td>
</tr>
<tr>
<td style=" padding: 2px;">Jenis Jaminan</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $data ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Jenis Jaminan</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $data ?? '' }}</td>
</tr>
<tr>
<td style=" padding: 2px;">Tujuan Penilaian</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $permohonan->tujuanPenilaian->name ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Tujuan Penilaian</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $permohonan->tujuanPenilaian->name ?? '' }}</td>
</tr>
<tr>
<td style=" padding: 2px;">Terletak di</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $alamat['address'] ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Terletak di</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td style=" padding: 2px;">Kelurahan</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $alamat['village_code'] ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Kelurahan</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td style=" padding: 2px;">Kecamatan</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $alamat['district_code'] ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Kecamatan</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td style=" padding: 2px;">Kabupaten</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $alamat['city_code'] ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Kabupaten</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td style=" padding: 2px;">Propinsi</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $alamat['province_code'] ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Propinsi</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $alamat['province_code'] ?? '' }}</td>
</tr>
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
<tr>
@if (isset($detail->dokumen_jaminan))
<td style=" padding: 2px;">
<td style=" padding: 2px; vertical-align: top;">
{{ $detail->name ?? '' }}
</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">
@if (isset($detail->dokumen_jaminan))
@php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
@@ -329,10 +197,10 @@
@if (json_decode($detail->details))
@foreach (json_decode($detail->details) as $key => $value)
@if (!is_null($value) && $value !== '')
<td style=" padding: 2px;">
<td style=" padding: 2px; vertical-align: top;">
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $value }}
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $value }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<sup>m2</sup>
@endif
@@ -347,14 +215,14 @@
@if (isset($forminspeksi['asset']['nomor_nib']))
<tr>
<td style=" padding: 2px;">Nomor NIB</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $forminspeksi['asset']['nomor_nib'] ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Nomor NIB</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $forminspeksi['asset']['nomor_nib'] ?? '' }}</td>
</tr>
@endif
<tr>
<td style=" padding: 2px;">Atas Nama</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px; vertical-align: top;">Atas Nama</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
@@ -388,9 +256,9 @@
? $forminspeksi['asset']['hub_cadeb']['tidak sesuai']
: $forminspeksi['asset']['hub_cadeb']['sesuai'];
@endphp
<td style=" padding: 2px;">Hubungan Pemilik Jaminan dengan Debitu</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $hubCadeb ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitu</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
</tr>
<tr>
@php
@@ -405,9 +273,9 @@
? $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai']
: $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'];
@endphp
<td style=" padding: 2px;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style=" padding: 2px;">:</td>
<td style=" padding: 2px;">{{ $hubCadeb ?? '' }}</td>
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
</tr>
</table>
@@ -444,14 +312,14 @@
$luas = $forminspeksi['tanah']['luas_tanah'][$cekLuas] ?? null;
@endphp
<td style="padding: 2px;">Luas Tanah</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $luas ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">Luas Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $luas ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px;">Bentuk Tanah</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Bentuk Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukTanah = isset(
$forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah'],
@@ -474,9 +342,9 @@
</tr>
<tr>
<td style="padding: 2px;">Kontur Tanah</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Kontur Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$konturTanah = $forminspeksi['tanah']['kontur_tanah'] ?? [];
@endphp
@@ -489,9 +357,9 @@
</td>
</tr>
<tr>
<td style="padding: 2px;">Permukaan dengan Jalan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Permukaan dengan Jalan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$ketinggianTanah = $forminspeksi['tanah']['ketinggian_tanah'];
$ketinggian = $ketinggianTanah['ketinggian'][0] ?? '-';
@@ -509,14 +377,14 @@
</tr>
<tr>
<td style="padding: 2px;">Peruntukan Tanah</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">Perumahan bukan Real Estate</td>
<td style="padding: 2px; vertical-align: top;">Peruntukan Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">Perumahan bukan Real Estate</td>
</tr>
<tr>
<td style="padding: 2px;">Fisik Tanah</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Fisik Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$kondisiFisikTanah =
$forminspeksi['tanah']['kondisi_fisik_tanah'][
@@ -534,9 +402,9 @@
</tr>
<tr>
<td style="padding: 2px;">Luas Bangunan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Luas Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$luasTanahBangunan =
$forminspeksi['bangunan']['luas_tanah_bagunan'];
@@ -553,9 +421,9 @@
</tr>
<tr>
<td style="padding: 2px;">Jenis Bangunan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Jenis Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$jenisBangunan =
$forminspeksi['bangunan']['jenis_bangunan'] ?? [];
@@ -569,9 +437,9 @@
</td>
</tr>
<tr>
<td style="padding: 2px;">Kondisi Bangunan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Kondisi Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$kondisiBangunan =
$forminspeksi['bangunan']['kondisi_bangunan'] ?? [];
@@ -585,10 +453,10 @@
</td>
</tr>
<tr>
<td style="padding: 2px;">Sifat Bangunan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px; vertical-align: top;">Sifat Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">
@php
$sifatBangunan =
$forminspeksi['bangunan']['sifat_bangunan'][0] ?? '-';
@@ -628,7 +496,7 @@
@if (count($spesifikasiBangunan) > 1)
<tr>
<td colspan="3"
style="padding: 2px; font-weight: bold;">
style="padding: 2px; vertical-align: top; font-weight: bold;">
{{ $bangunan['bagunan'] ?? 'Bangunan ' . ($index + 1) }}
</td>
</tr>
@@ -637,9 +505,9 @@
@foreach ($spekKategori as $kategori => $nilaiKategori)
@if (!empty($nilaiKategori))
<tr>
<td style="padding: 2px;">{{ $kategori }}</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">{{ $kategori }}</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ implode(', ', $nilaiKategori) }}</td>
</tr>
@endif
@@ -647,7 +515,7 @@
@endforeach
@else
<tr>
<td colspan="3" style="padding: 2px;">Tidak ada data
<td colspan="3" style="padding: 2px; vertical-align: top;">Tidak ada data
spesifikasi bangunan</td>
</tr>
@endif
@@ -662,14 +530,14 @@
$luas = $forminspeksi['luas_unit'][$cekLuas] ?? null;
@endphp
<td style="padding: 2px;">Luas Unit</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $luas ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">Luas Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $luas ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px;">Bentuk Unit</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Bentuk Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['bentuk_unit'] ?? [];
@endphp
@@ -682,9 +550,9 @@
</td>
</tr>
<tr>
<td style="padding: 2px;">Kondisi Unit</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Kondisi Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['kondisi_unit'] ?? [];
@endphp
@@ -697,9 +565,9 @@
</td>
</tr>
<tr>
<td style="padding: 2px;">Posisi Unit</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Posisi Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['posisi_unit'] ?? [];
@endphp
@@ -712,9 +580,9 @@
</td>
</tr>
<tr>
<td style="padding: 2px;">View Unit</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">View Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['view'] ?? [];
@endphp
@@ -743,76 +611,76 @@
@endphp
<tr>
<td style="padding: 2px;">Jarak Jalan Utama</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $lingkungan['jarak_jalan_utama'] ?? '-' }} m</td>
<td style="padding: 2px; vertical-align: top;">Jarak Jalan Utama</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_jalan_utama'] ?? '-' }} m</td>
</tr>
<tr>
<td style="padding: 2px;">Jalan Lingkungan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $lingkungan['jalan_linkungan'] ?? '-' }} m</td>
<td style="padding: 2px; vertical-align: top;">Jalan Lingkungan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jalan_linkungan'] ?? '-' }} m</td>
<tr>
<td style="padding: 2px;">Jarak CBD</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $lingkungan['jarak_cbd_point'] ?? '-' }} m
<td style="padding: 2px; vertical-align: top;">Jarak CBD</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_cbd_point'] ?? '-' }} m
({{ $lingkungan['nama_cbd_point'] ?? '-' }})</td>
</tr>
<tr>
<td style="padding: 2px;">Lebar Perkerasan Jalan</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $lingkungan['lebar_perkerasan_jalan'] ?? '-' }} m</td>
<td style="padding: 2px; vertical-align: top;">Lebar Perkerasan Jalan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['lebar_perkerasan_jalan'] ?? '-' }} m</td>
</tr>
<tr>
<td style="padding: 2px;">Perkerasan Jalan</td>
<td style="padding: 2px;">:
<td style="padding: 2px; vertical-align: top;">Perkerasan Jalan</td>
<td style="padding: 2px; vertical-align: top;">:
</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">
{{ implode(', ', $lingkungan['perkerasan_jalan']['perkerasan_jalan'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px;">Lalu Lintas</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ implode(', ', $lingkungan['lalu_lintas'] ?? ['-']) }}</td>
<td style="padding: 2px; vertical-align: top;">Lalu Lintas</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['lalu_lintas'] ?? ['-']) }}</td>
</tr>
<tr>
<td style="padding: 2px;">Golongan Masyarakat Sekitar</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ implode(', ', $lingkungan['gol_mas_sekitar'] ?? ['-']) }}
<td style="padding: 2px; vertical-align: top;">Golongan Masyarakat Sekitar</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['gol_mas_sekitar'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px;">Tingkat Keramaian</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ implode(', ', $lingkungan['tingkat_keramaian'] ?? ['-']) }}
<td style="padding: 2px; vertical-align: top;">Tingkat Keramaian</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['tingkat_keramaian'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px;">Terletak di Area</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Terletak di Area</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ implode(', ', $lingkungan['terletak_diarea']['terletak_diarea'] ?? ['-']) }}
</td>
</tr>
<tr>
<td style="padding: 2px;">Kondisi Bangunan Sekitar</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $lingkungan['kondisi_bagunan_disekitar_lokasi'] ?? '-' }}
<td style="padding: 2px; vertical-align: top;">Kondisi Bangunan Sekitar</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['kondisi_bagunan_disekitar_lokasi'] ?? '-' }}
</td>
</tr>
<tr>
<td style="padding: 2px;">Sifat Bangunan Sekitar</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ $lingkungan['sifat_bagunan_disekitar_lokasi'] ?? '-' }}</td>
<td style="padding: 2px; vertical-align: top;">Sifat Bangunan Sekitar</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['sifat_bagunan_disekitar_lokasi'] ?? '-' }}</td>
</tr>
@if ($lingkungan['dekat_makam'] == 'ya')
<tr>
<td style="padding: 2px;">Dekat Makam</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">Ya, Jarak {{ $lingkungan['jarak_makam'] ?? '-' }} m
<td style="padding: 2px; vertical-align: top;">Dekat Makam</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">Ya, Jarak {{ $lingkungan['jarak_makam'] ?? '-' }} m
({{ $lingkungan['nama_makam'] ?? '-' }})
</td>
</tr>
@@ -820,25 +688,25 @@
@if ($lingkungan['dekat_tps'] == 'ya')
<tr>
<td style="padding: 2px;">Dekat TPS</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">Ya, Jarak {{ $lingkungan['jarak_tps'] ?? '-' }} m
<td style="padding: 2px; vertical-align: top;">Dekat TPS</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">Ya, Jarak {{ $lingkungan['jarak_tps'] ?? '-' }} m
({{ $lingkungan['nama_tps'] ?? '-' }})</td>
</tr>
@endif
<tr>
<td style="padding: 2px;">Daerah</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">{{ implode(', ', $lingkungan['merupakan_daerah'] ?? ['-']) }}
<td style="padding: 2px; vertical-align: top;">Daerah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['merupakan_daerah'] ?? ['-']) }}
</td>
</tr>
@if (!empty($fasilitas))
<tr>
<td style="padding: 2px;">Fasilitas Dekat Objek</td>
<td style="padding: 2px;">:</td>
<td style="padding: 2px;">
<td style="padding: 2px; vertical-align: top;">Fasilitas Dekat Objek</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@foreach ($fasilitas as $fas)
{{ $fas }}
@if (isset($fasilitasInput[$fas]))
@@ -1351,16 +1219,4 @@
</div>
</main>
<footer id="footer">
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
</footer>
<script>
const datas = @json($forminspeksi);
console.log(datas);
const lpjData = @json($dataPembanding);
console.log(lpjData);
</script>
</body>
</html>
@include('lpj::penilai.components.footer')

File diff suppressed because it is too large Load Diff

View File

@@ -1,112 +1,4 @@
<!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>
* {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
}
h2 {
font-size: 14px
}
/** Define the header rules **/
@page {
margin-top: 100px;
/* Ruang untuk header */
margin-bottom: 30px;
/* Ruang untuk footer */
}
#header {
position: fixed;
top: -100px;
/* Posisi header di luar konten */
left: 0;
right: 0;
height: 50px;
text-align: center;
padding-bottom: 10px;
}
.header-logo {
position: absolute;
left: 20px;
top: 10px;
max-height: 80px;
max-width: 150px;
}
.header-title {
margin-top: 10px;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: center;
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;
}
footer {
position: fixed;
bottom: 0cm;
left: 0cm;
right: 0cm;
}
body {
margin-top: 3cm;
/* Tambahkan margin top sedikit lebih besar dari tinggi header */
margin-bottom: 120px;
position: relative;
z-index: 1;
/* Pastikan konten berada di bawah header */
}
.border {
border: 1px solid #000;
}
.photo-item {
text-align: center;
margin-bottom: 20px;
}
.photo-image {
max-width: 80%;
height: auto;
display: block;
margin: 0 auto;
}
</style>
</head>
<body style="width: 80%; margin: auto">
@include('lpj::penilai.components.header')
@php
$data = '';
foreach ($permohonan->documents as $dokumen) {
@@ -135,22 +27,6 @@
}
$data = rtrim($data, ', ');
@endphp
<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>
<main class="content">
<table style="width: 100%">
@@ -494,9 +370,4 @@
</div>
</main>
<footer id="footer">
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
</footer>
</body>
</html>
@include('lpj::penilai.components.footer')

View File

@@ -21,6 +21,7 @@
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input type="hidden" name="type" value="tanah">
<input type="hidden" name="dokument_id" value="{{ request('dokument') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
<div class="card">
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)

File diff suppressed because it is too large Load Diff

View File

@@ -67,6 +67,8 @@
<i class="ki-filled ki-save-2"></i>
<span id="saveButtonText">Save</span>
</button>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('dokument'), 'jenis_jaminan_id' => request('jenis_jaminan')]) }}"
class="btn btn-info" id="saveButton">
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('dokument'), 'jenis_jaminan_id' => request('jenis_jaminan')]) }}"
class="btn btn-info" id="saveButton">
<i class="ki-filled ki-printer"></i>

View File

@@ -35,10 +35,23 @@
<td class="px-4 py-2">Foto</td>
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
<img id="uploadedImage1"
src="{{ isset($fotoForm['object_jaminan'][0]['foto_objek']) ? asset('storage/' . $fotoForm['object_jaminan'][0]['foto_objek']) : '' }}"
class="max-w-[200px] {{ isset($fotoForm['object_jaminan'][0]['foto_objek']) ? '' : 'hidden' }}"
alt="Uploaded Image">
@php
$photos = $fotoForm['upload_foto'] ?? [];
if (!is_array($photos)) {
$photos = [];
}
$groupedPhotos = collect($photos)->groupBy('category');
$mainPhoto = $groupedPhotos->get('Tampak Depan', collect())->first();
// echo $mainPhoto;
@endphp
@if ($mainPhoto)
<img id="uploadedImage1" src="{{ asset('storage/' . $mainPhoto['path']) }}"
class="max-w-[200px]" alt="Uploaded Image">
@endif
<input type="file" name="foto_objek" class="file-input" accept="image/*"
onchange="previewImage(this, 'uploadedImage1')">
</div>

View File

@@ -1,467 +1,444 @@
<div class="card-header bg-agi-50">
<h3 class="card-title">Data Pembanding</h3>
<div class="flex items-center gap-2">
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}"
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Kembali
</a>
</div>
<div class="card-header bg-agi-50">
<h3 class="card-title">Data Pembanding</h3>
<div class="flex items-center gap-2">
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Kembali
</a>
</div>
</div>
<div class="card-header bg-agi-50 py-5 flex-wrap flex justify-end">
<button type="button" id="addColumnBtn" class="btn btn-primary btn-sm">
<i class="ki-filled ki-plus"></i> Tambah Pembanding
</button>
<button type="button" id="removeColumnBtn" class="btn btn-danger btn-sm ml-2"
style="display: none;">
<i class="ki-filled ki-minus"></i> Hapus Pembanding
</button>
</div>
<div class="card-header bg-agi-50 py-5 flex-wrap flex justify-end">
<button type="button" id="addColumnBtn" class="btn btn-primary btn-sm">
<i class="ki-filled ki-plus"></i> Tambah Pembanding
</button>
<button type="button" id="removeColumnBtn" class="btn btn-danger btn-sm ml-2" style="display: none;">
<i class="ki-filled ki-minus"></i> Hapus Pembanding
</button>
</div>
{{-- @php
{{-- @php
print_r($inspectionData);
@endphp --}}
<div class="card-body">
<div class="scrollable-x-auto">
<table id="dataTable"
class="table table-auto table-border align-middle text-gray-700 font-medium text-sm">
<thead class="bg-gray-50 sticky top-0">
<tr>
<th class="px-4 py-3 min-w-[200px]">Parameter</th>
<th class="px-4 py-3 min-w-[250px]">Objek Penilaian</th>
<th class="px-4 py-3 min-w-[250px]">Data Pembanding 1</th>
</tr>
</thead>
<tbody>
<!-- Informasi Dasar -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Informasi Dasar</td>
</tr>
<tr>
<td class="px-4 py-2">Foto</td>
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
<img id="uploadedImage1"
src="{{ isset($fotoForm['object_jaminan'][0]['foto_objek']) ? asset('storage/' . $fotoForm['object_jaminan'][0]['foto_objek']) : '' }}"
class="max-w-[200px] {{ isset($fotoForm['object_jaminan'][0]['foto_objek']) ? '' : 'hidden' }}"
alt="Uploaded Image">
<input type="file" name="foto_objek" class="file-input"
accept="image/*" onchange="previewImage(this, 'uploadedImage1')">
</div>
</td>
<div class="card-body">
<div class="scrollable-x-auto">
<table id="dataTable" class="table table-auto table-border align-middle text-gray-700 font-medium text-sm">
<thead class="bg-gray-50 sticky top-0">
<tr>
<th class="px-4 py-3 min-w-[200px]">Parameter</th>
<th class="px-4 py-3 min-w-[250px]">Objek Penilaian</th>
<th class="px-4 py-3 min-w-[250px]">Data Pembanding 1</th>
</tr>
</thead>
<tbody>
<!-- Informasi Dasar -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Informasi Dasar</td>
</tr>
<tr>
<td class="px-4 py-2">Foto</td>
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
<img id="uploadedImage2" class="max-w-[200px] hidden"
alt="Pembanding Image">
<input type="file" name="foto_objek_pembanding[]" class="file-input"
accept="image/*" onchange="previewImage(this, 'uploadedImage2')">
</div>
</td>
</tr>
<!-- Data Properti -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Data Properti</td>
</tr>
<tr>
<td class="px-4 py-2">Jenis Aset</td>
<td class="px-4 py-2">
<select name="jenis_aset" class="select">
<option value="">Pilih Jenis Aset</option>
@foreach ($data['jenisJaminan'] as $item)
<option value="{{ $item->name }}"
{{ ($inspectionData['asset']['jenis_asset']['sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}</option>
@endforeach
</select>
</td>
<td class="px-4 py-2">
<select name="jenis_aset_pembanding[]" class="select">
<option value="">Pilih Jenis Aset</option>
@foreach ($data['jenisJaminan'] as $item)
<option value="{{ $item->name }}"
{{ ($inspectionData['jenis_aset'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}</option>
@endforeach
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Luas Tanah ()</td>
@php
$cekLuas =
isset($inspectionData['tanah']['luas_tanah']) == 'sesuai'
? 'sesuai'
: 'tidak sesuai';
$photos = $fotoForm['upload_foto'] ?? [];
if (!is_array($photos)) {
$photos = [];
}
$groupedPhotos = collect($photos)->groupBy('category');
$mainPhoto = $groupedPhotos->get('Tampak Depan', collect())->first();
// echo $mainPhoto;
@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'] ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="luas_tanah_pembanding[]"
class="input number-format">
</td>
</tr>
@if ($mainPhoto)
<img id="uploadedImage1" src="{{ asset('storage/' . $mainPhoto['path']) }}"
class="max-w-[200px]" alt="Uploaded Image">
@endif
<input type="hidden" name="name_foto_objek" class="input"
value="{{ $mainPhoto['path'] ?? '' }}">
<input type="file" name="foto_objek" class="file-input" accept="image/*"
onchange="previewImage(this, 'uploadedImage1')">
@php
$luasTanahData = [];
$nilai = 'N/A';
</div>
</td>
// Memeriksa apakah key 'bangunan' ada di dalam $inspectionData
if (isset($inspectionData['bangunan']['luas_tanah_bagunan'])) {
$luasTanahData = $inspectionData['bangunan']['luas_tanah_bagunan'];
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
<img id="uploadedImage2" class="max-w-[200px] hidden" alt="Pembanding Image">
<input type="file" name="foto_objek_pembanding[]" class="file-input" accept="image/*"
onchange="previewImage(this, 'uploadedImage2')">
</div>
</td>
</tr>
<!-- Data Properti -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Data Properti</td>
</tr>
<tr>
<td class="px-4 py-2">Jenis Aset</td>
<td class="px-4 py-2">
<select name="jenis_aset" class="select">
<option value="">Pilih Jenis Aset</option>
@foreach ($data['jenisJaminan'] as $item)
<option value="{{ $item->name }}"
{{ ($inspectionData['asset']['jenis_asset']['sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}</option>
@endforeach
</select>
</td>
<td class="px-4 py-2">
<select name="jenis_aset_pembanding[]" class="select">
<option value="">Pilih Jenis Aset</option>
@foreach ($data['jenisJaminan'] as $item)
<option value="{{ $item->name }}"
{{ ($inspectionData['jenis_aset'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}</option>
@endforeach
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Luas Tanah ()</td>
@php
$cekLuas =
isset($inspectionData['tanah']['luas_tanah']) == 'sesuai' ? 'sesuai' : 'tidak sesuai';
if (!empty($luasTanahData['sesuai'])) {
$nilai = $luasTanahData['sesuai'];
} elseif (!empty($luasTanahData['tidak sesuai'])) {
$nilai = $luasTanahData['tidak sesuai'];
}
}
@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'] ?? '') }}">
</td>
<td class="px-4 py-2">
@if (isset($inspectionData['bangunan']))
<input type="text" name="luas_tanah_pembanding[]" class="input number-format">
</td>
</tr>
@php
$luasTanahData = [];
$nilai = 'N/A';
// Memeriksa apakah key 'bangunan' ada di dalam $inspectionData
if (isset($inspectionData['bangunan']['luas_tanah_bagunan'])) {
$luasTanahData = $inspectionData['bangunan']['luas_tanah_bagunan'];
if (!empty($luasTanahData['sesuai'])) {
$nilai = $luasTanahData['sesuai'];
} elseif (!empty($luasTanahData['tidak sesuai'])) {
$nilai = $luasTanahData['tidak sesuai'];
}
}
@endphp
@if (isset($inspectionData['bangunan']))
<tr>
<td class="px-4 py-2">Luas Bangunan ()</td>
<td class="px-4 py-2">
<input type="text"
name="luas_tanah_bagunan"
class="input"
value="{{ $inspectionData['bangunan']['luas_tanah_bagunan']['sesuai'] ?? ($inspectionData['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ?? '') }}">
<input type="text" name="luas_tanah_bagunan" class="input"
value="{{ $inspectionData['bangunan']['luas_tanah_bagunan']['sesuai'] ?? ($inspectionData['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="luas_bangunan_pembanding[]"
class="input number-format">
<input type="text" name="luas_bangunan_pembanding[]" class="input number-format">
</td>
</tr>
@endif
@endif
<!-- Informasi Harga -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Informasi</td>
</tr>
<!-- Informasi Harga -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Informasi</td>
</tr>
<tr>
<td class="px-4 py-2">Hak atas properti yang dialihkan</td>
<td class="px-4 py-2">
<input type="text" name="hak_properti" class="input"
value="{{ $inspectionData['asset']['hak_properti'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="hak_properti_pembanding[]"
class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Penawaran/ Transaksi</td>
<td class="px-4 py-2">
<input type="text" name="penawaran" class="input"
value="{{ $inspectionData['asset']['penawaran'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="penawaran_pembanding[]"
class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Hak atas properti yang dialihkan</td>
<td class="px-4 py-2">
<input type="text" name="hak_properti" class="input"
value="{{ $inspectionData['asset']['hak_properti'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="hak_properti_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Penawaran/ Transaksi</td>
<td class="px-4 py-2">
<input type="text" name="penawaran" class="input"
value="{{ $inspectionData['asset']['penawaran'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="penawaran_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Telepon Contact Person</td>
<td class="px-4 py-2">
<input type="text" name="telepon" class="input"
value="{{ $inspectionData['asset']['telepon'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="telepon_pembanding[]"
class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Telepon Contact Person</td>
<td class="px-4 py-2">
<input type="text" name="telepon" class="input"
value="{{ $inspectionData['asset']['telepon'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="telepon_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Status Narasumber</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber" class="input"
value="{{ $inspectionData['asset']['status_nara_sumber'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber_pembanding[]"
class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Nama Narasumber</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber" class="input"
value="{{ $inspectionData['asset']['nama_nara_sumber'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber_pembanding[]"
class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Status Narasumber</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber" class="input"
value="{{ $inspectionData['asset']['status_nara_sumber'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Nama Narasumber</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber" class="input"
value="{{ $inspectionData['asset']['nama_nara_sumber'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber_pembanding[]" class="input">
</td>
</tr>
<!-- Lokasi -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Lokasi</td>
</tr>
<tr>
<td class="px-4 py-2">Koordinat</td>
<td class="px-4 py-2">
<div class="grid grid-cols-2 gap-2">
<input type="text" name="kordinat_lat" class="input"
placeholder="Latitude"
value="{{ $inspectionData['asset']['kordinat_lat'] ?? '' }}">
<input type="text" name="kordinat_lng" class="input"
placeholder="Longitude"
value="{{ $inspectionData['asset']['kordinat_lng'] ?? '' }}">
</div>
</td>
<td class="px-4 py-2">
<div class="grid grid-cols-2 gap-2">
<input type="text" name="kordinat_lat_pembanding[]" class="input"
placeholder="Latitude">
<input type="text" name="kordinat_lng_pembanding[]" class="input"
placeholder="Longitude">
</div>
</td>
</tr>
<tr>
<td class="px-4 py-2">Alamat</td>
<td class="px-4 py-2">
<!-- Lokasi -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Lokasi</td>
</tr>
<tr>
<td class="px-4 py-2">Koordinat</td>
<td class="px-4 py-2">
<div class="grid grid-cols-2 gap-2">
<input type="text" name="kordinat_lat" class="input" placeholder="Latitude"
value="{{ $inspectionData['asset']['kordinat_lat'] ?? '' }}">
<input type="text" name="kordinat_lng" class="input" placeholder="Longitude"
value="{{ $inspectionData['asset']['kordinat_lng'] ?? '' }}">
</div>
</td>
<td class="px-4 py-2">
<div class="grid grid-cols-2 gap-2">
<input type="text" name="kordinat_lat_pembanding[]" class="input"
placeholder="Latitude">
<input type="text" name="kordinat_lng_pembanding[]" class="input"
placeholder="Longitude">
</div>
</td>
</tr>
<tr>
<td class="px-4 py-2">Alamat</td>
<td class="px-4 py-2">
@php
$statusAlamat = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$address = $inspectionData['asset']['alamat'][$statusAlamat]['address'] ?? null;
@endphp
<textarea name="address" class="input py-2" rows="2">{{ $address }}</textarea>
</td>
<td class="px-4 py-2">
<textarea name="address_pembanding[]" class="input py-2" rows="2"></textarea>
</td>
</tr>
<tr>
<td class="px-4 py-2">Provinsi</td>
<td class="px-4 py-2">
<select id="province_code" name="province_code" class="input w-full">
@php
$statusAlamat = isset($inspectionData['asset']['alamat']['sesuai'])
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$address =
$inspectionData['asset']['alamat'][$statusAlamat]['address'] ??
null;
$address = $inspectionData['asset']['alamat'][$statusKey]['province_code'] ?? null;
@endphp
<textarea name="address" class="input py-2" rows="2">{{ $address }}</textarea>
</td>
<td class="px-4 py-2">
<textarea name="address_pembanding[]" class="input py-2" rows="2"></textarea>
</td>
</tr>
<tr>
<td class="px-4 py-2">Provinsi</td>
<td class="px-4 py-2">
<select id="province_code" name="province_code" class="input w-full">
<option value="">Select Province</option>
@foreach ($provinces as $province)
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$address =
$inspectionData['asset']['alamat'][$statusKey][
'province_code'
] ?? null;
$selectedProvince =
$inspectionData['asset']['alamat'][$statusKey]['province_code'] ?? null;
@endphp
<option value="">Select Province</option>
@foreach ($provinces as $province)
@php
$statusKey = isset(
$inspectionData['asset']['alamat']['sesuai'],
)
? 'sesuai'
: 'tidak sesuai';
$selectedProvince =
$inspectionData['asset']['alamat'][$statusKey][
'province_code'
] ?? null;
@endphp
<option value="{{ $province->code }}"
{{ $selectedProvince == $province->code ? 'selected' : '' }}>
{{ $province->name }}
<option value="{{ $province->code }}"
{{ $selectedProvince == $province->code ? 'selected' : '' }}>
{{ $province->name }}
</option>
@endforeach
</select>
</td>
<td class="px-4 py-2">
<select id="province_code_pembanding" name="province_code_pembanding[]"
onchange="handleProvinceChange(this)" class="input w-full">
<option value="">Pilih Provinsi</option>
@foreach ($provinces as $province)
<option value="{{ $province->code }}">{{ $province->name }}
</option>
@endforeach
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Kabupaten/Kota</td>
<td class="px-4 py-2">
<select id="city_code" name="city_code" class="select w-full">
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedCity = $inspectionData['asset']['alamat'][$statusKey]['city_code'] ?? null;
@endphp
<option value="">Pilih Kota/Kabupaten</option>
@if (isset($selectedCity))
@foreach ($cities as $city)
<option value="{{ $city->code }}"
{{ $selectedCity == $city->code ? 'selected' : '' }}>
{{ $city->name }}
</option>
@endforeach
</select>
</td>
<td class="px-4 py-2">
<select id="province_code_pembanding" name="province_code_pembanding[]"
onchange="handleProvinceChange(this)" class="input w-full">
<option value="">Pilih Provinsi</option>
@foreach ($provinces as $province)
<option value="{{ $province->code }}">{{ $province->name }}
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="city_code_pembanding" name="city_code_pembanding[]"
onchange="handleCityChange(this)" class="input w-full">
<option value="">Pilih Kota/Kabupaten</option>
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Kecamatan</td>
<td class="px-4 py-2">
<select id="district_code" name="district_code" class="select w-full">
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedDisrict =
$inspectionData['asset']['alamat'][$statusKey]['district_code'] ?? null;
@endphp
<option value="">Pilih Kecamatan</option>
@if (isset($selectedDisrict))
@foreach ($districts as $district)
<option value="{{ $district->code }}"
{{ $selectedDisrict == $district->code ? 'selected' : '' }}>
{{ $district->name }}
</option>
@endforeach
</select>
</td>
</tr>
@endif
</select>
</td>
<td class="px-4 py-2">
<tr>
<td class="px-4 py-2">Kabupaten/Kota</td>
<td class="px-4 py-2">
<select id="city_code" name="city_code" class="select w-full">
@php
<select id="district_code_pembanding" name="district_code_pembanding[]"
onchange="handleDistrictChange(this)" class="input w-full">
<option value="">Pilih Kecamatan</option>
</select>
</td>
</tr>
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedCity =
$inspectionData['asset']['alamat'][$statusKey][
'city_code'
] ?? null;
@endphp
<option value="">Pilih Kota/Kabupaten</option>
@if (isset($selectedCity))
@foreach ($cities as $city)
<option value="{{ $city->code }}"
{{ $selectedCity == $city->code ? 'selected' : '' }}>
{{ $city->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="city_code_pembanding" name="city_code_pembanding[]"
onchange="handleCityChange(this)" class="input w-full">
<option value="">Pilih Kota/Kabupaten</option>
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Desa/Kelurahan</td>
<td class="px-4 py-2">
<select id="village_code" name="village_code" class="select w-full">
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedDesa = $inspectionData['asset']['alamat'][$statusKey]['village_code'] ?? null;
@endphp
<option value="">Pilih Kecamatan</option>
@if (isset($selectedDesa))
@foreach ($villages as $village)
<option value="{{ $village->code }}"
{{ $selectedDesa == $village->code ? 'selected' : '' }}>
{{ $village->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="village_code_pembanding" name="village_code_pembanding[]" class="input w-full">
<option value="">Pilih Desa/Kelurahan</option>
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Kecamatan</td>
<td class="px-4 py-2">
<select id="district_code" name="district_code" class="select w-full">
@php
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Harga Per Meter</td>
</tr>
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedDisrict =
$inspectionData['asset']['alamat'][$statusKey][
'district_code'
] ?? null;
@endphp
<option value="">Pilih Kecamatan</option>
@if (isset($selectedDisrict))
@foreach ($districts as $district)
<option value="{{ $district->code }}"
{{ $selectedDisrict == $district->code ? 'selected' : '' }}>
{{ $district->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<tr>
<td class="px-4 py-2">Harga</td>
<td class="px-4 py-2">
<input type="text" name="harga" class="input currency-format"
value="{{ $inspectionData['asset']['harga'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_pembanding[]" class="input currency">
</td>
</tr>
<tr>
<td class="px-4 py-2">Diskon</td>
<td class="px-4 py-2">
<div class="input">
<input type="text" name="diskon" class=" currency"
value="{{ $inspectionData['asset']['diskon'] ?? '' }}">
<span class="btn btn-icon">
<i class="ki-outline ki-percentage"></i>
</span>
</div>
<select id="district_code_pembanding" name="district_code_pembanding[]"
onchange="handleDistrictChange(this)" class="input w-full">
<option value="">Pilih Kecamatan</option>
</select>
</td>
</tr>
</td>
<td class=" px-4 py-2">
<div class="input">
<input type="text" name="diskon_pembanding[]" class="currency">
<span class="btn btn-icon">
<i class="ki-outline ki-percentage"></i>
</i>
</span>
</div>
<tr>
<td class="px-4 py-2">Desa/Kelurahan</td>
<td class="px-4 py-2">
<select id="village_code" name="village_code" class="select w-full">
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedDesa =
$inspectionData['asset']['alamat'][$statusKey][
'village_code'
] ?? null;
@endphp
<option value="">Pilih Kecamatan</option>
@if (isset($selectedDesa))
@foreach ($villages as $village)
<option value="{{ $village->code }}"
{{ $selectedDesa == $village->code ? 'selected' : '' }}>
{{ $village->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="village_code_pembanding" name="village_code_pembanding[]"
class="input w-full">
<option value="">Pilih Desa/Kelurahan</option>
</select>
</td>
</tr>
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Harga Per Meter</td>
</tr>
<tr>
<td class="px-4 py-2">Harga</td>
<td class="px-4 py-2">
<input type="text" name="harga" class="input currency-format"
value="{{ $inspectionData['asset']['harga'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_pembanding[]"
class="input currency">
</td>
</tr>
<tr>
<td class="px-4 py-2">Diskon</td>
<td class="px-4 py-2">
<div class="input">
<input type="text" name="diskon" class=" currency"
value="{{ $inspectionData['asset']['diskon'] ?? '' }}">
<span class="btn btn-icon">
<i class="ki-outline ki-percentage"></i>
</span>
</div>
</td>
<td class=" px-4 py-2">
<div class="input">
<input type="text" name="diskon_pembanding[]"
class="currency">
<span class="btn btn-icon">
<i class="ki-outline ki-percentage"></i>
</i>
</span>
</div>
</td>
</tr>
<tr style="display: none;">
<td class="px-4 py-2">Total</td>
<td class="px-4 py-2">
<input type="text" name="total" class="input currency"
value="{{ $inspectionData['asset']['total'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]"
class="input currency-format">
</td>
</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'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_diskon_pembanding[]" readonly
class="input currency-format">
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
<tr style="display: none;">
<td class="px-4 py-2">Total</td>
<td class="px-4 py-2">
<input type="text" name="total" class="input currency"
value="{{ $inspectionData['asset']['total'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" class="input currency-format">
</td>
</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'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_diskon_pembanding[]" readonly
class="input currency-format">
</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@@ -18,9 +18,9 @@ use Modules\Lpj\Http\Controllers\JenisPenilaianController;
use Modules\Lpj\Http\Controllers\KJPPController;
use Modules\Lpj\Http\Controllers\LaporanController;
use Modules\Lpj\Http\Controllers\NilaiPlafondController;
use Modules\Lpj\Http\Controllers\NocController;
use Modules\Lpj\Http\Controllers\PembatalanController;
use Modules\Lpj\Http\Controllers\PemilikJaminanController;
use Modules\Lpj\Http\Controllers\NocController;
use Modules\Lpj\Http\Controllers\PembatalanController;
use Modules\Lpj\Http\Controllers\PemilikJaminanController;
use Modules\Lpj\Http\Controllers\PenilaianController;
use Modules\Lpj\Http\Controllers\PenilaiController;
use Modules\Lpj\Http\Controllers\PermohonanController;
@@ -554,6 +554,7 @@ Route::middleware(['auth'])->group(function () {
Route::put('storeAproved/{storeAproved}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
Route::post('storeFreeze/{id}', [SurveyorController::class, 'storeFreeze'])->name('storeFreeze');
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
Route::put('updateFoto', [SurveyorController::class, 'updateFoto'])->name('updateFoto');
Route::delete('/surveyor/hapus-foto', [SurveyorController::class, 'hapusFoto'])->name('hapusFoto');
Route::delete('/hapus-lantai', [SurveyorController::class, 'hapusLantai'])->name('hapusLantai');