Merge branch 'staging' into fix/sertipikat-pemohon-surveyor

This commit is contained in:
majid
2025-03-07 11:26:42 +07:00
51 changed files with 3160 additions and 1882 deletions

View File

@@ -432,18 +432,39 @@ function getWilayahName($code, $type)
function formatLabel($key) {
$customLabels = [
'shgb_no_kel_desa' => 'SHGB',
'nib' => 'NIB',
'img_pbg_no' =>'IMB/PBG NO',
'no_surat_ukur_gs' => 'No Surat Ukur/GS',
];
// Jika ada dalam mapping, gunakan label custom
if (array_key_exists($key, $customLabels)) {
return $customLabels[$key];
static $labelCache = [];
if (isset($labelCache[$key])) {
return $labelCache[$key];
}
// Default: Ubah underscore menjadi spasi dan kapitalisasi
return ucwords(str_replace('_', ' ', $key));
$customLabel = CustomField::where('name', $key)->first();
$labelCache[$key] = $customLabel->label ?? ucwords(str_replace('_', ' ', $key));
return $labelCache[$key];
}
function calculateSLA($permohonan, $type)
{
if (!$type) {
return null;
}
$nilai_plafond = in_array($permohonan->nilai_plafond_id, [2, 3]);
$nilai_plafond_2 = in_array($permohonan->nilai_plafond_id, [1]);
$slaMap = [
'resume' => $nilai_plafond ? 2 : null,
'paparan' => $nilai_plafond ? 2 : null,
'standard' => $nilai_plafond ? 3 : null,
'sederhana' => $nilai_plafond ? 2 : null,
'paparan' => $nilai_plafond_2 ? 3 : null,
'rap' => 3,
'memo' => $nilai_plafond ? 1 : null
];
if ($type === 'paparan' && isset($permohonan->tujuanPenilaian->name) && $permohonan->tujuanPenilaian->name === 'rap') {
return 2;
}
return $slaMap[$type] ?? null;
}

View File

@@ -326,7 +326,7 @@ class ActivityController extends Controller
$filteredRecords = $query->count();
// Get data with necessary relationships
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'dokumenjaminan'])->get();
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'dokumenjaminan','nilaiPlafond'])->get();
// Calculate total pages
$pageCount = ceil($totalRecords / $request->get('size', 10));
@@ -444,26 +444,40 @@ class ActivityController extends Controller
$jeniAsset = null;
$statusPembayaran = trim(strtolower($item->permohonan->status_bayar ?? ''));
$tujuanPenilaian = $item->permohonan->tujuanPenilaian->name ?? null;
$plafond = $item->permohonan->nilaiPlafond->name ?? null;
$now = Carbon::now();
$type_report = $item->permohonan->penilai->type ?? "";
// $plafond = $item->permohonan->nilaiPlafond->name ?? null;
// $type_report = $item->permohonan->penilai->type_penilai;
$hari = $hariPaparan = 0;
// $hari = 0;
// if ($plafond == '< 1M') {
// $item->paparan = 'Tidak Ada';
// }else if($plafond == '2 M - 5 M'){
// $hari = 2;
// }else if($plafond == '5 M - 10 M'){
// $hari = 3;
// }
if($type_report == "sederhana"){
$hari = 2;
$item->paparan = 'Tidak Ada';
} else{
if ($plafond == '< 2M') {
$item->paparan = 'Tidak Ada';
$hari = 3;
}else if($plafond == '2 M - 5 M'){
$hari = 3;
$hariPaparan = 2;
}else {
$hari = 5;
$hariPaparan = 3;
}
}
if ($tujuanPenilaian == 'RAP') {
$hari = 2;
$hariPaparan = 2;
}
if ($item->permohonan && $item->permohonan->debiture) {
$jeniAsset = $item->permohonan->debiture->documents->first() ?? null;
}
$hariTambahan = 0;
/*$hariTambahan = 0;
if ($tujuanPenilaian == 'RAP') {
$hariTambahan = 2;
@@ -473,33 +487,50 @@ class ActivityController extends Controller
} else {
$hariTambahan = 2; // H+2 untuk yang belum bayar
}
}
}*/
$tanggalMulai = $item->waktu_penilaian;
if ($tanggalMulai) {
if (!$tanggalMulai instanceof Carbon) {
$tanggalMulai = Carbon::parse($tanggalMulai);
}
$hariKerjaBerikutnya = hitungHariKerja($tanggalMulai->toDateString(),$tanggalMulai->copy()->addDays(1));
$hariKerjaBerikutnya = max($hariKerjaBerikutnya, 1);
$tanggalMulai = $tanggalMulai->copy()->addDays($hariKerjaBerikutnya);
// Konversi string tanggal ke objek Carbon jika belum
if (!$tanggalMulai instanceof Carbon) {
$tanggalMulai = Carbon::parse($tanggalMulai);
}
// Hitung tanggal selesai berdasarkan hari tambahan
$tanggalSelesai = $tanggalMulai->copy()->addDays($hariTambahan);
$tanggalSelesai = $tanggalMulai->copy()->addDays($hari);
$tanggalPaparan = $tanggalMulai->copy()->addDays($hariPaparan);
// Hitung hari kerja
$hariKerja = hitungHariKerja($tanggalMulai->toDateString(), $tanggalSelesai->toDateString());
$hariKerja = max($hariKerja, $hari);
$hariKerjaPaparan = hitungHariKerja($tanggalMulai->toDateString(), $tanggalPaparan->toDateString());
$hariKerjaPaparan = max($hariKerjaPaparan, $hariPaparan);
// Set due date SLA
$dueDateSla = $tanggalMulai->copy()->addDays($hariKerja);
$dueDateSlaPaparan = $tanggalMulai->copy()->addDays($hariKerjaPaparan);
// Cek apakah sudah melewati due date
if ($now->greaterThan($dueDateSla)) {
/*if ($now->greaterThan($dueDateSla)) {
$item->due_date_sla = null;
} else {
$item->due_date_sla = $dueDateSla->toDateString();
}
}*/
$item->due_date_sla = $dueDateSla->toDateString();
$item->paparan = $dueDateSlaPaparan->toDateString();
} else {
$item->due_date_sla = null;
$item->paparan = null;
}

View File

@@ -4,6 +4,7 @@
use App\Http\Controllers\Controller;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
@@ -572,4 +573,40 @@
$combinedLegalitas = array_merge($existingLegalitas, $newLegalitas);
return response()->json($combinedLegalitas);
}
public function clearDetail(Request $request)
{
try {
DB::beginTransaction();
$detailId = $request->input('detail_id');
$detail = DetailDokumenJaminan::findOrFail($detailId);
// Delete associated files
if ($detail->dokumen_jaminan) {
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
foreach ($dokumen_jaminan as $dokumen) {
if (Storage::exists($dokumen)) {
Storage::delete($dokumen);
}
}
}
// Delete the detail record
$detail->delete();
DB::commit();
return response()->json(['success' => true, 'message' => 'Detail berhasil dihapus']);
} catch (\Exception $e) {
DB::rollBack();
return response()->json([
'success' => false,
'message' => 'Gagal menghapus detail: ' . $e->getMessage()
], 500);
}
}
}

View File

@@ -123,7 +123,7 @@ class LaporanController extends Controller
$filteredRecords = $query->count();
// Get the data for the current page
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','jenisFasilitasKredit', 'documents.inspeksi','penilai'])->get();
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','jenisFasilitasKredit', 'documents.inspeksi','penilai','documents.detail'])->get();
// Calculate the page count
$pageCount = ceil($totalRecords / $size);

View File

@@ -0,0 +1,173 @@
<?php
namespace Modules\Lpj\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Modules\Lpj\Models\LaporanExternal;
use Modules\Lpj\Http\Requests\LaporanExternalRequest;
use Modules\Lpj\Models\Permohonan;
class LaporanExternalController extends Controller
{
public $user;
/**
* Display a listing of the resource.
*/
public function index()
{
$laporanExternals = LaporanExternal::with('permohonan')->paginate(10);
return view('lpj::laporan_external.index', compact('laporanExternals'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
return view('lpj::laporan_external.create');
}
/**
* Store a newly created resource in storage.
*/
public function store(LaporanExternalRequest $request)
{
$validatedData = $request->validated();
if ($request->hasFile('file_resume')) {
$validatedData['file_resume'] = $request->file('file_resume')->store('laporan_external/resume', 'public');
}
if ($request->hasFile('file_laporan')) {
$validatedData['file_laporan'] = $request->file('file_laporan')->store('laporan_external/laporan', 'public');
}
LaporanExternal::create($validatedData);
return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil ditambahkan.');
}
/**
* Show the specified resource.
*/
public function show(LaporanExternal $laporanExternal)
{
return view('lpj::laporan_external.show', compact('laporanExternal'));
}
/**
* Show the form for editing the specified resource.
*/
public function edit(LaporanExternal $laporanExternal)
{
$permohonan = Permohonan::find($laporanExternal->permohonan_id);
return view('lpj::laporan_external.create', compact('laporanExternal','permohonan'));
}
/**
* Update the specified resource in storage.
*/
public function update(LaporanExternalRequest $request, LaporanExternal $laporanExternal)
{
$validatedData = $request->validated();
if ($request->hasFile('file_resume')) {
$validatedData['file_resume'] = $request->file('file_resume')->store('laporan_external/resume', 'public');
}
if ($request->hasFile('file_laporan')) {
$validatedData['file_laporan'] = $request->file('file_laporan')->store('laporan_external/laporan', 'public');
}
$laporanExternal->update($validatedData);
return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil diperbarui.');
}
/**
* Remove the specified resource from storage.
*/
public function destroy(LaporanExternal $laporanExternal)
{
$laporanExternal->delete();
return redirect()->route('laporan-external.index')->with('success', 'Laporan External berhasil dihapus.');
}
public function dataForDatatables(Request $request)
{
if (is_null($this->user) || !$this->user->can('jenis_aset.view')) {
//abort(403, 'Sorry! You are not allowed to view users.');
}
// Retrieve data from the database
$query = LaporanExternal::query();
// Apply search filter if provided
if ($request->has('search') && !empty($request->get('search'))) {
$search = $request->get('search');
$query->where(function ($q) use ($search) {
$q->where('nomor_laporan', 'LIKE', "%$search%")
->orWhere('tanggal_laporan', 'LIKE', "%$search%")
->orWhereHas('permohonan', function($q) use ($search) {
$q->where('nomor_permohonan', 'LIKE', "%$search%");
})
->orWhere('tgl_final_laporan', 'LIKE', "%$search%")
->orWhere('nilai_pasar', 'LIKE', "%$search%")
->orWhere('indikasi_nilai_likuidasi', 'LIKE', "%$search%")
->orWhere('indikasi_nilai_pasar_tanah', 'LIKE', "%$search%")
->orWhere('estimasi_harga_tanah', 'LIKE', "%$search%")
->orWhere('estimasi_harga_bangunan', 'LIKE', "%$search%")
->orWhere('indikasi_nilai_pasar_bangunan', 'LIKE', "%$search%")
->orWhere('indikasi_nilai_pasar_sarana_pelengkap', 'LIKE', "%$search%")
->orWhere('indikasi_nilai_pasar_mesin', 'LIKE', "%$search%")
->orWhere('indikasi_nilai_pasar_kendaraan_alat_berat', 'LIKE', "%$search%")
->orWhere('file_resume', 'LIKE', "%$search%")
->orWhere('file_laporan', 'LIKE', "%$search%");
});
}
// Apply sorting if provided
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
$order = $request->get('sortOrder');
$column = $request->get('sortField');
$query->orderBy($column, $order);
}
// Get the total count of records
$totalRecords = $query->count();
// Apply pagination if provided
if ($request->has('page') && $request->has('size')) {
$page = $request->get('page');
$size = $request->get('size');
$offset = ($page - 1) * $size; // Calculate the offset
$query->skip($offset)->take($size);
}
// Get the filtered count of records
$filteredRecords = $query->count();
// Get the data for the current page
$data = $query->get();
// Calculate the page count
$pageCount = ceil($totalRecords / $request->get('size'));
// Calculate the current page number
$currentPage = 0 + 1;
// Return the response data as a JSON object
return response()->json([
'draw' => $request->get('draw'),
'recordsTotal' => $totalRecords,
'recordsFiltered' => $filteredRecords,
'pageCount' => $pageCount,
'page' => $currentPage,
'totalCount' => $totalRecords,
'data' => $data,
]);
}
}

View File

@@ -336,8 +336,9 @@
public function show($id)
{
$prosespenawaran = PenawaranTender::find($id);
return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran'));
$prosespenawaran = PenawaranTender::with(['permohonan','tujuanPenilaianKjpp'])->find($id);
$permohonan = $prosespenawaran->permohonan;
return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran','permohonan'));
}
public function penawaranulang(Request $request, $id): JsonResponse

View File

@@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Http\Requests\PersetujuanPenawaranRequest;
use Modules\Lpj\Models\LaporanExternal;
use Modules\Lpj\Models\PenawaranTender;
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\PersetujuanPenawaran;
@@ -235,6 +236,13 @@ class PembayaranController extends Controller
'updated_by' => Auth::id(),
'updated_at' => now(),
]);
LaporanExternal::create([
'permohonan_id' => $permohonan->id,
'nomor_laporan' => $permohonan->nomor_registrasi,
'tanggal_laporan' => now(),
'created_by' => Auth::id(),
]);
}
}

View File

@@ -4,6 +4,7 @@ namespace Modules\Lpj\Http\Controllers;
use Illuminate\Http\Request;
use Barryvdh\DomPDF\Facade\Pdf; // https://github.com/barryvdh/laravel-dompdf
use Illuminate\Support\Facades\Storage;
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\Inspeksi;
use Modules\Lpj\Models\Penilai;
@@ -544,7 +545,9 @@ class PenilaiController extends Controller
'branch',
'tujuanPenilaian',
'jenisfasilitasKredit',
'penilaian.userPenilai' // Ensure this relation is included
'penilaian.userPenilai',
'penilai',
'nilaiPlafond'
])->get();
// Calculate the page count
@@ -799,6 +802,18 @@ class PenilaiController extends Controller
}
}
public function uploadTempPhoto(Request $request)
{
if ($request->hasFile('file')) {
$file = $request->file('file');
$filename = time() . '_' . $file->getClientOriginalName();
$path = $file->storeAs('temp_photos', $filename, 'public');
return response()->json(['success' => true, 'id' => $path]);
}
return response()->json(['success' => false], 400);
}
public function storeResume(Request $request)
{
try {
@@ -917,6 +932,59 @@ class PenilaiController extends Controller
}
}
public function storeMemoWithPhotos(Request $request)
{
try {
$validatedData = $request->validate([
'permohonan_id' => 'required|integer',
'document_id' => 'required|integer',
'inspeksi_id' => 'required|integer',
'memo' => 'required',
]);
$memoData = json_decode($validatedData['memo'], true);
$memo = Penilai::updateOrCreate(
[
'permohonan_id' => $validatedData['permohonan_id'],
'dokument_id' => $validatedData['document_id'],
'inspeksi_id' => $validatedData['inspeksi_id'],
],
[
'memo' => json_encode($memoData),
]
);
// Simpan foto-foto
if ($request->hasFile('foto_0')) {
$photoUrls = [];
$index = 0;
while ($request->hasFile("foto_$index")) {
$file = $request->file("foto_$index");
$fileName = time() . '_' . $file->getClientOriginalName();
$filePath = $file->storeAs('public/memo_photos', $fileName);
$photoUrls[] = Storage::url($filePath);
$index++;
}
// Tambahkan URL foto ke data memo
$memoData['foto'] = $photoUrls;
$memo->memo = json_encode($memoData);
$memo->save();
}
return response()->json([
'success' => true,
'message' => 'Memo dan foto berhasil disimpan',
]);
} catch (Exception $e) {
return response()->json([
'success' => false,
'message' => 'Terjadi kesalahan: ' . $e->getMessage(),
], 500);
}
}
public function storeLpjSederhanadanStandard(Request $request)
{
DB::beginTransaction();

View File

@@ -891,11 +891,13 @@ class PenilaianController extends Controller
public function revisiLaporan(Request $request, $id)
{
$permohonan = Permohonan::find($id);
$userRole = Auth::user()->roles[0]->name;
$authorization = Authorization::where('permohonan_id', $permohonan->id)
->where('jenis', 'paparan')->first();
if($request->dataHeader=='Paparan'){
$authorization = Authorization::find($id);
$permohonan = Permohonan::find($authorization->permohonan_id);
} else {
$permohonan = Permohonan::find($id);
$userRole = Auth::user()->roles[0]->name;
}
if ($permohonan->status === 'proses-paparan') {
if ($authorization) {

View File

@@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Models\JenisPenilaian;
use Modules\Lpj\Models\Penilai;
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\Regions;
use Modules\Lpj\Models\DokumenJaminan;
@@ -153,7 +154,6 @@ class RegistrasiController extends Controller
if ($tindakan == 0) {
$dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
$dataku['region_id'] = $request->region;
$dataku['sla'] = $request->sla;
$dataku['status'] = 'registered';
if ($request->catatan2) {
$dataku['registrasi_catatan'] = $request->catatan2;
@@ -168,6 +168,13 @@ class RegistrasiController extends Controller
$modal = Permohonan::find($id);
$modal->update($dataku);
if($modal && $request->jenis_laporan){
Penilai::updateOrCreate(
['permohonan_id' => $id],
['type' => $request->jenis_laporan]
);
}
//
$data['status'] = 'success';
$data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully'];
@@ -209,11 +216,7 @@ class RegistrasiController extends Controller
if (1 == $jenis_penilaian) {
$validateIt['region'] = ['required'];
$messageIt ['region.required'] = 'Silahkan pilih Region';
} else {
$validateIt['sla'] = ['required'];
$messageIt ['sla.required'] = 'Silahkan isi SLA';
}
} elseif ($tindakan == 1) {
$validateIt['catatan'] = ['required'];
$messageIt ['catatan.required'] = 'Silahkan isi Catatan';

View File

@@ -158,7 +158,7 @@ use Illuminate\Support\Facades\Auth;
$penawaran->jenis_laporan_name = $penawaran->jenisLaporan->name;
$penawaran->jenis_laporan_code = $penawaran->jenisLaporan->code;
$penawaran->tujuan_penilaian_kjpp_name = $penawaran->tujuanPenilaianKjpp->name;
$penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian;
$penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian ?? "";
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id')
@@ -244,7 +244,7 @@ use Illuminate\Support\Facades\Auth;
$penawaran->jenis_laporan_name = $penawaran->jenisLaporan->name;
$penawaran->jenis_laporan_code = $penawaran->jenisLaporan->code;
$penawaran->tujuan_penilaian_kjpp_name = $penawaran->tujuanPenilaianKjpp->name;
$penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian;
$penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian ?? "";
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id')

View File

@@ -3256,6 +3256,8 @@ class SurveyorController extends Controller
private function getUnitData($data, $request): array
{
$luas_unit_key = ($data['luas_unit'] ?? null) === 'sesuai' ? 'sesuai' : 'tidak sesuai';
$luas_unit = [];
@@ -3264,11 +3266,11 @@ class SurveyorController extends Controller
: ($data['luas_unit_tidak_sesuai'] ?? null);
// Masukkan key baru yang sesuai
$luas_luas_unit[$luas_luas_unit_key] = preg_replace('/[^0-9.,]/', '', $hasil_luas_unit);
$luas_unit[$luas_unit_key] = preg_replace('/[^0-9.,]/', '', $hasil_luas_unit);
return [
'action' => $data['action'] ?? null,
'luas_unit' => $luas_luas_unit,
'luas_unit' => $luas_unit,
'kondisi_unit' => $data['kondisi_unit'] ?? null,
'posisi_unit' => $data['posisi_unit'] ?? null,
'lantai' => $data['lantai'] ?? null,

View File

@@ -0,0 +1,41 @@
<?php
namespace Modules\Lpj\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class LaporanExternalRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*/
public function rules()
: array
{
return [
'permohonan_id' => 'required|exists:permohonan,id',
'nomor_laporan' => 'nullable|string|max:255',
'tgl_final_laporan' => 'nullable|date',
'nilai_pasar' => 'nullable|numeric',
'indikasi_nilai_likuidasi' => 'nullable|numeric',
'indikasi_nilai_pasar_tanah' => 'nullable|numeric',
'estimasi_harga_tanah' => 'nullable|numeric',
'estimasi_harga_bangunan' => 'nullable|numeric',
'indikasi_nilai_pasar_bangunan' => 'nullable|numeric',
'indikasi_nilai_pasar_sarana_pelengkap' => 'nullable|numeric',
'indikasi_nilai_pasar_mesin' => 'nullable|numeric',
'indikasi_nilai_pasar_kendaraan_alat_berat' => 'nullable|numeric',
'file_resume' => 'nullable|file|mimes:pdf|max:10240', // 10MB max
'file_laporan' => 'nullable|file|mimes:pdf|max:10240',
];
}
/**
* Determine if the user is authorized to make this request.
*/
public function authorize()
: bool
{
return true;
}
}

View File

@@ -0,0 +1,32 @@
<?php
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\Lpj\Database\Factories\LaporanExternalFactory;
class LaporanExternal extends Base
{
protected $fillable = [
'permohonan_id',
'nomor_laporan',
'tgl_final_laporan',
'nilai_pasar',
'indikasi_nilai_likuidasi',
'indikasi_nilai_pasar_tanah',
'estimasi_harga_tanah',
'estimasi_harga_bangunan',
'indikasi_nilai_pasar_bangunan',
'indikasi_nilai_pasar_sarana_pelengkap',
'indikasi_nilai_pasar_mesin',
'indikasi_nilai_pasar_kendaraan_alat_berat',
'file_resume',
'file_laporan',
];
public function permohonan()
{
return $this->belongsTo(Permohonan::class);
}
}

View File

@@ -0,0 +1,47 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Modules\Lpj\Models\Permohonan;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('laporan_externals', function (Blueprint $table) {
$table->id();
$table->foreignIdFor(Permohonan::class)->constrained('permohonan')->onDelete('cascade');
$table->string('nomor_laporan');
$table->date('tgl_final_laporan')->nullable();
$table->decimal('nilai_pasar', 15, 2)->nullable();
$table->decimal('indikasi_nilai_likuidasi', 15, 2)->nullable();
$table->decimal('indikasi_nilai_pasar_tanah', 15, 2)->nullable();
$table->decimal('estimasi_harga_tanah', 15, 2)->nullable();
$table->decimal('estimasi_harga_bangunan', 15, 2)->nullable();
$table->decimal('indikasi_nilai_pasar_bangunan', 15, 2)->nullable();
$table->decimal('indikasi_nilai_pasar_sarana_pelengkap', 15, 2)->nullable();
$table->decimal('indikasi_nilai_pasar_mesin', 15, 2)->nullable();
$table->decimal('indikasi_nilai_pasar_kendaraan_alat_berat', 15, 2)->nullable();
$table->string('file_resume')->nullable(); // New field for resume file
$table->string('file_laporan')->nullable(); // New field for report file
$table->timestamps();
$table->softDeletes();
$table->unsignedBigInteger('created_by')->nullable();
$table->unsignedBigInteger('updated_by')->nullable();
$table->unsignedBigInteger('deleted_by')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('laporan_externals');
}
};

View File

@@ -218,6 +218,18 @@
"admin"
]
},
{
"title": "Laporan External",
"path": "laporan-external",
"icon": "ki-filled ki-document text-lg text-primary",
"classes": "",
"attributes": [],
"permission": "",
"roles": [
"administrator",
"admin"
]
},
{
"title": "Registrasi Final",
"path": "registrasifinal",

View File

@@ -120,8 +120,8 @@
<th class="min-w-[100px]">Tgl Assign</th>
<th class="min-w-[100px]">Tgl Kunjungan</th>
<th class="min-w-[100px]">Progress</th>
<th class="min-w-[100px]">Due Date SLA</th>
<th class="min-w-[100px]">Paparan</th>
<th class="min-w-[100px]">SLA Laporan</th>
<th class="min-w-[100px]">SLA Paparan</th>
<th class="min-w-[100px]">Approve</th>
<th class="min-w-[50px] text-center">Keterangan</th>
<th class="min-w-[50px] text-center">Action</th>
@@ -251,6 +251,15 @@
return `${window.formatTanggalIndonesia(data.due_date_sla)}`;
}
},
due_date: {
title: 'Due Date SLA',
render: (item, data) => {
if (!data.due_date_sla) {
return `-`;
}
return `${window.formatTanggalIndonesia(data.due_date_sla)}`;
},
},
paparan: {
title: 'Paparan',
@@ -258,7 +267,7 @@
if (!data.due_date_sla) {
return `-`;
}
return `${window.formatTanggalIndonesia(data.due_date_sla)}`;
return `${window.formatTanggalIndonesia(data.paparan)}`;
}
},
approve: {

View File

@@ -50,6 +50,26 @@
</span>
</div>
@if(isset($penawaran))
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nomor Penawaran:
</h3>
<span class="text-2sm text-gray-700">
{{ $penawaran->code }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nomor Penawaran:
</h3>
<span class="text-2sm text-gray-700">
{{ $penawaran->tujuanPenilaianKjpp->name }}
</span>
</div>
@else
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Tujan Permohonan:
@@ -77,6 +97,7 @@
{{ str_replace('_', ' ', $permohonan->status_bayar) }}
</span>
</div>
@endif
</div>
</div>
@@ -237,12 +258,7 @@
Alamat Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->address ?? '' }},
<br> {{ $dokumen->pemilik->village->name ?? '' }},
{{ $dokumen->pemilik->district->name ?? '' }},
{{ $dokumen->pemilik->city->name ?? '' }},
{{ $dokumen->pemilik->province->name ?? '' }} -
{{ $dokumen->pemilik->village->postal_code ?? '' }}
{{ formatAlamat($dokumen) }}
</span>
</div>
</div>
@@ -267,7 +283,7 @@
@foreach (json_decode($detail->details) as $key => $value)
<tr>
<td class="py-3 capitalize">
{{ str_replace("_"," ",$key) ?? "" }}
{{formatLabel($key)}}
</td>
<td class="py-2 text-gray-800 font-normal text-2sm">
{{ $value ?? "" }}

View File

@@ -1,4 +1,3 @@
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
@foreach ($permohonan->documents as $dokumen)
@@ -17,8 +16,8 @@
@if (array_intersect($kategoriUnik, ['tanah', 'bangunan', 'apartemen-kantor']))
@include('lpj::surveyor.components.header')
@endif
@include('lpj::surveyor.components.header')
@endif
@foreach ($kategoriUnik as $kategori)
{{-- Tampilkan komponen sesuai kategori --}}
@@ -36,6 +35,12 @@
<h3 class="card-title uppercase">
Informasi dan pembanding
</h3>
<div class="card-tools">
<a href="{{ route('penilai.showDataPembanding', ['id' => $permohonan->id]) }}?dokument={{ request()->documentId }}&jenis_jaminan={{ request()->jaminanId }}"
class="btn btn-primary" data-bs-toggle="modal">
Edit Data Pembanding
</a>
</div>
</div>
@include('lpj::penilai.components.informasi-pembanding')
</div>
@@ -70,6 +75,21 @@
@endphp
@foreach ($kategoriUnik as $item)
@php
if ($item === 'bangunan') {
$luas =
$forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ??
($forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'] ?? null);
} elseif ($item === 'tanah') {
$luas =
$forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ??
($forminspeksi['tanah']['luas_tanah']['sesuai'] ?? null);
} else {
$luas = null;
}
$luas = old('luas_' . $item, $lpjData['luas_' . $item] ?? $luas);
@endphp
@if (isset($labelNilai[$item]))
<div class="flex grid-col-3 gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
@@ -77,16 +97,15 @@
{{ $labelNilai[$item] }}
</label>
<input type="text" id="luas_{{ $item }}" class="input w-full"
name="luas_{{ $item }}"
value="{{ old('luas_' . $item, $lpjData['luas_' . $item] ?? null) }}"
name="luas_{{ $item }}" value="{{ $luas }}"
oninput="calculateTotal()">
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="province" class="">X</label>
<label class="input">
<i class="">Rp</i>
<input type="text" id="nilai_{{ $item }}_1"
class="w-full currency" name="nilai_{{ $item }}_1"
<input type="text" id="nilai_{{ $item }}_1" class="w-full currency"
name="nilai_{{ $item }}_1"
value="{{ old('nilai_' . $item . '_1', $lpjData['nilai_' . $item . '_1'] ?? null) }}"
oninput="calculateTotal()">
</label>
@@ -124,7 +143,7 @@
</div>
<div class="tambah mb-10" style="margin-bottom: 20px;">
<div class="tambah mb-10" style="margin-bottom: 20px;">
<button type="button" id="tambah-npw" class="btn btn-primary">
<i class="ki-filled ki-plus"></i>
Tambah NPW </button>
@@ -237,7 +256,7 @@
placeholder="Nama NPW">
<input type="text"
id="luas_npw_${npwCounter}"
id="ls_npw_${npwCounter}"
class="input w-full "
name="luas_npw_${npwCounter}"
placeholder="Luas NPW"
@@ -314,7 +333,7 @@
placeholder="Nama NPW"
value="${npw.name || ''}">
<input type="text"
id="luas_npw_${npwCounter}"
id="ls_npw_${npwCounter}"
class="input w-full currency-format"
name="luas_npw_${npwCounter}"
placeholder="Luas NPW"
@@ -440,6 +459,7 @@
const kategoriItems = document.querySelectorAll('[id^="luas_"]');
kategoriItems.forEach(item => {
const kategori = item.id.replace('luas_', '');
const luasInput = document.getElementById(`luas_${kategori}`);
const nilaiInput = document.querySelector(`input[name="nilai_${kategori}_1"]`);
@@ -458,7 +478,7 @@
// Tambahkan perhitungan untuk NPW tambahan
const npwRows = document.querySelectorAll('.npw-row');
npwRows.forEach(row => {
const luasInput = row.querySelector('input[id^="luas_npw_"]');
const luasInput = row.querySelector('input[id^="ls_npw_"]');
const nilaiInput = row.querySelector('input[id^="nilai_npw_"][id$="_1"]');
const outputElement = row.querySelector('input[id^="nilai_npw_"][id$="_2"]');
@@ -475,6 +495,7 @@
// Update total nilai pasar wajar
const totalElement = document.getElementById('total_nilai_pasar_wajar');
if (totalElement) {
totalElement.value = formatCurrency(totalNilaiPasarWajar.toString());
}

View File

@@ -262,7 +262,16 @@
<label class="form-label max-w-56 font-bold">
{{ $n + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</label>
<input type="hidden" name="jenis_legalitas_jaminan_id[]" value=" {{ $detail->jenis_legalitas_jaminan_id }}">
<input type="hidden" name="jenis_legalitas_jaminan_id[]" value="{{ $detail->jenis_legalitas_jaminan_id }}">
<button type="button" class="btn btn-danger btn-sm" onclick="clearDetail({{ $detail->id }})">
<i class="ki-duotone ki-trash-square fs-2">
<span class="path1"></span>
<span class="path2"></span>
<span class="path3"></span>
<span class="path4"></span>
</i>
Reset
</button>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
@@ -750,5 +759,75 @@
return `<input class="input" type="text" name="custom_field[${index}][${fieldIndex}][${fieldName}]" value="${value}">`;
}
}
function clearDetail(detailId) {
Swal.fire({
title: 'Apakah Anda yakin?',
text: "Anda akan menghapus detail ini!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, yakin!',
cancelButtonText: 'Batal'
}).then((result) => {
if (result.isConfirmed) {
Swal.fire({
title: 'Apakah Anda yakin?',
text: "Data yang telah di hapus tidak dapat di kembalikan",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, hapus!',
cancelButtonText: 'Batal'
}).then((result2) => {
if (result2.isConfirmed) {
// Hapus input fields
$(`input[name="detail_dokumen_jaminan_id[]"][value="${detailId}"]`).closest('.grid.gap-5').remove();
// Kirim request AJAX untuk menghapus data dari database
$.ajax({
url: '{{ route("debitur.jaminan.clearDetail", $debitur->id ) }}',
type: 'POST',
data: {
_token: '{{ csrf_token() }}',
detail_id: detailId
},
success: function (response) {
if (response.success) {
Swal.fire({
title: 'Berhasil!',
text: 'Detail berhasil dihapus',
icon: 'success',
confirmButtonText: 'OK'
}).then((result) => {
if (result.isConfirmed) {
location.reload();
}
});
} else {
Swal.fire({
title: 'Gagal!',
text: 'Detail gagal dihapus',
icon: 'error',
confirmButtonText: 'OK'
});
}
},
error: function () {
Swal.fire({
title: 'Gagal!',
text: 'Terjadi kesalahan saat menghapus detail',
icon: 'error',
confirmButtonText: 'OK'
});
}
});
}
});
}
});
}
</script>
@endpush

View File

@@ -93,6 +93,24 @@
@endsection
@push('scripts')
<script type="text/javascript">
function formatDate(date) {
const day = date.getDate().toString().padStart(2, '0');
const month = (date.getMonth() + 1).toString().padStart(2, '0');
// Months are 0-indexed
const year = date.getFullYear();
return `${day} ${getIndonesianMonth(month)} ${year}`;
}
function getIndonesianMonth(month) {
const months = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni',
'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'
];
return months[month -
1];
}
</script>
<script type="module">
const element = document.querySelector('#laporan-table');
const searchInput = document.getElementById('search');
@@ -168,14 +186,40 @@
tanggal_survei: {
title: 'Tanggal Survei',
render: (item, data) => {
return '-';
}
if(data.penilaian.waktu_penilaian){
return `${formatDate(new Date(data.penilaian.waktu_penilaian))}`;
}
return `${formatDate(new Date(data.penilaian.created_at))}`;
},
},
due_date_sla: {
title: 'Due Date SLA',
render: (item, data) => {
return '-';
}
const tujuan_penilaian = data.tujuan_penilaian.name;
const tipe_laporan = data.penilai?.type;
const nilai_plafond = data.penilaian.nilaiPlafond?.name;
let waktu_penilaian = new Date(data.penilaian.created_at);
if(data.penilaian.waktu_penilaian){
waktu_penilaian = new Date(data.penilaian.waktu_penilaian);
}
if(tujuan_penilaian.name==="RAP"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
} else {
if(tipe_laporan==="sederhana"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 2);
} else if(tipe_laporan==="standar"){
if(nilai_plafond==="2 M - 5 M"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
} else if(nilai_plafond==="< 2M"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
} else {
waktu_penilaian.setDate(waktu_penilaian.getDate() + 5);
}
}
}
return formatDate(waktu_penilaian);
},
},
status: {
title: 'Status',

View File

@@ -0,0 +1,167 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render(request()->route()->getName()) }}
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<form method="POST" action="{{ isset($laporanExternal) ? route('laporan-external.update', $laporanExternal->id) : route('laporan-external.store') }}" enctype="multipart/form-data">
@csrf
@if(isset($laporanExternal))
@method('PUT')
@endif
<div class="card border border-agi-100 pb-2.5">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
{{ isset($laporanExternal) ? 'Edit' : 'Tambah' }} Laporan External
</h3>
<div class="flex items-center gap-2">
<a href="{{ route('laporan-external.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
</div>
</div>
<div class="card-body grid gap-5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Permohonan ID</label>
<input type="hidden" name="permohonan_id" value="{{ $laporanExternal->permohonan_id ?? "" }}">
<div class="flex flex-wrap items-baseline w-full">
<strong>{{ $permohonan->nomor_registrasi }}</strong>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nomor Laporan</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('nomor_laporan') border-danger bg-danger-light @enderror" type="text" name="nomor_laporan" value="{{ old('nomor_laporan', $laporanExternal->nomor_laporan ?? '') }}">
@error('nomor_laporan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tanggal Final Laporan</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('tgl_final_laporan') border-danger bg-danger-light @enderror" type="date" name="tgl_final_laporan" value="{{ old('tgl_final_laporan', $laporanExternal->tgl_final_laporan ?? '') }}">
@error('tgl_final_laporan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nilai Pasar</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('nilai_pasar') border-danger bg-danger-light @enderror" type="number" name="nilai_pasar" value="{{ old('nilai_pasar', $laporanExternal->nilai_pasar ?? '') }}">
@error('nilai_pasar')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Indikasi Nilai Likuidasi</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('indikasi_nilai_likuidasi') border-danger bg-danger-light @enderror" type="number" name="indikasi_nilai_likuidasi" value="{{ old('indikasi_nilai_likuidasi', $laporanExternal->indikasi_nilai_likuidasi ?? '') }}">
@error('indikasi_nilai_likuidasi')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Indikasi Nilai Pasar Tanah</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('indikasi_nilai_pasar_tanah') border-danger bg-danger-light @enderror" type="number" name="indikasi_nilai_pasar_tanah" value="{{ old('indikasi_nilai_pasar_tanah', $laporanExternal->indikasi_nilai_pasar_tanah ?? '') }}">
@error('indikasi_nilai_pasar_tanah')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Estimasi Harga Tanah</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('estimasi_harga_tanah') border-danger bg-danger-light @enderror" type="number" name="estimasi_harga_tanah" value="{{ old('estimasi_harga_tanah', $laporanExternal->estimasi_harga_tanah ?? '') }}">
@error('estimasi_harga_tanah')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Estimasi Harga Bangunan</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('estimasi_harga_bangunan') border-danger bg-danger-light @enderror" type="number" name="estimasi_harga_bangunan" value="{{ old('estimasi_harga_bangunan', $laporanExternal->estimasi_harga_bangunan ?? '') }}">
@error('estimasi_harga_bangunan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Indikasi Nilai Pasar Bangunan</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('indikasi_nilai_pasar_bangunan') border-danger bg-danger-light @enderror" type="number" name="indikasi_nilai_pasar_bangunan" value="{{ old('indikasi_nilai_pasar_bangunan', $laporanExternal->indikasi_nilai_pasar_bangunan ?? '') }}">
@error('indikasi_nilai_pasar_bangunan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Indikasi Nilai Pasar Sarana Pelengkap</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('indikasi_nilai_pasar_sarana_pelengkap') border-danger bg-danger-light @enderror" type="number" name="indikasi_nilai_pasar_sarana_pelengkap" value="{{ old('indikasi_nilai_pasar_sarana_pelengkap', $laporanExternal->indikasi_nilai_pasar_sarana_pelengkap ?? '') }}">
@error('indikasi_nilai_pasar_sarana_pelengkap')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Indikasi Nilai Pasar Mesin</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('indikasi_nilai_pasar_mesin') border-danger bg-danger-light @enderror" type="number" name="indikasi_nilai_pasar_mesin" value="{{ old('indikasi_nilai_pasar_mesin', $laporanExternal->indikasi_nilai_pasar_mesin ?? '') }}">
@error('indikasi_nilai_pasar_mesin')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Indikasi Nilai Pasar Kendaraan/Alat Berat</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('indikasi_nilai_pasar_kendaraan_alat_berat') border-danger bg-danger-light @enderror" type="number" name="indikasi_nilai_pasar_kendaraan_alat_berat" value="{{ old('indikasi_nilai_pasar_kendaraan_alat_berat', $laporanExternal->indikasi_nilai_pasar_kendaraan_alat_berat ?? '') }}">
@error('indikasi_nilai_pasar_kendaraan_alat_berat')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">File Resume</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('file_resume') border-danger bg-danger-light @enderror" type="file" name="file_resume">
@if(isset($laporanExternal) && $laporanExternal->file_resume)
<p class="mt-2">File saat ini: <p class="mt-2">File saat ini: <a href="storage/{{ $laporanExternal->file_resume }}" download="{{ $laporanExternal->file_resume }}" target="_blank" class="badge badge-sm badge-outline">
{{ basename($laporanExternal->file_resume) }} <i class="ki-filled ki-cloud-download"></i>
</a></p></p>
@endif
@error('file_resume')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">File Laporan</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('file_laporan') border-danger bg-danger-light @enderror" type="file" name="file_laporan">
@if(isset($laporanExternal) && $laporanExternal->file_laporan)
<p class="mt-2">File saat ini: <a href="storage/{{ $laporanExternal->file_laporan }}" download="{{ $laporanExternal->file_laporan }}" target="_blank" class="badge badge-sm badge-outline">
{{ basename($laporanExternal->file_laporan) }} <i class="ki-filled ki-cloud-download"></i>
</a></p>
@endif
@error('file_laporan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
</div>
<div class="card-footer flex justify-end">
<button type="submit" class="btn btn-primary">{{ isset($laporanExternal) ? 'Update' : 'Simpan' }}</button>
</div>
</div>
</form>
</div>
@endsection

View File

@@ -0,0 +1,223 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render('laporan-external') }}
@endsection
@section('content')
<div class="grid">
<div class="card border border-agi-100 card-grid min-w-full" data-datatable="false" data-datatable-page-size="10" data-datatable-state-save="false" id="laporan-external-table" data-api-url="{{ route('laporan-external.datatables') }}">
<div class="card-header bg-agi-50 py-5 flex-wrap">
<h3 class="card-title">
Daftar Laporan External
</h3>
<div class="flex flex-wrap gap-2 lg:gap-5">
<div class="flex">
<label class="input input-sm"> <i class="ki-filled ki-magnifier"> </i>
<input placeholder="Search Laporan External" id="search" type="text" value="">
</label>
</div>
<div class="flex flex-wrap gap-2.5 hidden">
<div class="h-[24px] border border-r-gray-200"></div>
<a class="btn btn-sm btn-light" href="{{ route('laporan-external.export') }}"> Export to Excel </a>
<a class="btn btn-sm btn-primary" href="{{ route('laporan-external.create') }}"> Tambah Laporan External </a>
</div>
</div>
</div>
<div class="card-body">
<div class="scrollable-x-auto">
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm" data-datatable-table="true">
<thead>
<tr>
<th class="w-14">
<input class="checkbox checkbox-sm" data-datatable-check="true" type="checkbox"/>
</th>
<th class="min-w-[150px]" data-datatable-column="nomor_laporan">
<span class="sort"> <span class="sort-label"> Nomor Laporan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="tgl_final_laporan">
<span class="sort"> <span class="sort-label"> Tanggal Final Laporan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="nilai_pasar">
<span class="sort"> <span class="sort-label"> Nilai Pasar </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="indikasi_nilai_likuidasi">
<span class="sort"> <span class="sort-label"> Indikasi Nilai Likuidasi </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="indikasi_nilai_pasar_tanah">
<span class="sort"> <span class="sort-label"> Indikasi Nilai Pasar Tanah </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="estimasi_harga_bangunan">
<span class="sort"> <span class="sort-label"> Estimasi Harga Bangunan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="indikasi_nilai_pasar_bangunan">
<span class="sort"> <span class="sort-label"> Indikasi Nilai Pasar Bangunan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="indikasi_nilai_pasar_sarana_pelengkap">
<span class="sort"> <span class="sort-label"> Indikasi Nilai Pasar Sarana Pelengkap </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="indikasi_nilai_pasar_mesin">
<span class="sort"> <span class="sort-label"> Indikasi Nilai Pasar Mesin </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="indikasi_nilai_pasar_kendaraan_alat_berat">
<span class="sort"> <span class="sort-label"> Indikasi Nilai Pasar Kendaraan/Alat Berat </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="file_resume">
<span class="sort"> <span class="sort-label"> File Resume </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="file_laporan">
<span class="sort"> <span class="sort-label"> File Laporan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action</th>
</tr>
</thead>
</table>
</div>
<div class="card-footer justify-center md:justify-between flex-col md:flex-row gap-3 text-gray-600 text-2sm font-medium">
<div class="flex items-center gap-2">
Show
<select class="select select-sm w-16" data-datatable-size="true" name="perpage"> </select> per page
</div>
<div class="flex items-center gap-4">
<span data-datatable-info="true"> </span>
<div class="pagination" data-datatable-pagination="true">
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@push('scripts')
<script type="text/javascript">
function deleteData(data) {
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
}
});
$.ajax(`laporan-external/${data}`, {
type: 'DELETE'
}).then((response) => {
swal.fire('Deleted!', 'Laporan External has been deleted.', 'success').then(() => {
window.location.reload();
});
}).catch((error) => {
console.error('Error:', error);
Swal.fire('Error!', 'An error occurred while deleting the laporan.', 'error');
});
}
})
}
</script>
<script type="module">
const element = document.querySelector('#laporan-external-table');
const searchInput = document.getElementById('search');
const apiUrl = element.getAttribute('data-api-url');
const dataTableOptions = {
apiEndpoint: apiUrl,
pageSize: 5,
columns: {
select: {
render: (item, data, context) => {
const checkbox = document.createElement('input');
checkbox.className = 'checkbox checkbox-sm';
checkbox.type = 'checkbox';
checkbox.value = data.id.toString();
checkbox.setAttribute('data-datatable-row-check', 'true');
return checkbox.outerHTML.trim();
},
},
nomor_laporan: {
title: 'Nomor Laporan',
},
tgl_final_laporan: {
title: 'Tanggal Final Laporan',
},
nilai_pasar: {
title: 'Nilai Pasar',
},
indikasi_nilai_likuidasi: {
title: 'Indikasi Nilai Likuidasi',
},
indikasi_nilai_pasar_tanah: {
title: 'Indikasi Nilai Pasar Tanah',
},
estimasi_harga_bangunan: {
title: 'Estimasi Harga Bangunan',
},
indikasi_nilai_pasar_bangunan: {
title: 'Indikasi Nilai Pasar Bangunan',
},
indikasi_nilai_pasar_sarana_pelengkap: {
title: 'Indikasi Nilai Pasar Sarana Pelengkap',
},
indikasi_nilai_pasar_mesin: {
title: 'Indikasi Nilai Pasar Mesin',
},
indikasi_nilai_pasar_kendaraan_alat_berat: {
title: 'Indikasi Nilai Pasar Kendaraan/Alat Berat',
},
file_resume: {
title: 'File Resume',
render: (item, data) => {
return data.file_resume ? `<a href="storage/${data.file_resume}" download="${data.file_resume}" target="_blank" class="badge badge-sm badge-outline">
Download <i class="ki-filled ki-cloud-download"></i>
</a>` : 'N/A';
},
},
file_laporan: {
title: 'File Laporan',
render: (item, data) => {
return data.file_laporan ? `<a href="storage/${data.file_laporan}" download="${data.file_laporan}" target="_blank" class="badge badge-sm badge-outline">
Download <i class="ki-filled ki-cloud-download"></i>
</a>` : 'N/A';
},
},
actions: {
title: 'Action',
render: (item, data) => {
return `<div class="flex flex-nowrap justify-center">
<a class="btn btn-sm btn-icon btn-clear btn-info" href="laporan-external/${data.id}/edit">
<i class="ki-outline ki-notepad-edit"></i>
</a>
</div>`;
},
}
},
};
let dataTable = new KTDataTable(element, dataTableOptions);
// Custom search functionality
searchInput.addEventListener('input', function () {
const searchValue = this.value.trim();
dataTable.search(searchValue, true);
});
</script>
@endpush

View File

@@ -8,35 +8,19 @@
@endphp
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card border border-agi-100 pb-2.5">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Detail Data Otorisasi Penawaran
</h3>
<div class="flex items-center gap-2">
<a href="{{ route('otorisasitender.penawaran.edit', $id) }}" class="btn btn-xs btn-primary" title="Register"><i class="ki-filled ki-arrow-circle-right"></i> Otorisasi Penawaran</a>
<a href="{{ route('otorisasitender.penawaran.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
</div>
</div>
<div class="card-body lg:py-7.5 grid grid-cols-3">
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nomor Register Permohonan:
</h3>
<span class="text-2sm text-gray-700">
{{ $prosespenawaran->nomor_registrasi }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nomor Penawaran:
</h3>
<span class="text-2sm text-gray-700">
{{ $prosespenawaran->code }}
</span>
</div>
</div>
</div>
@php
$buttonProses='';
$buttonProses='<a href="'. route('otorisasitender.penawaran.edit', $id) .'" class="btn btn-xs btn-primary" title="Otorisasi Penawaran"><i class="ki-outline ki-arrow-circle-right"></i> Otorisasi Penawaran</a>';
@endphp
@include('lpj::component.detail-jaminan', [
'customlink' => $buttonProses,
'backLink' => 'otorisasitender.penawaran.index',
'title' => 'Detail Data Otorisasi Penawaran',
'penawaran' => $prosespenawaran,
])
</div>

View File

@@ -131,7 +131,7 @@
<a href="/tender/penawaran/${nomor_registrasi}/edit" class="btn btn-sm btn-icon btn-clear btn-info" title="Penawaran">
<i class="ki-outline ki-arrow-circle-right"></i>
</a>
<a href="/tender/penawaran/${nomor_registrasi}/showKirimEmail" class="btn btn-sm btn-icon btn-clear btn-success" title="Kirim Email">
<a href="/tender/penawaran/${nomor_registrasi}/showKirimEmail" class="btn btn-sm btn-icon btn-clear btn-success hidden" title="Kirim Email">
<i class="ki-filled ki-paper-plane"></i>
</a>
`;

View File

@@ -51,20 +51,19 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Indikasi Harga Transaksi</label>
<div class="flex flex-wrap items-baseline w-full">
<span>{{ isset($item['harga_diskon']) ? formatRupiah($item['harga_diskon']) : '' }}</span>
<span>{{ isset($item['total']) ? formatRupiah($item['total']) : '' }}</span>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Penjual (HP)</label>
<div class="flex flex-wrap items-baseline w-full">
<span>{{ $item['telepon'] }}</span>
<span>{{ $item['telepon'] ?? '' }}</span>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Ditawarkan sejak</label>
<label class="form-label max-w-56">Tanggal Data</label>
<div class="flex flex-wrap items-baseline w-full">
<span>{{ $item['penawaran'] ?? '' }}</span>
<span>{{ isset($item['tanggal']) ? formatTanggalIndonesia($item['tanggal']) : '' }}</span>
</div>
</div>

View File

@@ -289,6 +289,28 @@
</div>
</div>
<div class="card border border-agi-100 rounded-lg shadow-md">
<div class="card-body">
<div class=" py-4 flex items-center justify-between">
<h1 class="text-md font-medium text-gray-900">Upload Foto</h1>
</div>
<div class="dropzone" id="dropzone-upload">
<div class="dz-message needsclick" data-foto-type="upload_foto">
<i class="ki-duotone ki-file-up text-primary text-3xl"><span class="path1"></span><span
class="path2"></span></i>
<div class="ms-4">
<h3 class="fs-5 fw-bold text-gray-900 mb-1">Drop files here or click to upload.</h3>
<span class="fs-7 fw-semibold text-gray-500">Upload up to 10 files</span>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div id="existing-photos" class="flex gap-5"></div>
</div>
</div>
{{-- @include('lpj::penilai.components.foto-lampiran') --}}
<div class="flex card-footer justify-end gap-5">
@@ -318,7 +340,75 @@
</div>
@endsection
@include('lpj::surveyor.js.utils')
<script>
@push('scripts')
<script>
Dropzone.autoDiscover = false;
let myDropzone;
document.addEventListener('DOMContentLoaded', function() {
myDropzone = new Dropzone("#dropzone-upload", {
url: "{{ route('penilai.uploadTempPhoto') }}", // Temporary upload route
paramName: "file",
maxFilesize: 5, // MB
acceptedFiles: "image/*",
addRemoveLinks: true,
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
init: function() {
this.on("success", function(file, response) {
file.serverId = response.id; // Store the server's file ID
});
// Load existing photos
loadExistingPhotos();
}
});
});
function loadExistingPhotos() {
const existingPhotosContainer = document.getElementById('existing-photos');
if (!existingPhotosContainer) return;
@if(isset($memo) && isset($memo->foto))
let existingPhotos;
try {
existingPhotos = @json($memo->foto);
} catch (e) {
console.error('Error parsing existing photos:', e);
return;
}
if (Array.isArray(existingPhotos)) {
existingPhotos.forEach(function(photoPath) {
if (typeof photoPath === 'string') {
const photoDiv = document.createElement('div');
photoDiv.className = 'col-md-3 mb-3';
const img = document.createElement('img');
img.src = photoPath;
img.className = 'img-fluid';
img.style.maxHeight = '150px';
photoDiv.appendChild(img);
existingPhotosContainer.appendChild(photoDiv);
if (myDropzone) {
let mockFile = { name: photoPath.split('/').pop(), size: 12345 };
myDropzone.emit("addedfile", mockFile);
myDropzone.emit("thumbnail", mockFile, photoPath);
myDropzone.emit("complete", mockFile);
mockFile.previewElement.classList.add("dz-success");
mockFile.previewElement.classList.add("dz-complete");
}
}
});
} else {
console.error('Existing photos is not an array:', existingPhotos);
}
@endif
}
function saveMemo() {
const form = document.getElementById('form-memo');
const formData = new FormData(form);
@@ -352,17 +442,26 @@
const documentId = urlParams.get('documentId');
const inspeksiId = urlParams.get('inspeksiId');
const requestUrl = `{{ route('penilai.storeMemo') }}`;
// Create a new FormData object to send both JSON and files
const sendFormData = new FormData();
sendFormData.append('permohonan_id', permohonanId);
sendFormData.append('document_id', documentId);
sendFormData.append('inspeksi_id', inspeksiId);
sendFormData.append('memo', JSON.stringify(jsonData));
// Append all files from Dropzone
myDropzone.getAcceptedFiles().forEach((file, index) => {
sendFormData.append(`foto_${index}`, file);
});
const requestUrl = `{{ route('penilai.storeMemoWithPhotos') }}`;
$.ajax({
url: requestUrl,
type: 'POST',
data: JSON.stringify({
permohonan_id: permohonanId,
document_id: documentId,
inspeksi_id: inspeksiId,
memo: jsonData,
}),
contentType: 'application/json',
data: sendFormData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
@@ -390,17 +489,15 @@
console.log(response);
},
error: function(xhr, status, error) {
let errors = xhr.responseJSON?.errors;
$('.alert').text('');
if (errors) {
$.each(errors, function(key, value) {
$(`#error-${key}`).text(value[0]);
toastrErrorBuild(value[0]);
});
}
hideLoadingSwal();
console.log(errors);
Swal.fire({
title: 'Error!',
text: 'Terjadi kesalahan saat mengirim data',
icon: 'error',
confirmButtonText: 'OK'
});
}
});
}
</script>
@endpush

View File

@@ -15,10 +15,9 @@
'jenis_aset' => 'Jenis properti',
'hak_properti' => 'Status Hak Tanah',
'address' => 'Alamat Lokasi',
'harga_penawaran' => 'Harga Penawaran',
'harga_diskon' => 'Indikasi Harga Transaksi',
'harga' => 'Harga Penawaran',
'total' => 'Indikasi Harga Transaksi',
'telepon' => 'Penjual (HP)',
'penawaran' => 'Ditawarkan Sejak',
'luas_tanah' => 'Luas Tanah',
'luas_bangunan' => 'Luas Bangunan',
'tanggal' => 'Tanggal Data',
@@ -40,8 +39,11 @@
<td style="width: 62%;">
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
{{ $data[$key] ?? '-' }}
@elseif($key == 'harga' || $key == 'harga_diskon')
@elseif($key == 'harga' || $key == 'total')
{{ formatRupiah($data[$key]) ?? 0 }}
@elseif($key == 'tanggal')
{{ formatTanggalIndonesia($data[$key]) ?? '-' }}
@elseif($key == 'kordinat')
@php
$lat = $data['kordinat_lat'] ?? null;

View File

@@ -60,6 +60,10 @@
<span class="sort"> <span class="sort-label"> Fasilitas Kredit </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="jenis_laporan">
<span class="sort"> <span class="sort-label"> Jenis Laporan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="tanggal_survei">
<span class="sort"> <span class="sort-label"> Tanggal Survei </span>
<span class="sort-icon"> </span> </span>
@@ -170,16 +174,53 @@
return data.jenisfasilitas_kredit && data.jenisfasilitas_kredit.name ? `${data.jenisfasilitas_kredit.name}` : '-';
},
},
jenis_laporan: {
title: 'Jenis Laporan',
render: (item, data) => {
return data.penilai?.type;
},
},
tanggal_survei: {
title: 'Tanggal Survei',
render: (item, data) => {
return `${formatDate(new Date(data.created_at))}`;
if(data.penilaian.waktu_penilaian){
return `${formatDate(new Date(data.penilaian.waktu_penilaian))}`;
}
return `${formatDate(new Date(data.penilaian.created_at))}`;
},
},
due_date_sla: {
title: 'Due Date SLA',
render: (item, data) => {
return `${formatDate(new Date(data.created_at))}`;
const tujuan_penilaian = data.tujuan_penilaian.name;
const tipe_laporan = data.penilai?.type;
const nilai_plafond = data.penilaian.nilaiPlafond?.name;
let waktu_penilaian = new Date(data.penilaian.created_at);
if(data.penilaian.waktu_penilaian){
waktu_penilaian = new Date(data.penilaian.waktu_penilaian);
}
if(tujuan_penilaian.name==="RAP"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
} else {
if(tipe_laporan==="sederhana"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 2);
} else if(tipe_laporan==="standar"){
if(nilai_plafond==="2 M - 5 M"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
} else if(nilai_plafond==="< 2M"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
} else {
waktu_penilaian.setDate(waktu_penilaian.getDate() + 5);
}
}
}
return formatDate(waktu_penilaian);
},
},
status: {

View File

@@ -319,6 +319,11 @@
<div class="flex justify-end gap-5">
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => $dokumen->id, 'jenis_jaminan_id' => $dokumen->jenis_jaminan_id]) }}" class="btn btn-light"
>
<i class="ki-filled ki-printer"></i> Cetak Hasil Inspeksi
</a>
<a class="btn btn-outline btn-info "
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }}, 1 )">
<i class="ki-filled ki-eye"></i>
@@ -401,7 +406,7 @@
</div>
</div>
<div class="flex justify-between items-center">
@if ($permohonan->penilai->kertas_kerja)
@if (isset($permohonan->penilai) && isset($permohonan->penilai->kertas_kerja) && $permohonan->penilai->kertas_kerja)
<span data-modal-dismiss="true" class="btn btn-warning btn-outline"
onclick="viewPDF('{{ Storage::url($permohonan->penilai->kertas_kerja) }}')"><i
class="ki-filled ki-eye mr-2"></i>Lihat Kertas Kerja</span>

View File

@@ -110,7 +110,7 @@
@endif
@if ($permohonan->authorization->approve_so && $dataHeader == 'paparan' )
@if (isset($permohonan->authorization->approve_so) && $dataHeader == 'paparan' )
<div class="card border border-agi-100 pb-2.5">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
@@ -217,7 +217,7 @@
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer']) && $authorization->approve_so == null)
<button onclick="otorisatorData({{ $permohonan->id }},'SO')" type="button"
<button onclick="otorisatorData({{ $authorization->id }},'SO')" type="button"
class="btn btn-primary">
<i class="ki-filled ki-double-check"></i>
Otorisator {{ $header ?? '' }}
@@ -225,7 +225,7 @@
@endif
@if (Auth::user()->hasAnyRole(['administrator', 'EO Appraisal']) && $authorization->approve_so && $authorization->approve_eo == null)
<button onclick="otorisatorData({{ $permohonan->id }},'EO')" type="button"
<button onclick="otorisatorData({{ $authorization->id }},'EO')" type="button"
class="btn btn-primary">
<i class="ki-filled ki-double-check"></i>
Otorisator {{ $header ?? '' }}
@@ -233,7 +233,7 @@
@endif
@if (Auth::user()->hasAnyRole(['administrator', 'DD Appraisal']) && $authorization->approve_eo && $authorization->approve_dd == null)
<button onclick="otorisatorData({{ $permohonan->id }},'DD')" type="button"
<button onclick="otorisatorData({{ $authorization->id }},'DD')" type="button"
class="btn btn-primary">
<i class="ki-filled ki-double-check"></i>
Otorisator {{ $header ?? '' }}
@@ -247,7 +247,7 @@
@push('scripts')
<script>
const handleRejection = (dataId) => {
const handleRejection = (dataId,dataHeader='') => {
Swal.fire({
title: 'Masukkan alasan penolakan:',
input: 'textarea',
@@ -268,7 +268,8 @@
if (rejectResult.isConfirmed) {
handleAjaxRequest(
`/otorisator/revisi-laporan/${dataId}`, {
keterangan: rejectResult.value
keterangan: rejectResult.value,
dataHeader: dataHeader
},
'Data berhasil ditolak.',
'Terjadi kesalahan saat melakukan penolakan.'
@@ -383,7 +384,7 @@
'Terjadi kesalahan saat melakukan otorisasi.'
);
} else if (result.isDenied) {
handleRejection(dataId);
handleRejection(dataId,dataHeader);
}
});
}

View File

@@ -93,7 +93,7 @@
@if(isset($permohonan) && $permohonan->status == 'revisi')
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
Catatan : <br>
<em class="text-red-500">{{ $permohonan->keterangan }}</em>
<em class="text-red-500">{{ $permohonan->keterangan }} {{ $permohonan->registrasi_catatan }}</em>
</div>
@endif

View File

@@ -197,7 +197,17 @@
}
},
keterangan: {
title: 'Keterangan'
title: 'Keterangan',
render : (item, data) => {
let keterangan = data.keterangan ?? ""
if(data.registrasi_catatan){
if(keterangan) keterangan += "\n";
keterangan += data.registrasi_catatan;
}
return keterangan
}
},
actions: {
title: 'Actions',

View File

@@ -72,15 +72,7 @@
<em id="{{$route[0]}}_catatan_msg" class="alert text-danger text-sm"></em>
</div>
</div>
<div id="{{ $route[0] }}_div_sla" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
SLA (dalam satuan hari)
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="inputku input" name="{{$route[0]}}_sla" id="{{$route[0]}}_sla" placeholder="dalam satuan hari" type="text" />
<em id="{{$route[0]}}_sla_msg" class="alert text-danger text-sm"></em>
</div>
</div>
<div id="{{ $route[0] }}_div_region" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Region
@@ -92,6 +84,18 @@
<em id="{{$route[0]}}_region_msg" class="alert text-danger text-sm"></em>
</div>
</div>
<div id="{{ $route[0] }}_div_jenis_laporan" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Jenis Laporan
</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="inputku select" id="jenis_laporan" name="jenis_laporan">
<option value="sederhana">Sederhana</option>
<option value="standar">Standar</option>
</select>
<em id="jenis_laporan_msg" class="alert text-danger text-sm"></em>
</div>
</div>
<div id="{{ $route[0] }}_div_catatan2" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Catatan

View File

@@ -13,7 +13,6 @@
$("#{{ $route[0] }}_div_jenis_pilihan").show();
$("#{{ $route[0] }}_div_catatan").hide();
$("#{{ $route[0] }}_div_region").hide();
$("#{{ $route[0] }}_div_sla").hide();
$("#{{ $route[0] }}_div_catatan2").show();
// prepare data
setData();
@@ -105,7 +104,6 @@
$("#{{ $route[0] }}_div_jenis_pilihan").hide();
$("#{{ $route[0] }}_div_catatan").show();
$("#{{ $route[0] }}_div_catatan2").hide();
$("#{{ $route[0] }}_div_sla").hide();
}
});
@@ -122,7 +120,7 @@
let region = $("#{{$route[0]}}_region").val();
let catatan = $("#{{$route[0]}}_catatan").val();
let catatan2 = $("#{{$route[0]}}_catatan2").val();
let sla = $("#{{$route[0]}}_sla").val();
let jenis_laporan = $("#jenis_laporan").val();
if(jenis_penilaian==0)
jenis_penilaian='';
@@ -138,7 +136,7 @@
input_data.region= region;
input_data.catatan = catatan;
input_data.catatan2 = catatan2;
input_data.sla = sla;
input_data.jenis_laporan = jenis_laporan;
let useURL= '{{ route($route[0].'.update', $id) }}';
$.ajax({
@@ -170,10 +168,6 @@
$("#{{$route[0]}}_region_msg").text(value);
}
if ("sla" === index) {
$("#{{$route[0]}}_sla").addClass(" border-danger");
$("#{{$route[0]}}_sla_msg").text(value);
}
});
}
else
@@ -214,18 +208,15 @@
{
// INTERNAL, show region
$("#{{ $route[0] }}_div_region").show();
$("#{{ $route[0] }}_div_sla").hide();
}
else if('2' == idNya)
{
$("#{{ $route[0] }}_div_sla").show();
$("#{{ $route[0] }}_div_region").hide();
}
else if('0' == idNya)
{
// selain INTERNAL, hide region
$("#{{ $route[0] }}_div_region").hide();
$("#{{ $route[0] }}_div_sla").hide();
}
});

View File

@@ -68,16 +68,7 @@
<em id="{{ $route[0] }}_catatan_msg" class="alert text-danger text-sm"></em>
</div>
</div>
<div id="{{ $route[0] }}_div_sla" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
SLA (dalam satuan hari)
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="inputku input" name="{{ $route[0] }}_sla" id="{{ $route[0] }}_sla"
placeholder="dalam satuan hari" type="text" />
<em id="{{ $route[0] }}_sla_msg" class="alert text-danger text-sm"></em>
</div>
</div>
<div id="{{ $route[0] }}_div_region"
class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
@@ -90,7 +81,19 @@
</select>
<em id="{{ $route[0] }}_region_msg" class="alert text-danger text-sm"></em>
</div>
</div><br />
</div>
<div id="{{ $route[0] }}_div_jenis_laporan" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Jenis Laporan
</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="inputku select" id="jenis_laporan" name="jenis_laporan">
<option value="sederhana">Sederhana</option>
<option value="standar">Standar</option>
</select>
<em id="jenis_laporan_msg" class="alert text-danger text-sm"></em>
</div>
</div>
<div id="{{ $route[0] }}_div_catatan2"
class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">

View File

@@ -60,8 +60,8 @@
</center>
<br>
<h3>Kepada</h3>
<p style="color: red; margin-left:25px">{{ $penawaran->kjpp_name }}</p>
<p style="color: red; margin-left:25px">{{ $penawaran->kjpp_address }}</p>
<p style="color: red;">KJPP {{ $penawaran->kjpp_name }}</p>
<p style="color: red;">{{ $penawaran->kjpp_address }}</p>
<br/>
<br/>
<p style="text-align: justify;">
@@ -222,7 +222,7 @@
<table border="0" width="100%">
<tr>
<td width="50%">PT Bank Artha Graha Internasional.<br>Sub Direktorat Appraisal</td>
<td width="50%" align="center"><span style="color: red;">{{ $penawaran->kjpp_name }}</span></td>
<td width="50%" align="center"><span style="color: red;">KJPP {{ $penawaran->kjpp_name }}</span></td>
</tr>
<tr>
<td colspan="2"><br/></td>
@@ -237,8 +237,8 @@
</tr>
<tr>
<td>
<span style="color: red;">{{ $penawaran->persetujuan_penawaran->creator->name }}</span><br>
<span style="color: red;">{{ $penawaran->persetujuan_penawaran->creator->getRoleNames()[0] }}</span>
<span style="color: red;">{{ getUser($penawaran->authorized_by)->name }}</span><br>
<span style="color: red;">{{ getUser($penawaran->authorized_by)->getRoleNames()[0] == 'DD Appraisal' ? 'DD Operation 2' : getUser($penawaran->authorized_by)->getRoleNames()[0] }}</span>
</td>
<td align="center">(……………………………………..)</td>
</tr>

View File

@@ -76,8 +76,8 @@
</center>
<br>
<h3>Kepada</h3>
<p style="color: red; margin-left:25px">{{ $penawaran->kjpp_name }}</p>
<p style="color: red; margin-left:25px">{{ $penawaran->kjpp_address }}</p>
<p style="color: red;">KJPP {{ $penawaran->kjpp_name }}</p>
<p style="color: red;">{{ $penawaran->kjpp_address }}</p>
<br/>
<br/>
<h3>Perihal: <b>Penunjukan sebagai Penyedia Jasa Penilaian Agunan</b></h3>
@@ -243,7 +243,7 @@
<tr>
<td width="50%">PT Bank Artha Graha Internasional.<br>Sub Direktorat Appraisal</td>
<td width="50%" align="center">
<span style="color: red;">{{ $penawaran->kjpp_name }}</span></td>
<span style="color: red;">KJPP {{ $penawaran->kjpp_name }}</span></td>
</tr>
<tr>
<td colspan="2"><br/></td>
@@ -258,8 +258,8 @@
</tr>
<tr>
<td>
<span style="color: red;">{{ $penawaran->persetujuan_penawaran->creator->name }}</span><br>
<span style="color: red;">{{ $penawaran->persetujuan_penawaran->creator->getRoleNames()[0] }}</span>
<span style="color: red;">{{ getUser($penawaran->authorized_by)->name }}</span><br>
<span style="color: red;">{{ getUser($penawaran->authorized_by)->getRoleNames()[0] == 'DD Appraisal' ? 'DD Operation 2' : getUser($penawaran->authorized_by)->getRoleNames()[0] }}</span>
</td>
<td align="center">(……………………………………..)</td>
</tr>

View File

@@ -43,22 +43,22 @@
</div>
<div class="card">
<div class="card-body ">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin: 20px">
<label class="form-label lg:form-label max-w-56 ">Catatan yang Perlu Diperhatikan
</label>
<div class="w-full">
<div id="keterangan-container" class="flex items-baseline flex-wrap gap-2.5 w-full">
<div class="keterangan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="10">{{ $comparisons['keterangan'] ?? old('keterangan') }}</textarea>
<em id="error-keterangan" class="alert text-danger text-sm"></em>
</div>
<div class="card-body ">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin: 20px">
<label class="form-label lg:form-label max-w-56 ">Catatan yang Perlu Diperhatikan
</label>
<div class="w-full">
<div id="keterangan-container" class="flex items-baseline flex-wrap gap-2.5 w-full">
<div class="keterangan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="10">{{ $comparisons['keterangan'] ?? old('keterangan') }}</textarea>
<em id="error-keterangan" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="flex justify-end gap-2">
<button type="button" onclick="submitData()" class="btn btn-primary">
@@ -193,7 +193,7 @@
'total_pembanding[]': currentData.total,
'diskon_pembanding[]': currentData.diskon,
'telepon_pembanding[]': currentData.telepon,
'penawaran_pembanding[]': currentData.penawaran
// 'penawaran_pembanding[]': currentData.penawaran
} : {
'jenis_aset_pembanding[]': currentData.jenis_aset,
'luas_tanah_pembanding[]': currentData.luas_tanah,
@@ -213,7 +213,7 @@
'diskon_pembanding[]': currentData.diskon,
'hak_properti_pembanding[]': currentData.hak_properti,
'telepon_pembanding[]': currentData.telepon,
'penawaran_pembanding[]': currentData.penawaran,
// 'penawaran_pembanding[]': currentData.penawaran,
'tanggal_pembanding[]': currentData.tanggal,
// 'harga_penawaran_pembanding[]':currentData.harga_penawaran
@@ -679,9 +679,15 @@
confirmButtonText: 'OK'
}).then((result) => {
if (result.isConfirmed) {
window.location.href =
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
if ("{{ Request::is('penilai/show-data-pembanding/*/edit') }}") {
console.log(
'Current route matches');
} else {
window.location.href =
"{{ route('surveyor.show', ['id' => $permohonan->id]) }}";
}
}
});
} else {

View File

@@ -16,7 +16,7 @@
</a>
@else
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
Route::currentRouteName('otorisator.show'))
Request::is('otorisator/show/*/Pelaporan'))
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => 'Pelaporan']) }}"
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
@@ -187,7 +187,7 @@
<option value="">Select Jenis asset</option>
@if (isset($basicData['jenisJaminan']))
@foreach ($basicData['jenisJaminan'] as $item)
<option value="{{ $item->id }}"
<option value="{{ $item->name }}"
{{ old('jenis_asset_tidak_sesuai', $forminspeksi['asset']['jenis_asset_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@@ -207,9 +207,13 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Alamat</label>
<div class="w-full">
@foreach ($permohonan->documents as $dokumen)
@php
$alamat = $dokumen;
@endphp
@endforeach
<span class="text-2sm text-gray-700">
{{ formatAlamat($permohonan->debiture) }}
{{ formatAlamat($dokumen) }}
</span>
@@ -481,43 +485,43 @@
<label for="address" class="form-label max-w-56">Terletak di.</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="address" name="address" class="input w-full "
value="{{ isset($permohonan->debiture->address) ? $permohonan->debiture->address : old('address') }}">
value="{{ isset($alamat->address) ? $alamat->address : old('address') }}">
</div>
</div>
<input type="hidden" name="province_code"
value="{{ isset($permohonan->debiture->province) ? $permohonan->debiture->province->code : '' }}">
value="{{ isset($alamat->province) ? $alamat->province->code : '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="province" class="form-label max-w-56">Provinsi</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="province" class="input w-full cursor-not-allowed" readonly
value="{{ isset($permohonan->debiture->province) ? $permohonan->debiture->province->name : '' }}">
value="{{ isset($alamat->province) ? $alamat->province->name : '' }}">
</div>
</div>
<input type="hidden" name="city_code"
value="{{ isset($permohonan->debiture->city) ? $permohonan->debiture->city->code : '' }}">
value="{{ isset($alamat->city) ? $alamat->city->code : '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="city" class="form-label max-w-56">Kabupaten/Kota</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="city" class="input w-full cursor-not-allowed" readonly
value="{{ isset($permohonan->debiture->city) ? $permohonan->debiture->city->name : '' }}">
value="{{ isset($alamat->city) ? $alamat->city->name : '' }}">
</div>
</div>
<input type="hidden" name="district_code"
value="{{ isset($permohonan->debiture->district) ? $permohonan->debiture->district->code : '' }}">
value="{{ isset($alamat->district) ? $alamat->district->code : '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="district" class="form-label max-w-56">Kecamatan</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="district" class="input w-full cursor-not-allowed" readonly
value="{{ isset($permohonan->debiture->district) ? $permohonan->debiture->district->name : '' }}">
value="{{ isset($alamat->district) ? $alamat->district->name : '' }}">
</div>
</div>
<input type="hidden" name="village_code"
value="{{ isset($permohonan->debiture->village) ? $permohonan->debiture->village->code : '' }}">
value="{{ isset($alamat->village) ? $alamat->village->code : '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="village" class="form-label max-w-56">Desa/Kelurahan</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="village" class="input w-full cursor-not-allowed" readonly
value="{{ isset($permohonan->debiture->village) ? $permohonan->debiture->village->name : '' }}">
value="{{ isset($alamat->village) ? $alamat->village->name : '' }}">
</div>
</div>
</div>

View File

@@ -1,9 +1,15 @@
<div class="card-header bg-agi-50">
<h3 class="card-title">Data Pembanding</h3>
<div class="flex items-center gap-2">
@if (Request::is('penilai/show-data-pembanding/*/edit') && request()->has('dokument') && request()->has('jenis_jaminan'))
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Kembali
</a>
@endif
</div>
</div>

View File

@@ -1,9 +1,16 @@
<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>
@if (Request::is('penilai/show-data-pembanding/*/edit') && request()->has('dokument') && request()->has('jenis_jaminan'))
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Kembali
</a>
@endif
</div>
</div>
@@ -85,12 +92,20 @@
<td class="px-4 py-2">
<select name="jenis_aset" class="select">
<option value="">Pilih Jenis Aset</option>
@php
$selectedKey =
old('jenis_aset') ??
($inspectionData['asset']['jenis_asset']['sesuai'] ??
($inspectionData['asset']['jenis_asset']['tidak sesuai'] ?? ''));
@endphp
@foreach ($data['jenisJaminan'] as $item)
<option value="{{ $item->name }}"
{{ ($inspectionData['asset']['jenis_asset']['sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}</option>
<option value="{{ $item->name }}" {{ $selectedKey == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
</select>
</td>
<td class="px-4 py-2">
@@ -114,7 +129,7 @@
@endphp
<td class="px-4 py-2">
<input type="text" name="luas_tanah" class="input "
value="{{ $inspectionData['tanah']['luas_tanah']['sesuai'] ?? ($inspectionData['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
value="{{ $inspectionData['tanah']['luas_tanah']['sesuai'] ?? ($inspectionData['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
</td>
<td class="px-4 py-2">
@@ -166,27 +181,27 @@
<input type="text" name="hak_properti_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Penawaran/ Transaksi</td>
{{-- <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'] ?? '' }}">
{{-- <select class="input w-full" name="penawaran">
value="{{ $inspectionData['asset']['penawaran'] ?? '' }}"> --}}
{{-- <select class="input w-full" name="penawaran">
<option value="">Pilih</option>
<option value="Penawaran" {{ (isset($inspectionData['asset']['penawaran']) && $inspectionData['asset']['penawaran'] == 'Penawaran') ? 'selected' : '' }}>Penawaran</option>
<option value="Transaksi" {{ (isset($inspectionData['asset']['penawaran']) && $inspectionData['asset']['penawaran'] == 'Transaksi') ? 'selected' : '' }}>Transaksi</option>
</select> --}}
</td>
{{-- </td>
<td class="px-4 py-2">
<input type="text" name="penawaran_pembanding[]" class="input">
{{-- <select class="input w-full" name="penawaran_pembanding[]">
<input type="text" name="penawaran_pembanding[]" class="input"> --}}
{{-- <select class="input w-full" name="penawaran_pembanding[]">
<option value="">Pilih</option>
<option value="Penawaran" {{ (isset($inspectionData['penawaran']) && $inspectionData['penawaran'] == 'Penawaran') ? 'selected' : '' }}>Penawaran</option>
<option value="Transaksi" {{ (isset($inspectionData['penawaran']) && $inspectionData['penawaran'] == 'Transaksi') ? 'selected' : '' }}>Transaksi</option>
</select> --}}
</td>
</tr>
{{-- </td>
</tr> --}}
{{-- <tr>
<td class="px-4 py-2">Harga Penawaran/ Transaksi(Rp)</td>
@@ -204,7 +219,7 @@
<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'] ?? $permohonan->debiture->phone ?? '' }}">
value="{{ $inspectionData['asset']['telepon'] ?? ($permohonan->debiture->phone ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="telepon_pembanding[]" class="input">
@@ -215,7 +230,7 @@
<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'] ?? $dokumen->pemilik->hubungan_pemilik->name ?? '' }}">
value="{{ $inspectionData['asset']['status_nara_sumber'] ?? ($dokumen->pemilik->hubungan_pemilik->name ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber_pembanding[]" class="input">
@@ -225,7 +240,7 @@
<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'] ?? $permohonan->debiture->name ?? '' }}">
value="{{ $inspectionData['asset']['nama_nara_sumber'] ?? ($permohonan->debiture->name ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber_pembanding[]" class="input">
@@ -465,8 +480,7 @@
value="{{ $inspectionData['asset']['total'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" readonly
class="input currency-format">
<input type="text" name="total_pembanding[]" readonly class="input currency-format">
</td>
</tr>
</tbody>

View File

@@ -1,4 +1,4 @@
<div class="no-break" style="margin: 0; padding: 0">
<div class="no-break" style="border-bottom: 1px solid #000;">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
@@ -15,18 +15,44 @@
<!-- Luas Tanah Bangunan -->
<tr>
@php
$cekLuasBangunan = isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])
// Tentukan apakah sesuai atau tidak sesuai berdasarkan input lama atau data awal
$cekLuasBangunan = old('luas_bangunan') ?? (isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])
? 'tidak sesuai'
: 'sesuai';
$luasBangunan = $forminspeksi['bangunan']['luas_tanah_bagunan'][$cekLuasBangunan] ?? null;
: 'sesuai');
// Ambil nilai dari key yang sesuai
$luasBangunanSesuai = $forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'] ?? null;
$luasBangunanTidakSesuai = $forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ?? null;
@endphp
<td width="25%"><strong>Luas Bangunan (IMB)</strong></td>
<td>{{ $luasBangunan }}</td>
<td width="25%" style="vertical-align: top;">Luas Bangunan (IMB)</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="sesuai" {{ $cekLuasBangunan == 'sesuai' ? 'checked' : '' }}>
Sesuai {{ $luasBangunanSesuai ? '- ' .$luasBangunanSesuai . ' m²' : '' }}
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="tidak sesuai" {{ $cekLuasBangunan == 'tidak sesuai' ? 'checked' : '' }}>
Tidak Sesuai {{ $luasBangunanTidakSesuai ? '- '. $luasBangunanTidakSesuai . ' m²' : '' }}
</label>
</td>
</tr>
</table>
</td>
</tr>
<!-- Jenis Bangunan -->
<tr>
<td><strong>Jenis Bangunan</strong></td>
<td style="vertical-align: top;">Jenis Bangunan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['jenisBangunan']))
<table class="checkbox-list">
@@ -53,7 +79,8 @@
<!-- Kondisi Bangunan -->
<tr>
<td><strong>Kondisi Bangunan</strong></td>
<td style="vertical-align: top;">Kondisi Bangunan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['kondisiBangunan']))
<table class="checkbox-list">
@@ -79,7 +106,8 @@
<!-- Sifat Bangunan -->
<tr>
<td><strong>Sifat Bangunan</strong></td>
<td style="vertical-align: top;">Sifat Bangunan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['sifatBangunan']))
<table class="checkbox-list">
@@ -120,12 +148,13 @@
count($forminspeksi['bangunan']['spesifikasi_bangunan']) > 0)
@foreach ($forminspeksi['bangunan']['spesifikasi_bangunan'] as $bangunanIndex => $bangunan)
<tr>
<td colspan="2"><strong>Spesifikasi Bangunan {{ $bangunanIndex + 1 }}</strong></td>
<td colspan="2">Spesifikasi Bangunan {{ $bangunanIndex + 1 }}</td>
</tr>
@if (isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $index => $spesifikasi)
<tr>
<td style="vertical-align: top;"><strong>{{ $spesifikasi->name }}</strong></td>
<td style="vertical-align: top;">{{ $spesifikasi->name }}</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table class="checkbox-list">
@if (isset($basicData['spekBangunan']))
@@ -185,7 +214,8 @@
@endif
<tr>
<td style="vertical-align: top;"><strong>Sarana Pelengkap</strong></td>
<td style="vertical-align: top;">Sarana Pelengkap</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['saranaPelengkap']))
<table class="checkbox-list">

View File

@@ -1,4 +1,4 @@
<div class="no-break" style="margin: 0; padding: 0">
<div class="no-break" style="border-bottom: 1px solid #000;">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
@@ -14,8 +14,9 @@
<table>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Faktor Positif</strong></td>
<td width="100%">
<td width="20%" style="vertical-align: top;">Faktor Positif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@isset($forminspeksi['fakta']['fakta_positif'])
<table style="width: 100%; border-collapse: collapse;">
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
@@ -28,8 +29,9 @@
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Faktor Negatif</strong></td>
<td>
<td width="20%" style="vertical-align: top;">Faktor Negatif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@php
$faktaNegatif = $forminspeksi['fakta']['fakta_negatif'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
@@ -54,16 +56,18 @@
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Rute Munuju</strong></td>
<td>
<td width="20%" style="vertical-align: top;">Rute Munuju</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
<p>{{ $forminspeksi['fakta']['rute_menuju'] ?? '' }}</p>
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Batas Batas </strong></td>
<td>
<td width="20%" style="vertical-align: top;">Batas Batas </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['batas_batas_input'] ?? [] as $arah => $batas)
@@ -75,8 +79,9 @@
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Kondisi lain terkait lingkungan </strong></td>
<td>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait lingkungan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
@@ -85,8 +90,9 @@
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Kondisi lain terkait Bangunan </strong></td>
<td>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait Bangunan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $kondisiLain)
<p>{!! nl2br(e($kondisiLain)) !!}</p>
@@ -94,8 +100,9 @@
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Informasi Terkait Dokumen </strong></td>
<td>
<td width="20%" style="vertical-align: top;">Informasi Terkait Dokumen </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>

View File

@@ -1,4 +1,4 @@
<div class="no-break" style="margin: 0; padding: 0">
<div class="no-break" style="border-bottom: 1px solid #000;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
@@ -13,8 +13,9 @@
<tr>
<td width="25%" style="vertical-align: top;"><strong>Informasi Dinas Tata Ruang </strong></td>
<td>
<td width="20%" style="vertical-align: top;">Informasi Dinas Tata Ruang </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@php
$informasi = [
'peruntukan',
@@ -44,8 +45,9 @@
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Catatan yang Perlu Diperhatikan </strong></td>
<td tyle="vertical-align: top;">
<td width="20%" style="vertical-align: top;">Catatan yang Perlu Diperhatikan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>

View File

@@ -1,4 +1,4 @@
<div class="no-break">
<div class="no-break" style="border-bottom: 1px solid #000;">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
@@ -14,27 +14,24 @@
<table>
<tr>
<td width="25%">Jarak Jalan Utama</td>
<td>{{ $forminspeksi['lingkungan']['jarak_jalan_utama'] ?? '' }}</td>
</tr>
<tr>
<td>Jalan Lingkungan</td>
<td>{{ $forminspeksi['lingkungan']['jalan_linkungan'] ?? '' }}</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['jarak_jalan_utama'] ?? '' }} {{ $forminspeksi['lingkungan']['jalan_linkungan'] ?? '' }}</td>
</tr>
<tr>
<td>Jarak CBD Point</td>
<td>{{ $forminspeksi['lingkungan']['jarak_cbd_point'] ?? '' }}</td>
</tr>
<tr>
<td>Nama CBD Point</td>
<td>{{ $forminspeksi['lingkungan']['nama_cbd_point'] ?? '' }}</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['jarak_cbd_point'] ?? '' }} {{ $forminspeksi['lingkungan']['nama_cbd_point'] ?? '' }}</td>
</tr>
<tr>
<td>Lebar Perkerasan Jalan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['lebar_perkerasan_jalan'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Perkerasan Jalan</strong></td>
<td style="vertical-align: top;">Perkerasan Jalan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['perkerasanJalan']))
<table class="checkbox-list">
@@ -59,7 +56,8 @@
</tr>
<tr>
<td style="vertical-align: top;"><strong>Lalu Lintas Depan Lokasi</strong></td>
<td style="vertical-align: top;">Lalu Lintas Depan Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['laluLintasLokasi']))
<table class="checkbox-list">
@@ -84,7 +82,8 @@
</tr>
<tr>
<td style="vertical-align: top;"><strong>Golongan Masyarakat Sekitar</strong></td>
<td style="vertical-align: top;">Golongan Masyarakat Sekitar</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['golMasySekitar']))
<table class="checkbox-list">
@@ -109,7 +108,34 @@
</tr>
<tr>
<td style="vertical-align: top;"><strong>Tingkat Keramaian</strong></td>
<td style="vertical-align: top;">Tingkat Keramaian</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['tingkatKeramaian']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['tingkatKeramaian'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['tingkat_keramaian']) && in_array($item->name, $forminspeksi['lingkungan']['tingkat_keramaian']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Terletak Di Area</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['terletakDiArea']))
<table class="checkbox-list">
@@ -122,7 +148,7 @@
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['terletak_diarea']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']) ? 'checked' : '' }}>
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '') ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@@ -134,32 +160,8 @@
</tr>
<tr>
<td style="vertical-align: top;"><strong>Terletak di Daerah</strong></td>
<td>
@if (isset($basicData['terletakDiArea']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['terletakDiArea'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['terletak_diarea']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Disekitar Lokasi</strong></td>
<td style="vertical-align: top;">Disekitar Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
@@ -184,7 +186,8 @@
<tr>
<td style="vertical-align: top;"><strong>Dekat Makam</strong></td>
<td style="vertical-align: top;">Dekat Makam</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
@@ -195,7 +198,7 @@
- Nama Makam:
{{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }}
, Jarak Makam:
{{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }}
{{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }} Km
@endif
</label>
<label class="checkbox-label">
@@ -209,7 +212,8 @@
<tr>
<td style="vertical-align: top;"><strong>Dekat TPS</strong></td>
<td style="vertical-align: top;">Dekat TPS</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
@@ -221,6 +225,7 @@
{{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }}
, Jarak TPS:
{{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }}
km
@endif
</label>
<label class="checkbox-label">
@@ -234,13 +239,16 @@
<tr>
<td style="vertical-align: top;"><strong>Dekat Lainnya</strong></td>
<td style="vertical-align: top;">Dekat Lainnya</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['dekat_lainnya'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Merupakan Daerah</strong></td>
<td style="vertical-align: top;">Merupakan Daerah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['merupakanDaerah']))
<table class="checkbox-list">
@@ -265,8 +273,9 @@
</tr>
<tr>
<td style="vertical-align: top;"><strong>Fasilitas Umum Dekat Lokasi</strong></td>
<td>
<td style="vertical-align: top;">Fasilitas Umum Dekat Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($basicData['fasilitasObjek']))
<table class="checkbox-list">
<tr>

View File

@@ -6,105 +6,96 @@
<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>
<title>Hasil Inspeksi</title>
<style>
* {
font-size: 12px;
}
body {
font-family: Arial, sans-serif;
}
* {
font-size: 8px;
font-weight: bold;
/** Define the header rules **/
@page {
margin-top: 100px;
margin-bottom: 50px;
}
h1,
h2,
h3 {
#header {
position: fixed;
top: -80px;
left: 0;
right: 0;
height: 50px;
text-align: center;
margin-bottom: 10px;
color: #000;
padding-bottom: 10px;
}
.container {
/* width: 100%; */
padding: 10px;
/* border: 1px solid #000; */
margin-bottom: 20px;
.header-logo {
position: absolute;
left: 20px;
top: 10px;
max-height: 80px;
max-width: 150px;
}
.header {
margin-bottom: 10px;
.header-title {
margin-top: 20px;
}
.judul {
font-weight: bold;
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: center;
margin-bottom: 10px;
border-top: 1px solid #ddd;
padding-top: 10px;
font-size: 9px;
}
.photo-item {
text-align: center;
margin-bottom: 20px;
.page-number:after {
content: counter(page) " dari " counter(pages);
}
.photo-image {
max-width: 80%;
height: auto;
display: block;
margin: 0 auto;
.content {
margin-top: 10px;
}
.judul-table {
width: 100%;
/* border-collapse: collapse; */
margin-bottom: 10px;
.page-break {
page-break-after: always;
}
.judul-table td {
text-align: center;
vertical-align: middle;
padding: 5px;
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: left;
border-top: 1px solid #ddd;
padding-top: 10px;
}
.border1 {
/* border: 1px solid #000; */
width: 50px;
body {
margin-top: 3cm;
margin-bottom: 120px;
position: relative;
z-index: 1;
}
.border {
/* border: 1px solid #000; */
border: 1px solid #000;
}
.judul h6 {
margin: 0;
/* Menghindari margin bawaan */
font-size: 12px;
}
.custom-dl-tujuan {
width: 100%;
/* border-collapse: collapse; */
}
.inner-table {
width: 100%;
/* border-collapse: collapse; */
}
.inner-table td {
padding: 5px;
}
.inner-table td:first-child {
font-weight: bold;
/* Lebar kolom keterangan */
.no-break {
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
.custom-table {
@@ -123,29 +114,6 @@
/* Sesuaikan lebar kolom keterangan */
}
.grid-table {
width: 100%;
border-collapse: collapse;
}
.grid-table td {
padding: 8px;
vertical-align: top;
text-align: left;
width: 33%;
/* Membagi kolom menjadi tiga */
}
.grid-table input[type="checkbox"] {
margin-right: 5px;
}
table {
width: 100%;
/* border: 1px solid #000; */
/* border-collapse: collapse; */
}
table.checkbox-list {
width: 100%;
border-collapse: collapse;
@@ -160,7 +128,7 @@
label.checkbox-label {
display: flex;
align-items: center;
font-size: 8px;
font-size: 12px;
}
label.checkbox-label input[type="checkbox"] {
@@ -168,37 +136,6 @@
transform: scale(1.3);
/* Memperkecil ukuran checkbox */
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: right;
border-top: 1px solid #ddd;
padding-top: 10px;
}
.page-number:after {
content: counter(page) " dari " counter(pages);
}
.content {
margin-top: 20px;
}
.page-break {
page-break-after: always;
}
.no-break {
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
</style>
</head>
@@ -238,18 +175,18 @@
}
@endphp
<body style="width: 80%; margin: auto">
<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')
@include('lpj::component.logo-bag', ['width' => 150, 'height' => 40])
</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>
<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>
@@ -257,7 +194,8 @@
</header>
<div style="border: 1px solid #000;">
<table style="width: 100%; border-top: none; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<table
style="width: 100%; border-top: none; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
@@ -322,7 +260,8 @@
</tr>
</table>
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
@@ -332,22 +271,16 @@
</td>
</tr>
</table>
<table>
<table style="width: 100%">
<tr>
<td>
<table>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Nama</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
</table>
</td>
<td style="width: 25%; padding: 2px; vertical-align: top;">Nama</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
</table>
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
@@ -357,65 +290,53 @@
</td>
</tr>
</table>
<table>
<table style="width: 100%">
<tr>
<td>
<table>
<tr>
@php
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
@endphp
<td style="width: 25%; padding: 2px; vertical-align: top;">Jenis Aset</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">
{{ $selectedData ?? '' }}
</td>
</tr>
</table>
@php
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
@endphp
<td width="25%" style="padding: 2px; vertical-align: top;">Jenis Aset</td>
<td width="1%" style=" vertical-align: top;">:</td>
<td style="vertical-align: top; width: %;">
{{ $selectedData ?? '' }}
</td>
</tr>
<tr>
<td>
<table>
<td style="width: 25%; padding: 2px; vertical-align: top;">Alamat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top;">
<table style="margin: 0">
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Alamat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">
<table>
<tr>
<td width="25%"><strong>Terletak di</strong></td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Kelurahan</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Kecamatan</strong></td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Kotamadya</strong></td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td><strong>Propinsi</strong></td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
</td>
<td width="25%">Terletak di</td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Kelurahan</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kotamadya</td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td>Propinsi</td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
</td>
</tr>
</table>
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
@@ -426,26 +347,20 @@
</tr>
</table>
<table>
<table style="width: 100%">
<tr>
<td>
<table>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Titik Kordinat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">
{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }}
,
{{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}
</td>
</tr>
</table>
<td style="width: 25%; padding: 2px; vertical-align: top;">Titik Kordinat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">
{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }}
,
{{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}
</td>
</tr>
</table>
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<div class="no-break" style="border-bottom: 1px solid #000;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
@@ -457,136 +372,117 @@
</table>
<table>
<tr>
<td>
<table>
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
@if (isset($detail->dokumen_jaminan))
<tr>
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
{{-- <td style="width:1%; padding: 2px; vertical-align: top;">:</td> --}}
<td>
@if (isset($detail->dokumen_jaminan))
@php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp
@foreach ($dokumen_jaminan as $index => $dokumen)
<div>
@if (!empty($dokumen_nomor[$index]))
<span>{{ $dokumen_nomor[$index] }}</span>
@endif
</div>
@endforeach
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
@if (isset($detail->dokumen_jaminan))
<tr>
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
{{-- <td style="width:1%; padding: 2px; vertical-align: top;">:</td> --}}
</tr>
@endif
@if (isset($detail->details))
@if (json_decode($detail->details))
@foreach (json_decode($detail->details) as $key => $value)
@if (!is_null($value) && $value !== '')
<tr>
<td style="padding: 2px;">
{{ formatLabel($key) }}
</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px;">
{{ $value }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<sup>m2</sup>
@endif
</td>
</tr>
@endif
@if (isset($detail->details))
@if (json_decode($detail->details))
@foreach (json_decode($detail->details) as $key => $value)
@if (!is_null($value) && $value !== '')
<tr>
<td style="padding: 2px;">
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}
</td>
{{-- <td style="width:1%; padding: 2px; vertical-align: top;">:</td> --}}
<td style="padding: 2px;">
{{ $value }}
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
<sup>m2</sup>
@endif
</td>
</tr>
@endif
@endforeach
@endif
@endif
@endforeach
@endif
@endif
@endforeach
@endif
<tr>
@php
// Ambil nilai hub_cadeb langsung
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb'])
? $forminspeksi['asset']['hub_cadeb']
: null;
// Jika nilai adalah array dengan key 'sesuai', ambil nilainya
if (is_array($hubCadeb) && isset($hubCadeb['sesuai'])) {
$hubCadeb = $hubCadeb['sesuai'];
}
@endphp
<td style="vertical-align: top;"><strong>Hubungan Pemilik Jaminan dengan Debitur</strong>
</td>
{{-- <td style="width:1%; padding: 2px; vertical-align: top;">:</td> --}}
<td>
@if (isset($basicData['hubCadeb']))
<table class="checkbox-table">
@php $count = 0; @endphp
<tr>
@foreach ($basicData['hubCadeb'] as $item)
<td>
<label>
<input type="checkbox"
{{ $hubCadeb === $item->name ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@php $count++; @endphp
<tr>
@php
// Ambil nilai sesuai dan tidak sesuai
$hubCadebSesuai = $forminspeksi['asset']['hub_cadeb']['sesuai'] ?? null;
$hubCadebTidakSesuai = $forminspeksi['asset']['hub_cadeb']['tidak sesuai'] ?? null;
@endphp
<td style="vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td>
<div style="margin-bottom: 10px;">
<label>
<input type="radio" name="hubCadebStatus" value="sesuai"
{{ $hubCadebSesuai ? 'checked' : '' }}> Sesuai
</label>
<label style="margin-left: 20px;">
<input type="radio" name="hubCadebStatus" value="tidak sesuai"
{{ $hubCadebTidakSesuai ? 'checked' : '' }}> Tidak Sesuai
</label>
</div>
@if ($count % 3 === 0)
</tr>
<tr>
@endif
@if (!empty($basicData['hubCadeb']))
<table >
<tr>
@php $count = 0; @endphp
@foreach ($basicData['hubCadeb'] as $item)
<td>
<label >
<input type="checkbox"
{{ isset($item->name) && ($hubCadebSesuai === $item->name || $hubCadebTidakSesuai === $item->name) ? 'checked' : '' }}>
{{ $item->name ?? '' }}
</label>
</td>
@php $count++; @endphp
@if ($count % 3 === 0)
</tr>
<tr>
@endif
@endforeach
@if ($count % 3 !== 0)
@for ($i = 0; $i < 3 - ($count % 3); $i++)
<td></td>
@endfor
@endif
</tr>
</table>
</table>
<td></td>
@endfor
@endif
</tr>
</table>
@endif
</td>
</tr>
<tr>
@php
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
@endphp
<td style="vertical-align: top; width: 20%; padding: 2px;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($selectedData))
{{ $selectedData ?? '' }}
</td>
@endif
</td>
</tr>
{{-- end hub --}}
<tr>
@php
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai']) ? 'sesuai' : 'tidak sesuai';
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
@endphp
<td style="vertical-align: top;"><strong>Hubungan Penghuni Jaminan dengan Debitur</strong></td>
<td>
@if (isset($selectedData))
<table class="checkbox-table">
<tr>
<td>
{{ $selectedData ?? '' }}
</td>
</tr>
</table>
@endif
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
@include('lpj::surveyor.components.print-out.rap')
@else
@@ -614,7 +510,7 @@
</div>
<div class="no-break">
<table style="width: 100%; border-collapse: collapse;" >
<table style="width: 100%; border-collapse: collapse;">
<tr>
<td style="border: 1px solid #000;">
<table>
@@ -673,7 +569,8 @@
@if (isset($forminspeksi['signature']['debitur']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['debitur']['image'] }}"
<img style="width: 100px;"
src="{{ $forminspeksi['signature']['debitur']['image'] }}"
alt="Debitur/Perwakilan">
</td>
@endif

View File

@@ -1,23 +1,16 @@
<div class="no-break" style="border-bottom: 1px solid #000;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<div class="no-break" style="margin: 0; padding: 0">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
PERIZINAN
</h2>
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
PERIZINAN
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td>
</td>
</tr>
</table>
<table>
@if (isset($forminspeksi['perizinan']) && is_array($forminspeksi['perizinan']) && count($forminspeksi['perizinan']) > 0)
@foreach ($forminspeksi['perizinan'] as $perizinan)
@@ -40,27 +33,32 @@
@endif
</table>
</td>
</tr>
</div>
<tr>
<td style="text-align: center; border: 1px solid #000;">
F
</td>
<td style="text-align: center; border: 1px solid #000;">
DESKRIPSI DEVELOPER
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
<div class="no-break" style="border-bottom: 1px solid #000;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
DESKRIPSI DEVELOPER
</h2>
</td>
</tr>
</table>
</td>
<td style=" border: 1px solid #000;">
<table style="width: 100%;">
<tr>
<td>{!! nl2br(e($forminspeksi['pengalaman_developer'] ?? 'Data tidak tersedia')) !!}</td>
<td style="vertical-align: top; width: 20%; padding: 2px;">Pengalaman Developer & Proyek Yang Pernah
Dibuat</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td style="width: 79%;">{!! nl2br(e($forminspeksi['pengalaman_developer'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Apakah Developer Anggota REI</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['developer_anggota'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
@@ -68,6 +66,8 @@
@isset($forminspeksi['lainnya_developer'])
@foreach ($forminspeksi['lainnya_developer'] as $item)
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lainnya</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>
{!! nl2br(e($item)) !!}
</td>
@@ -75,45 +75,61 @@
@endforeach
@endisset
</table>
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
G
</td>
<td style="text-align: center; border: 1px solid #000;">
KONDISI, LINGKUNGAN DAN PROGRESS PEMBANGUNAN
</td>
</tr>
</div>
<tr>
<td style="text-align: center; border: 1px solid #000;">
<div class="no-break" style="border-bottom: 1px solid #000;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
</td>
<td style=" border: 1px solid #000;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
KONDISI, LINGKUNGAN DAN PROGRESS PEMBANGUNAN
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kapan Mulai Dibangun & Target Penyelesaian
</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kapan_mulai_dibangun'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kondisi Perumahan Saat Ini</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kondisi_perumahan'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Progress Pembangunan</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['progres_pembangunan'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kontraktor (internal/eksternal)</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kontraktor'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lingkungan Sekitar</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['lingkungan_sekitar'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Komplek Lain Disekitar Lokasi</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['komplek_disekitar'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Pusat Keramaian Dekat Lokasi</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['pusat_keramaian'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Transportasi Umum Yang Tersedia</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['transportasi_umum'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
@@ -121,6 +137,8 @@
@isset($forminspeksi['lainnya_kondisi'])
@foreach ($forminspeksi['lainnya_kondisi'] as $item)
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lainnya</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>
{!! nl2br(e($item)) !!}
</td>
@@ -128,354 +146,352 @@
@endforeach
@endisset
</table>
</td>
</tr>
</div>
@isset($forminspeksi['partisi'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
H
</td>
<td style="text-align: center; border: 1px solid #000;">
PARTISI BANGUNAN
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['partisi'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<table>
@if (is_array($forminspeksi['partisi']))
@foreach ($forminspeksi['partisi'] as $key => $item)
@if (is_array($item))
<tr>
<td>
{{ $item['nama'] ?? '' }}
</td>
</tr>
<tr>
<td>
{{ $item['value'] ?? '' }}
</td>
</tr>
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
PARTISI BANGUNAN
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
@if (is_array($forminspeksi['partisi']))
@foreach ($forminspeksi['partisi'] as $key => $item)
@if (is_array($item))
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">
{{ $item['nama'] ?? '' }}
</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>
{{ $item['value'] ?? '' }}
</td>
</tr>
@endif
@endforeach
@endif
@endforeach
@endif
</table>
</td>
</tr>
@endisset
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['jumlah_unit'])
@isset($forminspeksi['jumlah_unit'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
I
</td>
<td style="text-align: center; border: 1px solid #000;">
JUMLAH UNIT, BLOK, TYPE DAN LUAS BANGUNAN
</td>
</tr>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
@foreach ($forminspeksi['jumlah_unit'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
JUMLAH UNIT, BLOK, TYPE DAN LUAS BANGUNAN
</h2>
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endisset
@isset($forminspeksi['batas_batas_perumahan'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
J
</td>
<td style="text-align: center; border: 1px solid #000;">
BATAS-BATAS PERUMAHAN
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
@foreach ($forminspeksi['batas_batas_perumahan'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endisset
@isset($forminspeksi['fasus_fasum'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
J
</td>
<td style="text-align: center; border: 1px solid #000;">
FASOS/FASUM
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
@foreach ($forminspeksi['fasus_fasum'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endisset
@isset($forminspeksi['progres_penjualan'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
K
</td>
<td style="text-align: center; border: 1px solid #000;">
PROGRES PENJUALAN SAAT INI
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
@foreach ($forminspeksi['progres_penjualan'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endisset
@isset($forminspeksi['harga_unit'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
L
</td>
<td style="text-align: center; border: 1px solid #000;">
HARGA UNIT
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
@foreach ($forminspeksi['harga_unit'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endisset
@isset($forminspeksi['target_market'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
M
</td>
<td style="text-align: center; border: 1px solid #000;">
TARGET MARKET
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
@foreach ($forminspeksi['target_market'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endisset
@isset($forminspeksi['kerjasama_dengan_bank'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
N
</td>
<td style="text-align: center; border: 1px solid #000;">
KERJASAMA DENGAN BANK LAIN
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
@foreach ($forminspeksi['kerjasama_dengan_bank'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endisset
@isset($forminspeksi['rute_menuju_lokasi'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
O
</td>
<td style="text-align: center; border: 1px solid #000;">
RUTE MENUJU LOKASI
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
<tr>
<td>
{{ $forminspeksi['rute_menuju_lokasi'] ?? '' }}
</td>
</tr>
</table>
</td>
</tr>
@endisset
@isset($forminspeksi['properti_sejenis'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
P
</td>
<td style="text-align: center; border: 1px solid #000;">
PROPERTI SEJENIS
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
<tr>
<td>
{{ $forminspeksi['properti_sejenis'] ?? '' }}
</td>
</tr>
</table>
</td>
</tr>
@endisset
@if (isset($forminspeksi['fakta']) && is_array($forminspeksi['fakta']))
<tr>
<td style="text-align: center; border: 1px solid #000;">
Q
</td>
<td style="text-align: center; border: 1px solid #000;">
ATURAN TATA KOTA
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
</td>
<td style=" border: 1px solid #000;">
<table>
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
@if (isset($forminspeksi['fakta']) && is_array($forminspeksi['fakta']))
@foreach ($informasi as $key)
@if (isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-')
<p> - {{ ucfirst(str_replace('_', ' ', $key)) }}:
{{ $forminspeksi['fakta'][$key] }}</p>
@endif
</table>
<table>
@foreach ($forminspeksi['jumlah_unit'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
@endif
</table>
</td>
</tr>
</table>
@endif
@endisset
</div>
@isset($forminspeksi['fakta']['keterangan'])
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['batas_batas_perumahan'])
<tr>
<td style="text-align: center; border: 1px solid #000;">
R
</td>
<td style="text-align: center; border: 1px solid #000;">
CATATAN LAINNYA
</td>
</tr>
<tr>
<td style="text-align: center; border: 1px solid #000;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
</td>
<td style=" border: 1px solid #000;">
<table>
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $keterangan)
<tr>
<td>
<p>{!! nl2br(e($keterangan)) !!}</p>
</td>
</tr>
@endforeach
</table>
</td>
</tr>
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
BATAS-BATAS PERUMAHAN
</h2>
@endisset
</table>
</div>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['batas_batas_perumahan'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['fasus_fasum'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
FASOS/FASUM
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['fasus_fasum'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['progres_penjualan'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
PROGRES PENJUALAN SAAT INI
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['progres_penjualan'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['harga_unit'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
HARGA UNIT
</h2>
</td>
</tr>
</table>
<<table>
@foreach ($forminspeksi['harga_unit'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['target_market'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
TARGet market
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['target_market'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['kerjasama_dengan_bank'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Kerjasama dengan bank lain
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['kerjasama_dengan_bank'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['rute_menuju_lokasi'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
rute menuju lokasi
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td>
{{ $forminspeksi['rute_menuju_lokasi'] ?? '' }}
</td>
</tr>
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['properti_sejenis'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
properti sejenis
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td>
{{ $forminspeksi['properti_sejenis'] ?? '' }}
</td>
</tr>
</table>
@endisset
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@if (isset($forminspeksi['fakta']) && is_array($forminspeksi['fakta']))
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ATURAN TATA KOTA
</h2>
</td>
</tr>
</table>
<table>
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
@if (isset($forminspeksi['fakta']) && is_array($forminspeksi['fakta']))
@foreach ($informasi as $key)
@if (isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-')
@php
$displayKey = ucfirst(str_replace('_', ' ', $key));
if (strlen($key) == 3) {
$displayKey = strtoupper($key);
}
@endphp
<p> - {{ $displayKey }}: {{ $forminspeksi['fakta'][$key] }}</p>
@endif
@endforeach
@endif
</table>
@endif
</div>
<div class="no-break" style="border-bottom: 1px solid #000;">
@isset($forminspeksi['fakta']['keterangan'])
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
CATATAN LAINNYA
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $keterangan)
<tr>
<td>
<p>{!! nl2br(e($keterangan)) !!}</p>
</td>
</tr>
@endforeach
</table>
@endisset
</div>

View File

@@ -1,61 +1,115 @@
<div class="no-break" style="border-bottom: 1px solid #000;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<div class="no-break" style="margin: 0; padding: 0">
<table style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td></td>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Tanah
</h2>
</td>
</tr>
</table>
<tr>
<td></td>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Tanah
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
@php
<table>
<tr>
@php
$cekLuas = isset(
$forminspeksi['tanah']['luas_tanah']['tidak sesuai'],
)
? 'tidak sesuai'
: 'sesuai';
$cekLuas =
old('luas_tanah_radio') ??
(isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai']) ? 'tidak sesuai' : 'sesuai');
$luas = $forminspeksi['tanah']['luas_tanah'][$cekLuas] ?? null;
@endphp
<td width="25%"><strong>Luas Tanah</strong></td>
<td>{{ $luas }}</td>
</tr>
$luasSesuai = $forminspeksi['tanah']['luas_tanah']['sesuai'] ?? null;
$luasTidakSesuai = $forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ?? null;
@endphp
<td width="25%" style="vertical-align: top;">Luas Tanah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="" style="text-align: left">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_tanah_radio" value="sesuai"
{{ $cekLuas == 'sesuai' ? 'checked' : '' }}>
Sesuai {{ $luasSesuai ? '- ' . $luasSesuai . ' m²' : '' }}
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_tanah_radio" value="tidak sesuai"
{{ $cekLuas == 'tidak sesuai' ? 'checked' : '' }}>
Tidak Sesuai {{ $luasTidakSesuai ? '- ' . $luasTidakSesuai . ' m²' : '' }}
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><strong>Hadap mata Angin</strong></td>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Ya"
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['sesuai'] ? 'checked' : '' }}>
sesuai
<tr>
<td>Hadap mata Angin</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Ya"
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['sesuai'] ? 'checked' : '' }}>
sesuai
</label>
<label>
<input type="radio" name="hadap_mata_angin" value="tidak sesuai"
{{isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] ? 'checked' : '' }}>
Tidak
</label>
<label>
<input type="radio" name="hadap_mata_angin" value="tidak sesuai"
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] ? 'checked' : '' }}>
Tidak
@if (isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) ? ' (' . $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] . ')' : '' }}
@if (isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) &&
$forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']
)
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) ? ' (' . $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] . ')' : '' }}
@endif
</label>
</td>
</tr>
<!-- Bentuk Tanah -->
<tr>
<td style="vertical-align: top;">Bentuk Tanah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['bentukTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['bentukTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
</label>
</td>
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) && in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Bentuk Tanah -->
<!-- Kontur Tanah -->
<tr>
<td style="vertical-align: top;"><strong>Bentuk Tanah</strong></td>
<td style="vertical-align: top;">Kontur Tanah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['bentukTanah']))
@if (isset($basicData['konturTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['bentukTanah'] as $index => $item)
@foreach ($basicData['konturTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@@ -63,177 +117,195 @@
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) && in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) ? 'checked' : '' }}>
{{ isset($forminspeksi['tanah']['kontur_tanah']) && in_array($item->name, $forminspeksi['tanah']['kontur_tanah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Kontur Tanah -->
<tr>
<td style="vertical-align: top;"><strong>Kontur Tanah</strong></td>
<td>
@if (isset($basicData['konturTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['konturTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['kontur_tanah']) && in_array($item->name, $forminspeksi['tanah']['kontur_tanah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Ketinggian Tanah -->
<tr>
<td style="vertical-align: top;"><strong>Beda Ketinggian Dengan Jalan</strong></td>
<td>
@if (isset($basicData['ketinggianTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['ketinggianTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) && in_array($item->name, $forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td><strong>Hadap mata Angin</strong></td>
<td>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'menurun' ? 'checked' : '' }}>
<span class="ml-2">Menurun</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="rata"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'rata' ? 'checked' : '' }}>
<span class="ml-2">Rata</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="Menanjak"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'Menanjak' ? 'checked' : '' }}>
<span class="ml-2">Menanjak</span>
</label>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><strong>Posisi Kavling</strong></td>
<td>
@if (isset($basicData['posisiKavling']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['posisiKavling'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) && in_array($item->name, $forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Kondisi Fisik Tanah -->
<tr>
<td style="vertical-align: top;"><strong>Kondisi Fisik Tanah</strong></td>
<td>
@if (isset($basicData['kondisiFisikTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['kondisiFisikTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endforeach
</tr>
</table>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</td>
</tr>
<tr>
<td><strong>Tusuk Sate</strong></td>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Ya"
{{ isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya'] ? 'checked' : '' }}>
Ya
@if (isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya'])
{{ isset($forminspeksi['tanah']['tusuk_sate']['Ya']) ? ' (' . $forminspeksi['tanah']['tusuk_sate']['Ya'] . ')' : '' }}
<!-- Ketinggian Tanah -->
<tr>
<td style="vertical-align: top;">Beda Ketinggian Dengan Jalan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['ketinggianTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['ketinggianTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
</label>
<label>
<input type="radio" name="tusuk_sate" value="Tidak"
{{isset($forminspeksi['tanah']['tusuk_sate']['Tidak']) && $forminspeksi['tanah']['tusuk_sate']['Tidak'] ? 'checked' : '' }}>
Tidak
</label>
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) && in_array($item->name, $forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td><strong>Lockland</strong></td>
<td>
<label>
<input type="radio" name="lockland" value="yes"
{{ isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'yes' ? 'checked' : '' }}>
Ya
</label>
<label>
<input type="radio" name="lockland" value="no"
{{ isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'no' ? 'checked' : '' }}>
Tidak
</label>
</td>
</tr>
</tr>
</table>
<tr>
<td style="vertical-align: top;">Kontur Jalan Depan Objek</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table>
<tr>
<td>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'menurun' ? 'checked' : '' }}>
<span class="ml-2">Menurun</span>
</label>
</td>
</tr>
<tr>
<td>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="rata"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'rata' ? 'checked' : '' }}>
<span class="ml-2">Rata</span>
</label>
</td>
</tr>
<tr>
<td>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="Menanjak"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'Menanjak' ? 'checked' : '' }}>
<span class="ml-2">Menanjak</span>
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Posisi Kavling</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['posisiKavling']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['posisiKavling'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) && in_array($item->name, $forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Kondisi Fisik Tanah -->
<tr>
<td style="vertical-align: top;">Tusuk Sate</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table>
<tr>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Ya"
{{ isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya'] ? 'checked' : '' }}>
Ya
@if (isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya'])
{{ isset($forminspeksi['tanah']['tusuk_sate']['Ya']) ? ' (' . $forminspeksi['tanah']['tusuk_sate']['Ya'] . ')' : '' }}
@endif
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Tidak"
{{ isset($forminspeksi['tanah']['tusuk_sate']['Tidak']) && $forminspeksi['tanah']['tusuk_sate']['Tidak'] ? 'checked' : '' }}>
Tidak
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Lockland</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table>
<tr>
<td>
<label>
<input type="radio" name="lockland" value="yes"
{{ isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'yes' ? 'checked' : '' }}>
Ya
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="lockland" value="no"
{{ isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'no' ? 'checked' : '' }}>
Tidak
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Kondisi Fisik Tanah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['kondisiFisikTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['kondisiFisikTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</table>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -17,7 +17,8 @@ use Modules\Lpj\Http\Controllers\JenisLegalitasJaminanController;
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\LaporanExternalController;
use Modules\Lpj\Http\Controllers\NilaiPlafondController;
use Modules\Lpj\Http\Controllers\NocController;
use Modules\Lpj\Http\Controllers\PembatalanController;
use Modules\Lpj\Http\Controllers\PemilikJaminanController;
@@ -242,7 +243,6 @@ Route::middleware(['auth'])->group(function () {
Route::get('export', [ArahMataAnginController::class, 'export'])->name('export');
});
Route::resource('arah-mata-angin', ArahMataAnginController::class);
Route::resource('arah-mata-angin', ArahMataAnginController::class);
Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () {
Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore');
@@ -349,6 +349,8 @@ Route::middleware(['auth'])->group(function () {
Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update');
Route::post('store', [DokumenJaminanController::class, 'store'])->name('store');
Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy');
Route::post('clear-detail', [DokumenJaminanController::class, 'clearDetail'])->name('clearDetail');
});
Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () {
@@ -614,10 +616,15 @@ Route::middleware(['auth'])->group(function () {
Route::post('/preoses-laporan/{id}', [PenilaiController::class, 'storePenilaian'])->name('proses.laporan');
Route::post('storeResume', [PenilaiController::class, 'storeResume'])->name('storeResume');
Route::post('storeMemo', [PenilaiController::class, 'storeMemo'])->name('storeMemo');
Route::post('store-memo-with-photos', [PenilaiController::class, 'storeMemoWithPhotos'])->name('storeMemoWithPhotos');
Route::post('upload-temp-photo', [PenilaiController::class, 'uploadTempPhoto'])->name('uploadTempPhoto');
Route::post('storeRap', [PenilaiController::class, 'storeRap'])->name('storeRap');
Route::post('storeLpjSederhanadanStandard', [PenilaiController::class, 'storeLpjSederhanadanStandard'])->name('storeLpjSederhanadanStandard');
Route::put('revisi-surveyor/{id}', [PenilaiController::class, 'revisiSurveyor'])->name('revisiSurveyor');
Route::get('show-data-pembanding/{id}/edit', [SurveyorController::class, 'dataPembanding'])->name('showDataPembanding');
});
@@ -630,6 +637,14 @@ Route::middleware(['auth'])->group(function () {
->name('noc.datatables');
Route::resource('noc', NocController::class);
Route::name('laporan-external.')->prefix('laporan-external')->group(function () {
Route::get('datatables', [LaporanExternalController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [LaporanExternalController::class, 'export'])->name('export');
});
Route::resource('laporan-external', LaporanExternalController::class);
});
require __DIR__ . '/registrasi.php';