update insert data json ke table ispeksi
This commit is contained in:
@@ -9,6 +9,7 @@ use Maatwebsite\Excel\Facades\Excel;
|
|||||||
use Modules\Lpj\Exports\BasicDataSurveyorExport;
|
use Modules\Lpj\Exports\BasicDataSurveyorExport;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
use Modules\Lpj\Models\Permohonan;
|
use Modules\Lpj\Models\Permohonan;
|
||||||
use Modules\Lpj\Models\Branch;
|
use Modules\Lpj\Models\Branch;
|
||||||
@@ -94,97 +95,77 @@ class SurveyorController extends Controller
|
|||||||
'branch',
|
'branch',
|
||||||
'tujuanPenilaian',
|
'tujuanPenilaian',
|
||||||
'penilaian',
|
'penilaian',
|
||||||
'documents',
|
'documents.jenisJaminan',
|
||||||
])->findOrFail($id);
|
])->findOrFail($id);
|
||||||
|
|
||||||
$surveyor = $id;
|
$surveyor = $id;
|
||||||
$branches = Branch::all();
|
$branches = Branch::all();
|
||||||
$provinces = Province::all();
|
$provinces = Province::all();
|
||||||
$bentukTanah = BentukTanah::all();
|
$bentukTanah = BentukTanah::all();
|
||||||
|
|
||||||
$denah = Denah::where('permohonan_id', $id)->get();
|
// Get all inspeksi data for this permohonan
|
||||||
$fotojaminan = FotoJaminan::where('permohonan_id', $id)->get();
|
$inspeksiData = Inspeksi::where('permohonan_id', $id)
|
||||||
$analisa = Analisa::with('analisaUnit', 'analisaTanahBangunan', 'analisaLingkungan', 'analisaFakta', 'jenisJaminan')
|
->get()
|
||||||
->where('permohonan_id', $id)
|
->keyBy('jenis_jaminan_id')
|
||||||
->get();
|
->map(function ($item) {
|
||||||
|
return [
|
||||||
$jenisJaminanIds = $permohonan->debiture->documents->pluck('jenisJaminan.id')->toArray(); // Convert to array
|
'data_form' => json_decode($item->data_form, true),
|
||||||
|
'foto_form' => json_decode($item->foto_form, true),
|
||||||
$jaminanId = $jenisJaminanIds[0];
|
'denah_form' => json_decode($item->denah_form, true),
|
||||||
$inpeksi = Inspeksi::where('permohonan_id', $id)
|
'data_pembanding' => json_decode($item->data_pembanding, true),
|
||||||
->whereIn('jenis_jaminan_id', $jenisJaminanIds)
|
];
|
||||||
->first();
|
});
|
||||||
|
|
||||||
if ($inpeksi) {
|
|
||||||
$forminspeksi = json_decode($inpeksi->data_form, true);
|
|
||||||
$formFoto = json_decode($inpeksi->foto_form, true);
|
|
||||||
$formDenah = json_decode($inpeksi->denah_form, true);
|
|
||||||
$formPembanding = json_decode($inpeksi->data_pembanding, true);
|
|
||||||
} else {
|
|
||||||
$forminspeksi = null;
|
|
||||||
$formFoto = null;
|
|
||||||
$formDenah = null;
|
|
||||||
$formPembanding = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return view('lpj::surveyor.detail', compact(
|
return view('lpj::surveyor.detail', compact(
|
||||||
'denah',
|
|
||||||
'analisa',
|
|
||||||
'permohonan',
|
'permohonan',
|
||||||
'surveyor',
|
'surveyor',
|
||||||
'branches',
|
'branches',
|
||||||
'provinces',
|
'provinces',
|
||||||
'bentukTanah',
|
'bentukTanah',
|
||||||
'forminspeksi',
|
'inspeksiData'
|
||||||
'formDenah',
|
|
||||||
'formFoto',
|
|
||||||
'jaminanId',
|
|
||||||
|
|
||||||
'formPembanding'
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store form inspeksi.
|
* Store form inspeksi.
|
||||||
*/
|
*/
|
||||||
public function store(FormSurveyorRequest $request)
|
public function store(FormSurveyorRequest $request)
|
||||||
{
|
{
|
||||||
$data = $request->validated();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!$data) {
|
|
||||||
return response()->json(['success' => false, 'message' => 'Invalid data'], 400);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
// Validate request data
|
||||||
|
$validatedData = $request->validated();
|
||||||
|
|
||||||
|
// Get action specific rules and process data
|
||||||
|
$processedData = $this->getActionSpecificRules(
|
||||||
|
$validatedData,
|
||||||
|
$request->input('type'),
|
||||||
|
$request
|
||||||
|
);
|
||||||
|
|
||||||
$action = $request->input('type');
|
// Find or create inspeksi record
|
||||||
$rules = $this->getActionSpecificRules($data, $action, $request);
|
$inspeksi = Inspeksi::updateOrCreate(
|
||||||
|
[
|
||||||
|
'permohonan_id' => $request->input('permohonan_id'),
|
||||||
|
'jenis_jaminan_id' => $request->input('jenis_jaminan_id')
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'data_form' => json_encode($processedData),
|
||||||
|
'name' => $request->input('type')
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
$data = $rules;
|
return response()->json([
|
||||||
|
'success' => true,
|
||||||
|
'message' => 'Data berhasil disimpan',
|
||||||
|
'data' => $processedData
|
||||||
|
], 200);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return response()->json([
|
||||||
// $inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->where('jenis_jaminan_id', $request->input('jenis_jaminan_id'))->first();
|
'success' => false,
|
||||||
|
'message' => 'Gagal menyimpan data',
|
||||||
// if (!$inspeksi) {
|
'error' => $e->getMessage()
|
||||||
// Inspeksi::create([
|
], 500);
|
||||||
// 'permohonan_id' => $request->input('permohonan_id'),
|
|
||||||
// 'data_form' => json_encode($rules),
|
|
||||||
// 'name' => $request->input('type'),
|
|
||||||
// 'jenis_jaminan_id' => $request->input('jenis_jaminan_id'),
|
|
||||||
// ]);
|
|
||||||
// } else {
|
|
||||||
// $inspeksi->update(['data_form' => json_encode($rules)]);
|
|
||||||
// }
|
|
||||||
|
|
||||||
DB::commit();
|
|
||||||
|
|
||||||
return response()->json(['success' => true, 'message' => 'Data saved successfully', 'data' => $data], 200);
|
|
||||||
} catch (Exception $e) {
|
|
||||||
DB::rollBack();
|
|
||||||
return response()->json(['success' => false, 'message' => 'Failed to save data: ' . $e->getMessage()], 500);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,8 +240,11 @@ class SurveyorController extends Controller
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan',
|
return response()->json([
|
||||||
'data' => $formatJsonDenah], 200);
|
'success' => true,
|
||||||
|
'message' => 'Data berhasil disimpan',
|
||||||
|
'data' => $formatJsonDenah
|
||||||
|
], 200);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
return response()->json(['success' => false, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
|
return response()->json(['success' => false, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
|
||||||
}
|
}
|
||||||
@@ -269,7 +253,128 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
public function storeFoto(Request $request)
|
public function storeFoto(Request $request)
|
||||||
{
|
{
|
||||||
$validatedData = $request->validate([
|
$validatedData = $this->validateFotoRequest($request);
|
||||||
|
try {
|
||||||
|
|
||||||
|
$photoCategories = [
|
||||||
|
'rute_menuju_lokasi' => ['foto_rute', 'name_rute'],
|
||||||
|
'object_jaminan' => ['foto_objek', 'name_objek', 'deskripsi_objek'],
|
||||||
|
'lingkungan' => ['foto_lingkungan', 'name_lingkungan'],
|
||||||
|
'foto_lantai_unit' => ['foto_lantai_unit', 'name_lantai_unit'],
|
||||||
|
'foto_lantai_lainnya' => ['foto_lantai_lainnya', 'name_lantai_lainnya'],
|
||||||
|
'foto_rute_lainnya' => ['foto_rute_lainnya', 'name_rute_lainnya'],
|
||||||
|
];
|
||||||
|
|
||||||
|
$inspeksi = Inspeksi::firstOrNew([
|
||||||
|
'permohonan_id' => $request->input('permohonan_id'),
|
||||||
|
'jenis_jaminan_id' => $request->input('jenis_jaminan_id')
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Get existing foto_form data if it exists
|
||||||
|
$existingData = $inspeksi->exists && $inspeksi->foto_form
|
||||||
|
? json_decode($inspeksi->foto_form, true)
|
||||||
|
: [];
|
||||||
|
|
||||||
|
$formatFotojson = $existingData; // Start with existing data
|
||||||
|
|
||||||
|
// Process each photo category
|
||||||
|
foreach ($photoCategories as $category => $fields) {
|
||||||
|
// Only update if new files are provided
|
||||||
|
if ($this->categoryHasNewFiles($request, $fields)) {
|
||||||
|
// Delete old files for this category only
|
||||||
|
if (isset($existingData[$category])) {
|
||||||
|
$this->deleteFilesForCategory($existingData[$category]);
|
||||||
|
}
|
||||||
|
$formatFotojson[$category] = $this->processPhotoCategory($request, $fields);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process single files
|
||||||
|
$singleFiles = ['foto_basement', 'foto_gerbang', 'pendamping'];
|
||||||
|
foreach ($singleFiles as $file) {
|
||||||
|
if ($request->hasFile($file)) {
|
||||||
|
// Delete old file if exists
|
||||||
|
if (isset($existingData[$file])) {
|
||||||
|
$this->deleteFile($existingData[$file]);
|
||||||
|
}
|
||||||
|
$formatFotojson[$file] = $this->uploadFile($request->file($file), $file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update record
|
||||||
|
$inspeksi->foto_form = json_encode($formatFotojson);
|
||||||
|
$inspeksi->save();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process a photo category and its subcategories
|
||||||
|
*/
|
||||||
|
|
||||||
|
private function processPhotoCategory(Request $request, array $fields)
|
||||||
|
{
|
||||||
|
$result = [];
|
||||||
|
$photoField = $fields[0];
|
||||||
|
|
||||||
|
if ($request->hasFile($photoField)) {
|
||||||
|
foreach ($request->file($photoField, []) as $key => $value) {
|
||||||
|
$item = [];
|
||||||
|
$item[$fields[1]] = $request->input($fields[1] . '.' . $key);
|
||||||
|
$item[$photoField] = $this->uploadFile($value, $photoField . '.' . $key);
|
||||||
|
|
||||||
|
if (isset($fields[2])) {
|
||||||
|
$item[$fields[2]] = $request->input($fields[2] . '.' . $key);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result[] = $item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function categoryHasNewFiles(Request $request, array $fields): bool
|
||||||
|
{
|
||||||
|
$photoField = $fields[0]; // First element is usually the photo field
|
||||||
|
return $request->hasFile($photoField) ||
|
||||||
|
(is_array($request->file($photoField)) && count($request->file($photoField)) > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function deleteFilesForCategory($categoryData)
|
||||||
|
{
|
||||||
|
if (!is_array($categoryData)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($categoryData as $item) {
|
||||||
|
if (isset($item['foto'])) {
|
||||||
|
$this->deleteOfFile($item['foto']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function deleteOfFile($filePath)
|
||||||
|
{
|
||||||
|
if ($filePath && Storage::exists($filePath)) {
|
||||||
|
Storage::delete($filePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom validation request for foto
|
||||||
|
*/
|
||||||
|
public function validateFotoRequest(Request $request)
|
||||||
|
{
|
||||||
|
return $request->validate([
|
||||||
'permohonan_id' => 'required',
|
'permohonan_id' => 'required',
|
||||||
'jenis_jaminan_id' => 'required',
|
'jenis_jaminan_id' => 'required',
|
||||||
'pendamping' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
'pendamping' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||||
@@ -291,164 +396,96 @@ class SurveyorController extends Controller
|
|||||||
'foto_gerbang' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
'foto_gerbang' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||||
'name_gerbang' => 'nullable|string|max:255',
|
'name_gerbang' => 'nullable|string|max:255',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
try {
|
|
||||||
|
|
||||||
$rute_menuju_lokasi = [];
|
|
||||||
$object_jaminan = [];
|
|
||||||
$lingkungan = [];
|
|
||||||
$foto_lantai_unit = [];
|
|
||||||
$foto_lantai_lainnya = [];
|
|
||||||
$foto_rute_lainnya = [];
|
|
||||||
|
|
||||||
|
|
||||||
foreach ($request->file('foto_rute', []) as $key => $value) {
|
|
||||||
$fotoRutePath = $this->uploadFile($request->file('foto_rute.' . $key), 'foto_rute.' . $key);
|
|
||||||
|
|
||||||
$rute_menuju_lokasi[] = [
|
|
||||||
'name_rute' => $request->input('name_rute.' . $key),
|
|
||||||
'foto_rute' => $fotoRutePath,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($request->file('foto_objek', []) as $key => $value) {
|
|
||||||
$fotoObjekPath = $this->uploadFile($request->file('foto_objek.' . $key), 'foto_objek.' . $key);
|
|
||||||
$object_jaminan[] = [
|
|
||||||
'nama_objek' => $request->input('name_objek.' . $key),
|
|
||||||
'foto_object' => $fotoObjekPath,
|
|
||||||
'deskripsi_objek' => $request->input('deskripsi_objek.' . $key),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($request->file('foto_lingkungan', []) as $key => $value) {
|
|
||||||
$fotoLingkunganPath = $this->uploadFile($request->file('foto_lingkungan.' . $key), 'foto_lingkungan.' . $key);
|
|
||||||
$lingkungan[] = [
|
|
||||||
'name_lingkungan' => $request->input('name_lingkungan.' . $key),
|
|
||||||
'foto_lingkungan' => $fotoLingkunganPath,
|
|
||||||
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($request->file('foto_lantai_unit', []) as $key => $value) {
|
|
||||||
$foto_lantai_unit_Path = $this->uploadFile($request->file('foto_lantai_unit.' . $key), 'foto_lantai_unit.' . $key);
|
|
||||||
$foto_lantai_unit[] = [
|
|
||||||
'name_lantai_unit' => $request->input('name_lantai_unit.' . $key),
|
|
||||||
'foto_lantai_unit' => $foto_lantai_unit_Path,
|
|
||||||
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($request->file('foto_rute_lainnya', []) as $key => $value) {
|
|
||||||
$foto_rute_lainnya_path = $this->uploadFile($request->file('foto_rute_lainnya.' . $key), 'foto_rute_lainnya.' . $key);
|
|
||||||
$foto_rute_lainnya[] = [
|
|
||||||
'name_rute_lainnya' => $request->input('name_rute_lainnya.' . $key),
|
|
||||||
'foto_rute_lainnya' => $foto_rute_lainnya_path,
|
|
||||||
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
foreach ($request->file('foto_lantai_lainnya', []) as $key => $value) {
|
|
||||||
$foto_lantai_lainnya_path = $this->uploadFile($request->file('foto_lantai_lainnya.' . $key), 'foto_lantai_lainnya.' . $key);
|
|
||||||
$foto_lantai_lainnya[] = [
|
|
||||||
'name_lantai_lainnya' => $request->input('name_lantai_lainnya.' . $key),
|
|
||||||
'foto_lantai_lainnya' => $foto_lantai_lainnya_path,
|
|
||||||
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$basement = $this->uploadFile($request->file('foto_basement'), 'foto_basement');
|
|
||||||
$gerbang = $this->uploadFile($request->file('foto_gerbang'), 'foto_gerbang');
|
|
||||||
$pendamping = $this->uploadFile($request->file('pendamping'), 'pendamping');
|
|
||||||
|
|
||||||
|
|
||||||
$formatFotojson = [
|
|
||||||
'rute_menuju_lokasi' => $rute_menuju_lokasi,
|
|
||||||
'object_jaminan' => $object_jaminan,
|
|
||||||
'lingkungan' => $lingkungan
|
|
||||||
,'foto_lantai_unit' => $foto_lantai_unit,
|
|
||||||
'foto_lantai_lainnya' => $foto_lantai_lainnya,
|
|
||||||
'foto_rute_lainnya' => $foto_rute_lainnya,
|
|
||||||
'foto_basement' => $basement,
|
|
||||||
'foto_gerbang' => $gerbang,
|
|
||||||
'pendamping' => $pendamping
|
|
||||||
];
|
|
||||||
|
|
||||||
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->where('jenis_jaminan_id', $request->input('jenis_jaminan_id'))->first();
|
|
||||||
|
|
||||||
if ($inspeksi) {
|
|
||||||
$inspeksi->update([
|
|
||||||
'foto_form' => json_encode($formatFotojson)
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
Inspeksi::create([
|
|
||||||
'permohonan_id' => $request->input('permohonan_id'),
|
|
||||||
'foto_form' => json_encode($formatFotojson),
|
|
||||||
'jenis_jaminan_id' => $request->input('jenis_jaminan_id')
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200);
|
|
||||||
} catch (Exception $e) {
|
|
||||||
return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function submitSurveyor($id)
|
public function submitSurveyor($id)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
// $cekButton = $this->checkButtonStatus($id);
|
// Get button status check result
|
||||||
// if (!$cekButton->buttonDisable) {
|
$buttonStatusCheck = $this->checkButtonStatus($id);
|
||||||
$permohonan = Permohonan::find($id);
|
$buttonStatus = json_decode($buttonStatusCheck->getContent(), true);
|
||||||
$permohonan->update([
|
|
||||||
'status' => 'done',
|
// Check if button should be disabled
|
||||||
]);
|
if ($buttonStatus['buttonDisable']) {
|
||||||
return response()->json(['success' => true, 'message' => 'Form surveyor submitted successfully'], 200);
|
return response()->json([
|
||||||
// } else {
|
'success' => false,
|
||||||
// return response()->json(['error' => 'Something went wrong'], 400);
|
'message' => 'Form belum lengkap. Pastikan semua data telah diisi dengan benar.',
|
||||||
// }
|
], 422);
|
||||||
} catch (Exception $e) {
|
|
||||||
return response()->json(['error' => 'Something went wrong', 'message' => $e->getMessage()], 500);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If validation passes, update permohonan status
|
||||||
|
// $permohonan = Permohonan::findOrFail($id);
|
||||||
|
// $permohonan->update([
|
||||||
|
// 'status' => 'done',
|
||||||
|
// 'submitted_at' => now()
|
||||||
|
// ]);
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'success' => true,
|
||||||
|
'message' => 'Form surveyor berhasil disubmit'
|
||||||
|
], 200);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return response()->json([
|
||||||
|
'success' => false,
|
||||||
|
'message' => 'Terjadi kesalahan',
|
||||||
|
'error' => $e->getMessage()
|
||||||
|
], 500);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function checkButtonStatus($id)
|
public function checkButtonStatus($id)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
// Get all inspeksi records for this permohonan
|
||||||
$inpeksi = Inspeksi::where('permohonan_id', $id)->first();
|
$inspeksiRecords = Inspeksi::where('permohonan_id', $id)->get();
|
||||||
|
|
||||||
if ($inpeksi) {
|
if ($inspeksiRecords->isEmpty()) {
|
||||||
$forminspeksi = json_decode($inpeksi->data_form, true);
|
|
||||||
$formFoto = json_decode($inpeksi->foto_form, true);
|
|
||||||
|
|
||||||
$buttonDisable = false;
|
|
||||||
if (
|
|
||||||
$formFoto && count($formFoto) > 0 &&
|
|
||||||
$forminspeksi
|
|
||||||
) {
|
|
||||||
$buttonDisable = false;
|
|
||||||
} else {
|
|
||||||
$buttonDisable = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return response()->json(['buttonDisable' => $buttonDisable]);
|
|
||||||
} else {
|
|
||||||
return response()->json(['buttonDisable' => true]);
|
return response()->json(['buttonDisable' => true]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($inspeksiRecords as $inspeksi) {
|
||||||
|
$dataForm = json_decode($inspeksi->data_form, true);
|
||||||
|
$fotoForm = json_decode($inspeksi->foto_form, true);
|
||||||
|
$denahForm = json_decode($inspeksi->denah_form, true);
|
||||||
|
$dataPembanding = json_decode($inspeksi->data_pembanding, true);
|
||||||
|
|
||||||
|
// Get jenis jaminan to check if it needs denah
|
||||||
|
$jenisJaminan = JenisJaminan::find($inspeksi->jenis_jaminan_id);
|
||||||
|
$isTanahBangunan = !in_array(
|
||||||
|
strtoupper($jenisJaminan->name ?? ''),
|
||||||
|
['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT']
|
||||||
|
);
|
||||||
|
|
||||||
|
// Check if required forms are empty or incomplete
|
||||||
|
if (empty($dataForm) || empty($fotoForm)) {
|
||||||
|
return response()->json(['buttonDisable' => true]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($isTanahBangunan && empty($denahForm)) {
|
||||||
|
return response()->json(['buttonDisable' => true]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($dataPembanding)) {
|
||||||
|
return response()->json(['buttonDisable' => true]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we get here, all checks passed
|
||||||
|
return response()->json(['buttonDisable' => false]);
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
// return response()->json(['buttonDisable' => true]);
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'error' => 'Something went wrong',
|
'error' => 'Something went wrong',
|
||||||
'message' => $e->getMessage()
|
'message' => $e->getMessage(),
|
||||||
|
'buttonDisable' => true
|
||||||
], 500);
|
], 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -558,9 +595,9 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
|
|
||||||
$link_url_region = Teams::with('regions', 'teamsUsers')
|
$link_url_region = Teams::with('regions', 'teamsUsers')
|
||||||
->whereHas('teamsUsers', function ($query) {
|
->whereHas('teamsUsers', function ($query) {
|
||||||
$query->where('user_id', Auth::user()->id);
|
$query->where('user_id', Auth::user()->id);
|
||||||
})->first();
|
})->first();
|
||||||
|
|
||||||
$branches = Branch::all();
|
$branches = Branch::all();
|
||||||
$provinces = Province::all();
|
$provinces = Province::all();
|
||||||
@@ -768,13 +805,12 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
if (!$modelClass) {
|
if (!$modelClass) {
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('basicdata.'. $type .'.index')
|
->route('basicdata.' . $type . '.index')
|
||||||
->with('error', 'Invalid type specified.');
|
->with('error', 'Invalid type specified.');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type == 'spek-bangunan') {
|
if ($type == 'spek-bangunan') {
|
||||||
$validate['spek_kategori_bagunan_id'] = $request->spek_kategori_bagunan_id;
|
$validate['spek_kategori_bagunan_id'] = $request->spek_kategori_bagunan_id;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -782,12 +818,11 @@ class SurveyorController extends Controller
|
|||||||
$modelClass::create($data);
|
$modelClass::create($data);
|
||||||
|
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('basicdata.' . $type .'.index')
|
->route('basicdata.' . $type . '.index')
|
||||||
->with('success', 'created successfully');
|
->with('success', 'created successfully');
|
||||||
|
|
||||||
} catch (Exeception $e) {
|
} catch (Exeception $e) {
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('basicdata.' . $type .'.index')
|
->route('basicdata.' . $type . '.index')
|
||||||
->with('error', $th->getMessage());
|
->with('error', $th->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -836,7 +871,6 @@ class SurveyorController extends Controller
|
|||||||
$spekKategoriBagunan = null;
|
$spekKategoriBagunan = null;
|
||||||
if ($type == 'spek-bangunan') {
|
if ($type == 'spek-bangunan') {
|
||||||
$spekKategoriBagunan = SpekKategoritBangunan::all();
|
$spekKategoriBagunan = SpekKategoritBangunan::all();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -852,7 +886,6 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
if ($type == 'spek-bangunan') {
|
if ($type == 'spek-bangunan') {
|
||||||
$validate['spek_kategori_bagunan_id'] = $request->spek_kategori_bagunan_id;
|
$validate['spek_kategori_bagunan_id'] = $request->spek_kategori_bagunan_id;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the provided type exists in the modelClasses
|
// Check if the provided type exists in the modelClasses
|
||||||
@@ -1011,7 +1044,7 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$filteredRecords = $query->count();
|
$filteredRecords = $query->count();
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'jenisFasilitasKredit','penilaian'])->get();
|
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'jenisFasilitasKredit', 'penilaian'])->get();
|
||||||
|
|
||||||
$pageCount = ceil($totalRecords / $size);
|
$pageCount = ceil($totalRecords / $size);
|
||||||
|
|
||||||
@@ -1162,10 +1195,10 @@ class SurveyorController extends Controller
|
|||||||
$query->where('jenis_jaminan_id', $jaminanId);
|
$query->where('jenis_jaminan_id', $jaminanId);
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
->whereHas('debiture.documents', function ($query) use ($jaminanId) {
|
->whereHas('debiture.documents', function ($query) use ($jaminanId) {
|
||||||
$query->where('jenis_jaminan_id', $jaminanId);
|
$query->where('jenis_jaminan_id', $jaminanId);
|
||||||
})
|
})
|
||||||
->findOrFail($id);
|
->findOrFail($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1277,7 +1310,7 @@ class SurveyorController extends Controller
|
|||||||
'posisi-unit' => ['Posisi unit', 'posisi-unit'],
|
'posisi-unit' => ['Posisi unit', 'posisi-unit'],
|
||||||
'bentuk-unit' => ['Bentuk unit', 'bentuk-unit'],
|
'bentuk-unit' => ['Bentuk unit', 'bentuk-unit'],
|
||||||
'fasilitas-objek' => ['Fasilitas Umum Dekat Objek', 'fasilitas-objek'],
|
'fasilitas-objek' => ['Fasilitas Umum Dekat Objek', 'fasilitas-objek'],
|
||||||
];
|
];
|
||||||
|
|
||||||
private function getAssetData(array $data): array
|
private function getAssetData(array $data): array
|
||||||
{
|
{
|
||||||
@@ -1294,12 +1327,27 @@ class SurveyorController extends Controller
|
|||||||
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
|
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
|
||||||
'jenis_asset' => [
|
'jenis_asset' => [
|
||||||
$data['jenis_asset'] => ($data['jenis_asset'] === 'sesuai')
|
$data['jenis_asset'] => ($data['jenis_asset'] === 'sesuai')
|
||||||
? $data['jenis_asset']
|
? $data['jenis_asset_name']
|
||||||
: ($data['jenis_asset_tidak_sesuai'] ?? null)
|
: ($data['jenis_asset_tidak_sesuai'] ?? null)
|
||||||
],
|
],
|
||||||
'alamat' => [
|
'alamat' => [
|
||||||
$data['alamat_sesuai'] => $alamatData
|
$data['alamat_sesuai'] => $alamatData
|
||||||
],
|
],
|
||||||
|
'hub_cadeb' => [
|
||||||
|
$data['hub_cadeb'] => $this->getFieldData(
|
||||||
|
$data,
|
||||||
|
'hub_cadeb',
|
||||||
|
true
|
||||||
|
)
|
||||||
|
],
|
||||||
|
'hub_cadeb_penghuni' => [
|
||||||
|
$data['hub_cadeb_penghuni'] => $this->getFieldData(
|
||||||
|
$data,
|
||||||
|
'hub_cadeb_penghuni',
|
||||||
|
true
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
'kordinat_lng' => $data['kordinat_lng'] ?? null,
|
'kordinat_lng' => $data['kordinat_lng'] ?? null,
|
||||||
'kordinat_lat' => $data['kordinat_lat'] ?? null,
|
'kordinat_lat' => $data['kordinat_lat'] ?? null,
|
||||||
]
|
]
|
||||||
@@ -1379,17 +1427,21 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
'bangunan' => [
|
'bangunan' => [
|
||||||
'luas_tanah_bagunan' => $data['luas_tanah_bagunan'] ?? null,
|
'luas_tanah_bagunan' => $this->getFieldData(
|
||||||
'jenis_bangunan' => $data['jenis_bangunan'] ?? null,
|
$data,
|
||||||
'kondisi_bangunan' => $data['kondisi_bangunan'] ?? null,
|
'luas_tanah_bagunan',
|
||||||
'sifat_bangunan' => $data['sifat_bangunan'] ?? null,
|
true
|
||||||
'sifat_bangunan_input' => $data['sifat_bangunan_input'] ?? null,
|
),
|
||||||
'spesifikasi_bangunan' => $result ?? null,
|
'jenis_bangunan' => $data['jenis_bangunan'] ?? null,
|
||||||
'sarana_pelengkap' => $this->mapArrayWithInputs(
|
'kondisi_bangunan' => $data['kondisi_bangunan'] ?? null,
|
||||||
$data['sarana_pelengkap'] ?? [],
|
'sifat_bangunan' => $data['sifat_bangunan'] ?? null,
|
||||||
$data['sarana_pelengkap_input'] ?? []
|
'sifat_bangunan_input' => $data['sifat_bangunan_input'] ?? null,
|
||||||
),
|
'spesifikasi_bangunan' => $result ?? null,
|
||||||
],
|
'sarana_pelengkap' => $this->mapArrayWithInputs(
|
||||||
|
$data['sarana_pelengkap'] ?? [],
|
||||||
|
$data['sarana_pelengkap_input'] ?? []
|
||||||
|
),
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1397,27 +1449,27 @@ class SurveyorController extends Controller
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'lingkungan' => [
|
'lingkungan' => [
|
||||||
'jarak_jalan_utama' => $data['jarak_jalan_utama'] ?? null,
|
'jarak_jalan_utama' => $data['jarak_jalan_utama'] ?? null,
|
||||||
'jalan_linkungan' => $data['jalan_linkungan'] ?? null,
|
'jalan_linkungan' => $data['jalan_linkungan'] ?? null,
|
||||||
'jarak_cbd_point' => $data['jarak_cbd_point'] ?? null,
|
'jarak_cbd_point' => $data['jarak_cbd_point'] ?? null,
|
||||||
'nama_cbd_point' => $data['nama_cbd_point'] ?? null,
|
'nama_cbd_point' => $data['nama_cbd_point'] ?? null,
|
||||||
'lebar_perkerasan_jalan' => $data['lebar_perkerasan_jalan'] ?? null,
|
'lebar_perkerasan_jalan' => $data['lebar_perkerasan_jalan'] ?? null,
|
||||||
'perkerasan_jalan' => $data['perkerasan_jalan'] ?? null,
|
'perkerasan_jalan' => $data['perkerasan_jalan'] ?? null,
|
||||||
'lalu_lintas' => $data['lalu_lintas'] ?? null,
|
'lalu_lintas' => $data['lalu_lintas'] ?? null,
|
||||||
'gol_mas_sekitar' => $data['gol_mas_sekitar'] ?? null,
|
'gol_mas_sekitar' => $data['gol_mas_sekitar'] ?? null,
|
||||||
'tingkat_keramaian' => $data['tingkat_keramaian'] ?? null,
|
'tingkat_keramaian' => $data['tingkat_keramaian'] ?? null,
|
||||||
'terletak_diarea' => $data['terletak_diarea'] ?? null,
|
'terletak_diarea' => $data['terletak_diarea'] ?? null,
|
||||||
'disekitar_lokasi' => $data['disekitar_lokasi'] ?? null,
|
'disekitar_lokasi' => $data['disekitar_lokasi'] ?? null,
|
||||||
'kondisi_bangunan_sekitar' => $data['kondisi_bangunan_sekitar'] ?? null,
|
'kondisi_bangunan_sekitar' => $data['kondisi_bangunan_sekitar'] ?? null,
|
||||||
'sifat_bangunan_sekitar' => $data['sifat_bangunan_sekitar'] ?? null,
|
'sifat_bangunan_sekitar' => $data['sifat_bangunan_sekitar'] ?? null,
|
||||||
'dekat_makam' => $data['dekat_makam'] ?? null,
|
'dekat_makam' => $data['dekat_makam'] ?? null,
|
||||||
'jarak_makam' => $data['jarak_makam'] ?? null,
|
'jarak_makam' => $data['jarak_makam'] ?? null,
|
||||||
'nama_makam' => $data['nama_makam'] ?? null,
|
'nama_makam' => $data['nama_makam'] ?? null,
|
||||||
'dekat_tps' => $data['dekat_tps'] ?? null,
|
'dekat_tps' => $data['dekat_tps'] ?? null,
|
||||||
'jarak_tps' => $data['jarak_tps'] ?? null,
|
'jarak_tps' => $data['jarak_tps'] ?? null,
|
||||||
'nama_tps' => $data['nama_tps'] ?? null,
|
'nama_tps' => $data['nama_tps'] ?? null,
|
||||||
'merupakan_daerah' => $data['merupakan_daerah'] ?? null,
|
'merupakan_daerah' => $data['merupakan_daerah'] ?? null,
|
||||||
'fasilitas_dekat_object' => $data['fasilitas_dekat_object'] ?? null,
|
'fasilitas_dekat_object' => $data['fasilitas_dekat_object'] ?? null,
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -1426,25 +1478,26 @@ class SurveyorController extends Controller
|
|||||||
{
|
{
|
||||||
$factData = [
|
$factData = [
|
||||||
'fakta' => [
|
'fakta' => [
|
||||||
'fakta_positif' => $data['fakta_positif'] ?? null,
|
'fakta_positif' => $data['fakta_positif'] ?? null,
|
||||||
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
||||||
'rute_menuju' => $data['rute_menuju'] ?? null,
|
'rute_menuju' => $data['rute_menuju'] ?? null,
|
||||||
'batas_batas' => $this->mapArrayWithInputs(
|
'batas_batas' => $this->mapArrayWithInputs(
|
||||||
$data['batas_batas'] ?? null, $data['batas_batas_input'] ?? null
|
$data['batas_batas'] ?? null,
|
||||||
),
|
$data['batas_batas_input'] ?? null
|
||||||
'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null,
|
),
|
||||||
'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null,
|
'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null,
|
||||||
'informasi_dokument' => $data['informasi_dokument'] ?? null,
|
'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null,
|
||||||
'peruntukan' => $data['peruntukan'] ?? null,
|
'informasi_dokument' => $data['informasi_dokument'] ?? null,
|
||||||
'kdb' => $data['kdb'] ?? null,
|
'peruntukan' => $data['peruntukan'] ?? null,
|
||||||
'kdh' => $data['kdh'] ?? null,
|
'kdb' => $data['kdb'] ?? null,
|
||||||
'gsb' => $data['gsb'] ?? null,
|
'kdh' => $data['kdh'] ?? null,
|
||||||
'max_lantai' => $data['max_lantai'] ?? null,
|
'gsb' => $data['gsb'] ?? null,
|
||||||
'klb' => $data['klb'] ?? null,
|
'max_lantai' => $data['max_lantai'] ?? null,
|
||||||
'gss' => $data['gss'] ?? null,
|
'klb' => $data['klb'] ?? null,
|
||||||
'pelebaran_jalan' => $data['pelebaran_jalan'] ?? null,
|
'gss' => $data['gss'] ?? null,
|
||||||
'nama_petugas' => $data['nama_petugas'] ?? null,
|
'pelebaran_jalan' => $data['pelebaran_jalan'] ?? null,
|
||||||
'keterangan' => $data['keterangan'] ?? null,
|
'nama_petugas' => $data['nama_petugas'] ?? null,
|
||||||
|
'keterangan' => $data['keterangan'] ?? null,
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -1859,8 +1912,11 @@ class SurveyorController extends Controller
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'action' => $data['action'] ?? null,
|
'action' => $data['action'] ?? null,
|
||||||
'luas_unit' => $data['luas_unit'] ?? null,
|
'luas_unit' => $this->getFieldData(
|
||||||
'luas_unit_tidak_sesuai' => $data['luas_unit_tidak_sesuai'] ?? null,
|
$data,
|
||||||
|
'luas_unit',
|
||||||
|
true
|
||||||
|
),
|
||||||
'jenis_unit' => $data['jenis_unit'] ?? null,
|
'jenis_unit' => $data['jenis_unit'] ?? null,
|
||||||
'kondisi_unit' => $data['kondisi_unit'] ?? null,
|
'kondisi_unit' => $data['kondisi_unit'] ?? null,
|
||||||
'posisi_unit' => $data['posisi_unit'] ?? null,
|
'posisi_unit' => $data['posisi_unit'] ?? null,
|
||||||
@@ -1872,7 +1928,7 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper untuk upload file
|
* Helper untuk upload file
|
||||||
*
|
*
|
||||||
* @param $file
|
* @param $file
|
||||||
@@ -1936,7 +1992,7 @@ class SurveyorController extends Controller
|
|||||||
if ($checkKesesuaian) {
|
if ($checkKesesuaian) {
|
||||||
return [
|
return [
|
||||||
$data[$fieldName] ?? '' => ($data[$fieldName] ?? '') === 'sesuai'
|
$data[$fieldName] ?? '' => ($data[$fieldName] ?? '') === 'sesuai'
|
||||||
? ($data[$fieldName] ?? '')
|
? ($data["{$fieldName}_sesuai"] ?? '')
|
||||||
: ($data["{$fieldName}_tidak_sesuai"] ?? '')
|
: ($data["{$fieldName}_tidak_sesuai"] ?? '')
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -1968,5 +2024,4 @@ class SurveyorController extends Controller
|
|||||||
// Return Excel download
|
// Return Excel download
|
||||||
return Excel::download(new BasicDataSurveyorExport($modelClass), $type . '.xlsx');
|
return Excel::download(new BasicDataSurveyorExport($modelClass), $type . '.xlsx');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,8 +71,10 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'luas_tanah' => 'required',
|
'luas_tanah' => 'required',
|
||||||
|
'luas_tanah_sesuai' => 'nullable',
|
||||||
'luas_tanah_tidak_sesuai' => 'nullable',
|
'luas_tanah_tidak_sesuai' => 'nullable',
|
||||||
'hadap_mata_angin' => 'required',
|
'hadap_mata_angin' => 'required',
|
||||||
|
'hadap_mata_angin_sesuai' => 'nullable',
|
||||||
'hadap_mata_angin_tidak_sesuai' => 'nullable',
|
'hadap_mata_angin_tidak_sesuai' => 'nullable',
|
||||||
'bentuk_tanah' => 'nullable|array',
|
'bentuk_tanah' => 'nullable|array',
|
||||||
'bentuk_tanah_lainnya' => 'nullable',
|
'bentuk_tanah_lainnya' => 'nullable',
|
||||||
@@ -95,7 +97,9 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'action' => 'required',
|
'action' => 'required',
|
||||||
|
'luas_tanah_bangunan_sesuai' => 'nullable',
|
||||||
'luas_tanah_bagunan' => 'required',
|
'luas_tanah_bagunan' => 'required',
|
||||||
|
'luas_tanah_bangunan_tidak_sesuai' => 'nullable',
|
||||||
'jenis_bangunan' => 'required',
|
'jenis_bangunan' => 'required',
|
||||||
'kondisi_bangunan' => 'nullable',
|
'kondisi_bangunan' => 'nullable',
|
||||||
'sifat_bangunan' => 'required|array',
|
'sifat_bangunan' => 'required|array',
|
||||||
@@ -116,6 +120,7 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
return [
|
return [
|
||||||
'action' => 'required',
|
'action' => 'required',
|
||||||
'luas_unit' => 'required',
|
'luas_unit' => 'required',
|
||||||
|
'luas_unit_sesuai' => 'nullable',
|
||||||
'luas_unit_tidak_sesuai' => 'nullable',
|
'luas_unit_tidak_sesuai' => 'nullable',
|
||||||
'jenis_unit' => 'required|array',
|
'jenis_unit' => 'required|array',
|
||||||
'kondisi_unit' => 'required|array',
|
'kondisi_unit' => 'required|array',
|
||||||
@@ -511,10 +516,19 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'permohonan_id' => 'required',
|
'permohonan_id' => 'required',
|
||||||
'type' => 'required',
|
'type' => 'required',
|
||||||
'debitur_perwakilan' => 'required|array',
|
'debitur_perwakilan' => 'required|array',
|
||||||
|
'jenis_asset_name' => 'nullable',
|
||||||
'jenis_asset' => 'required',
|
'jenis_asset' => 'required',
|
||||||
'jenis_asset_tidak_sesuai' => 'nullable',
|
'jenis_asset_tidak_sesuai' => 'nullable',
|
||||||
'alamat_sesuai' => 'required',
|
'alamat_sesuai' => 'required',
|
||||||
'alamat_tidak_sesuai' => 'nullable',
|
'alamat_tidak_sesuai' => 'nullable',
|
||||||
|
|
||||||
|
'hub_cadeb' => 'required',
|
||||||
|
'hub_cadeb_sesuai' => 'nullable',
|
||||||
|
'hub_cadeb_tidak_sesuai' => 'nullable',
|
||||||
|
'hub_cadeb_penghuni' => 'required',
|
||||||
|
'hub_cadeb_penghuni_sesuai' => 'nullable',
|
||||||
|
'hub_cadeb_penghuni_tidak_sesuai' => 'nullable',
|
||||||
|
|
||||||
'nama_jalan' => 'nullable',
|
'nama_jalan' => 'nullable',
|
||||||
'desa_kelurahan' => 'nullable',
|
'desa_kelurahan' => 'nullable',
|
||||||
'kecamatan' => 'nullable',
|
'kecamatan' => 'nullable',
|
||||||
|
|||||||
@@ -12,26 +12,44 @@
|
|||||||
<!-- Luas tanah -->
|
<!-- Luas tanah -->
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Luas Unit</label>
|
<label class="form-label max-w-56">Luas Unit</label>
|
||||||
|
@if (isset($permohonan->debiture->documents))
|
||||||
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
|
@php
|
||||||
|
$luas = $item->detail;
|
||||||
|
$details = json_decode($luas[0]->details, true);
|
||||||
|
$luas_unit = isset($details['luas_unit']) ? $details['luas_unit'] : 'N/A';
|
||||||
|
@endphp
|
||||||
|
<input type="hidden" name="luas_unit_sesuai" class="input" value="{{ $luas_unit }}">
|
||||||
|
<p class="text-2sm text-gray-700">{{ $luas_unit }} m<sup>2</sup></p>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])" type="radio" class="radio" name="luas_unit" value="sesuai"
|
<input
|
||||||
|
onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])"
|
||||||
|
type="radio" class="radio" name="luas_unit" value="sesuai"
|
||||||
{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Sesuai</span>
|
<span class="ml-2">Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])" type="radio" class="radio" name="luas_unit" value="tidak sesuai"
|
<input
|
||||||
|
onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])"
|
||||||
|
type="radio" class="radio" name="luas_unit" value="tidak sesuai"
|
||||||
{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div id="luas_unit_tidak_sesuai" class="flex items-baseline gap-2"
|
<div id="luas_unit_tidak_sesuai" class="flex items-baseline gap-2"
|
||||||
style="{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ old('luas_unit', $forminspeksi['luas_unit'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
||||||
<input id="analisa_luas_unit_tidak_sesuai" type="text" name="luas_unit_tidak_sesuai" class="input w-full"
|
<input id="analisa_luas_unit_tidak_sesuai" type="text" name="luas_unit_tidak_sesuai"
|
||||||
placeholder="Masukan Luas Tanah"
|
class="input w-full" placeholder="Masukan Luas Tanah"
|
||||||
value="{{ old('luas_unit_tidak_sesuai', $forminspeksi['luas_unit_tidak_sesuai'] ?? '') }}">
|
value="{{ old('luas_unit_tidak_sesuai', $forminspeksi['luas_unit_tidak_sesuai'] ?? '') }}">
|
||||||
<button type="button" class="btn btn-md btn-primary" onclick="updateAnalisa('analisa_unit')">Save</button>
|
<button type="button" class="btn btn-md btn-primary"
|
||||||
</div>
|
onclick="updateAnalisa('analisa_unit')">Save</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-luas_unit" class="alert text-danger text-sm"></em>
|
<em id="error-luas_unit" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
@@ -94,8 +112,8 @@
|
|||||||
{{ in_array($item->name, old('lantai', $forminspeksi['lantai'] ?? [])) ? 'checked' : '' }} />
|
{{ in_array($item->name, old('lantai', $forminspeksi['lantai'] ?? [])) ? 'checked' : '' }} />
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
<input type="text" name="lantai_input[]" class="input w-full"
|
<input type="text" name="lantai_input[]" class="input w-full" id="lantaiInput"
|
||||||
id="lantaiInput" placeholder="Masukkan {{ $item->name }}..."
|
placeholder="Masukkan {{ $item->name }}..."
|
||||||
value="{{ old('lantai_input.' . $loop->index, $forminspeksi['lantai_input'][$loop->index] ?? '') }}">
|
value="{{ old('lantai_input.' . $loop->index, $forminspeksi['lantai_input'][$loop->index] ?? '') }}">
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
$details = json_decode($luas[0]->details, true);
|
$details = json_decode($luas[0]->details, true);
|
||||||
$luas_bangunan = isset($details['luas_bangunan']) ? $details['luas_bangunan'] : 'N/A';
|
$luas_bangunan = isset($details['luas_bangunan']) ? $details['luas_bangunan'] : 'N/A';
|
||||||
@endphp
|
@endphp
|
||||||
|
<input type="hidden" name="luas_bangunan_sesuai" class="input" value="{{ $luas_bangunan }}">
|
||||||
<p class="text-2sm text-gray-700">{{ $luas_bangunan }} m<sup>2</sup></p>
|
<p class="text-2sm text-gray-700">{{ $luas_bangunan }} m<sup>2</sup></p>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
|
|||||||
@@ -1,100 +1,72 @@
|
|||||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-5 lg:gap-7.5">
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-5 lg:gap-7.5">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
|
@php
|
||||||
|
$jaminanId = $dokumen->jenisJaminan->id;
|
||||||
|
$currentInspeksi = $inspeksiData[$jaminanId] ?? null;
|
||||||
|
|
||||||
|
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT'];
|
||||||
|
|
||||||
|
$href = [
|
||||||
|
[
|
||||||
|
'label' => 'form inspeksi',
|
||||||
|
'url' => route('surveyor.inspeksi', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $jaminanId,
|
||||||
|
]) . "?form=create-inspeksi&inspeksi={$permohonan->id}&jenis_jaminan={$jaminanId}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => !empty($currentInspeksi['data_form']),
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
if (!in_array(strtoupper($dokumen->jenisJaminan->name), $tanahBangunanTypes)) {
|
||||||
|
$href[] = [
|
||||||
|
'label' => 'denah tanah dan bangunan',
|
||||||
|
'url' => route('surveyor.denah', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $jaminanId,
|
||||||
|
]) . "?form=create-denah&denah={$permohonan->id}&jenis_jaminan={$jaminanId}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => !empty($currentInspeksi['denah_form']),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$href = array_merge($href, [
|
||||||
|
[
|
||||||
|
'label' => 'foto',
|
||||||
|
'url' => route('surveyor.foto', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $jaminanId,
|
||||||
|
]) . "?form=create-foto&foto={$permohonan->id}&jenis_jaminan={$jaminanId}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => !empty($currentInspeksi['foto_form']),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'label' => 'data pembanding',
|
||||||
|
'url' => route('surveyor.data-pembanding', [
|
||||||
|
'id' => $permohonan->id,
|
||||||
|
'jaminanId' => $jaminanId,
|
||||||
|
]) . "?form=data-pembanding&pembanding={$permohonan->id}&jenis_jaminan={$jaminanId}",
|
||||||
|
'show' => true,
|
||||||
|
'icon' => !empty($currentInspeksi['data_pembanding']),
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
@endphp
|
||||||
|
|
||||||
<div class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg grid gap-5"
|
<div class="card border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg grid gap-5"
|
||||||
style="padding: 20px">
|
style="padding: 20px">
|
||||||
|
|
||||||
<div class="card-group flex items-center flex-wrap sm:flex-nowrap justify-between py-4 gap-2.5">
|
<div class="card-group flex items-center flex-wrap sm:flex-nowrap justify-between py-4 gap-2.5">
|
||||||
<div class="flex items-center gap-3.5">
|
<div class="flex items-center gap-3.5">
|
||||||
<div class="relative size-[50px] shrink-0">
|
<div class="relative size-[50px] shrink-0">
|
||||||
<svg class="w-full h-full stroke-gray-300 fill-gray-100" fill="none" height="48"
|
<!-- SVG code remains the same -->
|
||||||
viewBox="0 0 44 48" width="44" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path
|
|
||||||
d="M16 2.4641C19.7128 0.320509 24.2872 0.320508 28 2.4641L37.6506 8.0359C41.3634 10.1795 43.6506 14.141 43.6506
|
|
||||||
18.4282V29.5718C43.6506 33.859 41.3634 37.8205 37.6506 39.9641L28 45.5359C24.2872 47.6795 19.7128 47.6795 16 45.5359L6.34937
|
|
||||||
39.9641C2.63655 37.8205 0.349365 33.859 0.349365 29.5718V18.4282C0.349365 14.141 2.63655 10.1795 6.34937 8.0359L16 2.4641Z"
|
|
||||||
fill="">
|
|
||||||
</path>
|
|
||||||
<path
|
|
||||||
d="M16.25 2.89711C19.8081 0.842838 24.1919 0.842837 27.75 2.89711L37.4006 8.46891C40.9587 10.5232 43.1506 14.3196 43.1506
|
|
||||||
18.4282V29.5718C43.1506 33.6804 40.9587 37.4768 37.4006 39.5311L27.75 45.1029C24.1919 47.1572 19.8081 47.1572 16.25 45.1029L6.59937
|
|
||||||
39.5311C3.04125 37.4768 0.849365 33.6803 0.849365 29.5718V18.4282C0.849365 14.3196 3.04125 10.5232 6.59937 8.46891L16.25 2.89711Z"
|
|
||||||
stroke="">
|
|
||||||
</path>
|
|
||||||
</svg>
|
|
||||||
<div
|
|
||||||
class="absolute leading-none start-2/4 top-2/4 -translate-y-2/4 -translate-x-2/4 rtl:translate-x-2/4">
|
|
||||||
<i class="ki-filled ki-questionnaire-tablet text-1.5xl text-gray-500">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-2.5">
|
<div class="flex items-center gap-2.5">
|
||||||
|
|
||||||
<span class="flex items-center gap-1.5 leading-none font-medium text-sm text-gray-900">
|
<span class="flex items-center gap-1.5 leading-none font-medium text-sm text-gray-900">
|
||||||
{{ $dokumen->jenisJaminan->name ?? '' }}
|
{{ $dokumen->jenisJaminan->name ?? '' }}
|
||||||
</sp>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@php
|
|
||||||
|
|
||||||
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT'];
|
|
||||||
|
|
||||||
$href = [
|
|
||||||
[
|
|
||||||
'label' => 'form inspeksi',
|
|
||||||
'url' =>
|
|
||||||
route('surveyor.inspeksi', [
|
|
||||||
'id' => $permohonan->id,
|
|
||||||
'jaminanId' => $dokumen->jenisJaminan->id,
|
|
||||||
]) .
|
|
||||||
"?form=create-inspeksi&inspeksi={$permohonan->id}&jenis_jaminan={$dokumen->jenisJaminan->id}",
|
|
||||||
'show' => true,
|
|
||||||
'icon' => $forminspeksi,
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
if (!in_array(strtoupper($dokumen->jenisJaminan->name), $tanahBangunanTypes)) {
|
|
||||||
$href[] = [
|
|
||||||
'label' => 'denah tanah dan bangunan',
|
|
||||||
'url' =>
|
|
||||||
route('surveyor.denah', [
|
|
||||||
'id' => $permohonan->id,
|
|
||||||
'jaminanId' => $dokumen->jenisJaminan->id,
|
|
||||||
]) .
|
|
||||||
"?form=create-denah&denah={$permohonan->id}&jenis_jaminan={$dokumen->jenisJaminan->id}",
|
|
||||||
'show' => true,
|
|
||||||
'icon' => $formDenah,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tambahkan route lainnya
|
|
||||||
$href = array_merge($href, [
|
|
||||||
[
|
|
||||||
'label' => 'foto',
|
|
||||||
'url' =>
|
|
||||||
route('surveyor.foto', [
|
|
||||||
'id' => $permohonan->id,
|
|
||||||
'jaminanId' => $dokumen->jenisJaminan->id,
|
|
||||||
]) . "?form=create-foto&foto={$permohonan->id}&jenis_jaminan={$dokumen->jenisJaminan->id}",
|
|
||||||
'show' => true,
|
|
||||||
'icon' => $formFoto,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'label' => 'data pembanding',
|
|
||||||
'url' =>
|
|
||||||
route('surveyor.data-pembanding', [
|
|
||||||
'id' => $permohonan->id,
|
|
||||||
'jaminanId' => $dokumen->jenisJaminan->id,
|
|
||||||
]) .
|
|
||||||
"?form=data-pembanding&pembanding={$permohonan->id}&jenis_jaminan={$dokumen->jenisJaminan->id}",
|
|
||||||
'show' => true,
|
|
||||||
'icon' => $formPembanding,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
@endphp
|
|
||||||
|
|
||||||
@foreach ($href as $item)
|
@foreach ($href as $item)
|
||||||
@if ($item['show'])
|
@if ($item['show'])
|
||||||
<a href="{{ $item['url'] }}"
|
<a href="{{ $item['url'] }}"
|
||||||
@@ -108,8 +80,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-5">
|
<div class="flex items-center gap-5">
|
||||||
<div class="flex gap-0.5">
|
<div class="flex gap-0.5">
|
||||||
<div class="btn btn-sm btn-icon btn-clear {{ $item['icon'] ? '' : 'btn-light' }}">
|
<div class="btn btn-sm btn-icon btn-clear {{ $item['icon'] ? '' : 'btn-light' }}">
|
||||||
|
|
||||||
<i class="ki-filled {{ $item['icon'] ? 'ki-check-circle' : 'ki-notepad-edit'}}"></i>
|
<i class="ki-filled {{ $item['icon'] ? 'ki-check-circle' : 'ki-notepad-edit'}}"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -621,10 +621,12 @@
|
|||||||
},
|
},
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
window.location.href =
|
// window.location.href =
|
||||||
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=foto';
|
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=foto';
|
||||||
toastrSuccessBuild(response.message);
|
toastrSuccessBuild(response.message);
|
||||||
}
|
}
|
||||||
|
console.log(response);
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
error: function(xhr, status, error) {
|
error: function(xhr, status, error) {
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
<div class=" card w-full bg-white rounded-lg shadow-md ">
|
<div class=" card w-full bg-white rounded-lg shadow-md ">
|
||||||
|
|
||||||
|
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h3 class="card-title">
|
<h3 class="card-title">
|
||||||
Form Inspeksi
|
Form Inspeksi
|
||||||
</h3>
|
</h3>
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<a href="{{ route('surveyor.show', ['id' => request('inspeksi')]) }}"
|
<a href="{{ route('surveyor.show', ['id' => request('inspeksi')]) }}" class="btn btn-xs btn-info">
|
||||||
class="btn btn-xs btn-info">
|
<i class="ki-filled ki-exit-left"></i> Back
|
||||||
<i class="ki-filled ki-exit-left"></i> Back
|
</a>
|
||||||
</a>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -109,6 +108,7 @@
|
|||||||
@if (isset($permohonan->debiture->documents))
|
@if (isset($permohonan->debiture->documents))
|
||||||
@foreach ($permohonan->debiture->documents as $item)
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
<p class="text-2sm text-gray-700">{{ $item->jenisJaminan->name }}</p>
|
<p class="text-2sm text-gray-700">{{ $item->jenisJaminan->name }}</p>
|
||||||
|
<input type="hidden" name="jenis_asset_name" value="{{ $item->jenisJaminan->name }}">
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@@ -117,19 +117,18 @@
|
|||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
|
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="jenis_asset" value="sesuai"
|
type="radio" class="radio" name="jenis_asset" value="sesuai"
|
||||||
{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ isset($forminspeksi['asset']['jenis_asset']['sesuai']) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
|
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="jenis_asset" value="tidak sesuai"
|
type="radio" class="radio" name="jenis_asset" value="tidak sesuai"
|
||||||
{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ isset($forminspeksi['asset']['jenis_asset']['tidak sesuai']) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
|
|
||||||
<div id="jenis_asset" class="flex items-baseline gap-2"
|
<div id="jenis_asset" class="flex items-baseline gap-2"
|
||||||
style="{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ isset($forminspeksi['asset']['jenis_asset']['tidak sesuai']) ? '' : 'display: none;' }}">
|
||||||
<select id="jenis_asset_tidak_sesuai" class="input w-full"
|
<select id="jenis_asset_tidak_sesuai" class="input w-full"
|
||||||
name="jenis_asset_tidak_sesuai">
|
name="jenis_asset_tidak_sesuai">
|
||||||
<option value="">Select Jenis asset</option>
|
<option value="">Select Jenis asset</option>
|
||||||
@@ -145,10 +144,10 @@
|
|||||||
<button type="button" class="btn btn-md btn-primary"
|
<button type="button" class="btn btn-md btn-primary"
|
||||||
onclick="updateAnalisa('jenis_asset')">Save</button>
|
onclick="updateAnalisa('jenis_asset')">Save</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<em id="error-jenis_asset" class="alert text-danger text-sm"></em>
|
<em id="error-jenis_asset" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -168,14 +167,14 @@
|
|||||||
<input
|
<input
|
||||||
onclick="toggleAlamatVisibility('alamat_sesuai', 'alamat_tidak_sesuai', 'sesuai')"
|
onclick="toggleAlamatVisibility('alamat_sesuai', 'alamat_tidak_sesuai', 'sesuai')"
|
||||||
type="radio" class="radio" name="alamat_sesuai" value="sesuai"
|
type="radio" class="radio" name="alamat_sesuai" value="sesuai"
|
||||||
{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input
|
<input
|
||||||
onclick="toggleAlamatVisibility('alamat_sesuai', 'alamat_tidak_sesuai', 'tidak sesuai')"
|
onclick="toggleAlamatVisibility('alamat_sesuai', 'alamat_tidak_sesuai', 'tidak sesuai')"
|
||||||
type="radio" class="radio" name="alamat_sesuai" value="tidak sesuai"
|
type="radio" class="radio" name="alamat_sesuai" value="tidak sesuai"
|
||||||
{{ old('jenis_asset', $forminspeksi['asset']['jenis_asset'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -185,7 +184,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- Alamat Sesuai --}}
|
{{-- Alamat Sesuai --}}
|
||||||
<div id="alamat_sesuai" class="grid gap-2 mt-5" style="display: none;">
|
<div id="alamat_sesuai" class="grid gap-2 mt-5" style="{{ isset($forminspeksi['asset']['alamat']['sesuai']) ? '' : 'display: none;' }}">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
@php
|
@php
|
||||||
$fields = [
|
$fields = [
|
||||||
@@ -234,7 +233,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- Alamat Tidak Sesuai --}}
|
{{-- Alamat Tidak Sesuai --}}
|
||||||
<div id="alamat_tidak_sesuai" class="grid gap-2 mt-5" style="display: none;">
|
<div id="alamat_tidak_sesuai" class="grid gap-2 mt-5" style="{{ isset($forminspeksi['asset']['alamat']['tidak sesuai']) ? '' : 'display: none;' }}"">
|
||||||
@php
|
@php
|
||||||
$inputDataLokasi = [
|
$inputDataLokasi = [
|
||||||
['label' => 'Jl.', 'id' => 'address', 'name' => 'address', 'type' => 'text'],
|
['label' => 'Jl.', 'id' => 'address', 'name' => 'address', 'type' => 'text'],
|
||||||
@@ -425,6 +424,8 @@
|
|||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
|
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
|
||||||
|
<input type="hidden" name="hub_cadeb_sesuai"
|
||||||
|
value="{{ $dokumen->pemilik->hubungan_pemilik->name }}" id="">
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -434,14 +435,14 @@
|
|||||||
<input
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="hub_cadeb" value="sesuai"
|
type="radio" class="radio" name="hub_cadeb" value="sesuai"
|
||||||
{{ old('hub_cadeb', $forminspeksi['asset']['hub_cadeb'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="hub_cadeb" value="tidak sesuai"
|
type="radio" class="radio" name="hub_cadeb" value="tidak sesuai"
|
||||||
{{ old('hub_cadeb', $forminspeksi['asset']['hub_cadeb'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb']['tidak sesuai']))? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
@@ -477,6 +478,9 @@
|
|||||||
<div class="flex flex-wrap items-baseline w-full text-sm">
|
<div class="flex flex-wrap items-baseline w-full text-sm">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
{{ $dokumen->penghuni->hubungan_penghuni->name ?? 'N/A' }}
|
{{ $dokumen->penghuni->hubungan_penghuni->name ?? 'N/A' }}
|
||||||
|
<input type="hidden" name="hub_cadeb_penguhuni_sesuai"
|
||||||
|
value="{{ isset($dokumen->penghuni->hubungan_penghuni->name) ?? '' }}"
|
||||||
|
id="">
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -486,21 +490,21 @@
|
|||||||
<input
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb_penghuni','hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb_penghuni','hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="hub_cadeb_penghuni" value="sesuai"
|
type="radio" class="radio" name="hub_cadeb_penghuni" value="sesuai"
|
||||||
{{ old('hub_cadeb_penghuni', $forminspeksi['asset']['hub_cadeb_penghuni'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('hub_cadeb_penghuni', isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb_penghuni', 'hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb_penghuni', 'hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
||||||
type="radio" class="radio" name="hub_cadeb_penghuni" value="tidak sesuai"
|
type="radio" class="radio" name="hub_cadeb_penghuni" value="tidak sesuai"
|
||||||
{{ old('hub_cadeb_penghuni', $forminspeksi['asset']['hub_cadeb_penghuni'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('hub_cadeb_penghuni', isset($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
<select id="hub_cadeb_Penghuni_tidak_sesuai"
|
<select id="hub_cadeb_Penghuni_tidak_sesuai"
|
||||||
class="input w-full
|
class="input w-full
|
||||||
name="hub_cadeb_Penghuni_tidak_sesuai"
|
name="hub_cadeb_Penghuni_tidak_sesuai"
|
||||||
style="{{ old('hub_cadeb', $forminspeksi['asset']['hub_cadeb'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'])) ? '' : 'display: none;' }}">
|
||||||
<option value="">Select Hubungan Cadeb</option>
|
<option value="">Select Hubungan Cadeb</option>
|
||||||
@if (isset($hubPenghuni))
|
@if (isset($hubPenghuni))
|
||||||
@foreach ($hubPenghuni as $item)
|
@foreach ($hubPenghuni as $item)
|
||||||
|
|||||||
@@ -7,14 +7,10 @@
|
|||||||
@section('content')
|
@section('content')
|
||||||
@include('lpj::assetsku.includenya')
|
@include('lpj::assetsku.includenya')
|
||||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||||
|
|
||||||
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
|
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||||
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
||||||
|
|
||||||
|
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
@if ($dokumen->jenisJaminan)
|
@if ($dokumen->jenisJaminan)
|
||||||
@php
|
@php
|
||||||
@@ -105,19 +101,19 @@
|
|||||||
|
|
||||||
|
|
||||||
function toggleAlamatVisibility(idSesuai, idTidakSesuai, selectedValue) {
|
function toggleAlamatVisibility(idSesuai, idTidakSesuai, selectedValue) {
|
||||||
// Ambil elemen berdasarkan ID
|
// Ambil elemen berdasarkan ID
|
||||||
const alamatSesuai = document.getElementById(idSesuai);
|
const alamatSesuai = document.getElementById(idSesuai);
|
||||||
const alamatTidakSesuai = document.getElementById(idTidakSesuai);
|
const alamatTidakSesuai = document.getElementById(idTidakSesuai);
|
||||||
|
|
||||||
// Periksa nilai yang dipilih dan tampilkan elemen yang sesuai
|
// Periksa nilai yang dipilih dan tampilkan elemen yang sesuai
|
||||||
if (selectedValue === 'sesuai') {
|
if (selectedValue === 'sesuai') {
|
||||||
alamatSesuai.style.display = 'grid'; // Tampilkan "Alamat Sesuai"
|
alamatSesuai.style.display = 'grid'; // Tampilkan "Alamat Sesuai"
|
||||||
alamatTidakSesuai.style.display = 'none'; // Sembunyikan "Alamat Tidak Sesuai"
|
alamatTidakSesuai.style.display = 'none'; // Sembunyikan "Alamat Tidak Sesuai"
|
||||||
} else if (selectedValue === 'tidak sesuai') {
|
} else if (selectedValue === 'tidak sesuai') {
|
||||||
alamatSesuai.style.display = 'none'; // Sembunyikan "Alamat Sesuai"
|
alamatSesuai.style.display = 'none'; // Sembunyikan "Alamat Sesuai"
|
||||||
alamatTidakSesuai.style.display = 'grid'; // Tampilkan "Alamat Tidak Sesuai"
|
alamatTidakSesuai.style.display = 'grid'; // Tampilkan "Alamat Tidak Sesuai"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -254,7 +250,11 @@
|
|||||||
console.error('Terjadi error:', error);
|
console.error('Terjadi error:', error);
|
||||||
console.log('Status:', status);
|
console.log('Status:', status);
|
||||||
console.log('Response:', xhr.responseText);
|
console.log('Response:', xhr.responseText);
|
||||||
toastrErrorBuild(error);
|
if (xhr.responseJSON.message) {
|
||||||
|
toastrErrorBuild(xhr.responseJSON.message);
|
||||||
|
} else {
|
||||||
|
toastrErrorBuild('Terjadi kesalahan');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,15 +13,15 @@
|
|||||||
<label class="form-label max-w-56">Luas Tanah</label>
|
<label class="form-label max-w-56">Luas Tanah</label>
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
@if (isset($permohonan->debiture->documents))
|
@if (isset($permohonan->debiture->documents))
|
||||||
@foreach ($permohonan->debiture->documents as $item)
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
@php
|
@php
|
||||||
$luas = $item->detail;
|
$luas = $item->detail;
|
||||||
$details = json_decode($luas[0]->details, true);
|
$details = json_decode($luas[0]->details, true);
|
||||||
$luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 'N/A';
|
$luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 'N/A';
|
||||||
@endphp
|
@endphp
|
||||||
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
|
<input type="hidden" name="luas_tanah_sesuai" class="input" value="{{ $luas_tanah }}">
|
||||||
@endforeach
|
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
|
||||||
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
@@ -29,21 +29,22 @@
|
|||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input type="radio" class="radio" name="luas_tanah" value="sesuai"
|
<input type="radio" class="radio" name="luas_tanah" value="sesuai"
|
||||||
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
|
||||||
{{ old('luas_tanah', $forminspeksi['tanah']['luas_tanah'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Sesuai</span>
|
<span class="ml-2">Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="luas_tanah" value="tidak sesuai"
|
<input type="radio" class="radio" name="luas_tanah" value="tidak sesuai"
|
||||||
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
|
||||||
{{ old('luas_tanah', $forminspeksi['tanah']['luas_tanah'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
<div id="luas_tanah_tidak_sesuai" class="flex items-baseline gap-2"
|
<div id="luas_tanah_tidak_sesuai" class="flex items-baseline gap-2"
|
||||||
style="{{ old('luas_tanah', $forminspeksi['tanah']['luas_tanah'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai'])) ? '' : 'display: none;' }}">
|
||||||
<input id="analisa_tanah_tidak_sesuai" type="text" name="luas_tanah_tidak_sesuai" class="input w-full"
|
<input id="analisa_tanah_tidak_sesuai" type="text" name="luas_tanah_tidak_sesuai"
|
||||||
placeholder="Masukan Luas Tanah"
|
class="input w-full" placeholder="Masukan Luas Tanah"
|
||||||
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['tanah']['luas_tanah_tidak_sesuai'] ?? '') }}">
|
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['tanah']['luas_tanah_tidak_sesuai'] ?? '') }}">
|
||||||
<button type="button" class="btn btn-md btn-primary" onclick="updateAnalisa('analisa_tanah')">Save</button>
|
<button type="button" class="btn btn-md btn-primary"
|
||||||
|
onclick="updateAnalisa('analisa_tanah')">Save</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-luas_tanah" class="alert text-danger text-sm"></em>
|
<em id="error-luas_tanah" class="alert text-danger text-sm"></em>
|
||||||
@@ -55,29 +56,40 @@
|
|||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Hadap Mata Angin</label>
|
<label class="form-label max-w-56">Hadap Mata Angin</label>
|
||||||
|
<div class="mt-2">
|
||||||
|
@if (isset($permohonan->debiture->documents))
|
||||||
|
@foreach ($permohonan->debiture->documents as $item)
|
||||||
|
@php
|
||||||
|
$luas = $item->detail;
|
||||||
|
$details = json_decode($luas[0]->details, true);
|
||||||
|
$hadap_mata_angin = isset($details['hadap_mata_angin']) ? $details['hadap_mata_angin'] : 'N/A';
|
||||||
|
@endphp
|
||||||
|
<input type="hidden" name="hadap_mata_angin_sesuai" class="input" value="{{ $hadap_mata_angin }}">
|
||||||
|
<p class="text-2sm text-gray-700">{{ $hadap_mata_angin }} m<sup>2</sup></p>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input type="radio" class="radio" name="hadap_mata_angin" value="sesuai"
|
<input type="radio" class="radio" name="hadap_mata_angin" value="sesuai"
|
||||||
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
|
||||||
{{ old('hadap_mata_angin', $forminspeksi['tanah']['hadap_mata_angin'] ?? '') == 'sesuai' ? 'checked' : '' }}>
|
{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Sesuai</span>
|
<span class="ml-2">Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input type="radio" class="radio" name="hadap_mata_angin" value="tidak sesuai"
|
<input type="radio" class="radio" name="hadap_mata_angin" value="tidak sesuai"
|
||||||
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
|
||||||
{{ old('hadap_mata_angin', $forminspeksi['tanah']['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
|
{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
<div id="hadap_mata_angin_tidak_sesuai" class="flex items-baseline gap-2"
|
<div id="hadap_mata_angin_tidak_sesuai" class="flex items-baseline gap-2"
|
||||||
style="{{ old('hadap_mata_angin', $forminspeksi['tanah']['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
style="{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])) ? '' : 'display: none;' }}">
|
||||||
<select
|
<select class="input w-full
|
||||||
class="input w-full
|
|
||||||
id="hadap_matangin_tidak_sesuai"
|
id="hadap_matangin_tidak_sesuai"
|
||||||
name="analisa_tanah_hadap_mata_angin_tidak_sesuai">
|
name="analisa_tanah_hadap_mata_angin_tidak_sesuai">
|
||||||
<option value="">Select Hadap Mata Angin</option>
|
<option value="">Select Hadap Mata Angin</option>
|
||||||
@if (isset($arahMataAngin))
|
@if (isset($arahMataAngin))
|
||||||
@foreach ($arahMataAngin as $item)
|
@foreach ($arahMataAngin as $item)
|
||||||
@@ -94,6 +106,7 @@
|
|||||||
<em id="error-hadap_mata_angin" class="alert text-danger text-sm"></em>
|
<em id="error-hadap_mata_angin" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Bentuk Tanah -->
|
<!-- Bentuk Tanah -->
|
||||||
@@ -106,33 +119,22 @@
|
|||||||
@foreach ($bentukTanah as $item)
|
@foreach ($bentukTanah as $item)
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input
|
<input class="checkbox" name="bentuk_tanah[]" type="checkbox"
|
||||||
class="checkbox"
|
|
||||||
name="bentuk_tanah[]"
|
|
||||||
type="checkbox"
|
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{
|
{{ in_array($item->name, old('bentuk_tanah', [])) ||
|
||||||
in_array($item->name, old('bentuk_tanah', [])) ||
|
(isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) &&
|
||||||
(isset($forminspeksi['tanah']['bentuk_tanah']) &&
|
is_array($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) &&
|
||||||
is_array($forminspeksi['tanah']['bentuk_tanah']) &&
|
in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']))
|
||||||
in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']))
|
|
||||||
? 'checked'
|
? 'checked'
|
||||||
: ''
|
: '' }}
|
||||||
}}
|
onclick="toggleCheckboxVisibility('bentuk_tanah', 'bentuk_tanah_lainnya', ['lainnya'])" />
|
||||||
onclick="toggleCheckboxVisibility('bentuk_tanah', 'bentuk_tanah_lainnya', ['lainnya'])"
|
|
||||||
/>
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||||
<input
|
<input id="bentuk_tanah_lainnya" type="text" style="display: none;"
|
||||||
id="bentuk_tanah_lainnya"
|
name="bentuk_tanah_lainnya" class="input w-full mt-2"
|
||||||
type="text"
|
|
||||||
style="display: none;"
|
|
||||||
name="bentuk_tanah_lainnya"
|
|
||||||
class="input w-full mt-2"
|
|
||||||
placeholder="Masukkan bentuk tanah..."
|
placeholder="Masukkan bentuk tanah..."
|
||||||
value="{{ old('bentuk_tanah_lainnya', $forminspeksi['tanah']['bentuk_tanah_lainnya'] ?? '') }}"
|
value="{{ old('bentuk_tanah_lainnya', $forminspeksi['tanah']['bentuk_tanah']['lainnya'] ?? '') }}" />
|
||||||
/>
|
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -149,20 +151,9 @@
|
|||||||
@if (isset($konturTanah))
|
@if (isset($konturTanah))
|
||||||
@foreach ($konturTanah as $item)
|
@foreach ($konturTanah as $item)
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input
|
<input class="checkbox" name="kontur_tanah[]" type="checkbox"
|
||||||
class="checkbox"
|
|
||||||
name="kontur_tanah[]"
|
|
||||||
type="checkbox"
|
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{
|
{{ in_array($item->name, old('kontur_tanah', $forminspeksi['tanah']['kontur_tanah'] ?? [])) ? 'checked' : '' }} />
|
||||||
in_array(
|
|
||||||
$item->name,
|
|
||||||
old('kontur_tanah', $forminspeksi['tanah']['kontur_tanah'] ?? [])
|
|
||||||
)
|
|
||||||
? 'checked'
|
|
||||||
: ''
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -238,27 +229,18 @@
|
|||||||
<div class="flex flex-col items-start gap-4">
|
<div class="flex flex-col items-start gap-4">
|
||||||
@if (isset($posisiKavling))
|
@if (isset($posisiKavling))
|
||||||
@foreach ($posisiKavling as $item)
|
@foreach ($posisiKavling as $item)
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input
|
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
|
||||||
class="checkbox"
|
|
||||||
name="posisi_kavling[]"
|
|
||||||
type="checkbox"
|
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array($item->name, old('posisi_kavling', $forminspeksi['tanah']['posisi_kavling'] ?? [])) ? 'checked' : '' }}
|
{{ in_array($item->name, old('posisi_kavling', $forminspeksi['tanah']['posisi_kavling'] ?? [])) ? 'checked' : '' }}
|
||||||
onclick="toggleCheckboxVisibility('posisi_kavling', 'posisi_kavling_lainnya', ['Lainnya'])"
|
onclick="toggleCheckboxVisibility('posisi_kavling', 'posisi_kavling_lainnya', ['Lainnya'])" />
|
||||||
/>
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
<input
|
<input id="posisi_kavling_lainnya" type="text" style="display: none;"
|
||||||
id="posisi_kavling_lainnya"
|
name="posisi_kavling_lainnya" class="input w-full mt-2"
|
||||||
type="text"
|
placeholder="Masukkan Posisi Kavling lainnya..." />
|
||||||
style="display: none;"
|
|
||||||
name="posisi_kavling_lainnya"
|
|
||||||
class="input w-full mt-2"
|
|
||||||
placeholder="Masukkan Posisi Kavling lainnya..."
|
|
||||||
/>
|
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -319,7 +301,7 @@
|
|||||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
|
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah'])) ? 'checked' : '' }}
|
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah'])) ? 'checked' : '' }}
|
||||||
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" />
|
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" />
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@@ -330,7 +312,7 @@
|
|||||||
<input type="text" name="kondisi_fisik_tanah_lainnya"
|
<input type="text" name="kondisi_fisik_tanah_lainnya"
|
||||||
id="kondisi_fisik_tanah_lainnya" class="input mt-2"
|
id="kondisi_fisik_tanah_lainnya" class="input mt-2"
|
||||||
placeholder="Masukkan Kondisi Fisik Tanah..." style="display: none;"
|
placeholder="Masukkan Kondisi Fisik Tanah..." style="display: none;"
|
||||||
value="{{ old('kondisi_fisik_tanah_lainnya') }}">
|
value="{{ old('kondisi_fisik_tanah_lainnya', isset($forminspeksi['tanah']['kondisi_fisik_tanah']['lainnya'])) }}">
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@endpush
|
@endpush
|
||||||
|
@include('lpj::assetsku.includenya')
|
||||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||||
|
|
||||||
|
|
||||||
@@ -30,15 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@if (request()->has('form') && request('form') == 'denah')
|
|
||||||
@include('lpj::surveyor.components.card-tambah')
|
@include('lpj::surveyor.components.card-tambah')
|
||||||
@elseif(request()->has('form') && request('form') == 'data-pembanding')
|
|
||||||
@include('lpj::surveyor.components.card-tambah')
|
|
||||||
@elseif(request()->has('form') && request('form') == 'foto')
|
|
||||||
@include('lpj::surveyor.components.card-tambah')
|
|
||||||
@else
|
|
||||||
@include('lpj::surveyor.components.card-tambah')
|
|
||||||
@endIf
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-footer ">
|
<div class="card-footer ">
|
||||||
@@ -94,11 +86,19 @@
|
|||||||
},
|
},
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
window.location.href = "{{ route('surveyor.index') }}";
|
// window.location.href = "{{ route('surveyor.index') }}";
|
||||||
|
toastrSuccessBuild(response.message);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error: function(xhr, status, error) {
|
error: function(xhr, status, error) {
|
||||||
console.log('Error checking button status:', error, status, xhr);
|
console.log('Error checking button status:', error, status, xhr);
|
||||||
|
if (xhr.responseJSON.message) {
|
||||||
|
toastrErrorBuild(xhr.responseJSON.message);
|
||||||
|
}else{
|
||||||
|
toastrErrorBuild('Terjadi kesalahan');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user