update form foto inspeksi

This commit is contained in:
majid
2024-11-12 17:40:46 +07:00
parent d0390d3f9f
commit edf293b203
11 changed files with 1093 additions and 967 deletions

View File

@@ -123,6 +123,8 @@ class SurveyorController extends Controller
->where('permohonan_id', $id)
->get();
$inpeksi = Inspeksi::where('permohonan_id', $id)->get();
$forminspeksi = json_decode($inpeksi[0]->data_form, true);
return view('lpj::surveyor.detail', compact(
@@ -158,7 +160,9 @@ class SurveyorController extends Controller
if ($data) {
try {
$formatTanahJson =[
$formatTanahJson = [
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
'jenis_asset' => $data['jenis_asset'] ?? null,
'jenis_asset_tidak_sesuai' => $data['jenis_asset_tidak_sesuai'] ?? null,
@@ -189,7 +193,7 @@ class SurveyorController extends Controller
];
$formatBangunanJson =[
$formatBangunanJson = [
'luas_tanah_bangunan' => $data['luas_tanah_bangunan'] ?? null,
'jenis_bangunan' => $data['jenis_bangunan'] ?? null,
'kondisi_bangunan' => $data['kondisi_bangunan'] ?? null,
@@ -202,7 +206,7 @@ class SurveyorController extends Controller
];
$formatLingkunganJson =[
$formatLingkunganJson = [
'jarak_jalan_utama' => $data['jarak_jalan_utama'] ?? null,
'jalan_linkungan' => $data['jalan_linkungan'] ?? null,
'jarak_cbd_point' => $data['jarak_cbd_point'] ?? null,
@@ -222,13 +226,13 @@ class SurveyorController extends Controller
'dekat_tps' => $data['dekat_tps'] ?? null,
'jarak_tps' => $data['jarak_tps'] ?? null,
'nama_tps' => $data['nama_tps'] ?? null,
'merupkan_daerah' => $data['merupkan_daerah'] ?? null,
'merupakan_daerah' => $data['merupakan_daerah'] ?? null,
'fasilitas_dekat_object' => $data['fasilitas_dekat_object'] ?? null,
];
$formatFaktaJson =[
$formatFaktaJson = [
'fakta_positif' => $data['fakta_positif'] ?? null,
'fakta_negatif' => $data['fakta_negatif'] ?? null,
'rute_menuju' => $data['rute_menuju'] ?? null,
@@ -247,7 +251,10 @@ class SurveyorController extends Controller
'nama_petugas' => $data['nama_petugas'] ?? null,
'lat' => $data['lat'] ?? null,
'lng' => $data['lng'] ?? null,
'foto_tempat' => $data['foto_tempat'] ?? null,
'foto_gistaru' => $data['foto_gistaru'] = $this->uploadFile($request->file('foto_gistaru'), $request->type) ?? null,
'foto_bhumi' => $data['foto_bhumi'] = $this->uploadFile($request->file('foto_bhumi'), $request->type) ?? null,
'foto_argis_region' => $data['foto_argis_region'] = $this->uploadFile($request->file('foto_argis_region'), $request->type) ?? null,
'foto_tempat' => $data['foto_tempat'] = $this->uploadFile($request->file('foto_tempat'), $request->type) ?? null,
'keterangan' => $data['keterangan'] ?? null,
];
@@ -257,15 +264,13 @@ class SurveyorController extends Controller
'permohonan_id' => $request->permohonan_id,
'data_form' => json_encode($mergeData),
'name' => $request->type,
]);
return response()->json(['message' => 'Data berhasil disimpan',
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan',
'data' => $mergeData], 200);
} catch (Exception $e) {
return response()->json(['message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
return response()->json(['success' => false, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
}
}
}
@@ -357,29 +362,58 @@ class SurveyorController extends Controller
'foto_lantai_unit.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
DB::beginTransaction();
// DB::beginTransaction();
try {
$pendampingPath = $this->uploadFile($request->file('pendamping'), 'pendamping');
$fotojaminan = FotoJaminan::create([
'pendamping' => $pendampingPath,
'permohonan_id' => $validatedData['permohonan_id'],
'jenis_jaminan_id' => $validatedData['jenis_jaminan_id'],
]);
$rute_menuju_lokasi = [];
$object_jaminan = [];
$lingkungan = [];
$this->processObjekUploads($request, $fotojaminan);
$this->processLantaiUnitUploads($request, $fotojaminan);
$this->processUploads('rute', $request, $fotojaminan);
$this->processUploads('lingkungan', $request, $fotojaminan);
DB::commit();
return redirect()->route('surveyor.show', [
'id' => $validatedData['permohonan_id'],
'form' => 'foto'
])->with('success', 'Data foto berhasil disimpan');
foreach ($request->file('foto_rute', []) as $key => $value) {
$fotoRutePath = $this->uploadFile($request->file('foto_rute.' . $key), 'foto_rute.' . $key);
$rute_menuju_lokasi[] = [
'name_rute' => $request->input('name_rute.' . $key),
'foto_rute' => $fotoRutePath,
];
}
foreach ($request->file('foto_objek', []) as $key => $value) {
$fotoObjekPath = $this->uploadFile($request->file('foto_objek.' . $key), 'foto_objek.' . $key);
$object_jaminan[] = [
'nama_objek' => $request->input('name_objek.' . $key),
'foto_object' => $fotoObjekPath,
'deskripsi_objek' => $request->input('deskripsi_objek.' . $key),
];
}
foreach ($request->file('foto_lingkungan', []) as $key => $value) {
$fotoLingkunganPath = $this->uploadFile($request->file('foto_lingkungan.' . $key), 'foto_lingkungan.' . $key);
$lingkungan[] = [
'name_lingkungan' => $request->input('name_lingkungan.' . $key),
'foto_lingkungan' => $fotoLingkunganPath,
];
}
$formatFotojson = [
'rute_menuju_lokasi' => $rute_menuju_lokasi,
'object_jaminan' => $object_jaminan,
'lingkungan' => $lingkungan
];
// DB::commit();
return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200);
} catch (Exception $e) {
DB::rollBack();
return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500);
}
}
@@ -691,6 +725,11 @@ class SurveyorController extends Controller
->where('jenis_jaminan_id', $jaminanId)
->first();
$inpeksi = Inspeksi::where('permohonan_id', $id)->get();
$forminspeksi = json_decode($inpeksi[0]->data_form, true);
return view('lpj::surveyor.components.inspeksi', compact(
'analisa',
'permohonan',
@@ -715,7 +754,8 @@ class SurveyorController extends Controller
'tingkatKeramaian',
'laluLintasLokasi',
'perkerasanJalan',
'link_url_region'
'link_url_region',
'forminspeksi'
));
}
@@ -743,7 +783,10 @@ class SurveyorController extends Controller
$branches = Branch::all();
$provinces = Province::all();
$fotoJaminan = FotoJaminan::with(['objekJaminan', 'lantaiUnit' ,'ruteJaminan', 'lingkungan'])->where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first();
// $fotoJaminan = FotoJaminan::with(['objekJaminan', 'lantaiUnit' ,'ruteJaminan', 'lingkungan'])->where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first();
$fotoJaminan = null;
return view('lpj::surveyor.components.foto', compact('permohonan', 'surveyor', 'branches', 'provinces', 'fotoJaminan'));
}
@@ -829,11 +872,9 @@ class SurveyorController extends Controller
->with('success', 'created successfully');
} catch (Exeception $e) {
return response()->json(array('error' => $e->getMessage()), 400);
// return redirect()
// ->route('basicdata.' . $type .'.index')
// ->with('error', $th->getMessage());
return redirect()
->route('basicdata.' . $type .'.index')
->with('error', $th->getMessage());
}
}
}
@@ -868,7 +909,7 @@ class SurveyorController extends Controller
$header = $dataMap[$type] ?? '';
$model = $modelClass::findOrFail($id);
$spekKategoriBagunan= null;
$spekKategoriBagunan = null;
if ($type == 'spek-bangunan') {
$spekKategoriBagunan = SpekKategoritBangunan::all();

View File

@@ -38,7 +38,7 @@ class FormSurveyorRequest extends FormRequest
'batas_batas' => 'nullable|array',
'kondisi_linkungan' => 'nullable|array',
'kondisi_lain_bangunan' => 'nullable|array',
'informasi_dokument' => 'nullable|array',
'informasi_dokument' => 'nullable',
'peruntukan' => 'nullable',
'kdb' => 'nullable',
'kdh' => 'nullable',
@@ -48,8 +48,11 @@ class FormSurveyorRequest extends FormRequest
'gss' => 'nullable',
'pelebaran_jalan' => 'nullable',
'nama_petugas' => 'nullable',
'lat' => 'required|numeric',
'lng' => 'required|numeric',
'lat' => 'nullable|numeric',
'lng' => 'nullable|numeric',
'foto_gistaru' => 'nullable',
'foto_bhumi' => 'nullable',
'foto_argis_region' => 'nullable',
'foto_tempat' => 'nullable',
'keterangan' => 'nullable',
];
@@ -76,7 +79,8 @@ class FormSurveyorRequest extends FormRequest
case 'bangunan':
return $this->getTanahBangunanRules();
case 'tanah_bangunan':
return $this->getTanahRules();
return array_merge($this->getAssetDescriptionRules(),$this->getTanahRules(), $this->getBangunanRules(), $this->getLinkunganRules(), $this->getCommonRules());
case 'alat-berat':
return $this->getUnitRules();
default:
@@ -90,10 +94,7 @@ class FormSurveyorRequest extends FormRequest
public function getTanahRules(): array
{
$assetDescriptionRules = $this->getAssetDescriptionRules();
return array_merge($assetDescriptionRules, [
return [
'luas_tanah' => 'required',
'luas_tanah_tidak_sesuai' => 'nullable',
'hadap_mata_angin' => 'required',
@@ -108,7 +109,7 @@ class FormSurveyorRequest extends FormRequest
'tusuk_sate' => 'required',
'lockland' => 'required',
'kondisi_fisik_tanah' => 'required|array',
]);
];
}
/**
@@ -117,7 +118,7 @@ class FormSurveyorRequest extends FormRequest
private function getBangunanRules(): array
{
return [
return [
'action' => 'required',
'luas_tanah_bagunan' => 'required',
'jenis_bangunan' => 'required',
@@ -137,7 +138,7 @@ class FormSurveyorRequest extends FormRequest
*/
private function getUnitRules(): array
{
return array_merge($this->getAssetDescriptionRules(), [
return [
'action' => 'required',
'luas_unit' => 'required',
'luas_unit_tidak_sesuai' => 'nullable',
@@ -147,14 +148,14 @@ class FormSurveyorRequest extends FormRequest
'lantai' => 'required|array',
'view' => 'required|array',
'bentuk_unit' => 'required|array',
]);
];
}
/**
* Get rules specific to Linkungan action.
*/
public function getLinkunganRules(): array
private function getLinkunganRules(): array
{
return [
'action' => 'required',
@@ -242,8 +243,4 @@ class FormSurveyorRequest extends FormRequest
}
}

View File

@@ -1,8 +1,6 @@
{{-- @if ($analisaType == 'tanah_bangunan') --}}
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-body">
<div class="">
<h1 class="text-md font-medium text-gray-900">Analisa Bangunan</h1>
</div>
@@ -13,19 +11,16 @@
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio" class="radio" name="luas_tanah_bagunan" value="sesuai"
{{ old('luas_tanah_bagunan') == 'sesuai' ? 'checked' : '' }}>
{{ old('luas_tanah_bagunan', $forminspeksi['luas_tanah_bagunan'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="luas_tanah_bagunan" value="tidak sesuai"
{{ old('luas_tanah_bagunan') == 'tidak sesuai' ? 'checked' : '' }}>
{{ old('luas_tanah_bagunan', $forminspeksi['luas_tanah_bagunan'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
</div>
@error('luas_tanah_bagunan')
<em class="alert text-danger text-sm"></em>
@enderror
<em id="error-luas_tanah_bagunan" class="alert text-danger text-sm"></em>
</div>
</div>
@@ -39,7 +34,10 @@
@foreach ($jenisBangunan as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}" {{
old('jenis_bangunan') == $item->name || isset($forminspeksi['jenis_bangunan']) == $item->name ? 'checked' : ''
}}/>
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
@@ -56,9 +54,9 @@
@endforeach
@endif
</div>
@error('jenis_bangunan')
<em class="alert text-danger text-sm"></em>
@enderror
<em id="error-jenis_bangunan" class="alert text-danger text-sm"></em>
</div>
</div>
@@ -66,31 +64,30 @@
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi Bangunan</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($kondisiBangunan))
@foreach ($kondisiBangunan as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}" {{ in_array($item->name, old('kondisi_bangunan', $forminspeksi['kondisi_bangunan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="kondisi_bangunan" class="input mt-2" id="bentukTanahInput"
placeholder="Masukkan Kondisi Bangunan...">
</div>
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
value="{{ $item->name }}" {{ in_array($item->name, old('kondisi_bangunan', $forminspeksi['kondisi_bangunan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="kondisi_bangunan_lainnya" class="input mt-2" id="bentukTanahInput"
placeholder="Masukkan Kondisi Bangunan..."
value="{{ old('kondisi_bangunan_lainnya', $forminspeksi['kondisi_bangunan_lainnya'] ?? '') }}">
</div>
@endif
@endforeach
@endif
</div>
<em id="error-kondisi_bangunan" class="alert text-danger text-sm"></em>
<em id="error-kondisi_bangunan" class="alert text-danger text-sm"></em>
</div>
</div>
@@ -98,29 +95,29 @@
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Sifat Bangunan</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($sifatBangunan))
@foreach ($sifatBangunan as $item)
<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">
<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">
<input class="checkbox" name="sifat_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}" {{ in_array($item->name, old('sifat_bangunan', $forminspeksi['sifat_bangunan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="sifat_bangunan_input[]" class="input w-full" id="sifat_bangunan"
placeholder="Masukkan {{ $item->name }}...">
placeholder="Masukkan {{ $item->name }}..."
value="{{ old('sifat_bangunan_input.' . $loop->index, $forminspeksi['sifat_bangunan_input'][$loop->index] ?? '') }}">
</div>
@endforeach
@endif
</div>
<em id="error-sifat_bangunan" class="alert text-danger text-sm"></em>
<em id="error-sifat_bangunan" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Spek Bangunan -->
<div class="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>
@@ -169,37 +166,29 @@
<!-- Sarana pelengkap -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Sarana pelengkap</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($saranaPelengkap))
@foreach ($saranaPelengkap as $item)
<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">
<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">
<input class="checkbox" name="sarana_pelengkap[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}" {{ in_array($item->name, old('sarana_pelengkap', $forminspeksi['sarana_pelengkap'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="sarana_pelengkap_input[]" class="input w-full"
id="bentukTanahInput" placeholder="Masukkan {{ $item->name }}...">
<input type="text" name="sarana_pelengkap_input[]" class="input w-full" id="bentukTanahInput"
placeholder="Masukkan {{ $item->name }}..."
value="{{ old('sarana_pelengkap_input.' . $loop->index, $forminspeksi['sarana_pelengkap_input'][$loop->index] ?? '') }}">
</div>
@endforeach
@endif
</div>
<em id="error-sarana_pelengkap" class="alert text-danger text-sm"></em>
<em id="error-sarana_pelengkap" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
{{-- @endif --}}
@push('scripts')
<script>

View File

@@ -19,15 +19,14 @@
$fotoIds[] = $item->jenis_jaminan_id;
$permohonanFotoId[] = $item->permohonan_id;
}
$perbandingan =
in_array($permohonan->id, $permohonanFotoId) && in_array($dokumen->jenisJaminan->id, $fotoIds);
} elseif (request()->has('form') && request('form') === 'inspeksi' && isset($analisa)) {
$jenisIds = [];
foreach ($analisa as $item) {
$jenisIds[] = $item->jenis_jaminan_id;
}
$perbandingan = isset($analisa) && in_array($dokumen->jenisJaminan->id, $jenisIds);
}
@endphp
@if ($perbandingan)

View File

@@ -8,7 +8,7 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Faktor Positif</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea class="textarea mt-2" name="fakta_positif" rows="3">{{ old('fakta_positif', isset($analisa->analisaFakta) ? $analisa->analisaFakta->fakta_positif : '') }}</textarea>
<textarea class="textarea mt-2" name="fakta_positif[]" rows="3">{{ old('fakta_positif.0', $forminspeksi['fakta_positif'][0] ?? '') }}</textarea>
<em id="error-fakta_positif" class="alert text-danger text-sm"></em>
</div>
@@ -20,7 +20,7 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Faktor Negatif</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea class="textarea mt-2" name="fakta_negatif" rows="3">{{ old('fakta_negatif', isset($analisa->analisaFakta) ? $analisa->analisaFakta->fakta_negatif : '') }}</textarea>
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="3">{{ old('fakta_negatif.0', $forminspeksi['fakta_negatif'][0] ?? '') }}</textarea>
<em id="error-fakta_negatif" class="alert text-danger text-sm"></em>
</div>
<button class="btn btn-primary btn-sm">
@@ -32,7 +32,7 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Rute Menuju</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea class="textarea mt-2" name="rute_menuju" rows="3">{{ old('rute_menuju', isset($analisa->analisaFakta) ? $analisa->analisaFakta->rute_menuju : '') }}</textarea>
<textarea class="textarea mt-2" name="rute_menuju" rows="3">{{ old('rute_menuju.0', $forminspeksi['rute_menuju'][0] ?? '') }}</textarea>
<em id="error-rute_menuju" class="alert text-danger text-sm"></em>
</div>
</div>
@@ -44,25 +44,39 @@
@php
$inputBatas = [];
$inputBatas = [
['label' => 'Utara', 'index' => 0],
['label' => 'Timur', 'index' => 1],
['label' => 'Selatan', 'index' => 2],
['label' => 'Barat', 'index' => 3],
[
'label' => 'Utara',
'index' => 0,
'value' => old('batas_batas.0', $forminspeksi['batas_batas'][0] ?? ''),
],
[
'label' => 'Timur',
'index' => 1,
'value' => $forminspeksi['batas_batas'][1] ?? '',
],
[
'label' => 'Selatan',
'index' => 2,
'value' => $forminspeksi['batas_batas'][2] ?? '',
],
[
'label' => 'Barat',
'index' => 3,
'value' => $forminspeksi['batas_batas'][3] ?? '',
],
];
@endphp
@if ($inputBatas > 0)
@foreach ($inputBatas as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">{{ $item['label'] }}</label>
<input type="text" name="batas_batas" class="input" />
<input type="text" name="batas_batas[]" class="input"
value="{{ $item['value'] }}" />
</div>
@endforeach
@endif
</div>
@error('batas_batas')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
<em id="error-batas_batas" class="alert text-danger text-sm"></em>
</div>
</div>
@@ -70,12 +84,10 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi lain terkait lingkungan</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea class="textarea mt-2" name="kondisi_linkungan" rows="3">{{ old('kondisi_linkungan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->kondisi_linkungan : '') }}</textarea>
<textarea class="textarea mt-2" name="kondisi_linkungan[]" rows="3">{{ old('kondisi_linkungan.0', $forminspeksi['kondisi_linkungan'][0] ?? '') }}</textarea>
<em id="error-kondisi_linkungan" class="alert text-danger text-sm"></em>
@error('kondisi_linkungan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
<button class="btn btn-primary btn-sm mt-5 ">
<i class="ki-outline ki-plus"></i>
@@ -87,10 +99,10 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi lain terkait Bangunan</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea class="textarea mt-2" name="kondisi_lain_bangunan" rows="3">{{ old('kondisi_lain_bangunan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->kondisi_lain_bangunan : '') }}</textarea>
@error('kondisi_lain_bangunan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
<textarea class="textarea mt-2" name="kondisi_lain_bangunan[]" rows="3">{{ old('kondisi_lain_bangunan.0', $forminspeksi['kondisi_lain_bangunan'][0] ?? '') }}</textarea>
<em id="error-kondisi_lain_bangunan" class="alert text-danger text-sm"></em>
</div>
<button class="btn btn-primary btn-sm mt-5 ">
<i class="ki-outline ki-plus"></i>
@@ -100,10 +112,10 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Informasi Terkait Dokumen</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea class="textarea mt-2" name="informasi_dokument" rows="3">{{ old('informasi_dokument', isset($analisa->analisaFakta) ? $analisa->analisaFakta->informasi_dokument : '') }}</textarea>
@error('informasi_dokument')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
<textarea class="textarea mt-2" name="informasi_dokument" rows="3">{{ old('informasi_dokument.0', $forminspeksi['informasi_dokument'][0] ?? '') }}</textarea>
<em id="error-informasi_dokument" class="alert text-danger text-sm"></em>
</div>
<button class="btn btn-primary btn-sm mt-5 ">
<i class="ki-outline ki-plus"></i>
@@ -119,118 +131,98 @@
@if ($analisaType != 'mesin' && $analisaType != 'kapal' && $analisaType != 'kendaraan' && $analisaType != 'pesawat')
<div class="card w-full bg-white">
<div class="card-body">
<div class="py-4">
<h1 class="text-md font-medium text-gray-900">Informasi Dinas Tata Ruang</h1>
</div>
<!-- Informasi Tata Ruang Form -->
<div class="grid gap-5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Peruntukan</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="peruntukan" class="input"
placeholder="Masukkan Peruntukan"
value="{{ old('peruntukan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->peruntukan : '') }}">
@error('peruntukan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">KDB</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="kdb" class="input" placeholder="Masukkan KDB"
value="{{ old('kdb', isset($analisa->analisaFakta) ? $analisa->analisaFakta->kdb : '') }}">
@error('kdb')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
@php
$inputDinasTata = [
[
'label' => 'Peruntukan',
'name' => 'peruntukan',
'index' => 0,
'value' => old(
'peruntukan',
isset($forminspeksi['peruntukan']) ? $forminspeksi['peruntukan'] : '',
),
],
[
'label' => 'KDB',
'name' => 'kdb',
'index' => 1,
'value' => old('kdb', isset($forminspeksi['kdb']) ? $forminspeksi['kdb'] : ''),
],
[
'label' => 'KDH',
'name' => 'kdh',
'index' => 2,
'value' => old('kdh', isset($forminspeksi['kdh']) ? $forminspeksi['kdh'] : ''),
],
[
'label' => 'gsb',
'name' => 'gsb',
'index' => 3,
'value' => old('gsb', isset($forminspeksi['gsb']) ? $forminspeksi['gsb'] : ''),
],
[
'label' => 'Max Lantai',
'name' => 'max_lantai',
'index' => 4,
'value' => old(
'max_lantai',
isset($forminspeksi['max_lantai']) ? $forminspeksi['max_lantai'] : '',
),
],
[
'label' => 'KLB',
'name' => 'klb',
'index' => 5,
'value' => old('klb', isset($forminspeksi['klb']) ? $forminspeksi['klb'] : ''),
],
[
'label' => 'GSS',
'name' => 'gss',
'index' => 6,
'value' => old('gss', isset($forminspeksi['gss']) ? $forminspeksi['gss'] : ''),
],
[
'label' => 'Pelebaran Jalan',
'name' => 'pelebaran_jalan',
'index' => 7,
'value' => old(
'pelebaran_jalan',
isset($forminspeksi['pelebaran_jalan']) ? $forminspeksi['pelebaran_jalan'] : '',
),
],
[
'label' => 'Nama Petugas TK',
'name' => 'nama_petugas',
'index' => 8,
'value' => old(
'nama_petugas',
isset($forminspeksi['nama_petugas']) ? $forminspeksi['nama_petugas'] : '',
),
],
];
@endphp
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">KDH</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="kdh" class="input" placeholder="Masukkan KDH"
value="{{ old('kdh', isset($analisa->analisaFakta) ? $analisa->analisaFakta->kdh : '') }}">
@error('kdh')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">GSB</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="gsb" class="input" placeholder="Masukkan GSB"
value="{{ old('gsb', isset($analisa->analisaFakta) ? $analisa->analisaFakta->gsb : '') }}">
@error('gsb')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Max Lantai</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="max_lantai" class="input"
placeholder="Masukkan Max Lantai"
value="{{ old('max_lantai', isset($analisa->analisaFakta) ? $analisa->analisaFakta->max_lantai : '') }}">
@error('maxLantai')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">KLB</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="klb" class="input" placeholder="Masukkan KLB"
value="{{ old('klb', isset($analisa->analisaFakta) ? $analisa->analisaFakta->klb : '') }}">
@error('klb')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">GSS</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="gss" class="input" placeholder="Masukkan GSS"
value="{{ old('gss', isset($analisa->analisaFakta) ? $analisa->analisaFakta->gss : '') }}">
@error('gss')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Pelebaran Jalan</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="pelebaran_jalan" class="input"
placeholder="Masukkan Pelebaran Jalan"
value="{{ old('pelebaran_jalan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->pelebaran_jalan : '') }}">
@error('pelebaran_jalan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nama Petugas TK</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="nama_petugas" class="input"
placeholder="Masukkan Petugas TK"
value="{{ old('nama_petugas', isset($analisa->analisaFakta) ? $analisa->analisaFakta->nama_petugas : '') }}">
@error('nama_petugas')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
@if (count($inputDinasTata) > 0)
@foreach ($inputDinasTata as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">{{ $item['label'] }}</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="{{ $item['name'] }}" class="input"
placeholder="Masukkan {{ $item['label'] }}" value="{{ $item['value'] }}">
@error($item['name'])
<em class="alert text-danger text-sm"></em>
@enderror
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
@@ -238,23 +230,38 @@
<span class="form-label">Gistaru</span>
</label>
<div class="input-group w-full flex gap-2">
<input class="name_rute" type="hidden" name="name_rute[]" value="rute">
<input id="inputRute" type="file" name="foto_rute"
class="file-input file-input-bordered w-full" accept="image/*">
<input class="name_rute" type="hidden" name="name_rute" value="rute">
<div class="w-full">
<input id="inputGistaru" type="file" name="foto_gistaru"
class="file-input file-input-bordered w-full" accept="image/*"
onchange="previewImage(this, 'gistaru-preview')">
<img id="gistaru-preview"
src="{{ asset('storage/' . (isset($forminspeksi['foto_gistaru']) ? $forminspeksi['foto_gistaru'] : '')) }}"
alt="Foto Gistaru" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_gistaru']) ? '' : 'display: none;' }}">
</div>
<a href="https://gistaru.atrbpn.go.id/rtronline" type="button" class="btn btn-light"
target="_blank">
<i class="ki-outline ki-abstract-33"></i> Gistaru
</a>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
<span class="form-label">Bhumi</span>
</label>
<div class="input-group w-full flex gap-2">
<input class="name_rute" type="hidden" name="name_rute" value="rute">
<input id="inputRute" type="file" name="foto_rute"
class="file-input file-input-bordered w-full" accept="image/*" capture="camera">
<div class="w-full">
<input id="inputBhumi" type="file" name="foto_bhumi"
class="file-input file-input-bordered w-full" accept="image/*"
onchange="previewImage(this, 'bhumi-preview')">
<img id="bhumi-preview"
src="{{ asset('storage/' . (isset($forminspeksi['foto_bhumi']) ? $forminspeksi['foto_bhumi'] : '')) }}"
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_bhumi']) ? '' : 'display: none;' }}">
</div>
<a href="https://bhumi.atrbpn.go.id/peta" type="button" class="btn btn-light"
target="_blank">
<i class="ki-outline ki-abstract-33"></i> Bhumi
@@ -269,11 +276,17 @@
</label>
<div class="input-group w-full flex gap-2">
<input class="name_rute" type="hidden" name="name_rute" value="rute">
<input id="inputRute" type="file" name="foto_rute"
class="file-input file-input-bordered w-full" accept="image/*"
capture="camera">
<a href="{{ $link_url_region->regions->url }}" type="button"
class="btn btn-light" target="_blank">
<div class="w-full">
<input id="inputArgisRegion" type="file" name="foto_argis_region"
class="file-input file-input-bordered w-full" accept="image/*"
onchange="previewImage(this, 'argis-region-preview')">
<img id="argis-region-preview"
src="{{ asset('storage/' . (isset($forminspeksi['foto_argis_region']) ? $forminspeksi['foto_argis_region'] : '')) }}"
alt="Foto Argis Region" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_argis_region']) ? '' : 'display: none;' }}">
</div>
<a href="{{ $link_url_region->regions->url }}" type="button" class="btn btn-light"
target="_blank">
<i class="ki-outline ki-abstract-33"></i>
{{ $link_url_region->regions->name_url }}
</a>
@@ -298,27 +311,18 @@
<!-- Upload Photo Button -->
<div class=" flex w-full mt-2" style="margin-top: 20px">
<div class="flex flex-col input-group w-full">
<div>
@if (old('foto_tempat', isset($analisa->analisaFakta) ? $analisa->analisaFakta->foto_tempat : ''))
<img src="{{ asset('storage/' . old('foto_tempat', $analisa->analisaFakta->foto_tempat)) }}"
alt="Gambar Tempat" style="width: 18rem;">
@endif
</div>
<label for="" class="block text-sm font-medium text-gray-700">Upload Photo</label>
<input class="file-input" name="foto_tempat"
value="{{ old('foto_tempat', isset($analisa->analisaFakta) ? $analisa->analisaFakta->foto_tempat : '') }}"
type="file" accept="image/*" />
@error('foto_tempat')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
<div class="w-full">
<input id="foto_tempat" type="file" name="foto_tempat"
class="file-input file-input-bordered w-full" accept="image/*"
onchange="previewImage(this, 'argis-region-preview')">
<img id="argis-region-preview"
src="{{ asset('storage/' . (isset($forminspeksi['foto_tempat']) ? $forminspeksi['foto_tempat'] : '')) }}"
alt="Foto Argis Region" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_tempat']) ? '' : 'display: none;' }}">
</div>
</div>
</div>
<!-- Notes Section -->
@@ -326,9 +330,22 @@
<div class="bg-white p-6 rounded-lg">
<h4 class="block text-sm font-medium text-gray-700 mt-2">Catatan yang Perlu Diperhatikan
</h4>
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="3">{{ old('keterangan', isset($analisa->analisaFakta) ? $analisa->analisaFakta->keterangan : '') }}</textarea>
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="3">{{ old('keterangan', $forminspeksi['keterangan'] ?? '') }}</textarea>
</div>
</div>
</div>
</div>
@endif
<script>
function previewImage(input, previewId) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#' + previewId).attr('src', e.target.result).show();
}
reader.readAsDataURL(input.files[0]);
} else {
$('#' + previewId).hide();
}
}
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -43,6 +43,7 @@
<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 ">
<input type="text" class="input form-control" name="debitur_perwakilan[]"
value="{{ old('debitur_perwakilan', isset($forminspeksi['debitur_perwakilan']) ? implode(', ', $forminspeksi['debitur_perwakilan']) : '') }}"
placeholder="Masukkan Debitur/Perwakilan" />
<button type="button" class="btn btn-danger btn-outline btn-xs delete-button"
style="display: none">Hapus</button>
@@ -100,23 +101,22 @@
<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">
<input onclick="toggleJenisAsset('jenis_asset')" type="radio" class="radio"
name="jenis_asset" value="sesuai">
name="jenis_asset" value="sesuai" {{ old('jenis_asset', $forminspeksi['jenis_asset'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleJenisAsset('jenis_asset')" type="radio" class="radio"
name="jenis_asset" value="tidak sesuai">
name="jenis_asset" value="tidak sesuai" {{ old('jenis_asset', $forminspeksi['jenis_asset'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
<select id="jenis_asset"
class="input w-full @error('jenis_asset_tidak_sesuai') border-danger bg-danger-light @enderror"
name="jenis_asset_tidak_sesuai" style="display: none;">
class="input w-full @error('jenis_asset_tidak_sesuai') border-danger bg-danger-light @enderror"
name="jenis_asset_tidak_sesuai" style="{{ old('jenis_asset', $forminspeksi['jenis_asset'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
<option value="">Select Jenis asset</option>
@if (isset($arahMataAngin))
@foreach ($arahMataAngin as $item)
<option value="{{ $item->name }}"
{{ old('jenis_asset_tidak_sesuai') == $item->name ? 'selected' : '' }}>
<option value="{{ $item->name }}" {{ old('jenis_asset_tidak_sesuai', $forminspeksi['jenis_asset_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@@ -146,23 +146,21 @@
<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">
<input onclick="toggleTidakSesuai('alamat_sesuai','alamat_tidak_sesuai')" type="radio"
class="radio" name="alamat_sesuai" value="sesuai">
class="radio" name="alamat_sesuai" value="sesuai" {{ old('alamat_sesuai', $forminspeksi['alamat_sesuai'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleTidakSesuai('alamat_sesuai','alamat_tidak_sesuai')" type="radio"
class="radio" name="alamat_sesuai" value="tidak sesuai">
class="radio" name="alamat_sesuai" value="tidak sesuai" {{ old('alamat_sesuai', $forminspeksi['alamat_sesuai'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
<input type="text" name="alamat_tidak_sesuai" id="alamat_tidak_sesuai"
class="input w-full" placeholder="Masukan jenis asset Tanah"
value="{{ old('alamat_tidak_sesuai') }}" style="display: none;">
value="{{ old('alamat_tidak_sesuai', $forminspeksi['alamat_tidak_sesuai'] ?? '') }}" style="{{ old('alamat_sesuai', $forminspeksi['alamat_sesuai'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
</div>
<em id="error-alamat" class="alert text-danger text-sm"></em>
</div>
<div class="grid gap-2 mt-5" >
@php
@@ -173,10 +171,7 @@
'index' => 0,
'name' => 'nama_jalan',
'value' => old(
'lokasi_jalan',
isset($analisa->analisaLingkungan)
? $analisa->analisaLingkungan->lokasi_jalan
: '',
'nama_jalan', isset($forminspeksi['nama_jalan']) ? $forminspeksi['nama_jalan'] : '',
),
],
@@ -185,44 +180,32 @@
'index' => 3,
'name' => 'desa_kelurahan',
'value' => old(
'lokasi_desa_kelurahan',
isset($analisa->analisaLingkungan)
? $analisa->analisaLingkungan->lokasi_desa_kelurahan
: '',
),
'desa_kelurahan', isset($forminspeksi['desa_kelurahan']) ? $forminspeksi['desa_kelurahan'] : '',
)
],
[
'label' => 'Kecamatan',
'index' => 4,
'name' => 'kecamatan',
'value' => old(
'lokasi_kecamatan',
isset($analisa->analisaLingkungan)
? $analisa->analisaLingkungan->lokasi_kecamatan
: '',
),
'kecamatan', isset($forminspeksi['kecamatan']) ? $forminspeksi['kecamatan'] : '',
)
],
[
'label' => 'Kota/Kabupaten',
'index' => 5,
'name' => 'kota_kabupaten',
'value' => old(
'lokasi_kota_kotamadya',
isset($analisa->analisaLingkungan)
? $analisa->analisaLingkungan->lokasi_kota_kotamadya
: '',
),
'kota_kabupaten', isset($forminspeksi['kota_kabupaten']) ? $forminspeksi['kota_kabupaten'] : '',
)
],
[
'label' => 'Provinsi',
'index' => 6,
'name' => 'provinsi',
'value' => old(
'lokasi_provinsi',
isset($analisa->analisaLingkungan)
? $analisa->analisaLingkungan->lokasi_provinsi
: '',
),
'provinsi', isset($forminspeksi['provinsi']) ? $forminspeksi['provinsi'] : '',
)
],
];

View File

@@ -201,81 +201,20 @@
@include('lpj::surveyor.components.fakta')
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
<button type="button" class="btn btn-success" onclick="submitData()">
Save
</button>
<button type="button" class="btn btn-success" id="saveButton" onclick="submitData()">
<span id="saveButtonText">Save</span>
<div class="spinner-border spinner-border-sm text-light" role="status" style="display: none;" id="saveButtonSpinner">
<span class="visually-hidden">Loading...</span>
</div>
</button>
</div>
</form>
{{-- </div>
</div> --}}
</div>
<div class="modal fade" data-modal="true" id="modal" data-backdrop="static" data-keyboard="false">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Kunjungan</h3>
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
<i class="ki-outline ki-cross"></i>
</button>
</div>
<div class="modal-body" id="screenshotContainer" style="height: 500px">
<iframe id="mapFrameGis" style="width: 100%; height: 100%;"></iframe>
</div>
<div class="modal-footer flex justify-end">
<button id="takeScreenshot" class="btn btn-success">Take Screenshot</button>
</div>
</div>
</div>
@endsection
@push('scripts')
<script>
function getMap(params) {
const iframe = document.getElementById('mapFrameGis');
const maps = [
'https://gistaru.atrbpn.go.id/rtronline/',
'https://bhumi.atrbpn.go.id/peta'
];
iframe.src = maps[params];
}
function openModal(type) {
const modalGistaru = document.getElementById('gistaru');
const modalBumi = document.getElementById('bumi');
if (type === 'bumi') {
modalBumi.setAttribute('data-modal-toggle', '#modal');
} else if (type === 'gistaru') {
modalGistaru.setAttribute('data-modal-toggle', '#modal');
}
getMap(type === 'gistaru' ? 0 : 1);
}
document.getElementById('takeScreenshot').addEventListener('click', () => {
const screenshotContainer = document.getElementById('screenshotContainer');
const canvas = document.createElement('canvas');
canvas.width = screenshotContainer.offsetWidth;
canvas.height = screenshotContainer.offsetHeight;
const ctx = canvas.getContext('2d');
ctx.drawImage(document.getElementById('mapFrame'), 0, 0, canvas.width, canvas.height);
const dataURL = canvas.toDataURL('image/jpeg');
// Tampilkan gambar di atas input
const inputRute = document.getElementById('inputRute');
const img = document.createElement('img');
img.src = dataURL;
img.style.maxWidth = '100%';
img.style.maxHeight = '200px';
inputRute.parentNode.insertBefore(img, inputRute);
// Isi input dengan data URL gambar
inputRute.value = dataURL;
});
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
<script>
// Fungsi untuk mengambil lokasi pengguna
function getUserLocation() {
@@ -330,41 +269,50 @@
}
function submitData() {
const formElement = $('#formInspeksi')[0];
const formData = new FormData(formElement);
const formElement = $('#formInspeksi')[0];
const formData = new FormData(formElement);
$.ajax({
url: '{{ route('surveyor.store') }}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
success: function(response) {
// Pastikan respons dari server memiliki atribut 'success'
if (response.success) {
window.location.href =
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=inspeksi';
}
console.log(response);
},
error: function(xhr, status, error) { // Menghapus tanda kurung ganda
let errors = xhr.responseJSON?.errors; // Pastikan xhr.responseJSON ada sebelum akses errors
// Disable the button and show the spinner
$('#saveButton').prop('disabled', true);
$('#saveButtonText').hide();
$('#saveButtonSpinner').show();
$('.alert').text('');
if (errors) {
$.each(errors, function(key, value) {
$(`#error-${key}`).text(value[0]);
});
}
console.error('Terjadi error:', error); // Menampilkan pesan error di konsol
console.log('Status:', status);
console.log('Response:', xhr.responseText);
console.log(errors);
$.ajax({
url: '{{ route('surveyor.store') }}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
success: function(response) {
if (response.success) {
window.location.href =
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=inspeksi';
}
});
}
console.log(response);
},
error: function(xhr, status, error) {
let errors = xhr.responseJSON?.errors;
$('.alert').text('');
if (errors) {
$.each(errors, function(key, value) {
$(`#error-${key}`).text(value[0]);
});
}
console.error('Terjadi error:', error); // Menampilkan pesan error di konsol
console.log('Status:', status);
console.log('Response:', xhr.responseText);
console.log(errors);
},
complete: function() {
// Re-enable the button and hide the spinner
$('#saveButton').prop('disabled', false);
$('#saveButtonText').show();
$('#saveButtonSpinner').hide();
}
});
}
</script>
@endpush

View File

@@ -14,29 +14,30 @@
<label class="block text-sm font-medium text-gray-700">Jarak Dari Jalan
Utama</label>
<input type="text" class="input mt-2" name="jarak_jalan_utama" placeholder="Km"
value="{{ old('jarak_jalan_utama', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->jarak_jalan_utama : '') }}">
value="{{ old('jarak_jalan_utama', isset($forminspeksi['jarak_jalan_utama']) ? $forminspeksi['jarak_jalan_utama'] : '') }}">
</div>
<div>
<label class="block text-sm font-medium text-gray-700">Jalan</label>
<input type="text" name="jalan_linkungan" class="input mt-2" placeholder="Masukkan Nama Jalan"
value="{{ old('jalan_linkungan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->alamat : '') }}">
<input type="text" name="jalan_linkungan" class="input mt-2"
placeholder="Masukkan Nama Jalan"
value="{{ old('jalan_linkungan', isset($forminspeksi['jalan_linkungan']) ? $forminspeksi['jalan_linkungan'] : '') }}">
</div>
<div>
<label class="block text-sm font-medium text-gray-700">Jarak ke CBD Point</label>
<input type="text" class="input mt-2" name="jarak_cbd_point" placeholder="Km"
value="{{ old('jarak_cbd_point', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->jarak_cbd_point : '') }}">
value="{{ old('jarak_cbd_point', isset($forminspeksi['jarak_cbd_point']) ? $forminspeksi['jarak_cbd_point'] : '') }}">
</div>
<div>
<label class="block text-sm font-medium text-gray-700">Nama CBD Point</label>
<input type="text" class="input mt-2" name="nama_cbd_point" placeholder="Km"
value="{{ old('nama_cbd_point', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->jarak_cbd_point : '') }}">
value="{{ old('nama_cbd_point', isset($forminspeksi['nama_cbd_point']) ? $forminspeksi['nama_cbd_point'] : '') }}">
</div>
</div>
<div class="w-full mt-4">
<label class="block text-sm font-medium text-gray-700">Lebar Perkerasan Jalan Depan
objek</label>
<input type="text" name="lebar_perkerasan_jalan" class="input mt-2" placeholder="Meter"
value="{{ old('lebar_perkerasan_jalan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lebar_perkerasan_jalan : '') }}">
value="{{ old('lebar_perkerasan_jalan', isset($forminspeksi['lebar_perkerasan_jalan']) ? $forminspeksi['lebar_perkerasan_jalan'] : '') }}">
</div>
</div>
@@ -47,56 +48,52 @@
@if (isset($perkerasanJalan))
@foreach ($perkerasanJalan as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="perkerasan_jalan" type="checkbox" value="1" />
<input class="checkbox" name="perkerasan_jalan" type="checkbox" value="{{ $item->name }}" />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-perkerasan-jalan" class="alert text-danger text-sm"></em>
<em id="error-perkerasan-jalan" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Lalulintas -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Lalulintas Depan Lokasi</label>
<label class="form-label max-w-56">Lalu Lintas Depan Lokasi</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($laluLintasLokasi))
@foreach ($laluLintasLokasi as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="lalu_lintas" type="checkbox"
value="{{ $item->name }}" />
<input class="checkbox" name="lalu_lintas[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, explode(',', old('lalu_lintas', $forminspeksi['lalu_lintas'] ?? ''))) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-lalu-lintas" class="alert text-danger text-sm"></em>
<em id="error-lalu-lintas" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Golongan Hidup Sekitar -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Golongan Masy Sekitar</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($golMasySekitar))
@foreach ($golMasySekitar as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="gol_mas_sekitar" type="checkbox"
value="{{ $item->name }}" />
<input class="checkbox" name="gol_mas_sekitar[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, explode(',', old('gol_mas_sekitar', $forminspeksi['gol_mas_sekitar'] ?? ''))) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-gol_mas_sekitar" class="alert text-danger text-sm"></em>
<em id="error-gol_mas_sekitar" class="alert text-danger text-sm"></em>
</div>
</div>
@@ -104,20 +101,19 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tingkat Keramaian</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($tingkatKeramaian))
@foreach ($tingkatKeramaian as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="tingkat_keramaian" type="checkbox"
value="{{ $item->name }}" />
<input class="checkbox" name="tingkat_keramaian[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, explode(',', old('tingkat_keramaian', $forminspeksi['tingkat_keramaian'] ?? ''))) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-tingkat_keramaian" class="alert text-danger text-sm"></em>
<em id="error-tingkat_keramaian" class="alert text-danger text-sm"></em>
</div>
</div>
@@ -129,111 +125,55 @@
@if (isset($konturTanah))
@foreach ($konturTanah as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="terletak_diarea" type="checkbox"
value="{{ $item->name }}" />
<input class="checkbox" name="terletak_diarea[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, explode(',', old('terletak_diarea', $forminspeksi['terletak_diarea'] ?? ''))) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-terletak_diarea" class="alert text-danger text-sm"></em>
<em id="error-terletak_diarea" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Struktru tata letak -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Disekitar Lokasi</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-2">
<div class="flex w-full items-center gap-4">
<label class="text-sm flex items-center gap-2.5 text-nowrap">
<input onclick="toggledisekitarLokasi(true)" type="radio" class="radio" name="disekitar_lokasi" value="ya"
{{ old('disekitar_lokasi', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->disekitar_lokasi : '') == 'ya' ? 'checked' : '' }}>
<span class="ml-2">Telah Ada Bangunan</span>
</label>
<div id="disekitarLokasi" class="flex w-full gap-2" style="visibility: hidden; height: 0;">
<select
class="input w-full @error('kondisi_bangunan_sekitar') border-danger bg-danger-light @enderror"
name="kondisi_bangunan_sekitar">
<option value="">Select kondisi bangunan</option>
@if (isset($kondisiBangunan))
@foreach ($kondisiBangunan as $item)
<option value="{{ $item->name }}"
{{ old('kondisi_bangunan_sekitar') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
<!-- Select dropdown untuk "Sesuai" -->
<select
class="input w-full @error('sifat_bangunan_sekitar') border-danger bg-danger-light @enderror"
name="sifat_bangunan_sekitar">
<option value="">Select sifat bangunan</option>
@if (isset($sifatBangunan))
@foreach ($sifatBangunan as $item)
<option value="{{ $item->name }}"
{{ old('sifat_bangunan_sekitar') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
</div>
</div>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggledisekitarLokasi(false)" type="radio" class="radio" name="disekitar_lokasi" value="tidak"
{{ old('disekitar_lokasi', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->disekitar_lokasi : '') == 'tidak' ? 'checked' : '' }}>
<span class="ml-2">Belum Ada Bangunan</span>
</label>
</div>
)
<em id="error-disekitar_lokasi" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Dekat Makam -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Dekat Makamh</label>
<label class="form-label max-w-56">Dekat Makam</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col gap-2 mt-2">
<div class="flex w-full items-center gap-4">
<label class="text-sm flex items-center gap-2.5 text-nowrap">
<input onclick="toggledekatMakam(true)" type="radio" class="radio"
name="dekat_makam" value="ya"
{{ old('dekat_makam', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->dekat_makam : '') == 'ya' ? 'checked' : '' }}>
{{ old('dekat_makam', $forminspeksi['dekat_makam'] ?? '') == 'ya' ? 'checked' : '' }} />
<span class="ml-2">Ya</span>
</label>
<div id="dekat-makam" class="grid grid-cols-2 gap-4"
style="visibility: hidden; height: 0;">
style="{{ old('dekat_makam', $forminspeksi['dekat_makam'] ?? '') == 'ya' ? 'visibility: visible; height: auto;' : 'visibility: hidden; height: 0;' }}">
<div class="flex items-center gap-2">
<label for="">Jarak</label>
<input type="text" class="input mt-2" name="jarak_makam" placeholder="Km">
<input type="text" class="input mt-2" name="jarak_makam"
value="{{ old('jarak_makam', $forminspeksi['jarak_makam'] ?? '') }}"
placeholder="Km">
</div>
<input type="text" class="input mt-2" name="nama_tpu" placeholder="Nama TPU">
<input type="text" class="input mt-2" name="nama_makam"
value="{{ old('nama_makam', $forminspeksi['nama_makam'] ?? '') }}"
placeholder="Nama TPU">
</div>
</div>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggledekatMakam(false)" type="radio" class="radio"
name="dekat_makam" value="tidak"
{{ old('dekat_makam', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->dekat_makam : '') == 'tidak' ? 'checked' : '' }}>
{{ old('dekat_makam', $forminspeksi['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }} />
<span class="ml-2">Tidak</span>
</label>
</div>
@error('dekatMakam')
<em class="alert text-danger text-sm"></em>
@enderror
<em id="error-dekat_makam" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Dekat Tps -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Dekat Tps</label>
<div class="flex flex-wrap items-baseline w-full">
@@ -242,31 +182,35 @@
<label onclick="toggledekatTps(true)"
class="text-sm flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="dekat_tps" value="ya"
{{ old('dekat_tps', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->dekat_tps : '') == 'ya' ? 'checked' : '' }}>
{{ old('dekat_tps', $forminspeksi['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }} />
<span class="ml-2">Ya</span>
</label>
<div id="dekat-tps" class="grid grid-cols-2 gap-4"
style="visibility: hidden; height: 0;">
style="{{ old('dekat_tps', $forminspeksi['dekat_tps'] ?? '') == 'ya' ? 'visibility: visible; height: auto;' : 'visibility: hidden; height: 0;' }}">
<div class="flex items-center gap-2">
<label for="">Jarak</label>
<input type="text" class="input mt-2" name="jarak_tps" placeholder="Km">
<input type="text" class="input mt-2" name="jarak_tps"
value="{{ old('jarak_tps', $forminspeksi['jarak_tps'] ?? '') }}"
placeholder="Km">
</div>
<input type="text" class="input mt-2" name="nama_tpu" placeholder="Nama TPS">
<input type="text" class="input mt-2" name="nama_tps"
value="{{ old('nama_tps', $forminspeksi['nama_tps'] ?? '') }}"
placeholder="Nama TPS">
</div>
</div>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggledekatTps(false)" type="radio" class="radio" name="dekat_tps"
value="tidak"
{{ old('dekat_tps', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->dekat_tps : '') == 'tidak' ? 'checked' : '' }}>
{{ old('dekat_tps', $forminspeksi['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }} />
<span class="ml-2">Tidak</span>
</label>
</div>
<em id="error-dekat_tps" class="alert text-danger text-sm"></em>
<em id="error-dekat_tps" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Merupakan daerah -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Merupakan daerah</label>
<div class="flex flex-wrap items-baseline w-full">
@@ -274,37 +218,53 @@
@if (isset($konturTanah))
@foreach ($konturTanah as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="merupakan_daerah" type="checkbox"
value="{{ $item->name }}" />
<input class="checkbox" name="merupakan_daerah[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, explode(',', old('merupakan_daerah', $forminspeksi['merupakan_daerah'] ?? []))) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-merupakan_daerah" class="alert text-danger text-sm"></em>
<em id="error-merupakan_daerah" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Fasilitas Umum Sekitar -->
<!-- Fasilitas Umum Sekitar -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Fasilitas Umum dekat Object</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($konturTanah))
@foreach ($konturTanah as $item)
@php
$selectedFasilitas = is_array(
old('fasilitas_dekat_object', $forminspeksi['fasilitas_dekat_object'] ?? []),
)
? old('fasilitas_dekat_object', $forminspeksi['fasilitas_dekat_object'] ?? [])
: explode(
',',
old(
'fasilitas_dekat_object',
$forminspeksi['fasilitas_dekat_object'] ?? '',
),
);
@endphp
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="fasilitas_dekat_object" type="checkbox"
value="{{ $item->name }}" />
<input class="checkbox" name="fasilitas_dekat_object[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, $selectedFasilitas) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-fasilitas_dekat_object" class="alert text-danger text-sm"></em>
</div>
<em id="error-fasilitas_dekat_object" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>

View File

@@ -1,4 +1,3 @@
@include('lpj::surveyor.components.header')
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
@@ -27,17 +26,20 @@
<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">
<input type="radio" class="radio" name="luas_tanah" value="sesuai"
onclick="toggleTidakSesuai('luas_tanah', 'luas_tanah_tidak_sesuai')">
onclick="toggleTidakSesuai('luas_tanah', 'luas_tanah_tidak_sesuai')"
{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="luas_tanah" value="tidak sesuai"
onclick="toggleTidakSesuai('luas_tanah', 'luas_tanah_tidak_sesuai')">
onclick="toggleTidakSesuai('luas_tanah', 'luas_tanah_tidak_sesuai')"
{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<input type="text" name="luas_tanah_tidak_sesuai" id="luas_tanah_tidak_sesuai"
class="input w-full" placeholder="Masukan Luas Tanah"
value="{{ old('luas_tanah_tidak_sesuai') }}" style="display: none;">
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['luas_tanah_tidak_sesuai'] ?? '') }}"
style="{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
</div>
<em id="error-luas_tanah" class="alert text-danger text-sm"></em>
</div>
@@ -52,25 +54,28 @@
<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">
<input type="radio" class="radio" name="hadap_mata_angin" value="sesuai"
onclick="toggleTidakSesuai('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai')">
onclick="toggleTidakSesuai('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai')"
{{ old('hadap_mata_angin', $forminspeksi['hadap_mata_angin'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="hadap_mata_angin" value="tidak sesuai"
onclick="toggleTidakSesuai('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai')">
onclick="toggleTidakSesuai('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai')"
{{ old('hadap_mata_angin', $forminspeksi['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
<select id="hadap_mata_angin_tidak_sesuai"
class="input w-full @error('hadap_mata_angin_tidak_sesuai') border-danger bg-danger-light @enderror"
name="hadap_mata_angin_tidak_sesuai" style="display: none;">
class="input w-full @error('hadap_mata_angin_tidak_sesuai') border-danger bg-danger-light @enderror"
name="hadap_mata_angin_tidak_sesuai"
style="{{ old('hadap_mata_angin', $forminspeksi['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
<option value="">Select Hadap Mata Angin</option>
@if (isset($arahMataAngin))
@foreach ($arahMataAngin as $item)
<option value="{{ $item->name }}"
{{ old('hadap_mata_angin_tidak_sesuai') == $item->name ? 'selected' : '' }}>
{{ old('hadap_mata_angin_tidak_sesuai', $forminspeksi['hadap_mata_angin_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@@ -89,25 +94,27 @@
<div class="flex flex-col items-start gap-4">
@if (isset($bentukTanah))
@foreach ($bentukTanah as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="bentuk_tanah[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('bentuk_tanah', [])) ? 'checked' : '' }}
onClick="toggleTidakSesuai('bentuk_tanah', 'bentuk_tanah_lainnya')" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="bentuk_tanah[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}"
{{ in_array($item->name, old('bentuk_tanah', [])) || (isset($forminspeksi['bentuk_tanah']) && in_array($item->name, $forminspeksi['bentuk_tanah'])) ? 'checked' : '' }}
onclick="toggleTidakSesuai('bentuk_tanah', 'bentuk_tanah_lainnya')" />
{{ $item->name }}
</label>
<input id="bentuk_tanah_lainnya" type="text" name="bentuk_tanah_lainnya"
class="input w-full mt-2" id="bentukTanahInput"
placeholder="Masukkan bentuk tanah..."
class="input w-full mt-2" placeholder="Masukkan bentuk tanah..."
onclick="toggleTidakSesuai('bentuk_tanah', 'bentuk_tanah_lainnya')">
</div>
@else
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="bentuk_tanah[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('bentuk_tanah', [])) || (isset($forminspeksi['bentuk_tanah']) && in_array($item->name, $forminspeksi['bentuk_tanah'])) ? 'checked' : '' }}
onclick="toggleTidakSesuai('bentuk_tanah', 'bentuk_tanah_lainnya')" />
{{ $item->name }}
</label>
@endif
@endforeach
@endif
@@ -117,6 +124,7 @@
</div>
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kontur Tanah</label>
<div class="flex-wrap items-stretch">
@@ -126,7 +134,8 @@
@foreach ($konturTanah as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kontur_tanah[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}"
{{ in_array($item->name, old('kontur_tanah', $forminspeksi['kontur_tanah'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@@ -137,6 +146,7 @@
</div>
<!-- Beda Ketinggian Dengan Jalan -->
<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>
@@ -148,7 +158,8 @@
@foreach ($ketinggianTanah as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="ketinggian_jalan[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}"
{{ in_array($item->name, old('ketinggian_jalan', $forminspeksi['ketinggian_jalan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@@ -166,12 +177,12 @@
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
{{ old('kontur_jalan', isset($analisa) && optional($analisa->analisaTanahBangunan)->kontur_jalan) == 'menurun' ? 'checked' : '' }}>
{{ old('kontur_jalan', $forminspeksi['kontur_jalan'] ?? '') == 'menurun' ? 'checked' : '' }}>
<span class="ml-2">Menurun</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="rata"
{{ old('kontur_jalan', isset($analisa) && optional($analisa->analisaTanahBangunan)->kontur_jalan) == 'rata' ? 'checked' : '' }}>
{{ old('kontur_jalan', $forminspeksi['kontur_jalan'] ?? '') == 'rata' ? 'checked' : '' }}>
<span class="ml-2">Rata</span>
</label>
</div>
@@ -179,7 +190,6 @@
</div>
</div>
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Posisi Kavling</label>
<div class="flex-wrap items-stretch">
@@ -188,7 +198,8 @@
@foreach ($posisiKavling as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}"
{{ in_array($item->name, old('posisi_kavling', [])) || (isset($forminspeksi['posisi_kavling']) && in_array($item->name, $forminspeksi['posisi_kavling'])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
@@ -217,12 +228,12 @@
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="tusuk_sate" value="yes"
{{ old('tusuk_sate', isset($analisa) && optional($analisa->analisaTanahBangunan)->tusuk_sate) == 'yes' ? 'checked' : '' }}>
{{ old('tusuk_sate') == 'yes' || (isset($forminspeksi['tusuk_sate']) && $forminspeksi['tusuk_sate'] == 'yes') ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="tusuk_sate" value="no"
{{ old('tusuk_sate', isset($analisa) && optional($analisa->analisaTanahBangunan)->tusuk_sate) == 'no' ? 'checked' : '' }}>
{{ old('tusuk_sate') == 'no' || (isset($forminspeksi['tusuk_sate']) && $forminspeksi['tusuk_sate'] == 'no') ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
</div>
@@ -232,17 +243,17 @@
<!-- Lockland -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Locklande</label>
<label class="form-label max-w-56">Lockland</label>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="lockland" value="yes"
{{ old('lockland', isset($analisa) && optional($analisa->analisaTanahBangunan)->lockland) == 'yes' ? 'checked' : '' }}>
{{ old('lockland') == 'yes' || (isset($forminspeksi['lockland']) && $forminspeksi['lockland'] == 'yes') ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="lockland" value="no"
{{ old('lockland', isset($analisa) && optional($analisa->analisaTanahBangunan)->lockland) == 'no' ? 'checked' : '' }}>
{{ old('lockland') == 'no' || (isset($forminspeksi['lockland']) && $forminspeksi['lockland'] == 'no') ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
</div>
@@ -255,24 +266,24 @@
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi Fisik Tanah</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($kondisiFisikTanah))
@foreach ($kondisiFisikTanah as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
value="{{ $item->name }}" />
value="{{ $item->name }}"
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['kondisi_fisik_tanah'])) ? 'checked' : '' }}
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" />
{{ $item->name }}
</label>
<!-- Display input field only if "lainnya" is selected -->
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="kondisi_fisik_tanah_lainnya" class="input mt-2"
placeholder="Masukkan Kondisi Fisik Tanah...">
<input type="text" name="kondisi_fisik_tanah_lainnya"
id="kondisi_fisik_tanah_lainnya" class="input mt-2"
placeholder="Masukkan Kondisi Fisik Tanah..." style="display: none;"
value="{{ old('kondisi_fisik_tanah_lainnya') }}">
</div>
@endif
@endforeach

View File

@@ -100,7 +100,6 @@
<button type="submit" class="btn btn-primary " {{ $buttonDisable ? 'disabled' : '' }}>
Submit
</button>
</form>
</div>
@endif