Update Praktik Budidaya

This commit is contained in:
2026-07-08 22:24:23 +07:00
parent 6559a97f43
commit 2152079b26
3 changed files with 113 additions and 36 deletions
@@ -93,11 +93,12 @@
</div>
<div class="form-check d-flex align-items-center gap-2 mt-1">
<input
class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
class="form-check-input lainnya-checkbox @error('teknik_pemangkasan') is-invalid @enderror"
type="checkbox"
name="teknik_pemangkasan[]"
value="Lainnya"
id="teknik-pemangkasan-lainnya">
id="teknik-pemangkasan-lainnya"
data-target="#input-teknik-pemangkasan-lainnya">
<label class="form-check-label text-nowrap" for="teknik-pemangkasan-lainnya">Lainnya:</label>
<input type="text" name="teknik_pemangkasan_lainnya" id="input-teknik-pemangkasan-lainnya" class="form-control form-control-sm w-50" value="{{ old('teknik_pemangkasan_lainnya', $teknikPemangkasanLainnya) }}" placeholder="Sebutkan jenis pemangkasan lain...">
</div>
@@ -167,16 +168,18 @@
</div>
<div class="form-check d-flex align-items-center gap-2 mt-1">
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
<input class="form-check-input lainnya-radio @error('alasan_tidak_penyerbukan') is-invalid @enderror"
type="radio"
name="alasan_tidak_penyerbukan"
value="lainnya"
id="alasan-lainnya"
data-target="#input-alasan-lainnya"
{{ old('alasan_tidak_penyerbukan', $alasanTidakPenyerbukanLainnya) ? 'checked' : '' }}>
<label class="form-check-label text-nowrap" for="alasan-lainnya">Lainnya:</label>
<input type="text"
id="input-alasan-lainnya"
name="alasan_tidak_penyerbukan_lainnya"
class="form-control form-control-sm w-50"
value="{{ old('alasan_tidak_penyerbukan_lainnya', $alasanTidakPenyerbukanLainnya ?? '') }}"
@@ -285,16 +288,18 @@
</div>
<div class="form-check d-flex align-items-center gap-2 mt-1">
<input class="form-check-input @error('frekuensi_pemupukan') is-invalid @enderror"
<input class="form-check-input lainnya-radio @error('frekuensi_pemupukan') is-invalid @enderror"
type="radio"
name="frekuensi_pemupukan"
value="Lainnya"
id="frekuensi-pemupukan-lainnya"
data-target="#input-frekuensi-pemupukan-lainnya"
{{ old('frekuensi_pemupukan', $frekuensiPemupukanLainnya) ? 'checked' : '' }}>
<label class="form-check-label text-nowrap" for="frekuensi-pemupukan-lainnya">Berapa kali:</label>
<input type="text"
id="input-frekuensi-pemupukan-lainnya"
name="frekuensi_pemupukan_lainnya"
class="form-control form-control-sm w-50"
value="{{ old('frekuensi_pemupukan_lainnya', $frekuensiPemupukanLainnya ?? '') }}"
@@ -404,16 +409,18 @@
</div>
<div class="form-check d-flex align-items-center gap-2 mt-1">
<input class="form-check-input @error('waktu_pemberian_pupuk') is-invalid @enderror"
<input class="form-check-input lainnya-radio @error('waktu_pemberian_pupuk') is-invalid @enderror"
type="radio"
name="waktu_pemberian_pupuk"
value="lainnya"
id="alasan-lainnya"
data-target="#input-waktu-lainnya"
{{ old('waktu_pemberian_pupuk', $waktuPemberianPupukLainnya) ? 'checked' : '' }}>
<label class="form-check-label text-nowrap" for="alasan-lainnya">Lainnya:</label>
<input type="text"
<input type="text"
id="input-waktu-lainnya"
name="waktu_pemberian_pupuk_lainnya"
class="form-control form-control-sm w-50"
value="{{ old('waktu_pemberian_pupuk_lainnya', $waktuPemberianPupukLainnya) }}"
@@ -468,16 +475,18 @@
</div>
<div class="form-check d-flex align-items-center gap-2 mt-1">
<input class="form-check-input @error('cara_pemberian_pupuk') is-invalid @enderror"
<input class="form-check-input lainnya-radio @error('cara_pemberian_pupuk') is-invalid @enderror"
type="radio"
name="cara_pemberian_pupuk"
value="lainnya"
value="Lainnya"
id="cara-lainnya"
data-target="#input-cara-pemberian-pupuk-lainnya"
{{ old('cara_pemberian_pupuk', $caraPemberianPupukLainnya) ? 'checked' : '' }}>
<label class="form-check-label text-nowrap" for="cara-lainnya">Lainnya:</label>
<input type="text"
id="input-cara-pemberian-pupuk-lainnya"
name="cara_pemberian_pupuk_lainnya"
class="form-control form-control-sm w-50"
value="{{ old('cara_pemberian_pupuk_lainnya', $caraPemberianPupukLainnya ?? '') }}"
@@ -561,5 +570,72 @@
}
});
});
document.addEventListener('DOMContentLoaded', function () {
function toggleInput(trigger) {
const target = document.querySelector(trigger.dataset.target);
if (!target) return;
if (trigger.type === 'checkbox') {
target.disabled = !trigger.checked;
if (!trigger.checked) {
target.value = '';
}
} else if (trigger.type === 'radio') {
const radios = document.querySelectorAll(
`input[name="${trigger.name}"].lainnya-radio`
);
radios.forEach(radio => {
const input = document.querySelector(radio.dataset.target);
if (!input) return;
input.disabled = !radio.checked;
if (!radio.checked) {
input.value = '';
}
});
}
}
document.querySelectorAll('input[type="radio"][data-target]').forEach(function (lainnyaRadio) {
const target = document.querySelector(lainnyaRadio.dataset.target);
function toggleInput() {
target.disabled = !lainnyaRadio.checked;
if (!lainnyaRadio.checked) {
target.value = '';
}
}
document.querySelectorAll(`input[name="${lainnyaRadio.name}"]`).forEach(function (radio) {
radio.addEventListener('change', toggleInput);
});
toggleInput();
});
document.querySelectorAll('.lainnya-checkbox').forEach(function (trigger) {
const target = document.querySelector(trigger.dataset.target);
if (!target) return;
function toggleInput() {
target.disabled = !trigger.checked;
if (!trigger.checked) {
target.value = '';
}
}
trigger.addEventListener('change', toggleInput);
toggleInput();
});
});
</script>
@endpush
@@ -1150,7 +1150,7 @@
<option value="">Pilih Dasar</option>
@foreach (DasarPenentuanPanen::options() as $option)
<option value="{{ $option['value'] }}"
{{ old('dasar_penentuan_panen', $surveyPanen->dasar_penentuan_panen) == $option['value'] ? 'selected' : '' }}>
{{ old('dasar_penentuan_panen', $surveyPanen?->dasar_penentuan_panen) == $option['value'] ? 'selected' : '' }}>
{{ $option['label'] }}
</option>
@endforeach
@@ -1170,7 +1170,7 @@
class="form-control @error('frekuensi_panen_pertahun') is-invalid @enderror"
id="frekuensi-panen-pertahun"
name="frekuensi_panen_pertahun"
value="{{ old('frekuensi_panen_pertahun', $surveyPanen->frekuensi_panen_pertahun) }}"
value="{{ old('frekuensi_panen_pertahun', $surveyPanen?->frekuensi_panen_pertahun) }}"
step="0.01"
min="0">
<span class="input-group-text">Panen/Tahun</span>
@@ -1187,7 +1187,7 @@
<option value="">Pilih Bulan</option>
@foreach (Bulan::options() as $option)
<option value="{{ $option['value'] }}"
{{ old('bulan_panen_utama', $surveyPanen->bulan_panen_utama) == $option['value'] ? 'selected' : '' }}>
{{ old('bulan_panen_utama', $surveyPanen?->bulan_panen_utama) == $option['value'] ? 'selected' : '' }}>
{{ $option['label'] }}
</option>
@endforeach
@@ -1210,7 +1210,7 @@
class="form-control @error('hasil_komoditas_utama_permusim') is-invalid @enderror"
id="hasil-komoditas-utama-permusim"
name="hasil_komoditas_utama_permusim"
value="{{ old('hasil_komoditas_utama_permusim', $surveyPanen->hasil_komoditas_utama_permusim) }}"
value="{{ old('hasil_komoditas_utama_permusim', $surveyPanen?->hasil_komoditas_utama_permusim) }}"
step="0.01"
min="0">
<span class="input-group-text">Kg/Musim</span>
@@ -1230,7 +1230,7 @@
class="form-control @error('hasil_komoditas_lainnya_permusim') is-invalid @enderror"
id="hasil-komoditas-lainnya-permusim"
name="hasil_komoditas_lainnya_permusim"
value="{{ old('hasil_komoditas_lainnya_permusim', $surveyPanen->hasil_komoditas_lainnya_permusim) }}"
value="{{ old('hasil_komoditas_lainnya_permusim', $surveyPanen?->hasil_komoditas_lainnya_permusim) }}"
step="0.01"
min="0">
<span class="input-group-text">Kg/Musim</span>
@@ -1250,7 +1250,7 @@
class="switch-input"
name="disimpan_untuk_sendiri"
value="1"
{{ old('disimpan_untuk_sendiri', $surveyPanen->disimpan_untuk_sendiri) ? 'checked' : '' }}>
{{ old('disimpan_untuk_sendiri', $surveyPanen?->disimpan_untuk_sendiri) ? 'checked' : '' }}>
<span class="switch-toggle-slider">
<span class="switch-on">
@@ -1278,7 +1278,7 @@
class="form-control @error('hasil_panen_disimpan') is-invalid @enderror"
id="hasil-panen-disimpan"
name="hasil_panen_disimpan"
value="{{ old('hasil_panen_disimpan', $surveyPanen->hasil_panen_disimpan) }}"
value="{{ old('hasil_panen_disimpan', $surveyPanen?->hasil_panen_disimpan) }}"
step="0.01"
min="0">
<span class="input-group-text">Kg/Musim</span>
@@ -1290,7 +1290,7 @@
</div>
<div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="tujuan_disimpan">Tujuan Disimpan<span class="text-danger">*</span></label>
<input class="form-control @error('tujuan_disimpan') is-invalid @enderror" id="tujuan-disimpan" name="tujuan_disimpan" value="{{ old('tujuan_disimpan', $surveyPanen->tujuan_disimpan) }}">
<input class="form-control @error('tujuan_disimpan') is-invalid @enderror" id="tujuan-disimpan" name="tujuan_disimpan" value="{{ old('tujuan_disimpan', $surveyPanen?->tujuan_disimpan) }}">
@error('tujuan_disimpan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
@@ -1316,7 +1316,7 @@
<option value="">Pilih Praktik</option>
@foreach (PraktikSortasi::options() as $option)
<option value="{{ $option['value'] }}"
{{ old('praktik_sortasi', $surveyPanen->praktik_sortasi) == $option['value'] ? 'selected' : '' }}>
{{ old('praktik_sortasi', $surveyPanen?->praktik_sortasi) == $option['value'] ? 'selected' : '' }}>
{{ $option['label'] }}
</option>
@endforeach
@@ -1329,7 +1329,7 @@
<option value="">Pilih Bentuk</option>
@foreach (CaraSortasi::options() as $option)
<option value="{{ $option['value'] }}"
{{ old('bentuk_sortasi', $surveyPanen->bentuk_sortasi) == $option['value'] ? 'selected' : '' }}>
{{ old('bentuk_sortasi', $surveyPanen?->bentuk_sortasi) == $option['value'] ? 'selected' : '' }}>
{{ $option['label'] }}
</option>
@endforeach
@@ -1345,7 +1345,7 @@
<option value="">Pilih tingkat hasil panen</option>
@foreach (TingkatPanenReject::options() as $option)
<option value="{{ $option['value'] }}"
{{ old('praktik_sortasi', $surveyPanen->praktik_sortasi) == $option['value'] ? 'selected' : '' }}>
{{ old('praktik_sortasi', $surveyPanen?->praktik_sortasi) == $option['value'] ? 'selected' : '' }}>
{{ $option['label'] }}
</option>
@endforeach
@@ -1362,7 +1362,7 @@
class="form-control @error('hasil_panen_reject') is-invalid @enderror"
id="hasil-panen-reject"
name="hasil_panen_reject"
value="{{ old('hasil_panen_reject', $surveyPanen->hasil_panen_reject) }}"
value="{{ old('hasil_panen_reject', $surveyPanen?->hasil_panen_reject) }}"
step="0.01"
min="0">
<span class="input-group-text">Kg/Musim</span>
@@ -1378,7 +1378,7 @@
<option value="">Pilih Tindakan</option>
@foreach (TindakanPanenReject::options() as $option)
<option value="{{ $option['value'] }}"
{{ old('tindakan_hasil_reject', $surveyPanen->tindakan_panen_reject) == $option['value'] ? 'selected' : '' }}>
{{ old('tindakan_hasil_reject', $surveyPanen?->tindakan_panen_reject) == $option['value'] ? 'selected' : '' }}>
{{ $option['label'] }}
</option>
@endforeach
@@ -1394,7 +1394,7 @@
class="form-control rupiah-input @error('upah_tenaga_panen') is-invalid @enderror"
id="upah-tenaga-panen"
name="upah_tenaga_panen"
value="{{ old('upah_tenaga_panen', filled($surveyPanen->upah_tenaga_panen) ? number_format($surveyPanen->upah_tenaga_panen, 0, ',', '.') : '' ) }}"
value="{{ old('upah_tenaga_panen', filled($surveyPanen?->upah_tenaga_panen) ? number_format($surveyPanen?->upah_tenaga_panen, 0, ',', '.') : '' ) }}"
placeholder="Contoh: 150.000">
</div>
@error('upah_tenaga_panen')
@@ -1410,7 +1410,7 @@
class="form-control rupiah-input @error('biaya_pengangkutan') is-invalid @enderror"
id="biaya-pengangkutan"
name="biaya_pengangkutan"
value="{{ old('biaya_pengangkutan', filled($surveyPanen->biaya_pengangkutan_panen) ? number_format($surveyPanen->biaya_pengangkutan_panen, 0, ',', '.') : '' ) }}"
value="{{ old('biaya_pengangkutan', filled($surveyPanen?->biaya_pengangkutan_panen) ? number_format($surveyPanen?->biaya_pengangkutan_panen, 0, ',', '.') : '' ) }}"
placeholder="Contoh: 150.000">
</div>
@error('biaya_pengangkutan')
@@ -1426,7 +1426,7 @@
class="form-control rupiah-input @error('biaya_wadah_kemasan') is-invalid @enderror"
id="biaya-wadah-kemasan"
name="biaya_wadah_kemasan"
value="{{ old('biaya_wadah_kemasan', filled($surveyPanen->biaya_wadah_panen) ? number_format($surveyPanen->biaya_wadah_panen, 0, ',', '.') : '' ) }}"
value="{{ old('biaya_wadah_kemasan', filled($surveyPanen?->biaya_wadah_panen) ? number_format($surveyPanen?->biaya_wadah_panen, 0, ',', '.') : '' ) }}"
placeholder="Contoh: 150.000">
</div>
@error('biaya_wadah_kemasan')
@@ -1442,7 +1442,7 @@
class="form-control rupiah-input @error('biaya_sewa_alat_panen') is-invalid @enderror"
id="biaya-sewa-alat-panen"
name="biaya_sewa_alat_panen"
value="{{ old('biaya_sewa_alat_panen', filled($surveyPanen->biaya_sewa_alat_panen) ? number_format($surveyPanen->biaya_sewa_alat_panen, 0, ',', '.') : '' ) }}"
value="{{ old('biaya_sewa_alat_panen', filled($surveyPanen?->biaya_sewa_alat_panen) ? number_format($surveyPanen?->biaya_sewa_alat_panen, 0, ',', '.') : '' ) }}"
placeholder="Contoh: 150.000">
</div>
@error('biaya_sewa_alat_panen')
@@ -1458,7 +1458,7 @@
class="form-control rupiah-input @error('biaya_sewa_alat_panen') is-invalid @enderror"
id="biaya-panen-lainnya"
name="biaya_panen_lainnya"
value="{{ old('biaya_panen_lainnya', filled($surveyPanen->biaya_panen_lainnya) ? number_format($surveyPanen->biaya_panen_lainnya, 0, ',', '.') : '' ) }}"
value="{{ old('biaya_panen_lainnya', filled($surveyPanen?->biaya_panen_lainnya) ? number_format($surveyPanen?->biaya_panen_lainnya, 0, ',', '.') : '' ) }}"
placeholder="Contoh: 150.000">
</div>
@error('biaya_panen_lainnya')
@@ -1474,7 +1474,7 @@
class="form-control rupiah-input @error('total_estimasi_biaya_panen') is-invalid @enderror"
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, ',', '.') : '' ) }}"
value="{{ old('total_estimasi_biaya_panen', filled($surveyPanen?->total_estimasi_biaya_panen) ? number_format($surveyPanen?->total_estimasi_biaya_panen, 0, ',', '.') : '' ) }}"
placeholder="Contoh: 150.000">
</div>
@error('total_estimasi_biaya_panen')
@@ -1612,7 +1612,7 @@
<option value="">Pilih Kehilangan Hasil</option>
@foreach (EstimasiKehilanganHasil::options() as $option)
<option value="{{ $option['value'] }}"
{{ old('estimasi_kehilangan_akibat_opt', $surveyPanen->estimasi_kehilangan_akibat_opt) == $option['value'] ? 'selected' : '' }}>
{{ old('estimasi_kehilangan_akibat_opt', $surveyPanen?->estimasi_kehilangan_akibat_opt) == $option['value'] ? 'selected' : '' }}>
{{ $option['label'] }}
</option>
@endforeach
@@ -1627,7 +1627,7 @@
<option value="">Pilih Kehilangan Hasil</option>
@foreach (EstimasiKehilanganHasil::options() as $option)
<option value="{{ $option['value'] }}"
{{ old('estimasi_kehilangan_akibat_hama', $surveyPanen->estimasi_kehilangan_akibat_hama_penyakit) == $option['value'] ? 'selected' : '' }}>
{{ old('estimasi_kehilangan_akibat_hama', $surveyPanen?->estimasi_kehilangan_akibat_hama_penyakit) == $option['value'] ? 'selected' : '' }}>
{{ $option['label'] }}
</option>
@endforeach