Merge branch 'staging' of https://git.putrakuningan.com/daengdeni/lpj into tender
This commit is contained in:
@@ -249,8 +249,8 @@
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
// update status KJPP yg tidak terpilih menjadi 2 -> kalah
|
// update status KJPP yg tidak terpilih menjadi 2 -> kalah
|
||||||
// update status Penawaran menjadi SPK
|
// update status Penawaran menjadi persetujuan-penawaran (20241205)
|
||||||
// update status Permohonan menjadi SPK
|
// update status Permohonan menjadi persetujuan-penawaran (20241205)
|
||||||
// insert detail_permohonan_log
|
// insert detail_permohonan_log
|
||||||
|
|
||||||
PenawaranDetailTender::where('status', 1)
|
PenawaranDetailTender::where('status', 1)
|
||||||
@@ -260,9 +260,9 @@
|
|||||||
'updated_by' => Auth::id(),
|
'updated_by' => Auth::id(),
|
||||||
'updated_at' => now()
|
'updated_at' => now()
|
||||||
]);
|
]);
|
||||||
|
// 20241205 arahkan ke persetujuan-penawaran
|
||||||
PenawaranTender::where('id', $request->penawaran_id)
|
PenawaranTender::where('id', $request->penawaran_id)
|
||||||
->update(['status'=>'spk',
|
->update(['status'=>'persetujuan-penawaran',
|
||||||
'nama_kjpp_sebelumnya'=>$request->kjppName,
|
'nama_kjpp_sebelumnya'=>$request->kjppName,
|
||||||
'biaya_kjpp_sebelumnya'=>$request->biaya_penawaran,
|
'biaya_kjpp_sebelumnya'=>$request->biaya_penawaran,
|
||||||
'tanggal_penilaian_sebelumnya'=>now(),
|
'tanggal_penilaian_sebelumnya'=>now(),
|
||||||
|
|||||||
@@ -6,7 +6,10 @@
|
|||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Modules\Lpj\Http\Requests\PersetujuanPenawaranRequest;
|
use Modules\Lpj\Http\Requests\PersetujuanPenawaranRequest;
|
||||||
use Modules\Lpj\Models\Permohonan;
|
use Modules\Lpj\Models\PenawaranDetailTender;
|
||||||
|
use Modules\Lpj\Models\PenawaranDetailTenderLog;
|
||||||
|
use Modules\Lpj\Models\PenawaranTender;
|
||||||
|
use Modules\Lpj\Models\Permohonan;
|
||||||
use Modules\Lpj\Models\PersetujuanPenawaran;
|
use Modules\Lpj\Models\PersetujuanPenawaran;
|
||||||
|
|
||||||
class PersetujuanPenawaranController extends Controller
|
class PersetujuanPenawaranController extends Controller
|
||||||
@@ -69,6 +72,16 @@
|
|||||||
$permohonan->status_bayar = request()->get('status_bayar');
|
$permohonan->status_bayar = request()->get('status_bayar');
|
||||||
$permohonan->status = 'spk';
|
$permohonan->status = 'spk';
|
||||||
$permohonan->save();
|
$permohonan->save();
|
||||||
|
|
||||||
|
// andy add, update status penawaran.status='spk'
|
||||||
|
// $penawaran = PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi)->first();
|
||||||
|
PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi)
|
||||||
|
->update(['status'=>'spk',
|
||||||
|
'updated_by' => Auth::id(),
|
||||||
|
'updated_at' => now()
|
||||||
|
]);
|
||||||
|
// andy add, update status penawaran.status='spk'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()
|
return redirect()
|
||||||
@@ -90,6 +103,64 @@
|
|||||||
{
|
{
|
||||||
$permohonan = Permohonan::find($id);
|
$permohonan = Permohonan::find($id);
|
||||||
$permohonan->status='tender';
|
$permohonan->status='tender';
|
||||||
|
$dataDetailPenawaranLog = [];
|
||||||
|
|
||||||
|
// andy add update status penawaran
|
||||||
|
// update detail_penawaran => detail_penawaran.status = 1 (untuk all KJPP)
|
||||||
|
// update penawaran => penawaran.status ="tender", penawaran.updated_at, penawaran.updated_by
|
||||||
|
// update permohonan => permohonan.status ="tender", permohonan.updated_at, permohonan.updated_by
|
||||||
|
// insert detail_permohonan_log
|
||||||
|
$penawaran = PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi)->first();
|
||||||
|
// dd($penawaran->id);
|
||||||
|
PenawaranDetailTender::where('penawaran_id', $penawaran->id)
|
||||||
|
->update(['status' => 1,
|
||||||
|
'updated_by' => Auth::id(),
|
||||||
|
'updated_at' => now()
|
||||||
|
]);
|
||||||
|
|
||||||
|
PenawaranTender::where('id', $penawaran->id)
|
||||||
|
->update(['status'=>'tender',
|
||||||
|
'updated_by' => Auth::id(),
|
||||||
|
'updated_at' => now()
|
||||||
|
]);
|
||||||
|
|
||||||
|
$detailPenawaran = PenawaranDetailTender::where('penawaran_id', $penawaran->id)
|
||||||
|
->distinct()
|
||||||
|
->get();
|
||||||
|
|
||||||
|
// log
|
||||||
|
if(sizeof($detailPenawaran)>0)
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach ($detailPenawaran as $model) {
|
||||||
|
array_push($dataDetailPenawaranLog, [
|
||||||
|
'detail_penawaran_id' =>$model->id,
|
||||||
|
'kjpp_rekanan_id' =>$model->kjpp_rekanan_id,
|
||||||
|
'penawaran_id' =>$model->penawaran_id,
|
||||||
|
'no_proposal' =>$model->no_proposal,
|
||||||
|
'tgl_proposal' =>$model->tgl_proposal,
|
||||||
|
'biaya_penawaran' =>$model->biaya_penawaran,
|
||||||
|
'attachment' =>$model->attachment,
|
||||||
|
'dokumen_persetujuan' =>$model->dokumen_persetujuan,
|
||||||
|
'status' =>$model->status,
|
||||||
|
'authorized_status' =>$model->authorized_status,
|
||||||
|
'authorized_at' =>$model->authorized_at,
|
||||||
|
'authorized_at' =>$model->authorized_at,
|
||||||
|
'created_at' =>$model->created_at,
|
||||||
|
'updated_at' =>$model->updated_at,
|
||||||
|
'deleted_at' =>$model->deleted_at,
|
||||||
|
'created_by' =>$model->created_by,
|
||||||
|
'updated_by' =>$model->updated_by,
|
||||||
|
'deleted_by' =>$model->deleted_by
|
||||||
|
]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
PenawaranDetailTenderLog::insert($dataDetailPenawaranLog);
|
||||||
|
}
|
||||||
|
// log
|
||||||
|
// andy add update status penawaran
|
||||||
|
|
||||||
return $permohonan->save();
|
return $permohonan->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -134,10 +134,10 @@
|
|||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
$permohonan = Permohonan::find($id);
|
$permohonan = Permohonan::find($id);
|
||||||
if ($permohonan->dokumen) {
|
$document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first();
|
||||||
$pdfSPK_path = Storage::url($permohonan->dokumen);
|
if ($document) {
|
||||||
$permohonan->dokumen = $pdfSPK_path;
|
$pdfSPK_path = Storage::url($document->spk_dokumen_path);
|
||||||
$permohonan->dokumen = '| <a download href="' . $pdfSPK_path . '" class="badge badge-sm badge-outline" target="_blank">Dokumen SPK.pdf <i class="ki-filled ki-cloud-download"></i></a>';
|
$permohonan->pdfSPK_path = '| <a download href="' . $pdfSPK_path . '" class="badge badge-sm badge-outline" target="_blank">Dokumen SPK.pdf <i class="ki-filled ki-cloud-download"></i></a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('lpj::registrasifinal.show', compact('id', 'permohonan'));
|
return view('lpj::registrasifinal.show', compact('id', 'permohonan'));
|
||||||
@@ -145,7 +145,15 @@
|
|||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('lpj::registrasifinal.edit', compact('id'));
|
$doc_pdf='';
|
||||||
|
$permohonan = Permohonan::find($id);
|
||||||
|
$document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first();
|
||||||
|
if ($document) {
|
||||||
|
$pdfSPK_path = Storage::url($document->spk_dokumen_path);
|
||||||
|
$doc_pdf = '<a download href="' . $pdfSPK_path . '" class="badge badge-sm badge-outline" target="_blank">Dokumen SPK.pdf <i class="ki-filled ki-cloud-download"></i></a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('lpj::registrasifinal.edit', compact('id','doc_pdf'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setData(Request $request)
|
public function setData(Request $request)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace Modules\Lpj\Http\Controllers;
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Maatwebsite\Excel\Facades\Excel;
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
use Modules\Lpj\Exports\BasicDataSurveyorExport;
|
use Modules\Lpj\Exports\BasicDataSurveyorExport;
|
||||||
@@ -217,7 +218,7 @@ class SurveyorController extends Controller
|
|||||||
try {
|
try {
|
||||||
$maxSize = getMaxFileSize('Foto');
|
$maxSize = getMaxFileSize('Foto');
|
||||||
$validatedData = $request->validate([
|
$validatedData = $request->validate([
|
||||||
'foto_denah' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:'. $maxSize,
|
'foto_denah' => 'required|file|mimes:jpeg,jpg,png,pdf,svg|max:'. $maxSize,
|
||||||
'luas' => 'required|numeric',
|
'luas' => 'required|numeric',
|
||||||
'permohonan_id' => 'required',
|
'permohonan_id' => 'required',
|
||||||
'jenis_jaminan_id' => 'required'
|
'jenis_jaminan_id' => 'required'
|
||||||
@@ -312,8 +313,6 @@ class SurveyorController extends Controller
|
|||||||
$inspeksi->foto_form = json_encode($formatFotojson);
|
$inspeksi->foto_form = json_encode($formatFotojson);
|
||||||
$inspeksi->save();
|
$inspeksi->save();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200);
|
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500);
|
return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500);
|
||||||
@@ -373,9 +372,6 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom validation request for foto
|
* Custom validation request for foto
|
||||||
*/
|
*/
|
||||||
@@ -495,8 +491,6 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function storeJadwal(Request $request)
|
public function storeJadwal(Request $request)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -534,25 +528,29 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function storeAproved($id)
|
public function storeAproved(Request $request, $id): JsonResponse
|
||||||
{
|
{
|
||||||
|
$data = [];
|
||||||
|
if (request()->ajax()) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|
||||||
$penilaian = Penilaian::findOrFail($id);
|
$penilaian = Penilaian::findOrFail($id);
|
||||||
|
|
||||||
$penilaian->update([
|
$penilaian->update([
|
||||||
'authorized_status' => 1,
|
'authorized_status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return redirect()
|
$data['status'] = 'success';
|
||||||
->route('permohonan.index')
|
$data['message']= 'Jadwal '.$request->noReg.' berhasil di aprove';
|
||||||
->with('success', 'Jadwal berhasil di aprove.');
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return redirect()
|
$data['status'] = 'error';
|
||||||
->route('permohonan.index')
|
$data['message'] = 'Gagal membuat jadwal: ' . $e->getMessage();
|
||||||
->with('error', 'Gagal membuat jadwal: ' . $e->getMessage());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$data['status'] = 'error';
|
||||||
|
$data['message'] = "no ajax request";
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -587,7 +585,7 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function handleupdateOrDeleteFile($file, $type, $prefix)
|
private function handleupdateOrDeleteFile($file, $type, $prefix)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if ($file) {
|
if ($file) {
|
||||||
// Generate nama file unik
|
// Generate nama file unik
|
||||||
@@ -604,9 +602,7 @@ class SurveyorController extends Controller
|
|||||||
\Log::error('File upload error: ' . $e->getMessage());
|
\Log::error('File upload error: ' . $e->getMessage());
|
||||||
throw new \Exception("Gagal mengupload file: " . $e->getMessage());
|
throw new \Exception("Gagal mengupload file: " . $e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private function formatSinglePembanding($request, $index)
|
private function formatSinglePembanding($request, $index)
|
||||||
@@ -730,10 +726,8 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
$branches = Branch::all();
|
$branches = Branch::all();
|
||||||
$provinces = Province::all();
|
$provinces = Province::all();
|
||||||
$debitur = Debiture::find($permohonan->debiture_id);
|
|
||||||
$cities = City::where('province_code', $debitur->province_code)->get();
|
|
||||||
$districts = District::where('city_code', $debitur->city_code)->get();
|
|
||||||
$villages = Village::where('district_code', $debitur->district_code)->get();
|
|
||||||
|
|
||||||
$surveyor = $id;
|
$surveyor = $id;
|
||||||
$basicData = $this->getCommonData();
|
$basicData = $this->getCommonData();
|
||||||
@@ -743,6 +737,28 @@ class SurveyorController extends Controller
|
|||||||
if ($inpeksi) {
|
if ($inpeksi) {
|
||||||
$forminspeksi = json_decode($inpeksi->data_form, true);
|
$forminspeksi = json_decode($inpeksi->data_form, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Default: gunakan data dari debitur
|
||||||
|
$debitur = Debiture::find($permohonan->debiture_id);
|
||||||
|
|
||||||
|
$provinceCode = $debitur->province_code;
|
||||||
|
$cityCode = $debitur->city_code;
|
||||||
|
$districtCode = $debitur->district_code;
|
||||||
|
|
||||||
|
// Jika alamat tidak sesuai, override dengan kode dari alamat
|
||||||
|
|
||||||
|
$cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null;
|
||||||
|
|
||||||
|
if ($cekAlamat) {
|
||||||
|
$provinceCode = $cekAlamat['province_code'] ?? $provinceCode;
|
||||||
|
$cityCode = $cekAlamat['city_code'] ?? $cityCode;
|
||||||
|
$districtCode = $cekAlamat['district_code'] ?? $districtCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ambil data menggunakan kode yang telah ditentukan
|
||||||
|
$cities = City::where('province_code', $provinceCode)->get();
|
||||||
|
$districts = District::where('city_code', $cityCode)->get();
|
||||||
|
$villages = Village::where('district_code', $districtCode)->get();
|
||||||
return view('lpj::surveyor.components.inspeksi', compact(
|
return view('lpj::surveyor.components.inspeksi', compact(
|
||||||
'permohonan',
|
'permohonan',
|
||||||
'surveyor',
|
'surveyor',
|
||||||
@@ -754,7 +770,8 @@ class SurveyorController extends Controller
|
|||||||
'villages',
|
'villages',
|
||||||
'link_url_region',
|
'link_url_region',
|
||||||
'forminspeksi',
|
'forminspeksi',
|
||||||
'basicData'
|
'basicData',
|
||||||
|
'cekAlamat'
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -789,8 +806,6 @@ class SurveyorController extends Controller
|
|||||||
$branches = Branch::all();
|
$branches = Branch::all();
|
||||||
$provinces = Province::all();
|
$provinces = Province::all();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$inpeksi = Inspeksi::where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first();
|
$inpeksi = Inspeksi::where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first();
|
||||||
|
|
||||||
$formFoto = null;
|
$formFoto = null;
|
||||||
@@ -798,12 +813,6 @@ class SurveyorController extends Controller
|
|||||||
$formFoto = json_decode($inpeksi->foto_form, true);
|
$formFoto = json_decode($inpeksi->foto_form, true);
|
||||||
}
|
}
|
||||||
$fotoJaminan = null;
|
$fotoJaminan = null;
|
||||||
|
|
||||||
// return response()->json([
|
|
||||||
// 'inspeksi' => $formFoto,
|
|
||||||
|
|
||||||
// ]);
|
|
||||||
|
|
||||||
return view('lpj::surveyor.components.foto', compact('permohonan', 'surveyor', 'branches', 'provinces', 'fotoJaminan', 'formFoto'));
|
return view('lpj::surveyor.components.foto', compact('permohonan', 'surveyor', 'branches', 'provinces', 'fotoJaminan', 'formFoto'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -842,7 +851,7 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
$inspectionData = json_decode($inspeksi->data_form, true);
|
$inspectionData = json_decode($inspeksi->data_form, true);
|
||||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||||
throw new \Exception('Error decoding inspection data: ' . json_last_error_msg());
|
throw new \Exception('Harap mengisi form inspeksi terlebih dahulu.');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($inspeksi->data_pembanding) {
|
if ($inspeksi->data_pembanding) {
|
||||||
@@ -851,7 +860,6 @@ class SurveyorController extends Controller
|
|||||||
throw new \Exception('Error decoding comparison data: ' . json_last_error_msg());
|
throw new \Exception('Error decoding comparison data: ' . json_last_error_msg());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
$fotoForm = json_decode($inspeksi->foto_form, true);
|
$fotoForm = json_decode($inspeksi->foto_form, true);
|
||||||
|
|
||||||
@@ -863,7 +871,7 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
$cities = City::where('province_code', $this->getCodeAlamat('province_code', $inspectionData))->get();
|
$cities = City::where('province_code', $this->getCodeAlamat('province_code', $inspectionData))->get();
|
||||||
$districts = District::where('city_code', $this->getCodeAlamat('city_code', $inspectionData))->get();
|
$districts = District::where('city_code', $this->getCodeAlamat('city_code', $inspectionData))->get();
|
||||||
$villages = Village::where('district_code',$this->getCodeAlamat('district_code', $inspectionData))->get();
|
$villages = Village::where('district_code', $this->getCodeAlamat('district_code', $inspectionData))->get();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -889,7 +897,8 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function getCodeAlamat($code, $inspectionData){
|
public function getCodeAlamat($code, $inspectionData)
|
||||||
|
{
|
||||||
$cekAlamat = isset(
|
$cekAlamat = isset(
|
||||||
$inspectionData['asset']['alamat']['sesuai'],
|
$inspectionData['asset']['alamat']['sesuai'],
|
||||||
)
|
)
|
||||||
@@ -919,7 +928,6 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
public function createData($type)
|
public function createData($type)
|
||||||
{
|
{
|
||||||
|
|
||||||
$spekKategoriBagunan = SpekKategoritBangunan::all();
|
$spekKategoriBagunan = SpekKategoritBangunan::all();
|
||||||
$header = $this->getHeader($type);
|
$header = $this->getHeader($type);
|
||||||
return view('lpj::surveyor.data.form', compact('header', 'spekKategoriBagunan'));
|
return view('lpj::surveyor.data.form', compact('header', 'spekKategoriBagunan'));
|
||||||
@@ -928,7 +936,6 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
public function storeData(SurveyorRequest $request, $type)
|
public function storeData(SurveyorRequest $request, $type)
|
||||||
{
|
{
|
||||||
|
|
||||||
$validate = $request->validated();
|
$validate = $request->validated();
|
||||||
if ($validate) {
|
if ($validate) {
|
||||||
|
|
||||||
@@ -1029,8 +1036,6 @@ class SurveyorController extends Controller
|
|||||||
->with('error', 'Invalid type specified.');
|
->with('error', 'Invalid type specified.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$model = $modelClass::findOrFail($id);
|
$model = $modelClass::findOrFail($id);
|
||||||
$model->update($validate);
|
$model->update($validate);
|
||||||
|
|
||||||
@@ -1299,10 +1304,7 @@ class SurveyorController extends Controller
|
|||||||
if (!$modelClass) {
|
if (!$modelClass) {
|
||||||
return response()->json(['success' => false, 'message' => 'Invalid type specified.'], 400);
|
return response()->json(['success' => false, 'message' => 'Invalid type specified.'], 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$model = $modelClass::findOrFail($id);
|
$model = $modelClass::findOrFail($id);
|
||||||
|
|
||||||
$model->delete();
|
$model->delete();
|
||||||
return response()->json(['success' => true, 'message' => 'deleted successfully']);
|
return response()->json(['success' => true, 'message' => 'deleted successfully']);
|
||||||
} catch (ModelNotFoundException $e) {
|
} catch (ModelNotFoundException $e) {
|
||||||
@@ -1382,7 +1384,6 @@ class SurveyorController extends Controller
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'branches' => Branch::all(),
|
'branches' => Branch::all(),
|
||||||
|
|
||||||
'bentukTanah' => BentukTanah::all(),
|
'bentukTanah' => BentukTanah::all(),
|
||||||
'konturTanah' => KonturTanah::all(),
|
'konturTanah' => KonturTanah::all(),
|
||||||
'posisiKavling' => PosisiKavling::all(),
|
'posisiKavling' => PosisiKavling::all(),
|
||||||
@@ -1413,6 +1414,8 @@ class SurveyorController extends Controller
|
|||||||
'jenisJaminan' => JenisJaminan::all(),
|
'jenisJaminan' => JenisJaminan::all(),
|
||||||
'hubCadeb' => HubunganPemilikJaminan::all(),
|
'hubCadeb' => HubunganPemilikJaminan::all(),
|
||||||
'hubPenghuni' => HubunganPenghuniJaminan::all(),
|
'hubPenghuni' => HubunganPenghuniJaminan::all(),
|
||||||
|
'perkerasanJalan' => PerkerasanJalan::all(),
|
||||||
|
'terletakDiArea' => TerletakArea::all(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1470,18 +1473,10 @@ class SurveyorController extends Controller
|
|||||||
$data['alamat_sesuai'] => $alamatData
|
$data['alamat_sesuai'] => $alamatData
|
||||||
],
|
],
|
||||||
'hub_cadeb' => [
|
'hub_cadeb' => [
|
||||||
$data['hub_cadeb'] => $this->getFieldData(
|
$data['hub_cadeb'] => ($data['hub_cadeb'] == 'sesuai') ? $data['hub_cadeb_sesuai'] : $data['hub_cadeb_tidak_sesuai']
|
||||||
$data,
|
|
||||||
'hub_cadeb',
|
|
||||||
true
|
|
||||||
)
|
|
||||||
],
|
],
|
||||||
'hub_cadeb_penghuni' => [
|
'hub_cadeb_penghuni' => [
|
||||||
$data['hub_cadeb_penghuni'] => $this->getFieldData(
|
$data['hub_cadeb_penghuni'] => ($data['hub_cadeb_penghuni'] == 'sesuai') ? $data['hub_cadeb_penghuni_sesuai'] : $data['hub_penghuni_tidak_sesuai']
|
||||||
$data,
|
|
||||||
'hub_cadeb_penghuni',
|
|
||||||
true
|
|
||||||
)
|
|
||||||
],
|
],
|
||||||
|
|
||||||
'kordinat_lng' => $data['kordinat_lng'] ?? null,
|
'kordinat_lng' => $data['kordinat_lng'] ?? null,
|
||||||
@@ -1500,11 +1495,9 @@ class SurveyorController extends Controller
|
|||||||
'luas_tanah',
|
'luas_tanah',
|
||||||
true
|
true
|
||||||
),
|
),
|
||||||
'hadap_mata_angin' => $this->getFieldData(
|
'hadap_mata_angin' => [
|
||||||
$data,
|
$data['hadap_mata_angin'] => ($data['hadap_mata_angin'] == 'sesuai') ? $data['hadap_mata_angin_sesuai'] : $data['hadap_mata_angin_tidak_sesuai']
|
||||||
'hadap_mata_angin',
|
],
|
||||||
true
|
|
||||||
),
|
|
||||||
'bentuk_tanah' => $this->getFieldData(
|
'bentuk_tanah' => $this->getFieldData(
|
||||||
$data,
|
$data,
|
||||||
'bentuk_tanah',
|
'bentuk_tanah',
|
||||||
@@ -1513,7 +1506,7 @@ class SurveyorController extends Controller
|
|||||||
),
|
),
|
||||||
'kontur_tanah' => $data['kontur_tanah'] ?? [],
|
'kontur_tanah' => $data['kontur_tanah'] ?? [],
|
||||||
'ketinggian_tanah' => [
|
'ketinggian_tanah' => [
|
||||||
'ketinggian' => $data['kontur_tanah'] ?? null,
|
'ketinggian' => $data['ketinggian_jalan'] ?? null,
|
||||||
'lebih_tinggi' => $data['ketinggian_lebih_tinggi'] ?? null,
|
'lebih_tinggi' => $data['ketinggian_lebih_tinggi'] ?? null,
|
||||||
'lebih_rendah' => $data['ketinggian_lebih_rendah'] ?? null
|
'lebih_rendah' => $data['ketinggian_lebih_rendah'] ?? null
|
||||||
],
|
],
|
||||||
@@ -1543,23 +1536,39 @@ class SurveyorController extends Controller
|
|||||||
$data = $request->all();
|
$data = $request->all();
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
// foreach ($data['nama_bangunan'] as $index => $bangunan) {
|
|
||||||
// $bangunanData = [
|
|
||||||
// 'bangunan' => $bangunan,
|
|
||||||
// 'kategori' => []
|
|
||||||
// ];
|
|
||||||
|
|
||||||
// foreach ($data['spek_kategori_bangunan'] as $kategoriIndex => $kategori) {
|
foreach ($request->input('nama_bangunan') as $index => $buildingName) {
|
||||||
// if (isset($data['spek_bangunan'][$kategori])) {
|
if (empty($buildingName)) {
|
||||||
// $bangunanData['kategori'][] = [
|
continue;
|
||||||
// 'kategori' => $kategori,
|
} // Skip if building name is empty
|
||||||
// 'spesifikasi' => $data['spek_bangunan'][$kategori]
|
|
||||||
// ];
|
$buildingData = [];
|
||||||
// }
|
$buildingData['bagunan'] = $buildingName;
|
||||||
// }
|
|
||||||
|
$specCategories = $request->input('spek_kategori_bangunan');
|
||||||
|
$buildingData['spek_kategori_bangunan'] = [];
|
||||||
|
|
||||||
|
if (!empty($specCategories)) {
|
||||||
|
foreach ($specCategories as $category) {
|
||||||
|
if (empty($category)) {
|
||||||
|
continue;
|
||||||
|
} // Skip empty categories
|
||||||
|
|
||||||
|
$specs = $request->input("spek_bangunan.{$index}.{$category}", []);
|
||||||
|
|
||||||
|
// Only add category if it has specifications
|
||||||
|
if (!empty($specs)) {
|
||||||
|
$buildingData['spek_kategori_bangunan'][$category] = $specs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only add building data if it has specifications
|
||||||
|
if (!empty($buildingData['spek_kategori_bangunan'])) {
|
||||||
|
$result[] = $buildingData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// $result[] = $bangunanData;
|
|
||||||
// }
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'bangunan' => [
|
'bangunan' => [
|
||||||
@@ -1590,17 +1599,27 @@ class SurveyorController extends Controller
|
|||||||
'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' => $this->getFieldData(
|
||||||
|
$data,
|
||||||
|
'perkerasan_jalan',
|
||||||
|
false,
|
||||||
|
'lainnya'
|
||||||
|
),
|
||||||
'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' => $this->getFieldData(
|
||||||
|
$data,
|
||||||
|
'terletak_diarea',
|
||||||
|
false,
|
||||||
|
'lainnya'
|
||||||
|
),
|
||||||
'disekitar_lokasi' => $data['disekitar_lokasi'] === 'yes' ? [
|
'disekitar_lokasi' => $data['disekitar_lokasi'] === 'yes' ? [
|
||||||
'kondisi' => $data['kondisi_bagunan_disekitar_lokasi'] ?? null,
|
'kondisi' => $data['kondisi_bagunan_disekitar_lokasi'] ?? null,
|
||||||
'sifat' => $data['sifat_bagunan_disekitar_lokasi'] ?? null,
|
'sifat' => $data['sifat_bagunan_disekitar_lokasi'] ?? null,
|
||||||
] : $data['disekitar_lokasi'],
|
] : $data['disekitar_lokasi'],
|
||||||
'kondisi_bangunan_sekitar' => $data['kondisi_bangunan_sekitar'] ?? null,
|
'kondisi_bagunan_disekitar_lokasi' => $data['kondisi_bagunan_disekitar_lokasi'] ?? null,
|
||||||
'sifat_bangunan_sekitar' => $data['sifat_bangunan_sekitar'] ?? null,
|
'sifat_bagunan_disekitar_lokasi' => $data['sifat_bagunan_disekitar_lokasi'] ?? 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,
|
||||||
@@ -1608,7 +1627,12 @@ class SurveyorController extends Controller
|
|||||||
'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' => $this->getFieldData(
|
||||||
|
$data,
|
||||||
|
'fasilitas_dekat_object',
|
||||||
|
false,
|
||||||
|
'lainnya'
|
||||||
|
),
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -1621,8 +1645,8 @@ class SurveyorController extends Controller
|
|||||||
'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'] ?? [],
|
||||||
$data['batas_batas_input'] ?? null
|
$data['batas_batas_input'] ?? []
|
||||||
),
|
),
|
||||||
'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null,
|
'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null,
|
||||||
'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null,
|
'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null,
|
||||||
|
|||||||
@@ -86,6 +86,8 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'tusuk_sate' => 'required',
|
'tusuk_sate' => 'required',
|
||||||
'lockland' => 'required',
|
'lockland' => 'required',
|
||||||
'kondisi_fisik_tanah' => 'required|array',
|
'kondisi_fisik_tanah' => 'required|array',
|
||||||
|
'ketinggian_lebih_tinggi' => 'nullable',
|
||||||
|
'ketinggian_lebih_rendah' => 'nullable',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,9 +106,13 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'kondisi_bangunan' => 'nullable',
|
'kondisi_bangunan' => 'nullable',
|
||||||
'sifat_bangunan' => 'required|array',
|
'sifat_bangunan' => 'required|array',
|
||||||
'sifat_bangunan_input' => 'nullable|array',
|
'sifat_bangunan_input' => 'nullable|array',
|
||||||
'nama_bagunan' => 'required|nullable',
|
|
||||||
'spek_kategori_bangunan.*' => 'required',
|
|
||||||
'spek_bangunan.*' => 'required',
|
'nama_bangunan.*' => 'required|string|max:255',
|
||||||
|
'spek_kategori_bangunan.*' => 'nullable|string',
|
||||||
|
'spek_bangunan.*.*' => 'array',
|
||||||
|
'spek_bangunan.*.*.*' => 'string',
|
||||||
|
|
||||||
'sarana_pelengkap' => 'required',
|
'sarana_pelengkap' => 'required',
|
||||||
'sarana_pelengkap_input' => 'nullable|array',
|
'sarana_pelengkap_input' => 'nullable|array',
|
||||||
];
|
];
|
||||||
@@ -143,12 +149,14 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'jarak_cbd_point' => 'nullable',
|
'jarak_cbd_point' => 'nullable',
|
||||||
'nama_cbd_point' => 'nullable',
|
'nama_cbd_point' => 'nullable',
|
||||||
'lebar_perkerasan_jalan' => 'nullable',
|
'lebar_perkerasan_jalan' => 'nullable',
|
||||||
'perkerasan_jalan.*' => 'nullable',
|
'perkerasan_jalan' => 'nullable|array',
|
||||||
|
'perkerasan_jalan_lainnya' => 'nullable',
|
||||||
'lalu_lintas' => 'nullable',
|
'lalu_lintas' => 'nullable',
|
||||||
'gol_mas_sekitar' => 'nullable',
|
'gol_mas_sekitar' => 'nullable',
|
||||||
'tingkat_keramaian' => 'nullable',
|
'tingkat_keramaian' => 'nullable',
|
||||||
'terletak_diarea' => 'nullable',
|
'terletak_diarea' => 'nullable',
|
||||||
'disekitar_lokasi' => 'nullable',
|
'terletak_diarea_lainnya' => 'nullable',
|
||||||
|
'disekitar_lokasi' => 'required',
|
||||||
'kondisi_bagunan_disekitar_lokasi' => 'nullable',
|
'kondisi_bagunan_disekitar_lokasi' => 'nullable',
|
||||||
'sifat_bagunan_disekitar_lokasi' => 'nullable',
|
'sifat_bagunan_disekitar_lokasi' => 'nullable',
|
||||||
'dekat_makam' => 'nullable',
|
'dekat_makam' => 'nullable',
|
||||||
@@ -158,7 +166,8 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'jarak_tps' => 'nullable',
|
'jarak_tps' => 'nullable',
|
||||||
'nama_tpu' => 'nullable',
|
'nama_tpu' => 'nullable',
|
||||||
'merupakan_daerah' => 'nullable',
|
'merupakan_daerah' => 'nullable',
|
||||||
'fasilitas_dekat_object' => 'nullable',
|
'fasilitas_dekat_object' => 'nullable|array',
|
||||||
|
'fasilitas_dekat_object_lainnya' => 'nullable',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -526,7 +535,7 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'hub_cadeb_tidak_sesuai' => 'nullable',
|
'hub_cadeb_tidak_sesuai' => 'nullable',
|
||||||
'hub_cadeb_penghuni' => 'required',
|
'hub_cadeb_penghuni' => 'required',
|
||||||
'hub_cadeb_penghuni_sesuai' => 'nullable',
|
'hub_cadeb_penghuni_sesuai' => 'nullable',
|
||||||
'hub_cadeb_penghuni_tidak_sesuai' => 'nullable',
|
'hub_penghuni_tidak_sesuai' => 'nullable',
|
||||||
|
|
||||||
'address' => 'nullable',
|
'address' => 'nullable',
|
||||||
'village_code' => 'nullable',
|
'village_code' => 'nullable',
|
||||||
@@ -549,11 +558,11 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
'fakta_positif' => 'nullable|array',
|
'fakta_positif' => 'nullable|array',
|
||||||
'fakta_negatif' => 'nullable|array',
|
'fakta_negatif' => 'nullable|array',
|
||||||
'rute_menuju' => 'nullable',
|
'rute_menuju' => 'nullable',
|
||||||
'batas_batas' => 'nullable|array',
|
'batas_batas' => 'required|array',
|
||||||
'batas_batas_input' => 'nullable|array',
|
'batas_batas_input' => 'nullable|array',
|
||||||
'kondisi_lingkungan' => 'nullable|array',
|
'kondisi_lingkungan' => 'nullable|array',
|
||||||
'kondisi_lain_bangunan' => 'nullable|array',
|
'kondisi_lain_bangunan' => 'nullable|array',
|
||||||
'informasi_dokument' => 'nullable',
|
'informasi_dokument' => 'nullable|array',
|
||||||
'peruntukan' => 'nullable',
|
'peruntukan' => 'nullable',
|
||||||
'kdb' => 'nullable',
|
'kdb' => 'nullable',
|
||||||
'kdh' => 'nullable',
|
'kdh' => 'nullable',
|
||||||
|
|||||||
@@ -3,11 +3,8 @@
|
|||||||
@section('breadcrumbs')
|
@section('breadcrumbs')
|
||||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
@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">
|
||||||
@include('lpj::component.detail-jaminan', ['backLink' => 'penilaian.index'])
|
@include('lpj::component.detail-jaminan', ['backLink' => 'penilaian.index'])
|
||||||
|
|
||||||
@@ -462,6 +459,7 @@
|
|||||||
if (response.success) {
|
if (response.success) {
|
||||||
window.location.href =
|
window.location.href =
|
||||||
'{{ route('penilaian.index') }}';
|
'{{ route('penilaian.index') }}';
|
||||||
|
toastrSuccessBuild(response.message);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
showErrorMessages(response.errors);
|
showErrorMessages(response.errors);
|
||||||
@@ -470,6 +468,7 @@
|
|||||||
},
|
},
|
||||||
error: function(xhr) {
|
error: function(xhr) {
|
||||||
// Handle errors from the server
|
// Handle errors from the server
|
||||||
|
toastrErrorBuild(xhr.responseJSON.message);
|
||||||
showErrorMessages(xhr.responseJSON?.errors);
|
showErrorMessages(xhr.responseJSON?.errors);
|
||||||
console.error('Error occurred:', xhr.statusText);
|
console.error('Error occurred:', xhr.statusText);
|
||||||
console.log('Response:', xhr.responseText);
|
console.log('Response:', xhr.responseText);
|
||||||
|
|||||||
@@ -186,9 +186,9 @@
|
|||||||
let actionHtml = `<div class="flex flex-nowrap justify-center gap-1.5">`;
|
let actionHtml = `<div class="flex flex-nowrap justify-center gap-1.5">`;
|
||||||
|
|
||||||
if (data && data.penilaian && data.penilaian.waktu_penilaian !== null && data.status !==
|
if (data && data.penilaian && data.penilaian.waktu_penilaian !== null && data.status !==
|
||||||
'done') {
|
'done' && data.penilaian.authorized_status==null) {
|
||||||
actionHtml += `
|
actionHtml += `
|
||||||
<a class="btn btn-sm btn-outline btn-primary" href="surveyor/storeAproved/${data.penilaian.id}">
|
<a class="btn btn-sm btn-outline btn-primary" href="javascript:void(0)" onclick="surveyorApproveKunjungan(${data.penilaian.id},'${data.nomor_registrasi}')" title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}">
|
||||||
<i class="ki-filled ki-calendar-edit"></i>
|
<i class="ki-filled ki-calendar-edit"></i>
|
||||||
</a>
|
</a>
|
||||||
`;
|
`;
|
||||||
@@ -225,5 +225,58 @@
|
|||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function surveyorApproveKunjungan(id, noReg) {
|
||||||
|
Swal.fire({
|
||||||
|
title: ' ',
|
||||||
|
text: "Yakin akan Menyetujui Jadwal Kunjungan "+noReg+"?",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#3085d6',
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
confirmButtonText: 'Yes'
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
//define variable
|
||||||
|
// $id ==> penilaian.id
|
||||||
|
let token = "{{ csrf_token() }}";
|
||||||
|
let useURL = "{{ URL::to('/surveyor/storeAproved') }}"+"/"+id;
|
||||||
|
|
||||||
|
var input_data = new Object();
|
||||||
|
input_data._token = token;
|
||||||
|
input_data.id = id;
|
||||||
|
input_data.noReg =noReg;
|
||||||
|
$.ajax({
|
||||||
|
url: useURL,
|
||||||
|
type: "PUT",
|
||||||
|
cache: false,
|
||||||
|
data: input_data,
|
||||||
|
dataType: "json",
|
||||||
|
success: function(response) {
|
||||||
|
console.log(response);
|
||||||
|
if('success' == response.status)
|
||||||
|
{
|
||||||
|
swal.fire('Sukses Menyetujui!', response.message, 'success').then(() => {
|
||||||
|
location.reload(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Swal.fire('Error!', response.message, 'error');
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function(response, textStatus, errorThrown) {
|
||||||
|
// var errors = response.responseJSON.errors;
|
||||||
|
// console.log(errors);
|
||||||
|
console.log(response);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<em id="" class="alert text-danger text-sm"></em>
|
<em id="" class="alert text-danger text-sm"></em>
|
||||||
<div class="flex items-center justify-between flex-wrap my-2.5 gap-2"><a download id="pdfSPK" class="badge badge-sm badge-outline" target="_blank">Dokumen SPK.pdf <i class="ki-filled ki-cloud-download"></i></a></div>
|
<div class="flex items-center justify-between flex-wrap my-2.5 gap-2">{!! $doc_pdf !!}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="{{ $route[0] }}_div_region" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div id="{{ $route[0] }}_div_region" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
|||||||
@@ -139,7 +139,7 @@
|
|||||||
<a onclick="showRegistrasiFinal(${data.permohonan.id})" class="btn btn-sm btn-icon btn-clear btn-primary" title="Detail">
|
<a onclick="showRegistrasiFinal(${data.permohonan.id})" class="btn btn-sm btn-icon btn-clear btn-primary" title="Detail">
|
||||||
<i class="ki-outline ki-eye"></i>
|
<i class="ki-outline ki-eye"></i>
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-sm btn-icon btn-clear btn-info" title="Proses Penawaran" href="registrasifinal/${data.permohonan.id}/edit">
|
<a class="btn btn-sm btn-icon btn-clear btn-info" title="Registrasi Final" href="registrasifinal/${data.permohonan.id}/edit">
|
||||||
<i class="ki-outline ki-notepad-edit"></i>
|
<i class="ki-outline ki-notepad-edit"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>`;
|
</div>`;
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
Tujan Permohonan:
|
Tujan Permohonan:
|
||||||
</h3>
|
</h3>
|
||||||
<span class="text-2sm text-gray-700">
|
<span class="text-2sm text-gray-700">
|
||||||
{{ $permohonan->tujuanPenilaian->name }} {!! $permohonan->dokumen !!}
|
{{ $permohonan->tujuanPenilaian->name }} {!! $permohonan->pdfSPK_path !!}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -199,9 +199,9 @@
|
|||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
var spkShow ='';
|
var spkShow ='';
|
||||||
var spkCreate='';
|
var spkCreate='';
|
||||||
if(!data.dokumen)
|
if(!data.penawaran.spk_dokumen_path)
|
||||||
{
|
{
|
||||||
spkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Proses Penawaran" onclick="spkCreate(${data.penawaran.id})" >
|
spkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Buat SPK" onclick="spkCreate(${data.penawaran.id})" >
|
||||||
<i class="ki-outline ki-notepad-edit"></i>
|
<i class="ki-outline ki-notepad-edit"></i>
|
||||||
</a>`;
|
</a>`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,8 +130,8 @@
|
|||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="flex flex-col items-start gap-2">
|
<div class="flex flex-col items-start gap-2">
|
||||||
@if (isset($basicDdata['viewUnit']))
|
@if (isset($basicData['viewUnit']))
|
||||||
@foreach ($basicDdata['viewUnit'] as $item)
|
@foreach ($basicData['viewUnit'] 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 class="checkbox" name="view[]" type="checkbox"
|
<input class="checkbox" name="view[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
|
|||||||
@@ -38,13 +38,19 @@
|
|||||||
{{ old('luas_tanah_bagunan', isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])) ? 'checked' : '' }}>
|
{{ old('luas_tanah_bagunan', isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak Sesuai</span>
|
<span class="ml-2">Tidak Sesuai</span>
|
||||||
</label>
|
</label>
|
||||||
|
@php
|
||||||
|
$statusKey = isset($forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'])
|
||||||
|
? 'sesuai'
|
||||||
|
: 'tidak sesuai';
|
||||||
|
$selectedData = $forminspeksi['bangunan']['luas_tanah_bagunan'][$statusKey] ?? null;
|
||||||
|
@endphp
|
||||||
|
|
||||||
<div id="luas_tanah_bagunan_tidak_sesuai" class="flex items-baseline gap-2"
|
<div id="luas_tanah_bagunan_tidak_sesuai" class="flex items-baseline gap-2"
|
||||||
style="{{ isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak_sesuai']) ? '' : 'display: none;' }}">
|
style="{{ old('luas_tanah_bagunan_tidak_sesuai', $selectedData) ? '' : 'display: none'}}">
|
||||||
<input type="text" id="analisa_bangunan_tidak_sesuai"
|
<input type="text" id="analisa_bangunan_tidak_sesuai"
|
||||||
name="luas_tanah_bagunan_tidak_sesuai" class="input w-full"
|
name="luas_tanah_bagunan_tidak_sesuai" class="input w-full"
|
||||||
placeholder="Masukan Luas Bangunan Tidak Sesuai..."
|
placeholder="Masukan Luas Bangunan Tidak Sesuai..."
|
||||||
value="{{ old('luas_tanah_bagunan_tidak_sesuai', $forminspeksi['bangunan']['luas_tanah_bagunan']['tidak_sesuai'] ?? '') }}">
|
value="{{ old('luas_tanah_bagunan_tidak_sesuai', $forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ?? '') }}">
|
||||||
<button type="button" class="btn btn-md btn-primary"
|
<button type="button" class="btn btn-md btn-primary"
|
||||||
onclick="updateAnalisa('analisa_bangunan')">
|
onclick="updateAnalisa('analisa_bangunan')">
|
||||||
Save
|
Save
|
||||||
@@ -144,13 +150,61 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Spek Bangunan -->
|
<!-- Spek Bangunan -->
|
||||||
|
|
||||||
<div class="gap-2.5">
|
<div class="gap-2.5">
|
||||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Spek Bangunan</label>
|
<label class="form-label max-w-56">Spek Bangunan</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full" id="spek-bangunan-container">
|
<div class="flex flex-wrap items-baseline w-full" id="spek-bangunan-container">
|
||||||
|
@if (isset($forminspeksi['bangunan']) && is_array($forminspeksi['bangunan']))
|
||||||
|
@foreach ($forminspeksi['bangunan']['spesifikasi_bangunan'] as $index => $bangunan)
|
||||||
<div class="spek-bangunan w-full gap-4 mt-5">
|
<div class="spek-bangunan w-full gap-4 mt-5">
|
||||||
<input type="hidden" name="nama_bagunan[]" value="Bangunan">
|
<input type="hidden" name="nama_bangunan[]"
|
||||||
|
value="{{ isset($bangunan['bagunan']) ? $bangunan['bagunan'] : 'Bangunan ' . ($index + 1) }}"
|
||||||
|
required>
|
||||||
|
<label
|
||||||
|
class="building-label form-label">{{ isset($bangunan['bagunan']) ? $bangunan['bagunan'] : 'Bangunan ' . ($index + 1) }}</label>
|
||||||
|
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2 w-full">
|
||||||
|
@if (@isset($basicData['spekKategoriBangunan']))
|
||||||
|
@foreach ($basicData['spekKategoriBangunan'] as $item)
|
||||||
|
<div>
|
||||||
|
<input type="hidden" name="spek_kategori_bangunan[]"
|
||||||
|
value="{{ $item->name }}">
|
||||||
|
<label
|
||||||
|
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<div class="flex flex-col items-start gap-4"
|
||||||
|
style="margin-top: 10px">
|
||||||
|
@foreach ($basicData['spekBangunan'] as $spek)
|
||||||
|
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
||||||
|
<label
|
||||||
|
class="form-label flex items-center gap-2.5">
|
||||||
|
<input class="checkbox"
|
||||||
|
name="spek_bangunan[{{ $index }}][{{ $item->name }}][]"
|
||||||
|
type="checkbox"
|
||||||
|
value="{{ $spek->name }}"
|
||||||
|
{{ isset($bangunan['spek_kategori_bangunan'][$item->name]) &&
|
||||||
|
in_array($spek->name, $bangunan['spek_kategori_bangunan'][$item->name])
|
||||||
|
? 'checked'
|
||||||
|
: '' }} />
|
||||||
|
{{ $spek->name }}
|
||||||
|
</label>
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
<em id="error-spek_bangunan_{{ $item->name }}"
|
||||||
|
class="alert text-danger text-sm"></em>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<button type="button"
|
||||||
|
class="mt-2 btn btn-danger btn-outline btn-xs delete-button"
|
||||||
|
style="display: none;">Hapus</button>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
@else
|
||||||
|
<div class="spek-bangunan w-full gap-4 mt-5">
|
||||||
|
<input type="hidden" name="nama_bangunan[]" value="Bangunan 1" required>
|
||||||
<label class="building-label form-label">Bangunan 1</label>
|
<label class="building-label form-label">Bangunan 1</label>
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2 w-full">
|
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2 w-full">
|
||||||
@if (@isset($basicData['spekKategoriBangunan']))
|
@if (@isset($basicData['spekKategoriBangunan']))
|
||||||
@@ -161,13 +215,15 @@
|
|||||||
<label
|
<label
|
||||||
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
|
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<div class="flex flex-col items-start gap-4" style="margin-top: 10px">
|
<div class="flex flex-col items-start gap-4"
|
||||||
|
style="margin-top: 10px">
|
||||||
@foreach ($basicData['spekBangunan'] as $spek)
|
@foreach ($basicData['spekBangunan'] as $spek)
|
||||||
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
||||||
<label class="form-label flex items-center gap-2.5">
|
<label class="form-label flex items-center gap-2.5">
|
||||||
<input class="checkbox"
|
<input class="checkbox"
|
||||||
name="spek_bangunan[{{ $item->name }}][]"
|
name="spek_bangunan[0][{{ $item->name }}][]"
|
||||||
type="checkbox" value="{{ $spek->name }}" />
|
type="checkbox"
|
||||||
|
value="{{ $spek->name }}" />
|
||||||
{{ $spek->name }}
|
{{ $spek->name }}
|
||||||
</label>
|
</label>
|
||||||
@endif
|
@endif
|
||||||
@@ -183,6 +239,7 @@
|
|||||||
<button type="button" class="mt-2 btn btn-danger btn-outline btn-xs delete-button"
|
<button type="button" class="mt-2 btn btn-danger btn-outline btn-xs delete-button"
|
||||||
style="display: none;">Hapus</button>
|
style="display: none;">Hapus</button>
|
||||||
</div>
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -245,11 +302,8 @@
|
|||||||
function updateDeleteButtonsVisibility() {
|
function updateDeleteButtonsVisibility() {
|
||||||
const allDeleteButtons = spekBangunanContainer.querySelectorAll('.delete-button');
|
const allDeleteButtons = spekBangunanContainer.querySelectorAll('.delete-button');
|
||||||
allDeleteButtons.forEach(button => {
|
allDeleteButtons.forEach(button => {
|
||||||
if (spekBangunanContainer.querySelectorAll('.spek-bangunan').length > 1) {
|
button.style.display = spekBangunanContainer.querySelectorAll('.spek-bangunan').length > 1 ?
|
||||||
button.style.display = 'inline-block';
|
'inline-block' : 'none';
|
||||||
} else {
|
|
||||||
button.style.display = 'none';
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,65 +311,81 @@
|
|||||||
const allSpekBangunan = spekBangunanContainer.querySelectorAll('.spek-bangunan');
|
const allSpekBangunan = spekBangunanContainer.querySelectorAll('.spek-bangunan');
|
||||||
allSpekBangunan.forEach((div, index) => {
|
allSpekBangunan.forEach((div, index) => {
|
||||||
const label = div.querySelector('.building-label');
|
const label = div.querySelector('.building-label');
|
||||||
|
const nameInput = div.querySelector('input[name^="nama_bangunan"]');
|
||||||
if (label) {
|
if (label) {
|
||||||
label.textContent = `Bangunan ${index + 1}`;
|
const buildingName = `Bangunan ${index + 1}`;
|
||||||
|
label.textContent = buildingName;
|
||||||
|
if (nameInput) {
|
||||||
|
nameInput.value = buildingName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateInputNames(container, index) {
|
||||||
|
container.querySelectorAll('input').forEach(input => {
|
||||||
|
if (input.name) {
|
||||||
|
if (input.name.includes('[')) {
|
||||||
|
if (input.name.startsWith('spek_bangunan')) {
|
||||||
|
// Handle spek_bangunan inputs
|
||||||
|
const matches = input.name.match(/spek_bangunan\[\d+\]\[(.*?)\]/);
|
||||||
|
if (matches) {
|
||||||
|
input.name = `spek_bangunan[${index}][${matches[1]}][]`;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Handle other array inputs
|
||||||
|
input.name = input.name.replace(/\[\d*\]/, `[${index}]`);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
document.getElementById('addBagunan').addEventListener('click', function() {
|
document.getElementById('addBagunan').addEventListener('click', function() {
|
||||||
const newDiv = spekBangunanContainer.querySelector('.spek-bangunan').cloneNode(true);
|
const newDiv = spekBangunanContainer.querySelector('.spek-bangunan').cloneNode(true);
|
||||||
|
const newIndex = spekBangunanContainer.querySelectorAll('.spek-bangunan').length;
|
||||||
|
|
||||||
// Update input fields
|
// Reset and update inputs
|
||||||
newDiv.querySelectorAll('select, input').forEach((input, index) => {
|
newDiv.querySelectorAll('input').forEach(input => {
|
||||||
if (input.type === 'checkbox' || input.type === 'radio') {
|
if (input.type === 'checkbox') {
|
||||||
input.checked = false;
|
input.checked = false;
|
||||||
} else {
|
} else {
|
||||||
input.value = '';
|
input.value = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update name attribute
|
|
||||||
if (input.name) {
|
|
||||||
const baseName = input.name.split('[')[0]; // Get the base name
|
|
||||||
const count = spekBangunanContainer.querySelectorAll('.spek-bangunan').length + 1;
|
|
||||||
input.name = `${baseName}[${count}]`;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Append the cloned div
|
// Update input names
|
||||||
|
updateInputNames(newDiv, newIndex);
|
||||||
|
|
||||||
|
// Add delete button handler
|
||||||
|
const deleteButton = newDiv.querySelector('.delete-button');
|
||||||
|
deleteButton.addEventListener('click', function() {
|
||||||
|
newDiv.remove();
|
||||||
|
updateDeleteButtonsVisibility();
|
||||||
|
updateBuildingLabels();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Append and update UI
|
||||||
spekBangunanContainer.appendChild(newDiv);
|
spekBangunanContainer.appendChild(newDiv);
|
||||||
|
|
||||||
// Add event listener to the delete button in the cloned div
|
|
||||||
newDiv.querySelector('.delete-button').addEventListener('click', function() {
|
|
||||||
spekBangunanContainer.removeChild(newDiv);
|
|
||||||
updateDeleteButtonsVisibility();
|
updateDeleteButtonsVisibility();
|
||||||
updateBuildingLabels();
|
updateBuildingLabels();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Update UI
|
// Initialize on page load
|
||||||
updateDeleteButtonsVisibility();
|
|
||||||
updateBuildingLabels();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// Initial setup: Ensure "Bangunan 1" is labeled
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
updateDeleteButtonsVisibility();
|
updateDeleteButtonsVisibility();
|
||||||
updateBuildingLabels(); // Ensure the first label is set
|
updateBuildingLabels();
|
||||||
});
|
|
||||||
|
|
||||||
// Add delete functionality to the initial form
|
// Add delete handlers to existing buttons
|
||||||
spekBangunanContainer.querySelectorAll('.delete-button').forEach(button => {
|
spekBangunanContainer.querySelectorAll('.delete-button').forEach(button => {
|
||||||
button.addEventListener('click', function() {
|
button.addEventListener('click', function() {
|
||||||
const spekBangunan = this.closest('.spek-bangunan');
|
|
||||||
|
|
||||||
// Make sure not to delete the last remaining form
|
|
||||||
if (spekBangunanContainer.querySelectorAll('.spek-bangunan').length > 1) {
|
if (spekBangunanContainer.querySelectorAll('.spek-bangunan').length > 1) {
|
||||||
spekBangunan.remove();
|
this.closest('.spek-bangunan').remove();
|
||||||
updateDeleteButtonsVisibility();
|
updateDeleteButtonsVisibility();
|
||||||
updateBuildingLabels(); // Update the labels after removing
|
updateBuildingLabels();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
|||||||
@@ -74,11 +74,8 @@
|
|||||||
<div class="flex flex-col gap-2">
|
<div class="flex flex-col gap-2">
|
||||||
<img id="uploadedImage2" class="max-w-[200px] hidden"
|
<img id="uploadedImage2" class="max-w-[200px] hidden"
|
||||||
alt="Pembanding Image">
|
alt="Pembanding Image">
|
||||||
<input type="file"
|
<input type="file" name="foto_objek_pembanding[]" class="file-input"
|
||||||
name="foto_objek_pembanding[]"
|
accept="image/*" onchange="previewImage(this, 'uploadedImage2')">
|
||||||
class="file-input"
|
|
||||||
accept="image/*"
|
|
||||||
onchange="previewImage(this, 'uploadedImage2')">
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -243,15 +240,12 @@
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<select id="province_code" name="province_code_pembanding[]"
|
<select id="province_code_pembanding" name="province_code_pembanding[]"
|
||||||
class="input w-full">
|
onchange="handleProvinceChange(this)" class="input w-full">
|
||||||
<option value="">Select Province</option>
|
<option value="">Pilih Provinsi</option>
|
||||||
@foreach ($provinces as $province)
|
@foreach ($provinces as $province)
|
||||||
|
<option value="{{ $province->code }}">{{ $province->name }}
|
||||||
<option value="{{ $province->code }}">
|
|
||||||
{{ $province->name }}
|
|
||||||
</option>
|
</option>
|
||||||
|
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
@@ -283,17 +277,9 @@
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<select id="city_code" name="city_code_pembanding[]"
|
<select id="city_code_pembanding" name="city_code_pembanding[]"
|
||||||
class="input w-full">
|
onchange="handleCityChange(this)" class="input w-full">
|
||||||
|
|
||||||
<option value="">Pilih Kota/Kabupaten</option>
|
<option value="">Pilih Kota/Kabupaten</option>
|
||||||
@if (isset($cities))
|
|
||||||
@foreach ($cities as $city)
|
|
||||||
<option value="{{ $city->code }}">
|
|
||||||
{{ $city->name }}
|
|
||||||
</option>
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -325,17 +311,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
|
|
||||||
<select id="district_code" name="district_code_pembanding[]"
|
<select id="district_code_pembanding" name="district_code_pembanding[]"
|
||||||
class="input w-full">
|
onchange="handleDistrictChange(this)" class="input w-full">
|
||||||
|
|
||||||
<option value="">Pilih Kecamatan</option>
|
<option value="">Pilih Kecamatan</option>
|
||||||
@if (isset($districts))
|
|
||||||
@foreach ($districts as $district)
|
|
||||||
<option value="{{ $district->code }}">
|
|
||||||
{{ $district->name }}
|
|
||||||
</option>
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -365,17 +343,9 @@
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<select id="village_code" name="village_code_pembanding[]"
|
<select id="village_code_pembanding" name="village_code_pembanding[]"
|
||||||
class="input w-full">
|
class="input w-full">
|
||||||
|
<option value="">Pilih Desa/Kelurahan</option>
|
||||||
<option value="">Pilih Kecamatan</option>
|
|
||||||
@if (isset($villages))
|
|
||||||
@foreach ($villages as $village)
|
|
||||||
<option value="{{ $village->code }}">
|
|
||||||
{{ $village->name }}
|
|
||||||
</option>
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -561,7 +531,6 @@
|
|||||||
const newCell = document.createElement('td');
|
const newCell = document.createElement('td');
|
||||||
newCell.className = 'px-4 py-2';
|
newCell.className = 'px-4 py-2';
|
||||||
|
|
||||||
// Clone the last input cell
|
|
||||||
const lastInputCell = row.querySelector('td:last-child');
|
const lastInputCell = row.querySelector('td:last-child');
|
||||||
if (lastInputCell) {
|
if (lastInputCell) {
|
||||||
const clonedContent = lastInputCell.innerHTML;
|
const clonedContent = lastInputCell.innerHTML;
|
||||||
@@ -569,7 +538,7 @@
|
|||||||
|
|
||||||
// Update IDs and names for the new cell
|
// Update IDs and names for the new cell
|
||||||
const inputs = newCell.querySelectorAll('input, select, textarea');
|
const inputs = newCell.querySelectorAll('input, select, textarea');
|
||||||
inputs.forEach(input => {
|
inputs.forEach((input) => {
|
||||||
if (input.type === 'file') {
|
if (input.type === 'file') {
|
||||||
const newImageId = `uploadedImage${columnCount + 1}`;
|
const newImageId = `uploadedImage${columnCount + 1}`;
|
||||||
const preview = newCell.querySelector('img');
|
const preview = newCell.querySelector('img');
|
||||||
@@ -582,6 +551,25 @@
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Menangani select alamat
|
||||||
|
if (input.tagName === 'SELECT') {
|
||||||
|
const oldId = input.id;
|
||||||
|
const newId = `${oldId}_${columnCount}`;
|
||||||
|
input.id = newId;
|
||||||
|
|
||||||
|
// Menambahkan event listener untuk select alamat
|
||||||
|
if (oldId.includes('city')) {
|
||||||
|
input.onchange = function() {
|
||||||
|
handleCityChange(this);
|
||||||
|
};
|
||||||
|
} else if (oldId.includes('district')) {
|
||||||
|
input.onchange = function() {
|
||||||
|
handleDistrictChange(this);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Clear values
|
// Clear values
|
||||||
if (input.type !== 'file') {
|
if (input.type !== 'file') {
|
||||||
input.value = '';
|
input.value = '';
|
||||||
@@ -595,6 +583,11 @@
|
|||||||
reinitializeEventListeners();
|
reinitializeEventListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function updateDynamicId(currentId, columnCount) {
|
||||||
|
return `${currentId.split('_')[0]}_${'code_pembanding'}_${columnCount}`;
|
||||||
|
}
|
||||||
|
|
||||||
function removeColumn() {
|
function removeColumn() {
|
||||||
if (columnCount > 1) {
|
if (columnCount > 1) {
|
||||||
const table = document.getElementById('dataTable');
|
const table = document.getElementById('dataTable');
|
||||||
@@ -740,6 +733,188 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadIdSelectAddres(inputs) {
|
||||||
|
const data = [
|
||||||
|
'province_code_pembanding',
|
||||||
|
'city_code_pembanding',
|
||||||
|
'district_code_pembanding',
|
||||||
|
'village_code_pembanding'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
// Inisialisasi event listener untuk data pembanding pertama
|
||||||
|
initializeFirstPembandingListeners();
|
||||||
|
|
||||||
|
try {
|
||||||
|
const inspectionData = {!! isset($inspectionData) ? json_encode($inspectionData) : 'null' !!};
|
||||||
|
const comparisons = {!! isset($comparisons) ? json_encode($comparisons) : 'null' !!};
|
||||||
|
|
||||||
|
if (comparisons) {
|
||||||
|
comparisons.data_pembanding.forEach((comparison, index) => {
|
||||||
|
if (index > 0) {
|
||||||
|
addColumn();
|
||||||
|
}
|
||||||
|
fillPembandingData(comparison, index);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
updateRemoveButtonVisibility();
|
||||||
|
initializeEventListeners();
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error initializing form:', error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function initializeFirstPembandingListeners() {
|
||||||
|
// Event listener untuk province pembanding pertama
|
||||||
|
const firstProvinceSelect = document.getElementById('province_code_pembanding');
|
||||||
|
if (firstProvinceSelect) {
|
||||||
|
firstProvinceSelect.addEventListener('change', function() {
|
||||||
|
const provinceId = this.value;
|
||||||
|
if (provinceId) {
|
||||||
|
getCity(provinceId, 1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Event listener untuk city pembanding pertama
|
||||||
|
const firstCitySelect = document.getElementById('city_code_pembanding');
|
||||||
|
if (firstCitySelect) {
|
||||||
|
firstCitySelect.addEventListener('change', function() {
|
||||||
|
const cityId = this.value;
|
||||||
|
if (cityId) {
|
||||||
|
getDistrict(cityId, 1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Event listener untuk district pembanding pertama
|
||||||
|
const firstDistrictSelect = document.getElementById('district_code_pembanding');
|
||||||
|
if (firstDistrictSelect) {
|
||||||
|
firstDistrictSelect.addEventListener('change', function() {
|
||||||
|
const districtId = this.value;
|
||||||
|
if (districtId) {
|
||||||
|
getVillage(districtId, 1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleProvinceChange(provinceSelect) {
|
||||||
|
const provinceId = provinceSelect.value;
|
||||||
|
let columnIndex;
|
||||||
|
|
||||||
|
// Cek apakah ini pembanding pertama atau tambahan
|
||||||
|
if (provinceSelect.id === 'province_code_pembanding') {
|
||||||
|
columnIndex = 1;
|
||||||
|
} else {
|
||||||
|
columnIndex = provinceSelect.id.split('_').pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (provinceId) {
|
||||||
|
getCity(provinceId, columnIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleCityChange(citySelect) {
|
||||||
|
const cityId = citySelect.value;
|
||||||
|
let columnIndex;
|
||||||
|
|
||||||
|
if (citySelect.id === 'city_code_pembanding') {
|
||||||
|
columnIndex = 1;
|
||||||
|
} else {
|
||||||
|
columnIndex = citySelect.id.split('_').pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cityId) {
|
||||||
|
getDistrict(cityId, columnIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDistrictChange(districtSelect) {
|
||||||
|
const districtId = districtSelect.value;
|
||||||
|
let columnIndex;
|
||||||
|
|
||||||
|
if (districtSelect.id === 'district_code_pembanding') {
|
||||||
|
columnIndex = 1;
|
||||||
|
} else {
|
||||||
|
columnIndex = districtSelect.id.split('_').pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (districtId) {
|
||||||
|
getVillage(districtId, columnIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getCity(provinceId, columnIndex) {
|
||||||
|
try {
|
||||||
|
const response = await fetch(`/locations/cities/province/${provinceId}`);
|
||||||
|
const data = await response.json();
|
||||||
|
|
||||||
|
// Pilih dropdown berdasarkan index
|
||||||
|
const cityDropdown = columnIndex === 1 ?
|
||||||
|
document.getElementById('city_code_pembanding') :
|
||||||
|
document.getElementById(`city_code_pembanding_${columnIndex}`);
|
||||||
|
|
||||||
|
if (cityDropdown) {
|
||||||
|
cityDropdown.innerHTML = '<option value="">Pilih Kota/Kabupaten</option>';
|
||||||
|
data.forEach(city => {
|
||||||
|
cityDropdown.innerHTML += `<option value="${city.code}">${city.name}</option>`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching cities:', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getDistrict(cityId, columnIndex) {
|
||||||
|
try {
|
||||||
|
const response = await fetch(`/locations/districts/city/${cityId}`);
|
||||||
|
const data = await response.json();
|
||||||
|
|
||||||
|
const districtDropdown = columnIndex === 1 ?
|
||||||
|
document.getElementById('district_code_pembanding') :
|
||||||
|
document.getElementById(`district_code_pembanding_${columnIndex}`);
|
||||||
|
|
||||||
|
if (districtDropdown) {
|
||||||
|
districtDropdown.innerHTML = '<option value="">Pilih Kecamatan</option>';
|
||||||
|
data.forEach(district => {
|
||||||
|
districtDropdown.innerHTML +=
|
||||||
|
`<option value="${district.code}">${district.name}</option>`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching districts:', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getVillage(districtId, columnIndex) {
|
||||||
|
try {
|
||||||
|
const response = await fetch(`/locations/villages/district/${districtId}`);
|
||||||
|
const data = await response.json();
|
||||||
|
|
||||||
|
const villageDropdown = columnIndex === 1 ?
|
||||||
|
document.getElementById('village_code_pembanding') :
|
||||||
|
document.getElementById(`village_code_pembanding_${columnIndex}`);
|
||||||
|
|
||||||
|
if (villageDropdown) {
|
||||||
|
villageDropdown.innerHTML = '<option value="">Pilih Desa/Kelurahan</option>';
|
||||||
|
data.forEach(village => {
|
||||||
|
villageDropdown.innerHTML += `<option value="${village.code}">${village.name}</option>`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching villages:', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function resetDropdown(elementId, placeholder) {
|
||||||
|
const dropdown = document.getElementById(elementId);
|
||||||
|
dropdown.innerHTML = `<option value="">${placeholder}</option>`;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@@ -5,6 +5,15 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
<style>
|
||||||
|
.pdf-preview {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
@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">
|
||||||
<div class="card min-w-full">
|
<div class="card min-w-full">
|
||||||
@@ -130,34 +139,40 @@
|
|||||||
<input type="hidden" value="{{ $permohonan->id }}" name="permohonan_id">
|
<input type="hidden" value="{{ $permohonan->id }}" name="permohonan_id">
|
||||||
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
<input type="hidden" name="jenis_jaminan_id" value="{{ request('jenis_jaminan') }}">
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
<div class=""max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
|
<div class=" mx-auto overflow-hidden">
|
||||||
|
|
||||||
<div>
|
|
||||||
</div>
|
|
||||||
<div class="flex flex-wrap gap-4" style="margin-top: 20px">
|
<div class="flex flex-wrap gap-4" style="margin-top: 20px">
|
||||||
<div class="flex w-full items-center justify-center gap-4">
|
<div class="flex w-full items-center justify-center gap-4">
|
||||||
<label class="form-label max-w-56">
|
<label class="form-label max-w-56">
|
||||||
<span class="form-label">Upload Denah</span>
|
<span class="form-label">Upload Denah (Foto/PDF)</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="w-full grid gap-5">
|
<div class="w-full grid gap-5">
|
||||||
|
<!-- Preview Container -->
|
||||||
|
<div id="preview-container">
|
||||||
|
<!-- Image preview -->
|
||||||
<img id="foto_denah-preview"
|
<img id="foto_denah-preview"
|
||||||
src="{{ isset($formDenah['foto_denah']) ? asset('storage/' . old('foto_denah', $formDenah['foto_denah'])) : '' }}"
|
src="{{ isset($formDenah['foto_denah']) ? asset('storage/' . old('foto_denah', $formDenah['foto_denah'])) : '' }}"
|
||||||
alt="Gambar foto_denah"
|
alt="Gambar foto_denah"
|
||||||
style="{{ isset($formDenah['foto_denah']) ? 'width: 30rem;' : 'display: none;' }}">
|
style="{{ isset($formDenah['foto_denah']) && strpos($formDenah['foto_denah'], '.pdf') === false ? 'width: 30rem;' : 'display: none;' }}">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- PDF preview -->
|
||||||
|
@if (isset($formDenah['foto_denah']) && strpos($formDenah['foto_denah'], '.pdf') !== false)
|
||||||
|
<div id="pdf-preview" class="pdf-preview">
|
||||||
|
<embed src="{{ asset('storage/' . $formDenah['foto_denah']) }}"
|
||||||
|
type="application/pdf" width="100%" height="500px">
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="input-group w-full flex gap-2">
|
<div class="input-group w-full flex gap-2">
|
||||||
<input type="file"
|
<input type="file"
|
||||||
value="{{ old('foto_denah', isset($formDenah['foto_denah']) ? $formDenah['foto_denah'] : '') }}"
|
value="{{ old('foto_denah', isset($formDenah['foto_denah']) ? $formDenah['foto_denah'] : '') }}"
|
||||||
name="foto_denah" class="file-input file-input-bordered w-full "
|
name="foto_denah" class="file-input file-input-bordered w-full"
|
||||||
accept="image/*" onchange="previewImage(this, 'foto_denah-preview')">
|
accept=".jpg,.jpeg,.png,.pdf" onchange="previewFile(this)">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-foto_denah" class="alert text-danger text-sm"></em>
|
<em id="error-foto_denah" class="alert text-danger text-sm"></em>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -202,18 +217,56 @@
|
|||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script>
|
<script>
|
||||||
function previewImage(input, previewId) {
|
function previewFile(input) {
|
||||||
if (input.files && input.files[0]) {
|
const previewContainer = document.getElementById('preview-container');
|
||||||
var reader = new FileReader();
|
const imagePreview = document.getElementById('foto_denah-preview');
|
||||||
|
const file = input.files[0];
|
||||||
|
|
||||||
|
// Hapus preview PDF yang ada (jika ada)
|
||||||
|
const existingPdfPreview = document.getElementById('pdf-preview');
|
||||||
|
if (existingPdfPreview) {
|
||||||
|
existingPdfPreview.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (file) {
|
||||||
|
// Cek tipe file
|
||||||
|
if (file.type.startsWith('image/')) {
|
||||||
|
// Jika file adalah gambar
|
||||||
|
imagePreview.style.display = 'block';
|
||||||
|
const reader = new FileReader();
|
||||||
|
|
||||||
reader.onload = function(e) {
|
reader.onload = function(e) {
|
||||||
$('#' + previewId).attr('src', e.target.result).show();
|
imagePreview.src = e.target.result;
|
||||||
|
imagePreview.style.width = '30rem';
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
} else if (file.type === 'application/pdf') {
|
||||||
|
// Jika file adalah PDF
|
||||||
|
imagePreview.style.display = 'none';
|
||||||
|
|
||||||
|
// Buat preview PDF
|
||||||
|
const pdfPreview = document.createElement('div');
|
||||||
|
pdfPreview.id = 'pdf-preview';
|
||||||
|
pdfPreview.className = 'pdf-preview';
|
||||||
|
|
||||||
|
const pdfEmbed = document.createElement('embed');
|
||||||
|
pdfEmbed.src = URL.createObjectURL(file);
|
||||||
|
pdfEmbed.type = 'application/pdf';
|
||||||
|
pdfEmbed.width = '100%';
|
||||||
|
pdfEmbed.height = '500px';
|
||||||
|
|
||||||
|
pdfPreview.appendChild(pdfEmbed);
|
||||||
|
previewContainer.appendChild(pdfPreview);
|
||||||
}
|
}
|
||||||
reader.readAsDataURL(input.files[0]);
|
|
||||||
} else {
|
} else {
|
||||||
$('#' + previewId).hide();
|
// Jika tidak ada file yang dipilih
|
||||||
|
imagePreview.style.display = 'none';
|
||||||
|
imagePreview.src = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function submitDenah() {
|
function submitDenah() {
|
||||||
const loadingOverlay = document.getElementById('loadingOverlay');
|
const loadingOverlay = document.getElementById('loadingOverlay');
|
||||||
loadingOverlay.classList.remove('hidden');
|
loadingOverlay.classList.remove('hidden');
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
<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">Rute Menuju</label>
|
<label class="form-label max-w-56">Rute Menuju</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<textarea class="textarea mt-2" name="rute_menuju" rows="3">{{ old('rute_menuju.0', $forminspeksi['fakta']['rute_menuju'][0] ?? '') }}</textarea>
|
<textarea class="textarea mt-2" name="rute_menuju" rows="3">{{ old('rute_menuju.0', $forminspeksi['fakta']['rute_menuju'] ?? '') }}</textarea>
|
||||||
<em id="error-rute_menuju" class="alert text-danger text-sm"></em>
|
<em id="error-rute_menuju" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,8 +79,8 @@
|
|||||||
<label class="form-label max-w-56">Batas batas</label>
|
<label class="form-label max-w-56">Batas batas</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<div class="grid grid-cols-1 gap-4 items-center w-full">
|
<div class="grid grid-cols-1 gap-4 items-center w-full">
|
||||||
@if (isset($arahMataAngin))
|
@if (isset($basicData['arahMataAngin']))
|
||||||
@foreach ($arahMataAngin as $item)
|
@foreach ($basicData['arahMataAngin'] as $item)
|
||||||
@php
|
@php
|
||||||
$isChecked = false;
|
$isChecked = false;
|
||||||
$inputValue = '';
|
$inputValue = '';
|
||||||
@@ -98,8 +98,7 @@
|
|||||||
<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 gap-2.5" style="width: 500px">
|
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
|
||||||
<input class="checkbox" name="batas_batas[]" type="checkbox"
|
<input class="checkbox" name="batas_batas[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}" {{ $isChecked ? 'checked' : '' }} />
|
||||||
{{ $isChecked ? 'checked' : '' }} />
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
<input type="text" name="batas_batas_input[]" class="input w-full"
|
<input type="text" name="batas_batas_input[]" class="input w-full"
|
||||||
@@ -186,30 +185,35 @@
|
|||||||
<label class="form-label max-w-56">Informasi Terkait Dokumen</label>
|
<label class="form-label max-w-56">Informasi Terkait Dokumen</label>
|
||||||
<div id="informasi-dokument-container" class="flex flex-wrap items-baseline w-full">
|
<div id="informasi-dokument-container" class="flex flex-wrap items-baseline w-full">
|
||||||
@php
|
@php
|
||||||
// Ensure $forminspeksi['fakta']['informasi_dokument'] is an array
|
$informasi_dokument = isset($forminspeksi['fakta']['informasi_dokument'])
|
||||||
$informasi_dokument = isset($forminspeksi['fakta']['informasi_dokument']) ? (array) $forminspeksi['fakta']['informasi_dokument'] : [];
|
? (array) $forminspeksi['fakta']['informasi_dokument']
|
||||||
|
: [];
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
|
@if (!empty($informasi_dokument))
|
||||||
|
|
||||||
@foreach ($informasi_dokument as $index => $document)
|
@foreach ($informasi_dokument as $index => $document)
|
||||||
<div class="informasi_dokument flex items-center gap-2 mt-2 textarea-group w-full">
|
<div class="informasi_dokument flex items-center gap-2 mt-2 textarea-group w-full">
|
||||||
<textarea class="textarea mt-2" name="informasi_dokument[]" rows="3">{{ old("informasi_dokument.$index", $document) }}</textarea>
|
<textarea class="textarea mt-2" name="informasi_dokument[]" rows="3">{{ old("informasi_dokument.$index", $document) }}</textarea>
|
||||||
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
|
<button class="btn btn-danger btn-sm remove-btn" type="button"
|
||||||
|
style="display: none;">
|
||||||
<i class="ki-outline ki-trash"></i>
|
<i class="ki-outline ki-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
@else
|
||||||
<div class="informasi_dokument flex items-center gap-2 mt-2 textarea-group w-full">
|
<div class="informasi_dokument flex items-center gap-2 mt-2 textarea-group w-full">
|
||||||
<textarea class="textarea mt-2" name="informasi_dokument" rows="3">
|
<textarea class="textarea mt-2" name="informasi_dokument[]" rows="3">{{ old('informasi_dokument.0', isset($forminspeksi['fakta']['informasi_dokument'][0]) ? $forminspeksi['fakta']['informasi_dokument'][0] : '') }}
|
||||||
{{ old('informasi_dokument.0', isset($forminspeksi['fakta']['informasi_dokument'][0]) ? $forminspeksi['fakta']['informasi_dokument'][0] : '') }}
|
|
||||||
</textarea>
|
</textarea>
|
||||||
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
|
<button class="btn btn-danger btn-sm remove-btn" type="button"
|
||||||
|
style="display: none;">
|
||||||
<i class="ki-outline ki-trash"></i>
|
<i class="ki-outline ki-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
<em id="error-informasi_dokument" class="alert text-danger text-sm"></em>
|
<em id="error-informasi_dokument" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
|
@endif
|
||||||
<button class="btn btn-primary btn-sm mt-5" type="button" onclick="addClonableItem('informasi-dokument-container', 'informasi_dokument')">
|
<button class="btn btn-primary btn-sm mt-5" type="button"
|
||||||
|
onclick="addClonableItem('informasi-dokument-container', 'informasi_dokument')">
|
||||||
<i class="ki-outline ki-plus"></i>
|
<i class="ki-outline ki-plus"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -93,7 +93,7 @@
|
|||||||
<div class="flex w-full items-center justify-center gap-4 mb-4"
|
<div class="flex w-full items-center justify-center gap-4 mb-4"
|
||||||
id="photoContainer-{{ $index }}">
|
id="photoContainer-{{ $index }}">
|
||||||
<label class="form-label max-w-56">
|
<label class="form-label max-w-56">
|
||||||
<span class="form-label">Foto Rute Menuju Lokasi</span>
|
<span class="form-label">Foto Rute Menuju Lokasi {{ $index + 1 }}</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="input-group w-full flex flex-col gap-2">
|
<div class="input-group w-full flex flex-col gap-2">
|
||||||
<div class="preview-container">
|
<div class="preview-container">
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
|
|
||||||
<!-- Delete button to remove photo -->
|
<!-- Delete button to remove photo -->
|
||||||
<button type="button" class="btn btn-danger btn-sm delete-btn"
|
<button type="button" class="btn btn-danger btn-sm delete-btn"
|
||||||
onclick="deletePhoto('{{ $index }}')">
|
id="btnDelete">
|
||||||
<i class="ki-filled ki-trash"></i>
|
<i class="ki-filled ki-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -182,23 +182,25 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="ruteLainnya" style="margin-top: 10px">
|
<div id="ruteLainnya" style="margin-top: 10px">
|
||||||
@if (isset($formFoto['foto_rute_lainnya']) && is_array($formFoto['foto_rute_lainnya']))
|
@if (isset($formFoto['foto_rute_lainnya']) && is_array($formFoto['foto_rute_lainnya']))
|
||||||
@foreach ($formFoto['foto_rute_lainnya'] as $Index => $photo)
|
@foreach ($formFoto['foto_rute_lainnya'] as $index => $photo)
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-5"
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-5"
|
||||||
id="photoContainer">
|
id="photoContainer">
|
||||||
<label class="form-label max-w-56">
|
<label class="form-label max-w-56">
|
||||||
Masukkan nama rute lainnya
|
Masukkan nama rute lainnya {{ $index + 1 }}
|
||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<img id="foto_rute_lainnya-preview-{{ $index }}"
|
||||||
|
src="{{ asset('storage/' . $photo['foto_rute_lainnya']) }}"
|
||||||
|
alt="Foto Rute " class="mt-2 max-w-full h-auto"
|
||||||
|
style="width: 30rem;">
|
||||||
<div class="flex flex-col lg:flex-row gap-2 w-full">
|
<div class="flex flex-col lg:flex-row gap-2 w-full">
|
||||||
|
|
||||||
<div class="flex flex-wrap items-baseline px-2">
|
<div class="flex flex-wrap items-baseline px-2">
|
||||||
<input class="input" type="text" name="name_rute_lainnya[]"
|
<input class="input" type="text" name="name_rute_lainnya[]"
|
||||||
value="{{ $photo['name_rute_lainnya'] }}">
|
value="{{ $photo['name_rute_lainnya'] }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="input-group w-full flex flex-col gap-2">
|
<div class="input-group w-full flex flex-col gap-2">
|
||||||
<img id="foto_rute_lainnya-preview-"
|
|
||||||
src="{{ asset('storage/' . $photo['foto_rute_lainnya']) }}"
|
|
||||||
alt="Foto Rute " class="mt-2 max-w-full h-auto"
|
|
||||||
style="width: 30rem;">
|
|
||||||
<div class="input-group w-full flex gap-2">
|
<div class="input-group w-full flex gap-2">
|
||||||
<input type="file" name="foto_rute_lainnya[]"
|
<input type="file" name="foto_rute_lainnya[]"
|
||||||
class="file-input file-input-bordered w-full"
|
class="file-input file-input-bordered w-full"
|
||||||
@@ -254,9 +256,11 @@
|
|||||||
$objekViews = [];
|
$objekViews = [];
|
||||||
if ($kategori === 'tanah') {
|
if ($kategori === 'tanah') {
|
||||||
$objekViews = [
|
$objekViews = [
|
||||||
['label' => 'Tampak Samping Kiri', 'index' => 0],
|
['label' => 'Tampak Depan Objek', 'index' => 0],
|
||||||
['label' => 'Tampak Samping Kanan', 'index' => 1],
|
['label' => 'Tampak Samping Kiri', 'index' => 1],
|
||||||
['label' => 'Nomor Rumah/Unit', 'index' => 2],
|
['label' => 'Tampak Samping Kanan', 'index' => 2],
|
||||||
|
['label' => 'Nomor Rumah/Unit', 'index' => 3],
|
||||||
|
|
||||||
];
|
];
|
||||||
} elseif ($kategori === 'apartemen-kantor') {
|
} elseif ($kategori === 'apartemen-kantor') {
|
||||||
$objekViews = [
|
$objekViews = [
|
||||||
@@ -487,7 +491,7 @@
|
|||||||
<div id="inputContainerLingkungan" style="margin-top: 10px">
|
<div id="inputContainerLingkungan" style="margin-top: 10px">
|
||||||
<div class="flex w-full items-center justify-center gap-4 mb-4">
|
<div class="flex w-full items-center justify-center gap-4 mb-4">
|
||||||
<label class="form-label max-w-56">
|
<label class="form-label max-w-56">
|
||||||
<span class="form-label">Lingkungan</span>
|
<span class="form-label">Lingkungan {{ $key + 1 }}</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="w-full grid gap-5">
|
<div class="w-full grid gap-5">
|
||||||
<img id="foto_lingkungan_preview_{{ $key }}"
|
<img id="foto_lingkungan_preview_{{ $key }}"
|
||||||
@@ -601,10 +605,9 @@
|
|||||||
|
|
||||||
<!-- Modal Kamera -->
|
<!-- Modal Kamera -->
|
||||||
@include('lpj::surveyor.components.modal-kamera')
|
@include('lpj::surveyor.components.modal-kamera')
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@include('lpj::surveyor.js.fotojs')
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script>
|
<script>
|
||||||
function submitFoto() {
|
function submitFoto() {
|
||||||
@@ -614,9 +617,6 @@
|
|||||||
|
|
||||||
const formElement = $('#formFoto')[0];
|
const formElement = $('#formFoto')[0];
|
||||||
const formData = new FormData(formElement);
|
const formData = new FormData(formElement);
|
||||||
// for (const [key, value] of formData.entries()) {
|
|
||||||
// console.log(`Key: ${key}, Value: ${value}`);
|
|
||||||
// }
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '{{ route('surveyor.storeFoto') }}',
|
url: '{{ route('surveyor.storeFoto') }}',
|
||||||
@@ -640,6 +640,8 @@
|
|||||||
window.location.href =
|
window.location.href =
|
||||||
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
||||||
}
|
}
|
||||||
|
console.log(response);
|
||||||
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<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 uppercase">
|
||||||
Form Inspeksi
|
Form Inspeksi
|
||||||
</h3>
|
</h3>
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
@@ -11,9 +9,6 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="py-4">
|
<div class="py-4">
|
||||||
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
||||||
@@ -55,15 +50,31 @@
|
|||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
|
||||||
<label class="form-label max-w-56">Debitur/Perwakilan</label>
|
<label class="form-label max-w-56">Debitur/Perwakilan</label>
|
||||||
|
|
||||||
|
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
|
||||||
|
|
||||||
|
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5">
|
||||||
|
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
|
||||||
|
<div class="perwakilan flex flex-wrap w-full items-baseline gap-2 ">
|
||||||
|
<input type="text" class="input form-control" name="debitur_perwakilan[]"
|
||||||
|
value="{{ old('debitur_perwakilan.' . $key, $item) }}"
|
||||||
|
placeholder="Masukkan Debitur/Perwakilan"/>
|
||||||
|
<button type="button" class="btn btn-danger btn-outline btn-xs remove-btn">Hapus</button>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5">
|
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5">
|
||||||
<div class="perwakilan flex flex-wrap w-full items-baseline gap-2 ">
|
<div class="perwakilan flex flex-wrap w-full items-baseline gap-2 ">
|
||||||
<input type="text" class="input form-control" name="debitur_perwakilan[]"
|
<input type="text" class="input form-control" name="debitur_perwakilan[]"
|
||||||
value="{{ old('debitur_perwakilan', isset($forminspeksi['asset']['debitur_perwakilan']) ? implode(', ', $forminspeksi['asset']['debitur_perwakilan']) : '') }}"
|
value="{{ old('debitur_perwakilan') }}" placeholder="Masukkan Debitur/Perwakilan"/>
|
||||||
placeholder="Masukkan Debitur/Perwakilan" />
|
|
||||||
<button type="button" class="btn btn-danger btn-outline btn-xs remove-btn"
|
<button type="button" class="btn btn-danger btn-outline btn-xs remove-btn"
|
||||||
style="display: none">Hapus</button>
|
style="display: none">Hapus
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
<button onclick="addClonableItem('perwakilan', 'perwakilan')" type="button" class="btn-md btn btn-primary">
|
<button onclick="addClonableItem('perwakilan', 'perwakilan')" type="button" class="btn-md btn btn-primary">
|
||||||
<i class="ki-filled ki-plus"></i>
|
<i class="ki-filled ki-plus"></i>
|
||||||
</button>
|
</button>
|
||||||
@@ -72,13 +83,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||||
|
<div class="card-header">
|
||||||
<div class="card-body">
|
<h1 class="text-md font-medium text-gray-900 uppercase">Nama Cadeb/Debitur</h1>
|
||||||
<div class="py-4">
|
|
||||||
<h1 class="text-md font-medium text-gray-900">Nama Cadeb/Debitur</h1>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
|
||||||
<div class="grid gap-5">
|
<div class="grid gap-5">
|
||||||
<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">
|
||||||
@@ -95,11 +105,10 @@
|
|||||||
|
|
||||||
|
|
||||||
<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-body">
|
<div class="card-header">
|
||||||
<div class="py-4 ">
|
<h1 class="text-md font-medium text-gray-900 uppercase">Deskripsi Aset jaminan</h1>
|
||||||
<h1 class="text-md font-medium text-gray-900">Deskripsi Aset jaminan</h1>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
<div class="grid gap-5 w-full">
|
<div class="grid gap-5 w-full">
|
||||||
<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">Jenis Aset</label>
|
<label class="form-label max-w-56">Jenis Aset</label>
|
||||||
@@ -127,13 +136,19 @@
|
|||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
<!-- Select dropdown untuk "Tidak Sesuai" -->
|
||||||
|
@php
|
||||||
|
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai'])
|
||||||
|
? 'sesuai'
|
||||||
|
: 'tidak sesuai';
|
||||||
|
$selectedValue = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
|
||||||
|
@endphp
|
||||||
<div id="jenis_asset" class="flex items-baseline gap-2"
|
<div id="jenis_asset" class="flex items-baseline gap-2"
|
||||||
style="{{ isset($forminspeksi['asset']['jenis_asset']['tidak sesuai']) ? '' : 'display: none;' }}">
|
style="{{ isset($selectedValue) === '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>
|
||||||
@if (isset($jenisJaminan))
|
@if (isset($basicData['jenisJaminan']))
|
||||||
@foreach ($jenisJaminan as $item)
|
@foreach ($basicData['jenisJaminan'] as $item)
|
||||||
<option value="{{ $item->id }}"
|
<option value="{{ $item->id }}"
|
||||||
{{ old('jenis_asset_tidak_sesuai', $forminspeksi['asset']['jenis_asset_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
{{ old('jenis_asset_tidak_sesuai', $forminspeksi['asset']['jenis_asset_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
@@ -154,31 +169,23 @@
|
|||||||
<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">Alamat</label>
|
<label class="form-label max-w-56">Alamat</label>
|
||||||
<div class="w-full">
|
<div class="w-full">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
|
||||||
<span class="text-2sm text-gray-700">
|
<span class="text-2sm text-gray-700">
|
||||||
{{ formatAlamat($dokumen) }}
|
{{ formatAlamat($permohonan->debiture) }}
|
||||||
</span>
|
</span>
|
||||||
@endforeach
|
|
||||||
|
|
||||||
<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
|
<input onclick="updateAlamatFields('sesuai')" type="radio" class="radio"
|
||||||
onclick="updateAlamatFields('sesuai')"
|
name="alamat_sesuai" value="sesuai"
|
||||||
type="radio"
|
|
||||||
class="radio"
|
|
||||||
name="alamat_sesuai"
|
|
||||||
value="sesuai"
|
|
||||||
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['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="updateAlamatFields('tidak sesuai')" type="radio" class="radio"
|
||||||
onclick="updateAlamatFields('tidak sesuai')"
|
name="alamat_sesuai" value="tidak sesuai"
|
||||||
type="radio"
|
|
||||||
class="radio"
|
|
||||||
name="alamat_sesuai"
|
|
||||||
value="tidak sesuai"
|
|
||||||
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['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>
|
||||||
@@ -186,7 +193,14 @@
|
|||||||
<em id="error-alamat" class="alert text-danger text-sm"></em>
|
<em id="error-alamat" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="alamat_form" class="grid gap-2 mt-5" style="{{ isset($forminspeksi['asset']['alamat']['tidak sesuai']) ? '' : 'display: none;' }}">
|
@php
|
||||||
|
$statusKey = isset($forminspeksi['asset']['alamat']['sesuai']) ? 'sesuai' : 'tidak sesuai';
|
||||||
|
$address = $forminspeksi['asset']['alamat'][$statusKey] ?? null;
|
||||||
|
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
<div id="alamat_form" class="grid gap-2 mt-5"
|
||||||
|
style="{{ isset($address) ? '' : 'display: none;' }}">
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||||
<label for="address" class="form-label max-w-56">Jl.</label>
|
<label for="address" class="form-label max-w-56">Jl.</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
@@ -204,19 +218,18 @@
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||||
<label for="province_code" class="form-label max-w-56">Provinsi</label>
|
<label for="province_code" class="form-label max-w-56">Provinsi</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select id="province_code" name="province_code" class="input w-full" >
|
<select id="province_code" name="province_code" class="input w-full">
|
||||||
<option value="">Select Province</option>
|
<option value="">Select Province</option>
|
||||||
@foreach ($provinces as $province)
|
@foreach ($provinces as $province)
|
||||||
@if (isset($debitur))
|
|
||||||
<option value="{{ $province->code }}"
|
<option value="{{ $province->code }}"
|
||||||
{{ isset($debitur->province_code) && $debitur->province_code == $province->code ? 'selected' : '' }}>
|
@if (
|
||||||
|
(isset($cekAlamat['province_code']) && $cekAlamat['province_code'] == $province->code) ||
|
||||||
|
(!isset($cekAlamat['province_code']) && isset($debitur->province_code) && $debitur->province_code == $province->code)
|
||||||
|
)
|
||||||
|
selected
|
||||||
|
@endif>
|
||||||
{{ $province->name }}
|
{{ $province->name }}
|
||||||
</option>
|
</option>
|
||||||
@else
|
|
||||||
<option value="{{ $province->code }}">
|
|
||||||
{{ $province->name }}
|
|
||||||
</option>
|
|
||||||
@endif
|
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@@ -229,16 +242,16 @@
|
|||||||
<option value="">Pilih Kota/Kabupaten</option>
|
<option value="">Pilih Kota/Kabupaten</option>
|
||||||
@if (isset($cities))
|
@if (isset($cities))
|
||||||
@foreach ($cities as $city)
|
@foreach ($cities as $city)
|
||||||
@if (isset($debitur))
|
|
||||||
<option value="{{ $city->code }}"
|
<option value="{{ $city->code }}"
|
||||||
{{ isset($debitur->city_code) && $debitur->city_code == $city->code ? 'selected' : '' }}>
|
@if (
|
||||||
|
(isset($cekAlamat['city_code']) && $cekAlamat['city_code'] == $city->code) ||
|
||||||
|
(!isset($cekAlamat['city_code']) && isset($debitur->city_code) && $debitur->city_code == $city->code)
|
||||||
|
)
|
||||||
|
selected
|
||||||
|
@endif>
|
||||||
{{ $city->name }}
|
{{ $city->name }}
|
||||||
</option>
|
</option>
|
||||||
@else
|
|
||||||
<option value="{{ $city->code }}">
|
|
||||||
{{ $city->name }}
|
|
||||||
</option>
|
|
||||||
@endif
|
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</select>
|
||||||
@@ -247,21 +260,23 @@
|
|||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||||
<label for="district_code" class="form-label max-w-56">Kecamatan</label>
|
<label for="district_code" class="form-label max-w-56">Kecamatan</label>
|
||||||
|
|
||||||
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select id="district_code" name="district_code" class="select w-full">
|
<select id="district_code" name="district_code" class="select w-full">
|
||||||
<option value="">Pilih Kecamatan</option>
|
<option value="">Pilih Kecamatan</option>
|
||||||
@if (isset($data['districts']))
|
@if (isset($districts))
|
||||||
@foreach ($districts as $district)
|
@foreach ($districts as $district)
|
||||||
@if (isset($debitur))
|
|
||||||
<option value="{{ $district->code }}"
|
<option value="{{ $district->code }}"
|
||||||
{{ isset($debitur->district_code) && $debitur->district_code == $district->code ? 'selected' : '' }}>
|
@if (
|
||||||
|
(isset($cekAlamat['district_code']) && $cekAlamat['district_code'] == $district->code) ||
|
||||||
|
(!isset($cekAlamat['district_code']) && isset($debitur->district_code) && $debitur->district_code == $district->code)
|
||||||
|
)
|
||||||
|
selected
|
||||||
|
@endif>
|
||||||
{{ $district->name }}
|
{{ $district->name }}
|
||||||
</option>
|
</option>
|
||||||
@else
|
|
||||||
<option value="{{ $district->code }}">
|
|
||||||
{{ $district->name }}
|
|
||||||
</option>
|
|
||||||
@endif
|
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
@@ -276,16 +291,16 @@
|
|||||||
<option value="">Pilih Kelurahan</option>
|
<option value="">Pilih Kelurahan</option>
|
||||||
@if (isset($villages))
|
@if (isset($villages))
|
||||||
@foreach ($villages as $village)
|
@foreach ($villages as $village)
|
||||||
@if (isset($debitur))
|
|
||||||
<option value="{{ $village->code }}"
|
<option value="{{ $village->code }}"
|
||||||
{{ isset($debitur->village_code) && $debitur->village_code == $village->code ? 'selected' : '' }}>
|
@if (
|
||||||
|
(isset($cekAlamat['village_code']) && $cekAlamat['village_code'] == $village->code) ||
|
||||||
|
(!isset($cekAlamat['village_code']) && isset($debitur->village_code) && $debitur->village_code == $village->code)
|
||||||
|
)
|
||||||
|
selected
|
||||||
|
@endif>
|
||||||
{{ $village->name }}
|
{{ $village->name }}
|
||||||
</option>
|
</option>
|
||||||
@else
|
|
||||||
<option value="{{ $village->code }}">
|
|
||||||
{{ $village->name }}
|
|
||||||
</option>
|
|
||||||
@endif
|
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
@@ -303,10 +318,10 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
|
||||||
<div class="card-body">
|
<div class="card-header">
|
||||||
<div class="py-4 ">
|
<h1 class="text-md font-medium text-gray-900 uppercase">Titik Koordinat Google Maps</h1>
|
||||||
<h1 class="text-md font-medium text-gray-900">Titik Koordinat Google Maps</h1>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
<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">Kordinat</label>
|
<label class="form-label max-w-56">Kordinat</label>
|
||||||
<div id="perwakilan" class="flex items-baseline w-full gap-5">
|
<div id="perwakilan" class="flex items-baseline w-full gap-5">
|
||||||
@@ -318,7 +333,7 @@
|
|||||||
name="kordinat_lng" id="lng"
|
name="kordinat_lng" id="lng"
|
||||||
value="{{ old('kordinat_lng', isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '') }}">
|
value="{{ old('kordinat_lng', isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '') }}">
|
||||||
</div>
|
</div>
|
||||||
<a target="_blank" href="https://www.google.com/maps"type="button"
|
<a target="_blank" href="https://www.google.com/maps" type="button"
|
||||||
class="btn btn-md btn-outline btn-primary">
|
class="btn btn-md btn-outline btn-primary">
|
||||||
<i class="ki-filled ki-map"></i>Ambil
|
<i class="ki-filled ki-map"></i>Ambil
|
||||||
Kordinat</a>
|
Kordinat</a>
|
||||||
@@ -328,6 +343,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h1 class="text-md font-medium text-gray-900 uppercase">Status</h1>
|
||||||
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div data-accordion="true">
|
<div data-accordion="true">
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
@@ -336,7 +354,7 @@
|
|||||||
<button class="accordion-toggle py-4 group "
|
<button class="accordion-toggle py-4 group "
|
||||||
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
|
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
|
||||||
<span class="text-base text-gray-900 font-medium">
|
<span class="text-base text-gray-900 font-medium">
|
||||||
Status Kepemilikan
|
Dokument Kepemilikan
|
||||||
</span>
|
</span>
|
||||||
<i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block">
|
<i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block">
|
||||||
</i>
|
</i>
|
||||||
@@ -451,20 +469,26 @@
|
|||||||
<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_tidak_sesuai"
|
@php
|
||||||
class="input w-full
|
$statusKey = isset($forminspeksi['asset']['hub_cadeb']['sesuai'])
|
||||||
name="hub_cadeb_tidak_sesuai"
|
? 'sesuai'
|
||||||
style="{{ old('hub_cadeb', $forminspeksi['asset']['hub_cadeb'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
|
: 'tidak sesuai';
|
||||||
|
$selectedData = $forminspeksi['asset']['hub_cadeb'][$statusKey] ?? null;
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
<select id="hub_cadeb_tidak_sesuai" class="input w-full" name="hub_cadeb_tidak_sesuai"
|
||||||
|
style="{{ old('hub_cadeb_tidak_sesuai', $selectedData) ? '' : 'display: none;' }}">
|
||||||
<option value="">Select Hubungan Cadeb</option>
|
<option value="">Select Hubungan Cadeb</option>
|
||||||
@if (isset($hubCadeb))
|
@if (isset($basicData['hubCadeb']))
|
||||||
@foreach ($hubCadeb as $item)
|
@foreach ($basicData['hubCadeb'] as $item)
|
||||||
<option value="{{ $item->name }}"
|
<option value="{{ $item->name }}"
|
||||||
{{ old('hub_cadeb_tidak_sesuai', $forminspeksi['asset']['hub_cadeb_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
{{ old('hub_cadeb_tidak_sesuai', $selectedData) == $item->name ? 'selected' : '' }}>
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<em id="error-hub_cadeb" class="alert text-danger text-sm"></em>
|
<em id="error-hub_cadeb" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
@@ -483,7 +507,7 @@
|
|||||||
<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"
|
<input type="hidden" name="hub_cadeb_penghuni_sesuai"
|
||||||
value="{{ isset($dokumen->penghuni->hubungan_penghuni->name) ?? '' }}"
|
value="{{ isset($dokumen->penghuni->hubungan_penghuni->name) ?? '' }}"
|
||||||
id="">
|
id="">
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -492,29 +516,38 @@
|
|||||||
<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
|
<input
|
||||||
onclick="toggleFieldVisibility('hub_cadeb_penghuni','hub_cadeb_Penghuni_tidak_sesuai', ['tidak sesuai'])"
|
onclick="toggleFieldVisibility('hub_cadeb_penghuni','hub_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', isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])) ? 'checked' : '' }}>
|
|
||||||
|
{{ old('hub_cadeb_penghuni', isset($forminspeksi['asset']['hub_cadeb_penghuni'])) ? '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_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', isset($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'])) ? 'checked' : '' }}>
|
{{ old('hub_cadeb_penghuni', $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'] ?? false) ? '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"
|
@php
|
||||||
|
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])
|
||||||
|
? 'sesuai'
|
||||||
|
: 'tidak sesuai';
|
||||||
|
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
|
||||||
|
@endphp
|
||||||
|
<select id="hub_penghuni_tidak_sesuai"
|
||||||
class="input w-full
|
class="input w-full
|
||||||
name="hub_cadeb_Penghuni_tidak_sesuai"
|
name=" hub_penghuni_tidak_sesuai"
|
||||||
style="{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'])) ? '' : 'display: none;' }}">
|
style="{{ old('hub_penghuni_tidak_sesuai', $selectedData) ? '' : 'display: none;' }}">
|
||||||
<option value="">Select Hubungan Cadeb</option>
|
<option value="">Select Hubungan Cadeb</option>
|
||||||
@if (isset($hubPenghuni))
|
@if (isset($basicData['hubPenghuni']))
|
||||||
@foreach ($hubPenghuni as $item)
|
@foreach ($basicData['hubPenghuni'] as $item)
|
||||||
<option value="{{ $item->name }}"
|
<option value="{{ $item->name }}"
|
||||||
{{ old('hub_cadeb_Penghuni_tidak_sesuai', $forminspeksi['asset']['hub_cadeb_Penghuni_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
{{ old('hub_penghuni_tidak_sesuai', $selectedData) == $item->name ? 'selected' : '' }}>
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
<!-- Informasi Tata Ruang -->
|
<!-- Informasi Tata Ruang -->
|
||||||
<div class="card w-full bg-white">
|
<div class="card w-full bg-white">
|
||||||
<div class="card-body">
|
<div class="card-header">
|
||||||
<div class="py-4">
|
<h3 class="card-title uppercase">
|
||||||
<h1 class="text-md font-medium text-gray-900">Informasi Dinas Tata Ruang</h1>
|
Informasi Dinas Tata Ruang
|
||||||
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
<!-- Informasi Tata Ruang Form -->
|
<!-- Informasi Tata Ruang Form -->
|
||||||
<div class="grid gap-5">
|
<div class="grid gap-5">
|
||||||
|
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$inputDinasTata = [
|
$inputDinasTata = [
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -182,8 +182,10 @@
|
|||||||
loadingOverlay.classList.remove('hidden');
|
loadingOverlay.classList.remove('hidden');
|
||||||
loadingOverlay.classList.add('flex');
|
loadingOverlay.classList.add('flex');
|
||||||
|
|
||||||
const formElement = $('#formInspeksi')[0];
|
const form = document.querySelector('form');
|
||||||
const formData = new FormData(formElement);
|
const formData = new FormData(form);
|
||||||
|
console.log('Form data entries:', Array.from(formData.entries()));
|
||||||
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '{{ route('surveyor.store') }}',
|
url: '{{ route('surveyor.store') }}',
|
||||||
@@ -264,21 +266,39 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Clone the template element
|
||||||
const newElement = template.cloneNode(true);
|
const newElement = template.cloneNode(true);
|
||||||
const textarea = newElement.querySelector('textarea');
|
|
||||||
if (textarea) {
|
|
||||||
textarea.value = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Reset input fields
|
||||||
|
const inputs = newElement.querySelectorAll('input');
|
||||||
|
inputs.forEach(input => {
|
||||||
|
input.value = '';
|
||||||
|
});
|
||||||
|
|
||||||
|
// Make the delete button visible and bind the click event
|
||||||
const deleteButton = newElement.querySelector('.remove-btn');
|
const deleteButton = newElement.querySelector('.remove-btn');
|
||||||
if (deleteButton) {
|
if (deleteButton) {
|
||||||
deleteButton.style.display = 'inline-block';
|
deleteButton.style.display = 'inline-block';
|
||||||
deleteButton.addEventListener('click', () => newElement.remove());
|
deleteButton.addEventListener('click', () => {
|
||||||
|
newElement.remove();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Append the cloned element to the container
|
||||||
container.appendChild(newElement);
|
container.appendChild(newElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ensure existing remove buttons are functional
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const removeButtons = document.querySelectorAll('.remove-btn');
|
||||||
|
removeButtons.forEach(button => {
|
||||||
|
button.addEventListener('click', function() {
|
||||||
|
this.closest('.perwakilan').remove();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function updateAnalisa(params) {
|
function updateAnalisa(params) {
|
||||||
const inputMap = {
|
const inputMap = {
|
||||||
@@ -361,6 +381,7 @@
|
|||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div[disabled]:hover {
|
div[disabled]:hover {
|
||||||
background-color: #e8e8e8;
|
background-color: #e8e8e8;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,11 +33,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-full mt-4">
|
<div class="w-full mt-4">
|
||||||
<label class="block text-sm font-medium text-gray-700">Lebar Perkerasan Jalan Depan
|
<label class="block text-sm font-medium text-gray-700">Lebar Perkerasan Jalan Depan objek</label>
|
||||||
objek</label>
|
@php
|
||||||
|
$lebarPerkerasanJalan = old('lebar_perkerasan_jalan', $forminspeksi['lingkungan']['lebar_perkerasan_jalan'] ?? '');
|
||||||
|
@endphp
|
||||||
<input type="text" name="lebar_perkerasan_jalan" class="input mt-2" placeholder="Meter"
|
<input type="text" name="lebar_perkerasan_jalan" class="input mt-2" placeholder="Meter"
|
||||||
value="{{ old('lebar_perkerasan_jalan', isset($forminspeksi['lingkungan']['lebar_perkerasan_jalan']) ? $forminspeksi['lingkungan']['lebar_perkerasan_jalan'] : '') }}">
|
value="{{ $lebarPerkerasanJalan }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<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">
|
||||||
@@ -45,19 +48,30 @@
|
|||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<div class="flex flex-col items-start gap-4">
|
<div class="flex flex-col items-start gap-4">
|
||||||
@if (isset($basicData['perkerasanJalan']))
|
@if (isset($basicData['perkerasanJalan']))
|
||||||
@foreach ($basisData['perkerasanJalan'] as $item)
|
@foreach ($basicData['perkerasanJalan'] as $item)
|
||||||
|
@php
|
||||||
|
$isChecked = in_array($item->name, isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) ? $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan'] : []);
|
||||||
|
@endphp
|
||||||
<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="perkerasan_jalan[]" type="checkbox"
|
<input class="checkbox" name="perkerasan_jalan[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array($item->name, isset($forminspeksi['lingkungan']['perkerasan_jalan']) ? $forminspeksi['lingkungan']['perkerasan_jalan'] : []) ? 'checked' : '' }}
|
{{ $isChecked ? 'checked' : '' }}
|
||||||
onclick="toggleCheckboxVisibility('perkerasan_jalan', 'perkerasan_jalan_lainnya', ['lainnya'])"/>
|
onclick="toggleCheckboxVisibility('perkerasan_jalan', 'perkerasan_jalan_lainnya', ['lainnya'])"/>
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
<input id="perkerasan_jalan_lainnya" type="text" style="display: none;"
|
@php
|
||||||
|
|
||||||
|
$lainnyaValue = old('perkerasan_jalan_lainnya', isset($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']) ? $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] : '');
|
||||||
|
@endphp
|
||||||
|
<input id="perkerasan_jalan_lainnya" type="text"
|
||||||
|
style="{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']) && $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] ? '' : 'display: none' }}"
|
||||||
name="perkerasan_jalan_lainnya" class="input w-full mt-2"
|
name="perkerasan_jalan_lainnya" class="input w-full mt-2"
|
||||||
|
value="{{ $lainnyaValue }}"
|
||||||
placeholder="Masukkan lainnya..." />
|
placeholder="Masukkan lainnya..." />
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@@ -65,6 +79,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Lalulintas -->
|
<!-- Lalulintas -->
|
||||||
<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">Lalu Lintas Depan Lokasi</label>
|
<label class="form-label max-w-56">Lalu Lintas Depan Lokasi</label>
|
||||||
@@ -138,16 +153,22 @@
|
|||||||
<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="terletak_diarea[]" type="checkbox"
|
<input class="checkbox" name="terletak_diarea[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ isset($forminspeksi['lingkungan']['terletak_diarea']) && in_array($item->name, explode(',', is_array(old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? '')) ? implode(',', old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? '')) : old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? ''))) ? 'checked' : '' }}
|
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) && in_array($item->name, explode(',', is_array(old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '')) ? implode(',', old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '')) : old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? ''))) ? 'checked' : '' }}
|
||||||
onclick="toggleCheckboxVisibility('terletak_diarea', 'terletak_diarea_lainnya', ['Lainnya'])" />
|
onclick="toggleCheckboxVisibility('terletak_diarea', 'terletak_diarea_lainnya', ['Lainnya'])" />
|
||||||
|
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
<input id="terletak_diarea_lainnya" type="text" style="display: none;"
|
@php
|
||||||
|
$lainnyaValue = old('terletak_diarea_lainnya', isset($forminspeksi['lingkungan']['terletak_diarea']['lainnya']) ? $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] : '');
|
||||||
|
@endphp
|
||||||
|
<input id="terletak_diarea_lainnya" type="text"
|
||||||
|
style="{{ isset($forminspeksi['lingkungan']['terletak_diarea']['lainnya']) && $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] ? '' : 'display: none' }}"
|
||||||
name="terletak_diarea_lainnya" class="input w-full mt-2"
|
name="terletak_diarea_lainnya" class="input w-full mt-2"
|
||||||
|
value="{{ $lainnyaValue }}"
|
||||||
placeholder="Masukkan lainnya..." />
|
placeholder="Masukkan lainnya..." />
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@@ -181,7 +202,7 @@
|
|||||||
<option value="">pilih kondisi</option>
|
<option value="">pilih kondisi</option>
|
||||||
@foreach ($kondisi as $item)
|
@foreach ($kondisi as $item)
|
||||||
<option value="{{ $item }}"
|
<option value="{{ $item }}"
|
||||||
{{ old('kondisi_bagunan_disekitar_lokasi', $forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == $item ? 'selected' : '' }}>
|
{{ old('kondisi_bagunan_disekitar_lokasi', $forminspeksi['lingkungan']['kondisi_bagunan_disekitar_lokasi'] ?? '') == $item ? 'selected' : '' }}>
|
||||||
{{ $item }}
|
{{ $item }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -196,7 +217,7 @@
|
|||||||
<option value="">pilih sifat bagunan</option>
|
<option value="">pilih sifat bagunan</option>
|
||||||
@foreach ($sifat as $item)
|
@foreach ($sifat as $item)
|
||||||
<option value="{{ $item }}"
|
<option value="{{ $item }}"
|
||||||
{{ old('sifat_bagunan_disekitar_lokasi', $forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == $item ? 'selected' : '' }}>
|
{{ old('sifat_bagunan_disekitar_lokasi', $forminspeksi['lingkungan']['sifat_bagunan_disekitar_lokasi'] ?? '') == $item ? 'selected' : '' }}>
|
||||||
{{ $item }}
|
{{ $item }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -232,7 +253,7 @@
|
|||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<div id="dekat-makam" class="flex items-baseline gap-4 w-full"
|
<div id="dekat-makam" class="flex items-baseline gap-4 w-full"
|
||||||
style="{{ old('dekat_makam', $forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'display:block;' : 'display:none;' }}">
|
style="{{ old('dekat_makam', $forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'display:flex;' : 'display:none;' }}">
|
||||||
|
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<label for="jarak_makam" class="form-label max-w-56">Jarak</label>
|
<label for="jarak_makam" class="form-label max-w-56">Jarak</label>
|
||||||
@@ -266,7 +287,7 @@
|
|||||||
<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">Dekat TPS</label>
|
<label class="form-label max-w-56">Dekat TPS</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<div class="flex flex-col gap-2 mt-2">
|
<div class="flex flex-col gap-2 mt-2 w-full">
|
||||||
<!-- Opsi Ya -->
|
<!-- Opsi Ya -->
|
||||||
<div class="flex w-full items-center gap-4">
|
<div class="flex w-full items-center gap-4">
|
||||||
<label class="text-sm flex items-center gap-2.5 text-nowrap">
|
<label class="text-sm flex items-center gap-2.5 text-nowrap">
|
||||||
@@ -339,18 +360,18 @@
|
|||||||
$selectedFasilitas = is_array(
|
$selectedFasilitas = is_array(
|
||||||
old(
|
old(
|
||||||
'fasilitas_dekat_object',
|
'fasilitas_dekat_object',
|
||||||
$forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? [],
|
$forminspeksi['lingkungan']['fasilitas_dekat_object']['fasilitas_dekat_object'] ?? [],
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
? old(
|
? old(
|
||||||
'fasilitas_dekat_object',
|
'fasilitas_dekat_object',
|
||||||
$forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? [],
|
$forminspeksi['lingkungan']['fasilitas_dekat_object']['fasilitas_dekat_object'] ?? [],
|
||||||
)
|
)
|
||||||
: explode(
|
: explode(
|
||||||
',',
|
',',
|
||||||
old(
|
old(
|
||||||
'fasilitas_dekat_object',
|
'fasilitas_dekat_object',
|
||||||
$forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? '',
|
$forminspeksi['lingkungan']['fasilitas_dekat_object']['fasilitas_dekat_object'] ?? '',
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@endphp
|
@endphp
|
||||||
@@ -359,9 +380,9 @@
|
|||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array(
|
{{ in_array(
|
||||||
$item->name,
|
$item->name,
|
||||||
is_array(old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? ''))
|
is_array(old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object']['fasilitas_dekat_object'] ?? ''))
|
||||||
? old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? [])
|
? old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object']['fasilitas_dekat_object'] ?? [])
|
||||||
: explode(',', old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? '')),
|
: explode(',', old('fasilitas_dekat_object', $forminspeksi['lingkungan']['fasilitas_dekat_object']['fasilitas_dekat_object'] ?? '')),
|
||||||
)
|
)
|
||||||
? 'checked'
|
? 'checked'
|
||||||
: '' }}
|
: '' }}
|
||||||
@@ -372,8 +393,9 @@
|
|||||||
</label>
|
</label>
|
||||||
|
|
||||||
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
@if (strcasecmp($item->name, 'Lainnya') == 0)
|
||||||
<input id="fasilitas_dekat_object_lainnya" type="text" style="display: none;"
|
<input id="fasilitas_dekat_object_lainnya" type="text" style="{{ in_array('Lainnya', $selectedFasilitas) ? '' : 'display: none' }}"
|
||||||
name="fasilitas_dekat_object_lainnya" class="input w-full mt-2"
|
name="fasilitas_dekat_object_lainnya" class="input w-full mt-2"
|
||||||
|
value="{{ old('fasilitas_dekat_object_lainnya', $forminspeksi['lingkungan']['fasilitas_dekat_object']['lainnya'] ?? '') }}"
|
||||||
placeholder="Masukkan lainnya..." />
|
placeholder="Masukkan lainnya..." />
|
||||||
@endif
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
||||||
<div class="grid gap-5">
|
<div class="grid gap-5">
|
||||||
<!-- 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">
|
||||||
@@ -53,8 +52,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- Hadap Mata Angin -->
|
||||||
|
|
||||||
<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">
|
<div class="mt-2">
|
||||||
@@ -63,9 +61,12 @@
|
|||||||
@php
|
@php
|
||||||
$luas = $item->detail;
|
$luas = $item->detail;
|
||||||
$details = json_decode($luas[0]->details, true);
|
$details = json_decode($luas[0]->details, true);
|
||||||
$hadap_mata_angin = isset($details['hadap_mata_angin']) ? $details['hadap_mata_angin'] : 'N/A';
|
$hadap_mata_angin = isset($details['hadap_mata_angin'])
|
||||||
|
? $details['hadap_mata_angin']
|
||||||
|
: 'N/A';
|
||||||
@endphp
|
@endphp
|
||||||
<input type="hidden" name="hadap_mata_angin_sesuai" class="input" value="{{ $hadap_mata_angin }}">
|
<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>
|
<p class="text-2sm text-gray-700">{{ $hadap_mata_angin }} m<sup>2</sup></p>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
@@ -86,17 +87,23 @@
|
|||||||
</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', isset($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 class="input w-full
|
<select
|
||||||
id="hadap_matangin_tidak_sesuai"
|
class="input w-full
|
||||||
name="analisa_tanah_hadap_mata_angin_tidak_sesuai">
|
id="hadap_mata_angin_tidak_sesuai"
|
||||||
|
name="hadap_mata_angin_tidak_sesuai">
|
||||||
|
@php
|
||||||
|
$statusKey = isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai'])
|
||||||
|
? 'sesuai'
|
||||||
|
: 'tidak sesuai';
|
||||||
|
$selectedData = $forminspeksi['tanah']['hadap_mata_angin'][$statusKey] ?? null;
|
||||||
|
@endphp
|
||||||
<option value="">Select Hadap Mata Angin</option>
|
<option value="">Select Hadap Mata Angin</option>
|
||||||
@if (isset($basicData['arahMataAngin']))
|
@if (isset($basicData['arahMataAngin']))
|
||||||
@foreach ($basicData['arahMataAngin'] as $item)
|
@foreach ($basicData['arahMataAngin'] as $item)
|
||||||
<option value="{{ $item->name }}"
|
<option value="{{ $item->name }}"
|
||||||
{{ old('hadap_mata_angin_tidak_sesuai', $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
|
{{ old('hadap_mata_angin_tidak_sesuai', $selectedData ?? '') == $item->name ? 'selected' : '' }}>
|
||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -109,10 +116,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Bentuk Tanah -->
|
<!-- Bentuk Tanah -->
|
||||||
|
|
||||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Bentuk Tanah</label>
|
<label class="form-label max-w-56">Bentuk Tanah</label>
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
@@ -133,7 +137,8 @@
|
|||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||||
<input id="bentuk_tanah_lainnya" type="text" style="display: none;"
|
<input id="bentuk_tanah_lainnya" type="text"
|
||||||
|
style="{{ isset($forminspeksi['tanah']['bentuk_tanah']['lainnya']) && $forminspeksi['tanah']['bentuk_tanah']['lainnya'] ? '' : 'display: none;' }}"
|
||||||
name="bentuk_tanah_lainnya" class="input w-full mt-2"
|
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'] ?? '') }}" />
|
||||||
@@ -164,8 +169,6 @@
|
|||||||
<em id="error-kontur_tanah" class="alert text-danger text-sm"></em>
|
<em id="error-kontur_tanah" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Beda Ketinggian Dengan Jalan -->
|
<!-- Beda Ketinggian Dengan Jalan -->
|
||||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Beda Ketinggian Dengan Jalan</label>
|
<label class="form-label max-w-56">Beda Ketinggian Dengan Jalan</label>
|
||||||
@@ -185,14 +188,17 @@
|
|||||||
{{ $item->name }}
|
{{ $item->name }}
|
||||||
</label>
|
</label>
|
||||||
@if (strcasecmp($item->name, 'Lebih Tinggi') == 0)
|
@if (strcasecmp($item->name, 'Lebih Tinggi') == 0)
|
||||||
<input id="input-lebih-tinggi" type="text" style="display: none;"
|
<input id="input-lebih-tinggi" type="text"
|
||||||
name="ketinggian_lebih_tinggi" class="input w-full mt-2"
|
style="{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi']) && $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] ? '' : 'display: none;' }}"
|
||||||
placeholder="m2" />
|
name="ketinggian_lebih_tinggi" class="input w-full mt-2" placeholder="m2"
|
||||||
|
value="{{ old('ketinggian_lebih_tinggi', $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] ?? '') }}" />
|
||||||
@elseif (strcasecmp($item->name, 'Lebih Rendah') == 0)
|
@elseif (strcasecmp($item->name, 'Lebih Rendah') == 0)
|
||||||
<input id="input-lebih-rendah" type="text" style="display: none;"
|
<input id="input-lebih-rendah" type="text"
|
||||||
name="ketinggian_lebih_rendah" class="input w-full mt-2"
|
style="{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah']) && $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] ? '' : 'display: none;' }}"
|
||||||
placeholder="m2" />
|
name="ketinggian_lebih_rendah" class="input w-full mt-2" placeholder="m2"
|
||||||
|
value="{{ old('ketinggian_lebih_rendah', $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] ?? '') }}" />
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
@@ -200,10 +206,6 @@
|
|||||||
<em id="error-ketinggian_jalan" class="alert text-danger text-sm"></em>
|
<em id="error-ketinggian_jalan" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Kontur Jalan Depan Objek -->
|
<!-- Kontur Jalan Depan Objek -->
|
||||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Kontur Jalan Depan Objek</label>
|
<label class="form-label max-w-56">Kontur Jalan Depan Objek</label>
|
||||||
@@ -211,38 +213,50 @@
|
|||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
|
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
|
||||||
<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="kontur_jalan" value="menurun"
|
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
|
||||||
{{ old('kontur_jalan', $forminspeksi['tanah']['kontur_jalan'] ?? '') == 'menurun' ? 'checked' : '' }}>
|
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'menurun' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Menurun</span>
|
<span class="ml-2">Menurun</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="kontur_jalan" value="rata"
|
<input type="radio" class="radio" name="kontur_jalan" value="rata"
|
||||||
{{ old('kontur_jalan', $forminspeksi['tanah']['kontur_jalan'] ?? '') == 'rata' ? 'checked' : '' }}>
|
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'rata' ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Rata</span>
|
<span class="ml-2">Rata</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-kontur_jalan" class="alert text-danger text-sm"></em>
|
<em id="error-kontur_jalan" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Posisi Kavling</label>
|
<label class="form-label max-w-56">Posisi Kavling</label>
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="flex flex-col items-start gap-4">
|
<div class="flex flex-col items-start gap-4">
|
||||||
@if (isset($basicData['posisiKavling']))
|
@if (isset($basicData['posisiKavling']))
|
||||||
|
@php
|
||||||
|
$selectedPosisiKavling = old(
|
||||||
|
'posisi_kavling',
|
||||||
|
$forminspeksi['tanah']['posisi_kavling']['posisi_kavling'] ?? [],
|
||||||
|
);
|
||||||
|
$lainnyaValue = old(
|
||||||
|
'posisi_kavling_lainnya',
|
||||||
|
$forminspeksi['tanah']['posisi_kavling']['lainnya'] ?? '',
|
||||||
|
);
|
||||||
|
@endphp
|
||||||
@foreach ($basicData['posisiKavling'] as $item)
|
@foreach ($basicData['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 class="checkbox" name="posisi_kavling[]" type="checkbox"
|
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
|
||||||
value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ in_array($item->name, old('posisi_kavling', $forminspeksi['tanah']['posisi_kavling']['posisi_kavling'] ?? [])) ? 'checked' : '' }}
|
{{ in_array($item->name, $selectedPosisiKavling) ? '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 id="posisi_kavling_lainnya" type="text" style="display: none;"
|
<input id="posisi_kavling_lainnya" type="text"
|
||||||
|
style="{{ $lainnyaValue ? '' : 'display: none' }}"
|
||||||
name="posisi_kavling_lainnya" class="input w-full mt-2"
|
name="posisi_kavling_lainnya" class="input w-full mt-2"
|
||||||
placeholder="Masukkan Posisi Kavling lainnya..." value="{{ old('posisi_kavling_lainnya', $forminspeksi['tanah']['posisi_kavling']['lainnya'] ?? '') }}" />
|
placeholder="Masukkan Posisi Kavling lainnya..."
|
||||||
|
value="{{ $lainnyaValue }}" />
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -252,7 +266,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Tusuk Sate -->
|
<!-- Tusuk Sate -->
|
||||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Tusuk Sate</label>
|
<label class="form-label max-w-56">Tusuk Sate</label>
|
||||||
@@ -323,6 +336,7 @@
|
|||||||
<em id="error-kondisi_fisik_tanah" class="alert text-danger text-sm"></em>
|
<em id="error-kondisi_fisik_tanah" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,73 +1,5 @@
|
|||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
const ruteLainnyaDiv = document.getElementById("ruteLainnya");
|
|
||||||
const lantaiLainnyaDiv = document.getElementById("lantaiLainnya");
|
|
||||||
|
|
||||||
// Function to add delete event listeners to existing buttons
|
|
||||||
function addDeleteListeners(container) {
|
|
||||||
container.querySelectorAll(".delete-button").forEach(button => {
|
|
||||||
button.addEventListener("click", function() {
|
|
||||||
this.closest(
|
|
||||||
".flex.items-baseline.flex-wrap.lg\\:flex-nowrap.gap-2\\.5.mb-5"
|
|
||||||
).remove();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add delete listeners to existing buttons
|
|
||||||
addDeleteListeners(ruteLainnyaDiv);
|
|
||||||
addDeleteListeners(lantaiLainnyaDiv);
|
|
||||||
|
|
||||||
function createNewDiv(container, inputName) {
|
|
||||||
const newDiv = document.createElement("div");
|
|
||||||
newDiv.className = "flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-5";
|
|
||||||
newDiv.innerHTML = `
|
|
||||||
<label class="flex flex-col form-label max-w-56">
|
|
||||||
Masukkan nama ${inputName}
|
|
||||||
</label>
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
|
||||||
<div class="flex flex-col lg:flex-row gap-2 w-full">
|
|
||||||
<div class="flex flex-wrap items-baseline px-2">
|
|
||||||
<input class="input" type="text" name="name_${inputName}[]">
|
|
||||||
</div>
|
|
||||||
<div class=" w-full flex flex-col gap-2">
|
|
||||||
<img id="foto_${inputName}-preview"
|
|
||||||
src="{{ isset($formFoto['gerbang']) ? asset('storage/' . $formFoto['gerbang']) : '' }}"
|
|
||||||
alt="Foto Gerbong" class="mt-2 max-w-full h-auto"
|
|
||||||
style="{{ isset($formFoto['gerbang']) ? '' : 'display: none;' }} width: 30rem;">
|
|
||||||
|
|
||||||
|
|
||||||
<div class="input-group w-full flex gap-2">
|
|
||||||
<input id="inputLainnya" type="file" name="foto_${inputName}[]"
|
|
||||||
class="file-input file-input-bordered w-full" accept="image/*" capture="camera"
|
|
||||||
onchange="previewImage(this, 'foto_${inputName}-preview')"
|
|
||||||
>
|
|
||||||
<button type="button" id="btnCamera" class="btn btn-light"
|
|
||||||
data-modal-toggle="#cameraModal">
|
|
||||||
<i class="ki-outline ki-abstract-33"></i> Camera
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<button type="button" class="btn btn-danger btn-sm delete-button">
|
|
||||||
<i class="ki-filled ki-trash"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
container.appendChild(newDiv);
|
|
||||||
addDeleteListeners(container);
|
|
||||||
}
|
|
||||||
|
|
||||||
document.getElementById("btnAddMore").addEventListener("click", function() {
|
|
||||||
createNewDiv(ruteLainnyaDiv, "rute_lainnya");
|
|
||||||
});
|
|
||||||
|
|
||||||
document.getElementById("btnAddMoreObject").addEventListener("click", function() {
|
|
||||||
createNewDiv(lantaiLainnyaDiv, "lantai_lainnya");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -201,139 +133,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
function setupInputHandlers(containerId, buttonId, labelText, inputDataClass, buttonDeleteClass) {
|
|
||||||
const addButton = document.getElementById(buttonId);
|
|
||||||
const inputContainer = document.getElementById(containerId);
|
|
||||||
|
|
||||||
if (!addButton || !inputContainer) {
|
|
||||||
console.error(`Element with ID ${containerId} or ${buttonId} not found.`);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateLabels() {
|
|
||||||
const labels = inputContainer.querySelectorAll('.form-label span');
|
|
||||||
labels.forEach((label, index) => {
|
|
||||||
label.textContent = `${labelText} ${index + 1}`;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleDeleteButtons() {
|
|
||||||
const deleteBtns = inputContainer.querySelectorAll(`.${buttonDeleteClass}`);
|
|
||||||
deleteBtns.forEach(btn => {
|
|
||||||
btn.style.display = inputContainer.children.length > 1 ? 'block' : 'none';
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function createNewInput() {
|
|
||||||
const newDiv = inputContainer.children[0].cloneNode(true);
|
|
||||||
|
|
||||||
// Reset semua input dalam elemen baru
|
|
||||||
const inputFile = newDiv.querySelector(`.${inputDataClass}`);
|
|
||||||
if (inputFile) {
|
|
||||||
inputFile.id = `inputLingkungan-${inputContainer.children.length}`;
|
|
||||||
inputFile.value = ''; // Reset input file
|
|
||||||
|
|
||||||
// Tambahkan event listener untuk preview
|
|
||||||
inputFile.addEventListener('change', function () {
|
|
||||||
const file = this.files[0];
|
|
||||||
if (file) {
|
|
||||||
const reader = new FileReader();
|
|
||||||
reader.onload = function (e) {
|
|
||||||
const img = document.getElementById(
|
|
||||||
`foto_lingkungan_preview_${inputFile.id}`
|
|
||||||
);
|
|
||||||
img.src = e.target.result;
|
|
||||||
img.style.display = 'block';
|
|
||||||
};
|
|
||||||
reader.readAsDataURL(file);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tambahkan logika reset untuk elemen preview
|
|
||||||
const imgPreview = newDiv.querySelector('img');
|
|
||||||
if (imgPreview) {
|
|
||||||
imgPreview.src = '';
|
|
||||||
imgPreview.style.display = 'none';
|
|
||||||
}
|
|
||||||
|
|
||||||
const deleteBtn = newDiv.querySelector(`.${buttonDeleteClass}`);
|
|
||||||
if (deleteBtn) {
|
|
||||||
deleteBtn.addEventListener('click', function () {
|
|
||||||
inputContainer.removeChild(newDiv);
|
|
||||||
handleDeleteButtons();
|
|
||||||
updateLabels();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tambahkan container preview jika tidak ada
|
|
||||||
let previewContainer = newDiv.querySelector('.preview-container');
|
|
||||||
if (!previewContainer) {
|
|
||||||
previewContainer = document.createElement('div');
|
|
||||||
previewContainer.className = 'preview-container';
|
|
||||||
|
|
||||||
const img = document.createElement('img');
|
|
||||||
img.id = `foto_lingkungan_preview_${inputFile.id}`;
|
|
||||||
img.src = '';
|
|
||||||
img.className = 'mt-2 h-auto';
|
|
||||||
img.style.display = 'none';
|
|
||||||
img.style.width = '30rem';
|
|
||||||
previewContainer.appendChild(img);
|
|
||||||
|
|
||||||
const inputGroup = newDiv.querySelector('.input-group');
|
|
||||||
inputGroup.appendChild(previewContainer);
|
|
||||||
}
|
|
||||||
|
|
||||||
newDiv.style.marginTop = '10px';
|
|
||||||
inputContainer.appendChild(newDiv);
|
|
||||||
updateLabels();
|
|
||||||
handleDeleteButtons();
|
|
||||||
}
|
|
||||||
|
|
||||||
addButton.addEventListener('click', createNewInput);
|
|
||||||
|
|
||||||
// Terapkan event listener pada elemen yang sudah ada
|
|
||||||
const existingInputs = inputContainer.querySelectorAll(`.${inputDataClass}`);
|
|
||||||
existingInputs.forEach((input, index) => {
|
|
||||||
const deleteBtn = input.closest('.flex').querySelector(`.${buttonDeleteClass}`);
|
|
||||||
if (deleteBtn) {
|
|
||||||
deleteBtn.addEventListener('click', function () {
|
|
||||||
if (inputContainer.children.length > 1) {
|
|
||||||
inputContainer.removeChild(this.closest('.flex'));
|
|
||||||
handleDeleteButtons();
|
|
||||||
updateLabels();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
input.addEventListener('change', function () {
|
|
||||||
const file = this.files[0];
|
|
||||||
if (file) {
|
|
||||||
const reader = new FileReader();
|
|
||||||
reader.onload = function (e) {
|
|
||||||
const img = document.getElementById(
|
|
||||||
`foto_lingkungan_preview_${index}`
|
|
||||||
);
|
|
||||||
img.src = e.target.result;
|
|
||||||
img.style.display = 'block';
|
|
||||||
};
|
|
||||||
reader.readAsDataURL(file);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
updateLabels();
|
|
||||||
handleDeleteButtons();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setupInputHandlers('inputContainerRute', 'btnRute', 'Foto Rute Menuju Lokasi', 'file-input',
|
|
||||||
'delete-btn');
|
|
||||||
setupInputHandlers('inputContainerLantai', 'btnLantai', 'Foto Lantai', 'file-input', 'delete-btn');
|
|
||||||
setupInputHandlers('inputContainerLingkungan', 'btnLingkungan', 'Lingkungan', 'file-input',
|
|
||||||
'delete-btn');
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
204
resources/views/surveyor/js/fotojs.blade.php
Normal file
204
resources/views/surveyor/js/fotojs.blade.php
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
<script type="text/javascript">
|
||||||
|
document.addEventListener("DOMContentLoaded", function() {
|
||||||
|
const ruteLainnyaDiv = document.getElementById("ruteLainnya");
|
||||||
|
const lantaiLainnyaDiv = document.getElementById("lantaiLainnya");
|
||||||
|
|
||||||
|
// Function to add delete event listeners to existing buttons
|
||||||
|
function addDeleteListeners(container) {
|
||||||
|
container.querySelectorAll(".delete-button").forEach(button => {
|
||||||
|
button.addEventListener("click", function() {
|
||||||
|
this.closest(
|
||||||
|
".flex.items-baseline.flex-wrap.lg\\:flex-nowrap.gap-2\\.5.mb-5"
|
||||||
|
).remove();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add delete listeners to existing buttons
|
||||||
|
addDeleteListeners(ruteLainnyaDiv);
|
||||||
|
addDeleteListeners(lantaiLainnyaDiv);
|
||||||
|
|
||||||
|
function createNewDiv(container, inputName) {
|
||||||
|
const newDiv = document.createElement("div");
|
||||||
|
newDiv.className = "flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-5";
|
||||||
|
newDiv.innerHTML = `
|
||||||
|
<label class="flex flex-col form-label max-w-56">
|
||||||
|
Masukkan nama ${inputName}
|
||||||
|
</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<div class="flex flex-col lg:flex-row gap-2 w-full">
|
||||||
|
<div class="flex flex-wrap items-baseline px-2">
|
||||||
|
<input class="input" type="text" name="name_${inputName}[]">
|
||||||
|
</div>
|
||||||
|
<div class=" w-full flex flex-col gap-2">
|
||||||
|
<img id="foto_${inputName}-preview"
|
||||||
|
src="{{ isset($formFoto['gerbang']) ? asset('storage/' . $formFoto['gerbang']) : '' }}"
|
||||||
|
alt="Foto Gerbong" class="mt-2 max-w-full h-auto"
|
||||||
|
style="{{ isset($formFoto['gerbang']) ? '' : 'display: none;' }} width: 30rem;">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="input-group w-full flex gap-2">
|
||||||
|
<input id="inputLainnya" type="file" name="foto_${inputName}[]"
|
||||||
|
class="file-input file-input-bordered w-full" accept="image/*" capture="camera"
|
||||||
|
onchange="previewImage(this, 'foto_${inputName}-preview')"
|
||||||
|
>
|
||||||
|
<button type="button" id="btnCamera" class="btn btn-light"
|
||||||
|
data-modal-toggle="#cameraModal">
|
||||||
|
<i class="ki-outline ki-abstract-33"></i> Camera
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<button type="button" class="btn btn-danger btn-sm delete-button">
|
||||||
|
<i class="ki-filled ki-trash"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
container.appendChild(newDiv);
|
||||||
|
addDeleteListeners(container);
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("btnAddMore").addEventListener("click", function() {
|
||||||
|
createNewDiv(ruteLainnyaDiv, "rute_lainnya");
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("btnAddMoreObject").addEventListener("click", function() {
|
||||||
|
createNewDiv(lantaiLainnyaDiv, "lantai_lainnya");
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function setupInputHandlers(containerId, buttonId, labelText, inputDataClass, buttonDeleteClass) {
|
||||||
|
const addButton = document.getElementById(buttonId);
|
||||||
|
const inputContainer = document.getElementById(containerId);
|
||||||
|
|
||||||
|
if (!addButton || !inputContainer) {
|
||||||
|
console.error(`Element with ID ${containerId} or ${buttonId} not found.`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateLabels() {
|
||||||
|
const labels = inputContainer.querySelectorAll('.form-label span');
|
||||||
|
labels.forEach((label, index) => {
|
||||||
|
label.textContent = `${labelText} ${index + 1}`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDeleteButtons() {
|
||||||
|
const deleteBtns = inputContainer.querySelectorAll(`.${buttonDeleteClass}`);
|
||||||
|
deleteBtns.forEach(btn => {
|
||||||
|
btn.style.display = inputContainer.children.length > 1 ? 'block' : 'none';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function createNewInput() {
|
||||||
|
const newDiv = inputContainer.children[0].cloneNode(true);
|
||||||
|
|
||||||
|
// Reset semua input dalam elemen baru
|
||||||
|
const inputFile = newDiv.querySelector(`.${inputDataClass}`);
|
||||||
|
if (inputFile) {
|
||||||
|
inputFile.id = `inputLingkungan-${inputContainer.children.length}`;
|
||||||
|
inputFile.value = ''; // Reset input file
|
||||||
|
|
||||||
|
// Tambahkan event listener untuk preview
|
||||||
|
inputFile.addEventListener('change', function() {
|
||||||
|
const file = this.files[0];
|
||||||
|
if (file) {
|
||||||
|
const reader = new FileReader();
|
||||||
|
reader.onload = function(e) {
|
||||||
|
const img = document.getElementById(
|
||||||
|
`foto_lingkungan_preview_${inputFile.id}`
|
||||||
|
);
|
||||||
|
img.src = e.target.result;
|
||||||
|
img.style.display = 'block';
|
||||||
|
};
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tambahkan logika reset untuk elemen preview
|
||||||
|
const imgPreview = newDiv.querySelector('img');
|
||||||
|
if (imgPreview) {
|
||||||
|
imgPreview.src = '';
|
||||||
|
imgPreview.style.display = 'none';
|
||||||
|
}
|
||||||
|
|
||||||
|
const deleteBtn = newDiv.querySelector(`.${buttonDeleteClass}`);
|
||||||
|
if (deleteBtn) {
|
||||||
|
deleteBtn.addEventListener('click', function() {
|
||||||
|
inputContainer.removeChild(newDiv);
|
||||||
|
handleDeleteButtons();
|
||||||
|
updateLabels();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tambahkan container preview jika tidak ada
|
||||||
|
let previewContainer = newDiv.querySelector('.preview-container');
|
||||||
|
if (!previewContainer) {
|
||||||
|
previewContainer = document.createElement('div');
|
||||||
|
previewContainer.className = 'preview-container';
|
||||||
|
|
||||||
|
const img = document.createElement('img');
|
||||||
|
img.id = `foto_lingkungan_preview_${inputFile.id}`;
|
||||||
|
img.src = '';
|
||||||
|
img.className = 'mt-2 h-auto';
|
||||||
|
img.style.display = 'none';
|
||||||
|
img.style.width = '30rem';
|
||||||
|
previewContainer.appendChild(img);
|
||||||
|
|
||||||
|
const inputGroup = newDiv.querySelector('.input-group');
|
||||||
|
inputGroup.appendChild(previewContainer);
|
||||||
|
}
|
||||||
|
|
||||||
|
newDiv.style.marginTop = '10px';
|
||||||
|
inputContainer.appendChild(newDiv);
|
||||||
|
updateLabels();
|
||||||
|
handleDeleteButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
addButton.addEventListener('click', createNewInput);
|
||||||
|
|
||||||
|
// Terapkan event listener pada elemen yang sudah ada
|
||||||
|
const existingInputs = inputContainer.querySelectorAll(`.${inputDataClass}`);
|
||||||
|
existingInputs.forEach((input, index) => {
|
||||||
|
const deleteBtn = input.closest('.flex').querySelector(`.${buttonDeleteClass}`);
|
||||||
|
if (deleteBtn) {
|
||||||
|
deleteBtn.addEventListener('click', function() {
|
||||||
|
if (inputContainer.children.length > 1) {
|
||||||
|
inputContainer.removeChild(this.closest('.flex'));
|
||||||
|
handleDeleteButtons();
|
||||||
|
updateLabels();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
input.addEventListener('change', function() {
|
||||||
|
const file = this.files[0];
|
||||||
|
if (file) {
|
||||||
|
const reader = new FileReader();
|
||||||
|
reader.onload = function(e) {
|
||||||
|
const img = document.getElementById(
|
||||||
|
`foto_lingkungan_preview_${index}`
|
||||||
|
);
|
||||||
|
img.src = e.target.result;
|
||||||
|
img.style.display = 'block';
|
||||||
|
};
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
updateLabels();
|
||||||
|
handleDeleteButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
setupInputHandlers('inputContainerRute', 'btnRute', 'Foto Rute Menuju Lokasi', 'file-input',
|
||||||
|
'delete-btn');
|
||||||
|
setupInputHandlers('inputContainerLantai', 'btnLantai', 'Foto Lantai', 'file-input', 'delete-btn');
|
||||||
|
setupInputHandlers('inputContainerLingkungan', 'btnLingkungan', 'Lingkungan', 'file-input',
|
||||||
|
'delete-btn');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
@@ -1,461 +1,458 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Diglactic\Breadcrumbs\Breadcrumbs;
|
use Diglactic\Breadcrumbs\Breadcrumbs;
|
||||||
use Diglactic\Breadcrumbs\Generator as BreadcrumbTrail;
|
use Diglactic\Breadcrumbs\Generator as BreadcrumbTrail;
|
||||||
|
|
||||||
if (!Breadcrumbs::exists('basicdata')) {
|
if (!Breadcrumbs::exists('basicdata')) {
|
||||||
Breadcrumbs::for('basicdata', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Basic Data');
|
$trail->push('Basic Data');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-fasilitas-kredit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-fasilitas-kredit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Jenis Fasilitas Kredit', route('basicdata.jenis-fasilitas-kredit.index'));
|
$trail->push('Jenis Fasilitas Kredit', route('basicdata.jenis-fasilitas-kredit.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-fasilitas-kredit.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-fasilitas-kredit.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-fasilitas-kredit');
|
$trail->parent('basicdata.jenis-fasilitas-kredit');
|
||||||
$trail->push('Tambah Jenis Fasilitas Kredit', route('basicdata.jenis-fasilitas-kredit.create'));
|
$trail->push('Tambah Jenis Fasilitas Kredit', route('basicdata.jenis-fasilitas-kredit.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-fasilitas-kredit.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-fasilitas-kredit.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-fasilitas-kredit');
|
$trail->parent('basicdata.jenis-fasilitas-kredit');
|
||||||
$trail->push('Edit Jenis Fasilitas Kredit');
|
$trail->push('Edit Jenis Fasilitas Kredit');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Jenis Legalitas Jaminan', route('basicdata.jenis-legalitas-jaminan.index'));
|
$trail->push('Jenis Legalitas Jaminan', route('basicdata.jenis-legalitas-jaminan.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-legalitas-jaminan');
|
$trail->parent('basicdata.jenis-legalitas-jaminan');
|
||||||
$trail->push('Tambah Jenis Legalitas Jaminan', route('basicdata.jenis-legalitas-jaminan.create'));
|
$trail->push('Tambah Jenis Legalitas Jaminan', route('basicdata.jenis-legalitas-jaminan.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-legalitas-jaminan');
|
$trail->parent('basicdata.jenis-legalitas-jaminan');
|
||||||
$trail->push('Edit Jenis Legalitas Jaminan');
|
$trail->push('Edit Jenis Legalitas Jaminan');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-jaminan', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-jaminan', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Jenis Aset', route('basicdata.jenis-jaminan.index'));
|
$trail->push('Jenis Aset', route('basicdata.jenis-jaminan.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-jaminan.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-jaminan.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-jaminan');
|
$trail->parent('basicdata.jenis-jaminan');
|
||||||
$trail->push('Tambah Jenis Aset', route('basicdata.jenis-jaminan.create'));
|
$trail->push('Tambah Jenis Aset', route('basicdata.jenis-jaminan.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-jaminan.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-jaminan.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-jaminan');
|
$trail->parent('basicdata.jenis-jaminan');
|
||||||
$trail->push('Edit Jenis Aset');
|
$trail->push('Edit Jenis Aset');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis_laporan', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis_laporan', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Jenis Laporan', route('basicdata.jenis_laporan.index'));
|
$trail->push('Jenis Laporan', route('basicdata.jenis_laporan.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis_laporan.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis_laporan.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis_laporan');
|
$trail->parent('basicdata.jenis_laporan');
|
||||||
$trail->push('Tambah Jenis Laporan', route('basicdata.jenis_laporan.create'));
|
$trail->push('Tambah Jenis Laporan', route('basicdata.jenis_laporan.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis_laporan.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis_laporan.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis_laporan');
|
$trail->parent('basicdata.jenis_laporan');
|
||||||
$trail->push('Edit Jenis Laporan');
|
$trail->push('Edit Jenis Laporan');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.tujuan-penilaian', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.tujuan-penilaian', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Tujuan Penilaian', route('basicdata.tujuan-penilaian.index'));
|
$trail->push('Tujuan Penilaian', route('basicdata.tujuan-penilaian.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.tujuan-penilaian.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.tujuan-penilaian.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.tujuan-penilaian');
|
$trail->parent('basicdata.tujuan-penilaian');
|
||||||
$trail->push('Tambah Tujuan Penilaian', route('basicdata.tujuan-penilaian.create'));
|
$trail->push('Tambah Tujuan Penilaian', route('basicdata.tujuan-penilaian.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.tujuan-penilaian.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.tujuan-penilaian.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.tujuan-penilaian');
|
$trail->parent('basicdata.tujuan-penilaian');
|
||||||
$trail->push('Edit Tujuan Penilaian');
|
$trail->push('Edit Tujuan Penilaian');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Tujuan Penilaian KJPP', route('basicdata.tujuan_penilaian_kjpp.index'));
|
$trail->push('Tujuan Penilaian KJPP', route('basicdata.tujuan_penilaian_kjpp.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.tujuan_penilaian_kjpp');
|
$trail->parent('basicdata.tujuan_penilaian_kjpp');
|
||||||
$trail->push('Tambah Tujuan Penilaian KJPP', route('basicdata.tujuan_penilaian_kjpp.create'));
|
$trail->push('Tambah Tujuan Penilaian KJPP', route('basicdata.tujuan_penilaian_kjpp.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.tujuan_penilaian_kjpp');
|
$trail->parent('basicdata.tujuan_penilaian_kjpp');
|
||||||
$trail->push('Edit Tujuan Penilaian KJPP');
|
$trail->push('Edit Tujuan Penilaian KJPP');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-dokumen', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-dokumen', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Jenis Dokumen', route('basicdata.jenis-dokumen.index'));
|
$trail->push('Jenis Dokumen', route('basicdata.jenis-dokumen.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-dokumen.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-dokumen.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-dokumen');
|
$trail->parent('basicdata.jenis-dokumen');
|
||||||
$trail->push('Tambah Jenis Dokumen', route('basicdata.jenis-dokumen.create'));
|
$trail->push('Tambah Jenis Dokumen', route('basicdata.jenis-dokumen.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-dokumen.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-dokumen.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-dokumen');
|
$trail->parent('basicdata.jenis-dokumen');
|
||||||
$trail->push('Edit Jenis Dokumen');
|
$trail->push('Edit Jenis Dokumen');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.nilai-plafond', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.nilai-plafond', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Nilai Plafond', route('basicdata.nilai-plafond.index'));
|
$trail->push('Nilai Plafond', route('basicdata.nilai-plafond.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.nilai-plafond.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.nilai-plafond.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.nilai-plafond');
|
$trail->parent('basicdata.nilai-plafond');
|
||||||
$trail->push('Tambah Nilai Plafond', route('basicdata.nilai-plafond.create'));
|
$trail->push('Tambah Nilai Plafond', route('basicdata.nilai-plafond.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.nilai-plafond.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.nilai-plafond.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.nilai-plafond');
|
$trail->parent('basicdata.nilai-plafond');
|
||||||
$trail->push('Edit Nilai Plafond');
|
$trail->push('Edit Nilai Plafond');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Hubungan Pemilik Jaminan', route('basicdata.hubungan-pemilik-jaminan.index'));
|
$trail->push('Hubungan Pemilik Jaminan', route('basicdata.hubungan-pemilik-jaminan.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.hubungan-pemilik-jaminan');
|
$trail->parent('basicdata.hubungan-pemilik-jaminan');
|
||||||
$trail->push('Tambah Hubungan Pemilik Jaminan', route('basicdata.hubungan-pemilik-jaminan.create'));
|
$trail->push('Tambah Hubungan Pemilik Jaminan', route('basicdata.hubungan-pemilik-jaminan.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.hubungan-pemilik-jaminan');
|
$trail->parent('basicdata.hubungan-pemilik-jaminan');
|
||||||
$trail->push('Edit Hubungan Pemilik Jaminan');
|
$trail->push('Edit Hubungan Pemilik Jaminan');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Hubungan Penghuni Jaminan', route('basicdata.hubungan-penghuni-jaminan.index'));
|
$trail->push('Hubungan Penghuni Jaminan', route('basicdata.hubungan-penghuni-jaminan.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.hubungan-penghuni-jaminan');
|
$trail->parent('basicdata.hubungan-penghuni-jaminan');
|
||||||
$trail->push('Tambah Hubungan Penghuni Jaminan', route('basicdata.hubungan-penghuni-jaminan.create'));
|
$trail->push('Tambah Hubungan Penghuni Jaminan', route('basicdata.hubungan-penghuni-jaminan.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.hubungan-penghuni-jaminan');
|
$trail->parent('basicdata.hubungan-penghuni-jaminan');
|
||||||
$trail->push('Edit Hubungan Penghuni Jaminan');
|
$trail->push('Edit Hubungan Penghuni Jaminan');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.arah-mata-angin', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.arah-mata-angin', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Arah Mata Angin', route('basicdata.arah-mata-angin.index'));
|
$trail->push('Arah Mata Angin', route('basicdata.arah-mata-angin.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.arah-mata-angin.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.arah-mata-angin.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.arah-mata-angin');
|
$trail->parent('basicdata.arah-mata-angin');
|
||||||
$trail->push('Tambah Arah Mata Angin', route('basicdata.arah-mata-angin.create'));
|
$trail->push('Tambah Arah Mata Angin', route('basicdata.arah-mata-angin.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.arah-mata-angin.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.arah-mata-angin.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.hubungan-penghuni-jaminan');
|
$trail->parent('basicdata.hubungan-penghuni-jaminan');
|
||||||
$trail->push('Edit Arah Mata Angin');
|
$trail->push('Edit Arah Mata Angin');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.status-permohonan', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.status-permohonan', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Status Permohonan', route('basicdata.status-permohonan.index'));
|
$trail->push('Status Permohonan', route('basicdata.status-permohonan.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.status-permohonan.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.status-permohonan.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.status-permohonan');
|
$trail->parent('basicdata.status-permohonan');
|
||||||
$trail->push('Tambah Status Permohonan', route('basicdata.status-permohonan.create'));
|
$trail->push('Tambah Status Permohonan', route('basicdata.status-permohonan.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.status-permohonan.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.status-permohonan.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.status-permohonan');
|
$trail->parent('basicdata.status-permohonan');
|
||||||
$trail->push('Edit Status Permohonan');
|
$trail->push('Edit Status Permohonan');
|
||||||
});
|
});
|
||||||
|
|
||||||
// KJPP
|
// KJPP
|
||||||
Breadcrumbs::for('basicdata.kjpp', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.kjpp', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('KJPP', route('basicdata.kjpp.index'));
|
$trail->push('KJPP', route('basicdata.kjpp.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.kjpp.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.kjpp.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.kjpp');
|
$trail->parent('basicdata.kjpp');
|
||||||
$trail->push('Tambah KJPP', route('basicdata.kjpp.create'));
|
$trail->push('Tambah KJPP', route('basicdata.kjpp.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.kjpp.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.kjpp.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.kjpp');
|
$trail->parent('basicdata.kjpp');
|
||||||
$trail->push('Edit KJPP');
|
$trail->push('Edit KJPP');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.kjpp.show', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.kjpp.show', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.kjpp');
|
$trail->parent('basicdata.kjpp');
|
||||||
$trail->push('Show KJPP');
|
$trail->push('Show KJPP');
|
||||||
});
|
});
|
||||||
// End KJPP
|
// End KJPP
|
||||||
|
|
||||||
// Ijin Usaha
|
// Ijin Usaha
|
||||||
Breadcrumbs::for('basicdata.ijin_usaha', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.ijin_usaha', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Ijin Usaha', route('basicdata.ijin_usaha.index'));
|
$trail->push('Ijin Usaha', route('basicdata.ijin_usaha.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.ijin_usaha.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.ijin_usaha.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.ijin_usaha');
|
$trail->parent('basicdata.ijin_usaha');
|
||||||
$trail->push('Tambah Ijin Usaha', route('basicdata.ijin_usaha.create'));
|
$trail->push('Tambah Ijin Usaha', route('basicdata.ijin_usaha.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.ijin_usaha.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.ijin_usaha.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.ijin_usaha');
|
$trail->parent('basicdata.ijin_usaha');
|
||||||
$trail->push('Edit Ijin Usaha');
|
$trail->push('Edit Ijin Usaha');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('debitur', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Debitur', route('debitur.index'));
|
$trail->push('Debitur', route('debitur.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('debitur.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('debitur');
|
$trail->parent('debitur');
|
||||||
$trail->push('Tambah Debitur', route('debitur.create'));
|
$trail->push('Tambah Debitur', route('debitur.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('debitur.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('debitur');
|
$trail->parent('debitur');
|
||||||
$trail->push('Data Debitur');
|
$trail->push('Data Debitur');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('debitur.jaminan.index', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur.jaminan.index', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('debitur');
|
$trail->parent('debitur');
|
||||||
$trail->push('Data Jaminan Debitur');
|
$trail->push('Data Jaminan Debitur');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('debitur.jaminan.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur.jaminan.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('debitur.jaminan.index');
|
$trail->parent('debitur.jaminan.index');
|
||||||
$trail->push('Tambah Data Jaminan Debitur');
|
$trail->push('Tambah Data Jaminan Debitur');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('debitur.jaminan.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur.jaminan.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('debitur.jaminan.index');
|
$trail->parent('debitur.jaminan.index');
|
||||||
$trail->push('Edit Data Jaminan Debitur');
|
$trail->push('Edit Data Jaminan Debitur');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('debitur.pemilik.index', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur.pemilik.index', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('debitur');
|
$trail->parent('debitur');
|
||||||
$trail->push('Data Pemilik Jaminan Debitur');
|
$trail->push('Data Pemilik Jaminan Debitur');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('debitur.pemilik.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur.pemilik.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('debitur.pemilik.index');
|
$trail->parent('debitur.pemilik.index');
|
||||||
$trail->push('Tambah Data Pemilik Jaminan Debitur');
|
$trail->push('Tambah Data Pemilik Jaminan Debitur');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('debitur.pemilik.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('debitur.pemilik.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('debitur.pemilik.index');
|
$trail->parent('debitur.pemilik.index');
|
||||||
$trail->push('Edit Data Pemilik Jaminan Debitur');
|
$trail->push('Edit Data Pemilik Jaminan Debitur');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('permohonan.index', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('permohonan.index', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Permohonan', route('permohonan.index'));
|
$trail->push('Permohonan', route('permohonan.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('permohonan.show', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('permohonan.show', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('permohonan.index');
|
$trail->parent('permohonan.index');
|
||||||
$trail->push('Show Permohonan');
|
$trail->push('Show Permohonan');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('permohonan.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('permohonan.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('permohonan.index');
|
$trail->parent('permohonan.index');
|
||||||
$trail->push('Tambah Permohonan', route('permohonan.create'));
|
$trail->push('Tambah Permohonan', route('permohonan.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('permohonan.create.debitur', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('permohonan.create.debitur', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('permohonan.index');
|
$trail->parent('permohonan.index');
|
||||||
$trail->push('Tambah Permohonan', route('permohonan.create'));
|
$trail->push('Tambah Permohonan', route('permohonan.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('permohonan.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('permohonan.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('permohonan.index');
|
$trail->parent('permohonan.index');
|
||||||
$trail->push('Data Permohonan');
|
$trail->push('Data Permohonan');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.region', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.region', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Region', route('basicdata.region.index'));
|
$trail->push('Region', route('basicdata.region.index'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::for('basicdata.region.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.region.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.region');
|
$trail->parent('basicdata.region');
|
||||||
$trail->push('Tambah Region', route('basicdata.region.create'));
|
$trail->push('Tambah Region', route('basicdata.region.create'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::for('basicdata.region.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.region.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.region');
|
$trail->parent('basicdata.region');
|
||||||
$trail->push('Edit Region');
|
$trail->push('Edit Region');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.teams', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.teams', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Team', route('basicdata.teams.index'));
|
$trail->push('Team', route('basicdata.teams.index'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::for('basicdata.teams.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.teams.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.teams');
|
$trail->parent('basicdata.teams');
|
||||||
$trail->push('Tambah Team', route('basicdata.teams.create'));
|
$trail->push('Tambah Team', route('basicdata.teams.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.teams.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.teams.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.teams');
|
$trail->parent('basicdata.teams');
|
||||||
$trail->push('Edit Team');
|
$trail->push('Edit Team');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-penilaian', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-penilaian', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Jenis Penilaian', route('basicdata.jenis-penilaian.index'));
|
$trail->push('Jenis Penilaian', route('basicdata.jenis-penilaian.index'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::for('basicdata.jenis-penilaian.create', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-penilaian.create', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-penilaian');
|
$trail->parent('basicdata.jenis-penilaian');
|
||||||
$trail->push('Tambah Jenis Penilaian', route('basicdata.jenis-penilaian.create'));
|
$trail->push('Tambah Jenis Penilaian', route('basicdata.jenis-penilaian.create'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.jenis-penilaian.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('basicdata.jenis-penilaian.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata.jenis-penilaian');
|
$trail->parent('basicdata.jenis-penilaian');
|
||||||
$trail->push('Edit Jenis Penilaian');
|
$trail->push('Edit Jenis Penilaian');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('penilaian', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('penilaian', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Penilaian', route('penilaian.index'));
|
$trail->push('Penilaian', route('penilaian.index'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::for('penilaian.assignment', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('penilaian.assignment', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('penilaian');
|
$trail->parent('penilaian');
|
||||||
$trail->push('Assignment');
|
$trail->push('Assignment');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('authorization.index', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('authorization.index', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Permohonan', route('authorization.index'));
|
$trail->push('Permohonan', route('authorization.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('authorization.show', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('authorization.show', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('authorization.index');
|
$trail->parent('authorization.index');
|
||||||
$trail->push('Detail Permohonan');
|
$trail->push('Detail Permohonan');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('activity', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('activity', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Activity', route('activity.index'));
|
$trail->push('Activity', route('activity.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('activity.show', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('activity.show', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('activity');
|
$trail->parent('activity');
|
||||||
$trail->push('Activity activity');
|
$trail->push('Activity activity');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('activity.progres', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('activity.progres', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Team activity');
|
$trail->push('Team activity');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('tender', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Tender');
|
$trail->push('Tender');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('tender.penawaran', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('tender');
|
$trail->parent('tender');
|
||||||
$trail->push('Data Penawaran', route('tender.penawaran.index'));
|
$trail->push('Data Penawaran', route('tender.penawaran.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.show', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.show', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender');
|
$trail->parent('tender');
|
||||||
$trail->push('Detail Penawaran', route('tender.penawaran.show', $noreg));
|
$trail->push('Detail Penawaran', route('tender.penawaran.show', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.createPenawaran', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.createPenawaran', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender.penawaran');
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Tambah Data Penawaran', route('tender.penawaran.createPenawaran', $noreg));
|
$trail->push('Tambah Data Penawaran', route('tender.penawaran.createPenawaran', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.editPenawaran', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.editPenawaran', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender.penawaran');
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg));
|
$trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.showSuratTender', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.showSuratTender', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender.penawaran');
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Surat Tender', route('tender.penawaran.showSuratTender', $noreg));
|
$trail->push('Surat Tender', route('tender.penawaran.showSuratTender', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.suratTenderKJPP', function (BreadcrumbTrail $trail, $noreg, $id) {
|
Breadcrumbs::for('tender.penawaran.suratTenderKJPP', function (BreadcrumbTrail $trail, $noreg, $id) {
|
||||||
$trail->parent('tender.penawaran');
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Surat Tender KJPP', route('tender.penawaran.suratTenderKJPP', ['noreg' => $noreg, 'id' => $id]));
|
$trail->push('Surat Tender KJPP', route('tender.penawaran.suratTenderKJPP', ['noreg' => $noreg, 'id' => $id]));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.showKirimEmail', function (BreadcrumbTrail $trail, $noreg) {
|
Breadcrumbs::for('tender.penawaran.showKirimEmail', function (BreadcrumbTrail $trail, $noreg) {
|
||||||
$trail->parent('tender.penawaran');
|
$trail->parent('tender.penawaran');
|
||||||
$trail->push('Show Kirim Email Penawaran', route('tender.penawaran.showKirimEmail', $noreg));
|
$trail->push('Show Kirim Email Penawaran', route('tender.penawaran.showKirimEmail', $noreg));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('tender.penawaran.ulang', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('tender.penawaran.ulang', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('tender');
|
$trail->parent('tender');
|
||||||
$trail->push('Data Penawaran Ulang', route('tender.penawaran.ulang.index'));
|
$trail->push('Data Penawaran Ulang', route('tender.penawaran.ulang.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('surveyor', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('surveyor', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Surveyor', route('surveyor.index'));
|
$trail->push('Surveyor', route('surveyor.index'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::for('surveyor.inspeksi', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('surveyor.inspeksi', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('surveyor');
|
$trail->parent('surveyor');
|
||||||
$trail->push('Form Inspeksi');
|
$trail->push('Form Inspeksi');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('surveyor');
|
$trail->parent('surveyor');
|
||||||
$trail->push('Detail');
|
$trail->push('Detail');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('surveyor.form-inspeksi', function (BreadcrumbTrail $trail) {
|
|
||||||
$trail->parent('surveyor');
|
|
||||||
$trail->push('Form Inspeksi');
|
|
||||||
});
|
|
||||||
|
|
||||||
Breadcrumbs::for('surveyor.denah', function (BreadcrumbTrail $trail) {
|
|
||||||
|
Breadcrumbs::for('surveyor.denah', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('surveyor');
|
$trail->parent('surveyor');
|
||||||
$trail->push('Denah');
|
$trail->push('Denah');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('surveyor.foto', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('surveyor.foto', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('surveyor');
|
$trail->parent('surveyor');
|
||||||
$trail->push('Form Foto');
|
$trail->push('Form Foto');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('surveyor.data-pembanding', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('surveyor.data-pembanding', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('surveyor');
|
$trail->parent('surveyor');
|
||||||
$trail->push('Form Pembanding');
|
$trail->push('Form Pembanding');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('otorisator.pelaporan.index', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('otorisator.pelaporan.index', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('otorisator');
|
$trail->parent('otorisator');
|
||||||
$trail->push('Otorisator', route('otorisator.pelaporan.index'));
|
$trail->push('Otorisator', route('otorisator.pelaporan.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// basic data surveyor
|
// basic data surveyor
|
||||||
$basicDataRoutes = [
|
$basicDataRoutes = [
|
||||||
'bentuk-tanah' => 'Bentuk Tanah',
|
'bentuk-tanah' => 'Bentuk Tanah',
|
||||||
'kontur-tanah' => 'Kontur Tanah',
|
'kontur-tanah' => 'Kontur Tanah',
|
||||||
'posisi-kavling' => 'Posisi Kavling',
|
'posisi-kavling' => 'Posisi Kavling',
|
||||||
@@ -484,17 +481,17 @@ $basicDataRoutes = [
|
|||||||
'posisi-unit' => 'Posisi unit',
|
'posisi-unit' => 'Posisi unit',
|
||||||
'bentuk-unit' => 'Bentuk unit',
|
'bentuk-unit' => 'Bentuk unit',
|
||||||
'fasilitas-objek' => 'Fasilitas Umum Dekat Objek',
|
'fasilitas-objek' => 'Fasilitas Umum Dekat Objek',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
foreach ($basicDataRoutes as $route => $title) {
|
foreach ($basicDataRoutes as $route => $title) {
|
||||||
Breadcrumbs::for("basicdata.{$route}", function (BreadcrumbTrail $trail) use ($route, $title) {
|
Breadcrumbs::for("basicdata.{$route}", function (BreadcrumbTrail $trail) use ($route, $title) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push($title, route("basicdata.{$route}.index"));
|
$trail->push($title, route("basicdata.{$route}.index"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.createData', function (BreadcrumbTrail $trail, $type = null) {
|
Breadcrumbs::for('basicdata.createData', function (BreadcrumbTrail $trail, $type = null) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
|
|
||||||
if ($type) {
|
if ($type) {
|
||||||
@@ -503,10 +500,10 @@ Breadcrumbs::for('basicdata.createData', function (BreadcrumbTrail $trail, $type
|
|||||||
} else {
|
} else {
|
||||||
$trail->push("Tambah Data");
|
$trail->push("Tambah Data");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('basicdata.editData', function (BreadcrumbTrail $trail, $type = null) {
|
Breadcrumbs::for('basicdata.editData', function (BreadcrumbTrail $trail, $type = null) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
|
|
||||||
if ($type) {
|
if ($type) {
|
||||||
@@ -515,76 +512,76 @@ Breadcrumbs::for('basicdata.editData', function (BreadcrumbTrail $trail, $type =
|
|||||||
} else {
|
} else {
|
||||||
$trail->push("Edit Data");
|
$trail->push("Edit Data");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// otorisator surveyor
|
// otorisator surveyor
|
||||||
$otorisatorSurveyor = [
|
$otorisatorSurveyor = [
|
||||||
'pelaporan' => 'Pelaporan',
|
'pelaporan' => 'Pelaporan',
|
||||||
'pembayaran' => 'Pembayaran',
|
'pembayaran' => 'Pembayaran',
|
||||||
'pembatalan' => 'Pembatalan',
|
'pembatalan' => 'Pembatalan',
|
||||||
'sla' => 'SLA',
|
'sla' => 'SLA',
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($otorisatorSurveyor as $route => $title) {
|
foreach ($otorisatorSurveyor as $route => $title) {
|
||||||
Breadcrumbs::for("otorisator.{$route}", function (BreadcrumbTrail $trail) use ($route, $title) {
|
Breadcrumbs::for("otorisator.{$route}", function (BreadcrumbTrail $trail) use ($route, $title) {
|
||||||
$trail->push($title, route("otorisator.{$route}.index"));
|
$trail->push($title, route("otorisator.{$route}.index"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('laporan', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('laporan', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Laporan', route('laporan.sederhana.index'));
|
$trail->push('Laporan', route('laporan.sederhana.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('laporan.sederhana.index', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('laporan.sederhana.index', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('laporan');
|
$trail->parent('laporan');
|
||||||
$trail->push('Sederhana', route('laporan.sederhana.index'));
|
$trail->push('Sederhana', route('laporan.sederhana.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('laporan.standard.index', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('laporan.standard.index', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('laporan');
|
$trail->parent('laporan');
|
||||||
$trail->push('Standard', route('laporan.standard.index'));
|
$trail->push('Standard', route('laporan.standard.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('resume', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('resume', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Resume', route('resume.index'));
|
$trail->push('Resume', route('resume.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('resume.show', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('resume.show', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('resume');
|
$trail->parent('resume');
|
||||||
$trail->push('Detail');
|
$trail->push('Detail');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('penilai', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('penilai', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Penilai', route('penilai.index'));
|
$trail->push('Penilai', route('penilai.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('penilai.show', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('penilai.show', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('penilai');
|
$trail->parent('penilai');
|
||||||
$trail->push('Detail Penilai');
|
$trail->push('Detail Penilai');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('penilai.lampiran', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('penilai.lampiran', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('penilai');
|
$trail->parent('penilai');
|
||||||
$trail->push('Lampiran Foto dan Dokument');
|
$trail->push('Lampiran Foto dan Dokument');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('sla', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('sla', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('SLA', route('basicdata.sla.index'));
|
$trail->push('SLA', route('basicdata.sla.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Breadcrumbs::for('persetujuan-penawaran', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('persetujuan-penawaran', function (BreadcrumbTrail $trail) {
|
||||||
$trail->push('Persetujuan Penawaran', route('persetujuan-penawaran.index'));
|
$trail->push('Persetujuan Penawaran', route('persetujuan-penawaran.index'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('persetujuan-penawaran.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('persetujuan-penawaran.edit', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('persetujuan-penawaran');
|
$trail->parent('persetujuan-penawaran');
|
||||||
$trail->push('Proses Persetujuan Penawaran');
|
$trail->push('Proses Persetujuan Penawaran');
|
||||||
});
|
});
|
||||||
|
|
||||||
// add andy
|
// add andy
|
||||||
require __DIR__ . '/breadcrumbs_registrasi.php';
|
require __DIR__ . '/breadcrumbs_registrasi.php';
|
||||||
|
|||||||
@@ -514,7 +514,7 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::post('store', [SurveyorController::class, 'store'])->name('store');
|
Route::post('store', [SurveyorController::class, 'store'])->name('store');
|
||||||
Route::post('storeDenah', [SurveyorController::class, 'storeDenah'])->name('storeDenah');
|
Route::post('storeDenah', [SurveyorController::class, 'storeDenah'])->name('storeDenah');
|
||||||
Route::put('storeJadwal', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
Route::put('storeJadwal', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
||||||
Route::get('storeAproved/{id}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
|
Route::put('storeAproved/{storeAproved}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
|
||||||
Route::put('storeFreeze', [SurveyorController::class, 'storeFreeze'])->name('storeFreeze');
|
Route::put('storeFreeze', [SurveyorController::class, 'storeFreeze'])->name('storeFreeze');
|
||||||
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
|
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
|
||||||
Route::post('storeDataPembanding', [SurveyorController::class, 'storeDataPembanding'])->name('storeDataPembanding');
|
Route::post('storeDataPembanding', [SurveyorController::class, 'storeDataPembanding'])->name('storeDataPembanding');
|
||||||
|
|||||||
Reference in New Issue
Block a user