update form

This commit is contained in:
majid
2024-11-27 09:08:04 +07:00
parent 107b1ca590
commit b7a60abd3e
11 changed files with 893 additions and 535 deletions

View File

@@ -26,20 +26,23 @@
<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')"
{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'sesuai' ? 'checked' : '' }}>
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
{{ old('luas_tanah', $forminspeksi['tanah']['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')"
{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
{{ old('luas_tanah', $forminspeksi['tanah']['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', $forminspeksi['luas_tanah_tidak_sesuai'] ?? '') }}"
style="{{ old('luas_tanah', $forminspeksi['luas_tanah'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
<div id="luas_tanah_tidak_sesuai" class="flex items-baseline gap-2"
style="{{ old('luas_tanah', $forminspeksi['tanah']['luas_tanah'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
<input type="text" name="luas_tanah_tidak_sesuai" class="input w-full"
placeholder="Masukan Luas Tanah"
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['tanah']['luas_tanah_tidak_sesuai'] ?? '') }}">
<button type="button" class="btn btn-md btn-primary">Save</button>
</div>
</div>
<em id="error-luas_tanah" class="alert text-danger text-sm"></em>
</div>
@@ -54,33 +57,36 @@
<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')"
{{ old('hadap_mata_angin', $forminspeksi['hadap_mata_angin'] ?? '') == 'sesuai' ? 'checked' : '' }}>
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
{{ old('hadap_mata_angin', $forminspeksi['tanah']['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')"
{{ old('hadap_mata_angin', $forminspeksi['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
{{ old('hadap_mata_angin', $forminspeksi['tanah']['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="{{ 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', $forminspeksi['hadap_mata_angin_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
<div id="hadap_mata_angin_tidak_sesuai" class="flex items-baseline gap-2"
style="{{ old('hadap_mata_angin', $forminspeksi['tanah']['hadap_mata_angin'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
<select
class="input w-full
name="hadap_mata_angin_tidak_sesuai">
<option value="">Select Hadap Mata Angin</option>
@if (isset($arahMataAngin))
@foreach ($arahMataAngin as $item)
<option value="{{ $item->name }}"
{{ old('hadap_mata_angin_tidak_sesuai', $forminspeksi['tanah']['hadap_mata_angin_tidak_sesuai'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
<button type="button" class="btn btn-md btn-primary">Save</button>
</div>
</div>
<em id="error-hadap_mata_angin" class="alert text-danger text-sm"></em>
</div>
@@ -88,34 +94,44 @@
<!-- Bentuk Tanah -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Bentuk Tanah</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($bentukTanah))
@foreach ($bentukTanah as $item)
@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 }}"
{{ 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" placeholder="Masukkan bentuk tanah..."
onclick="toggleTidakSesuai('bentuk_tanah', 'bentuk_tanah_lainnya')">
</div>
@else
<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"
<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')" />
{{
in_array($item->name, old('bentuk_tanah', [])) ||
(isset($forminspeksi['tanah']['bentuk_tanah']) &&
is_array($forminspeksi['tanah']['bentuk_tanah']) &&
in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']))
? 'checked'
: ''
}}
onclick="toggleCheckboxVisibility('bentuk_tanah', 'bentuk_tanah_lainnya', ['lainnya'])"
/>
{{ $item->name }}
</label>
@endif
@if (strcasecmp($item->name, 'lainnya') == 0)
<input
id="bentuk_tanah_lainnya"
type="text"
style="display: none;"
name="bentuk_tanah_lainnya"
class="input w-full mt-2"
placeholder="Masukkan bentuk tanah..."
value="{{ old('bentuk_tanah_lainnya', $forminspeksi['tanah']['bentuk_tanah_lainnya'] ?? '') }}"
/>
@endif
</div>
@endforeach
@endif
</div>
@@ -123,19 +139,27 @@
</div>
</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">
<div class="flex flex-col items-start gap-4">
@if (isset($konturTanah))
@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 }}"
{{ in_array($item->name, old('kontur_tanah', isset($forminspeksi['kontur_tanah']) ? $forminspeksi['kontur_tanah'] : [])) ? 'checked' : '' }} />
<input
class="checkbox"
name="kontur_tanah[]"
type="checkbox"
value="{{ $item->name }}"
{{
in_array(
$item->name,
old('kontur_tanah', $forminspeksi['tanah']['kontur_tanah'] ?? [])
)
? 'checked'
: ''
}}
/>
{{ $item->name }}
</label>
@endforeach
@@ -146,22 +170,34 @@
</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>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($ketinggianTanah))
@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 }}"
{{ in_array($item->name, old('ketinggian_jalan', $forminspeksi['ketinggian_jalan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<div class="flex flex-col gap-2">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="ketinggian_jalan[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('ketinggian_jalan', $forminspeksi['tanah']['ketinggian_jalan'] ?? [])) ? 'checked' : '' }}
onclick="toggleMultipleFields('ketinggian_jalan', {
'Lebih Tinggi': 'input-lebih-tinggi',
'Lebih Rendah': 'input-lebih-rendah'
})" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'Lebih Tinggi') == 0)
<input id="input-lebih-tinggi" type="text" style="display: none;"
name="ketinggian_lebih_tinggi" class="input w-full mt-2"
placeholder="m2" />
@elseif (strcasecmp($item->name, 'Lebih Rendah') == 0)
<input id="input-lebih-rendah" type="text" style="display: none;"
name="ketinggian_lebih_rendah" class="input w-full mt-2"
placeholder="m2" />
@endif
</div>
@endforeach
@endif
</div>
@@ -170,6 +206,8 @@
</div>
<!-- Kontur Jalan Depan Objek -->
<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>
@@ -177,12 +215,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', $forminspeksi['kontur_jalan'] ?? '') == 'menurun' ? 'checked' : '' }}>
{{ old('kontur_jalan', $forminspeksi['tanah']['kontur_jalan'] ?? '') == 'menurun' ? 'checked' : '' }}>
<span class="ml-2">Menurun</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="rata"
{{ old('kontur_jalan', $forminspeksi['kontur_jalan'] ?? '') == 'rata' ? 'checked' : '' }}>
{{ old('kontur_jalan', $forminspeksi['tanah']['kontur_jalan'] ?? '') == 'rata' ? 'checked' : '' }}>
<span class="ml-2">Rata</span>
</label>
</div>
@@ -190,29 +228,36 @@
</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">
<div class="flex flex-col items-start gap-4">
@if (isset($posisiKavling))
@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 }}"
{{ 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)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="posisi_kavling_lainnya" class="input mt-2"
id="bentukTanahInput" placeholder="Masukkan Posisi Kavling">
</div>
@endif
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input
class="checkbox"
name="posisi_kavling[]"
type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('posisi_kavling', $forminspeksi['tanah']['posisi_kavling'] ?? [])) ? 'checked' : '' }}
onclick="toggleCheckboxVisibility('posisi_kavling', 'posisi_kavling_lainnya', ['Lainnya'])"
/>
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'Lainnya') == 0)
<input
id="posisi_kavling_lainnya"
type="text"
style="display: none;"
name="posisi_kavling_lainnya"
class="input w-full mt-2"
placeholder="Masukkan Posisi Kavling lainnya..."
/>
@endif
</div>
@endforeach
@endif
</div>
@@ -228,12 +273,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') == 'yes' || (isset($forminspeksi['tusuk_sate']) && $forminspeksi['tusuk_sate'] == 'yes') ? 'checked' : '' }}>
{{ old('tusuk_sate') == 'yes' || (isset($forminspeksi['tanah']['tusuk_sate']) && $forminspeksi['tanah']['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') == 'no' || (isset($forminspeksi['tusuk_sate']) && $forminspeksi['tusuk_sate'] == 'no') ? 'checked' : '' }}>
{{ old('tusuk_sate') == 'no' || (isset($forminspeksi['tanah']['tusuk_sate']) && $forminspeksi['tanah']['tusuk_sate'] == 'no') ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
</div>
@@ -248,12 +293,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="lockland" value="yes"
{{ old('lockland') == 'yes' || (isset($forminspeksi['lockland']) && $forminspeksi['lockland'] == 'yes') ? 'checked' : '' }}>
{{ old('lockland') == 'yes' || (isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['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') == 'no' || (isset($forminspeksi['lockland']) && $forminspeksi['lockland'] == 'no') ? 'checked' : '' }}>
{{ old('lockland') == 'no' || (isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'no') ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
</div>
@@ -262,7 +307,6 @@
</div>
<!-- Kondisi Fisik Tanah -->
<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">
@@ -272,7 +316,7 @@
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
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' : '' }}
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah'])) ? 'checked' : '' }}
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" />
{{ $item->name }}
</label>
@@ -295,54 +339,3 @@
</div>
</div>
</div>
@push('scripts')
<script>
function handleSelectionChange() {
const select = document.getElementById('bentukTanahSelect');
const input = document.getElementById('bentukTanahInput');
if (select.value === 'lainnya') {
input.style.display = 'block';
input.value = ''; // Kosongkan input
input.focus(); // Fokus pada input
} else {
input.style.display = 'none';
input.value = select.value; // Isi input dengan nilai yang dipilih
}
}
function toggleJenisAsset(params) {
const inputData = document.querySelector(`input[name="${params}"]:checked`);
const luasTanah = document.getElementById('jenis_asset');
if (inputData && inputData.value === 'tidak sesuai') {
luasTanah.style.display = 'block';
} else {
luasTanah.style.display = 'none';
}
}
function toggleAlamat(params) {
const inputData = document.querySelector(`input[name="${params}"]:checked`);
const luasTanah = document.getElementById('alamat');
if (inputData && inputData.value === 'tidak sesuai') {
luasTanah.style.display = 'block';
} else {
luasTanah.style.display = 'none';
}
}
function toggleTidakSesuaiHadap(showSelect) {
const selectElement = document.getElementById('selectTidakSesuai');
selectElement.style.display = showSelect ? 'block' : 'none';
}
</script>
@endpush