Update Praktik Budidaya

This commit is contained in:
2026-07-10 02:48:23 +07:00
parent 79f6426125
commit 26f6e83328
4 changed files with 169 additions and 66 deletions
@@ -705,24 +705,46 @@
@error('metode_paling_sering_dilakukan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
<div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="volume-obat-obatan-permusim">
Volume Obat-Obatan Permusim<span class="text-danger">*</span>
<label class="form-label" for="volume-obat-obatan-padat">
Volume Obat-Obatan Padat Permusim<span class="text-danger">*</span>
</label>
<div class="input-group">
<input
type="number"
class="form-control @error('volume_obat_obatan_permusim') is-invalid @enderror"
id="volume-obat-obatan-permusim"
name="volume_obat_obatan_permusim"
value="{{ old('volume_obat_obatan_permusim', $praktikBudidaya->volume_obat_obatan_permusim) }}"
class="form-control @error('volume_obat_obatan_padat') is-invalid @enderror"
id="volume-obat-obatan-padat"
name="volume_obat_obatan_padat"
value="{{ old('volume_obat_obatan_padat', $praktikBudidaya->volume_obat_obatan_padat_permusim) }}"
step="0.01"
min="0">
<span class="input-group-text">Kg</span>
</div>
@error('volume_obat_obatan_permusim')
@error('volume_obat_obatan_padat')
<div class="invalid-feedback d-block">{{ $message }}</div>
@enderror
</div>
<div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="volume-obat-obatan-cair">
Volume Obat-Obatan Cair Permusim<span class="text-danger">*</span>
</label>
<div class="input-group">
<input
type="number"
class="form-control @error('volume_obat_obatan_cair') is-invalid @enderror"
id="volume-obat-obatan-cair"
name="volume_obat_obatan_cair"
value="{{ old('volume_obat_obatan_cair', $praktikBudidaya->volume_obat_obatan_cair_permusim) }}"
step="0.01"
min="0">
<span class="input-group-text">Lt</span>
</div>
@error('volume_obat_obatan_cair')
<div class="invalid-feedback d-block">{{ $message }}</div>
@enderror
</div>
@@ -787,49 +809,52 @@
<div class="col-md-4 mb-4 form-control-validation">
<label class="form-label d-block fw-medium">Sumber Air<span class="text-danger">*</span></label>
<div class="form-check mt-2">
<div class="form-check">
<input class="form-check-input @error('sumber_air') is-invalid @enderror"
type="radio"
name="sumber_air"
type="checkbox"
name="sumber_air[]"
value="Sungai/mata air"
id="sumber-air-sungai"
{{ old('sumber_air', $praktikBudidaya->sumber_air) == 'Sungai/mata air' ? 'checked' : '' }}>
<label class="form-check-label" for="cara-ditabur">Sungai/mata air</label>
id="teknik-pemangkasan-kebiasaan"
{{ in_array('Sungai/mata air', old('sumber_air', $praktikBudidaya->sumber_air ?? [])) ? 'checked' : '' }}>
<label class="form-check-label" for="sumber_air">Sungai/mata air</label>
</div>
<div class="form-check mt-2">
<div class="form-check">
<input class="form-check-input @error('sumber_air') is-invalid @enderror"
type="radio"
name="sumber_air"
type="checkbox"
name="sumber_air[]"
value="Sumur"
id="sumber-air-sumur"
{{ old('sumber_air', $praktikBudidaya->sumber_air) == 'Sumur' ? 'checked' : '' }}>
<label class="form-check-label" for="cara-ditabur">Sumur</label>
</div>
<div class="form-check mt-2">
<input class="form-check-input @error('sumber_air') is-invalid @enderror"
type="radio"
name="sumber_air"
value="Mengandalkan hujan saja"
id="sumber-air-hujan"
{{ old('sumber_air', $praktikBudidaya->sumber_air) == 'Mengandalkan hujan saja' ? 'checked' : '' }}>
<label class="form-check-label" for="cara-ditabur">Mengandalkan hujan saja</label>
id="teknik-pemangkasan-kebiasaan"
{{ in_array('Sumur', old('sumber_air', $praktikBudidaya->sumber_air ?? [])) ? 'checked' : '' }}>
<label class="form-check-label" for="sumber_air">Sumur</label>
</div>
<div class="form-check">
<input class="form-check-input @error('sumber_air') is-invalid @enderror"
type="checkbox"
name="sumber_air[]"
value="Mengandalkan hujan saja"
id="teknik-pemangkasan-kebiasaan"
{{ in_array('Mengandalkan hujan saja', old('sumber_air', $praktikBudidaya->sumber_air ?? [])) ? 'checked' : '' }}>
<label class="form-check-label" for="sumber_air">Mengandalkan hujan saja</label>
</div>
<div class="form-check d-flex align-items-center gap-2 mt-1">
<input class="form-check-input lainnya-radio @error('sumber_air') is-invalid @enderror"
type="radio"
name="sumber_air"
value="Lainnya"
<input
class="form-check-input lainnya-checkbox @error('sumber_air') is-invalid @enderror"
type="checkbox"
name="sumber_air[]"
value="Lainnya"
id="sumber-air-lainnya"
data-target="#input-sumber-air"
{{ old('sumber_air', $sumberAirLainnya) ? 'checked' : '' }}>
<label class="form-check-label text-nowrap" for="cara-lainnya">Lainnya:</label>
<input type="text"
id="input-sumber-air"
data-target="#input-sumber-air-lainnya"
{{ old('sumber_air_lainnya', $sumberAirLainnya) ? 'checked' : '' }}>
<label class="form-check-label text-nowrap" for="sumber_air_lainnya">
Lainnya:
</label>
<input
type="text"
id="input-sumber-air-lainnya"
name="sumber_air_lainnya"
class="form-control form-control-sm w-50"
value="{{ old('sumber_air_lainnya', $sumberAirLainnya ?? '') }}"
@@ -841,7 +866,7 @@
@enderror
</div>
<div class="col-md-4 mb-4 form-control-validation">
<label class="form-label d-block fw-medium">Sistem Irigasi<span class="text-danger">*</span></label>
<label class="form-label d-block fw-medium">Pemilik Sistem Irigasi<span class="text-danger">*</span></label>
<div class="form-check mt-2">
<input class="form-check-input @error('sistem_irigasi') is-invalid @enderror"
@@ -921,12 +946,30 @@
</div>
</div>
<h5 class="pb-4 border-bottom mb-4">Praktik Konservasi Tanah</h5>
<div class="row">
<div class="row">
@php
$valueTidakAdaKonservasi = 'Tidak ada yang seperti itu di kebun saya';
$kebiasaanKonservasi = old(
'kebiasaan_konservasi_tanah',
$praktikBudidaya->kebiasaan_konservasi_tanah ?? []
);
if (is_string($kebiasaanKonservasi)) {
$kebiasaanKonservasi = json_decode($kebiasaanKonservasi, true) ?? [];
}
$adaPilihanKonservasi = collect($kebiasaanKonservasi)
->filter(fn ($item) => $item !== $valueTidakAdaKonservasi)
->isNotEmpty();
$tidakAdaKonservasi = in_array($valueTidakAdaKonservasi, $kebiasaanKonservasi);
@endphp
<div class="col-md-4 mb-4 form-control-validation">
<label class="form-label d-block fw-medium">Kebiasaan Konservasi Tanah<span class="text-danger">*</span></label>
<div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
<input class="form-check-input konservasi-tanah-checkbox @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox"
name="kebiasaan_konservasi_tanah[]"
value="Membuat pematang atau tanggul tanah di lahan miring supaya tanah tidak longsor ke bawah"
@@ -936,7 +979,7 @@
</div>
<div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
<input class="form-check-input konservasi-tanah-checkbox @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox"
name="kebiasaan_konservasi_tanah[]"
value="Menumpuk daun kering/sisa tanaman di sekitar pohon"
@@ -946,7 +989,7 @@
</div>
<div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
<input class="form-check-input konservasi-tanah-checkbox @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox"
name="kebiasaan_konservasi_tanah[]"
value="Menanam tanaman lain di sela-sela komoditas utama untuk menutupi tanah"
@@ -956,7 +999,7 @@
</div>
<div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
<input class="form-check-input konservasi-tanah-checkbox @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox"
name="kebiasaan_konservasi_tanah[]"
value="Membuat lubang atau parit kecil untuk menampung air hujan"
@@ -966,19 +1009,20 @@
</div>
<div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox"
name="kebiasaan_konservasi_tanah[]"
value="Tidak ada yang seperti itu di kebun saya"
id="konservasi-tanah-tiak-ada"
{{ in_array('Tidak ada yang seperti itu di kebun saya', old('kebiasaan_konservasi_tanah', $praktikBudidaya->kebiasaan_konservasi_tanah ?? [])) ? 'checked' : '' }}>
<label class="form-check-label" for="konservasi_tanah_tidak_ada">Tidak ada yang seperti itu di kebun saya</label>
<input
class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox"
name="kebiasaan_konservasi_tanah[]"
value="Tidak ada yang seperti itu di kebun saya"
id="konservasi-tanah-tidak-ada"
{{ $tidakAdaKonservasi ? 'checked' : '' }}>
<label class="form-check-label" for="konservasi-tanah-tidak-ada">Tidak ada yang seperti itu di kebun saya</label>
</div>
@error('kebiasaan_konservasi_tanah')
<div class="error invalid-feedback d-block">{{ $message }}</div>
@enderror
</div>
<div class="col-md-4 mb-4 form-control-validation">
<div class="col-md-4 mb-4 form-control-validation {{ $adaPilihanKonservasi ? '' : 'd-none' }}" id="pemahaman-konservasi-wrapper"">
<label class="form-label" for="pemahaman_manfaat_konservasi">Pemahaman Manfaat Konservasi<span class="text-danger">*</span></label>
<select class="form-control @error('pemahaman_manfaat_konservasi') is-invalid @enderror" id="pemahaman-manfaat-konservasi" name="pemahaman_manfaat_konservasi">
<option value="">Pilih Pemahaman</option>
@@ -1485,7 +1529,8 @@
id="total-estimasi-biaya-panen"
name="total_estimasi_biaya_panen"
value="{{ old('total_estimasi_biaya_panen', filled($surveyPanen?->total_estimasi_biaya_panen) ? number_format($surveyPanen?->total_estimasi_biaya_panen, 0, ',', '.') : '' ) }}"
placeholder="Contoh: 150.000">
placeholder="Otomatis terhitung"
readonly>
</div>
@error('total_estimasi_biaya_panen')
<div class="invalid-feedback d-block">{{ $message }}</div>
@@ -1860,6 +1905,12 @@
const hasilPanenDisimpan = document.getElementById('hasil-panen-disimpan');
const tujuanDisimpan = document.getElementById('tujuan-disimpan');
const checkboxTidakAda = document.getElementById('konservasi-tanah-tidak-ada');
const checkboxLainnya = document.querySelectorAll('.konservasi-tanah-checkbox');
const pemahamanWrapper = document.getElementById('pemahaman-konservasi-wrapper');
const pemahamanSelect = document.getElementById('pemahaman-manfaat-konservasi');
function toggleDetailDisimpan() {
const isChecked = switchInput.checked;
@@ -1883,8 +1934,48 @@
}
}
function adaPilihanLainYangDicentang() {
return Array.from(checkboxLainnya).some(function (checkbox) {
return checkbox.checked;
});
}
function togglePemahamanKonservasi() {
const adaPilihanLain = adaPilihanLainYangDicentang();
if (adaPilihanLain) {
pemahamanWrapper.classList.remove('d-none');
pemahamanSelect.disabled = false;
} else {
pemahamanWrapper.classList.add('d-none');
pemahamanSelect.disabled = true;
pemahamanSelect.value = '';
}
}
switchInput.addEventListener('change', toggleDetailDisimpan);
checkboxTidakAda.addEventListener('change', function () {
if (this.checked) {
checkboxLainnya.forEach(function (checkbox) {
checkbox.checked = false;
});
}
togglePemahamanKonservasi();
});
checkboxLainnya.forEach(function (checkbox) {
checkbox.addEventListener('change', function () {
if (this.checked) {
checkboxTidakAda.checked = false;
}
togglePemahamanKonservasi();
});
});
togglePemahamanKonservasi();
toggleDetailDisimpan();
});
</script>