Perbaiki logika dan format pada komponen tanah

- Menambahkan validasi array pada penghitungan luas tanah.
- Memperbaiki format dan konsistensi kode pada radio button, checkbox, dan input field.
- Mengoptimalkan toggle visibility untuk elemen dinamis (e.g., input "lainnya").
- Menyesuaikan struktur form untuk meningkatkan keterbacaan dan maintainability.
This commit is contained in:
Daeng Deni Mardaeni
2024-12-24 14:36:36 +07:00
parent cf75f63c20
commit baeb38c47d

View File

@@ -1,5 +1,3 @@
<div class="card w-full rounded-lg shadow-md overflow-hidden"> <div class="card w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header"> <div class="card-header">
<h3 class="card-title uppercase"> <h3 class="card-title uppercase">
@@ -16,8 +14,12 @@
@foreach ($permohonan->debiture->documents as $item) @foreach ($permohonan->debiture->documents as $item)
@php @php
$luas = $item->detail; $luas = $item->detail;
if(is_array($luas)){
$details = json_decode($luas[0]->details, true); $details = json_decode($luas[0]->details, true);
$luas_tanah = isset($details['luas']) ? $details['luas'] : 'N/A'; $luas_tanah = isset($details['luas']) ? $details['luas'] : 'N/A';
} else {
$luas_tanah = 'N/A';
}
@endphp @endphp
<input type="hidden" name="luas_tanah_sesuai" class="input" value="{{ $luas_tanah }}"> <input type="hidden" name="luas_tanah_sesuai" class="input" value="{{ $luas_tanah }}">
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p> <p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
@@ -44,7 +46,8 @@
class="input w-full" placeholder="Masukan Luas Tanah" class="input w-full" placeholder="Masukan Luas Tanah"
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}"> value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
<button type="button" class="btn btn-md btn-primary" <button type="button" class="btn btn-md btn-primary"
onclick="updateAnalisa('analisa_tanah')">Save</button> onclick="updateAnalisa('analisa_tanah')">Save
</button>
</div> </div>
</div> </div>
<em id="error-luas_tanah" class="alert text-danger text-sm"></em> <em id="error-luas_tanah" class="alert text-danger text-sm"></em>
@@ -91,7 +94,7 @@
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 <select
class="input w-full class="input w-full
id="hadap_mata_angin_tidak_sesuai" id=" hadap_mata_angin_tidak_sesuai"
name="hadap_mata_angin_tidak_sesuai"> name="hadap_mata_angin_tidak_sesuai">
@php @php
$statusKey = isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai']) $statusKey = isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai'])
@@ -133,7 +136,7 @@
in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah'])) in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']))
? 'checked' ? 'checked'
: '' }} : '' }}
onclick="toggleCheckboxVisibility('bentuk_tanah', 'bentuk_tanah_lainnya', ['lainnya'])" /> onclick="toggleCheckboxVisibility('bentuk_tanah', 'bentuk_tanah_lainnya', ['lainnya'])"/>
{{ $item->name }} {{ $item->name }}
</label> </label>
@if (strcasecmp($item->name, 'lainnya') == 0) @if (strcasecmp($item->name, 'lainnya') == 0)
@@ -141,7 +144,7 @@
style="{{ isset($forminspeksi['tanah']['bentuk_tanah']['lainnya']) && $forminspeksi['tanah']['bentuk_tanah']['lainnya'] ? '' : 'display: none;' }}" 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'] ?? '') }}"/>
@endif @endif
</div> </div>
@endforeach @endforeach
@@ -184,19 +187,19 @@
onclick="toggleMultipleFields('ketinggian_jalan', { onclick="toggleMultipleFields('ketinggian_jalan', {
'Lebih Tinggi': 'input-lebih-tinggi', 'Lebih Tinggi': 'input-lebih-tinggi',
'Lebih Rendah': 'input-lebih-rendah' 'Lebih Rendah': 'input-lebih-rendah'
})" /> })"/>
{{ $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" <input id="input-lebih-tinggi" type="text"
style="{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi']) && $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] ? '' : 'display: none;' }}" style="{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi']) && $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] ? '' : 'display: none;' }}"
name="ketinggian_lebih_tinggi" class="input w-full mt-2" 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'] ?? '') }}" /> 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" <input id="input-lebih-rendah" type="text"
style="{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah']) && $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] ? '' : 'display: none;' }}" style="{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah']) && $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] ? '' : 'display: none;' }}"
name="ketinggian_lebih_rendah" class="input w-full mt-2" 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'] ?? '') }}" /> value="{{ old('ketinggian_lebih_rendah', $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] ?? '') }}"/>
@endif @endif
</div> </div>
@@ -248,7 +251,7 @@
<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, $selectedPosisiKavling) ? '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)
@@ -256,7 +259,7 @@
style="{{ $lainnyaValue ? '' : 'display: none' }}" 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..." placeholder="Masukkan Posisi Kavling lainnya..."
value="{{ $lainnyaValue }}" /> value="{{ $lainnyaValue }}"/>
@endif @endif
</div> </div>
@endforeach @endforeach
@@ -317,7 +320,7 @@
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox" <input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
value="{{ $item->name }}" value="{{ $item->name }}"
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah'])) ? 'checked' : '' }} {{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah'])) ? 'checked' : '' }}
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" /> onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')"/>
{{ $item->name }} {{ $item->name }}
</label> </label>