diff --git a/app/Http/Controllers/Web/Produktivitas/PraktikBudidayaController.php b/app/Http/Controllers/Web/Produktivitas/PraktikBudidayaController.php index 262fdce..badb195 100644 --- a/app/Http/Controllers/Web/Produktivitas/PraktikBudidayaController.php +++ b/app/Http/Controllers/Web/Produktivitas/PraktikBudidayaController.php @@ -180,7 +180,7 @@ class PraktikBudidayaController extends Controller $petani = Petani::findOrFail($petaniId); - $praktikBudidaya = $petani->praktik_budidaya()->create([ + $praktikBudidaya = $petani->praktikBudidaya()->create([ 'petani_id' => $petani->id, 'uid' => 'PB-' . strtoupper(Str::random(10)), 'tenaga_kerja' => $validatedData['tenaga_kerja'], @@ -277,7 +277,7 @@ class PraktikBudidayaController extends Controller $alasanTidakPenyerbukanLainnya = collect(explode(', ', $alasanTidakPenyerbukan)) ->first(fn ($item) => !in_array($item, $defaultAlasanTidakPenyerbukan)); - $frekuensiPemupukan = $praktikBudidaya->frekuensi_pemupukan ?? ''; + $frekuensiPemupukan = $praktikBudidaya->frekuensi_pemberian_pupuk ?? ''; $frekuensiPemupukanLainnya = collect(explode(', ', $frekuensiPemupukan)) ->first(fn ($item) => !in_array($item, $defaultFrekuensiPemupukan)); @@ -319,15 +319,15 @@ class PraktikBudidayaController extends Controller 'teknik_pemangkasan' => ['nullable', 'array'], 'teknik_pemangkasan.*' => ['string'], 'teknik_pemangkasan_lainnya' => ['nullable', 'string'], - 'frekuensi_pemangkasan_pohon_penaung' => ['nullable', 'integer', new Enum(FrekuensiPemangkasanPendamping::class)], - 'penyerbukan_manual' => ['nullable', 'integer', new Enum(PenyerbukanManual::class)], + 'frekuensi_pemangkasan_pohon_penaung' => ['nullable', 'string', new Enum(FrekuensiPemangkasanPendamping::class)], + 'penyerbukan_manual' => ['nullable', 'string', new Enum(PenyerbukanManual::class)], 'alasan_tidak_penyerbukan' => ['nullable', 'string'], 'alasan_tidak_penyerbukan_lainnya' => ['nullable', 'string'], 'tingkat_keberhasilan_penyerbukan' => ['nullable', 'string'], // 2.4 Praktik Pemupukan 'pemberian_pupuk' => ['nullable', 'integer', new Enum(PemberianPupuk::class)], - 'jenis_pupuk' => ['nullable', 'integer', new Enum(JenisPupuk::class)], + 'jenis_pupuk' => ['nullable', 'string', new Enum(JenisPupuk::class)], 'frekuensi_pemupukan' => ['nullable', 'string'], 'frekuensi_pemupukan_lainnya' => ['nullable', 'string'], @@ -412,7 +412,6 @@ class PraktikBudidayaController extends Controller 'estimasi_kehilangan_akibat_opt' => ['nullable', 'string', new Enum(EstimasiKehilanganHasil::class)], 'estimasi_kehilangan_akibat_hama' => ['nullable', 'string', new Enum(EstimasiKehilanganHasil::class)], ]); - $dataPraktikBudidaya = []; $dataSurveyPanen = []; @@ -426,11 +425,13 @@ class PraktikBudidayaController extends Controller $teknik_pemangkasan[] = $request->teknik_pemangkasan_lainnya; } } + $teknikPemangkasan = array_values($teknik_pemangkasan); + $dataPraktikBudidaya = [ 'tenaga_kerja' => $validatedData['tenaga_kerja'], 'frekuensi_pemangkasan_utama' => $validatedData['frekuensi_pemangkasan_komoditas_utama'], - 'teknik_pemangkasan' => array_values($teknikPemangkasan), + 'teknik_pemangkasan' => $teknikPemangkasan, 'frekuensi_pemangkasan_penaung' => $validatedData['frekuensi_pemangkasan_pohon_penaung'], 'penyerbukan_manual' => $validatedData['penyerbukan_manual'] ?? null, diff --git a/resources/views/produktivitas/petani/praktik-budidaya/add.blade.php b/resources/views/produktivitas/petani/praktik-budidaya/add.blade.php index 16ab317..a942274 100644 --- a/resources/views/produktivitas/petani/praktik-budidaya/add.blade.php +++ b/resources/views/produktivitas/petani/praktik-budidaya/add.blade.php @@ -93,11 +93,12 @@
+ id="teknik-pemangkasan-lainnya" + data-target="#input-teknik-pemangkasan-lainnya">
@@ -167,16 +168,18 @@
-
-
- -
- { + 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(); + }); + }); @endpush \ No newline at end of file diff --git a/resources/views/produktivitas/petani/praktik-budidaya/edit.blade.php b/resources/views/produktivitas/petani/praktik-budidaya/edit.blade.php index 0d767d9..741734c 100644 --- a/resources/views/produktivitas/petani/praktik-budidaya/edit.blade.php +++ b/resources/views/produktivitas/petani/praktik-budidaya/edit.blade.php @@ -1150,7 +1150,7 @@ @foreach (DasarPenentuanPanen::options() as $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"> Panen/Tahun @@ -1187,7 +1187,7 @@ @foreach (Bulan::options() as $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"> Kg/Musim @@ -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"> Kg/Musim @@ -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' : '' }}> @@ -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"> Kg/Musim @@ -1290,7 +1290,7 @@
- + @error('tujuan_disimpan')
{{ $message }}
@enderror
@@ -1316,7 +1316,7 @@ @foreach (PraktikSortasi::options() as $option) @endforeach @@ -1329,7 +1329,7 @@ @foreach (CaraSortasi::options() as $option) @endforeach @@ -1345,7 +1345,7 @@ @foreach (TingkatPanenReject::options() as $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"> Kg/Musim @@ -1378,7 +1378,7 @@ @foreach (TindakanPanenReject::options() as $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">
@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">
@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"> @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"> @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"> @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"> @error('total_estimasi_biaya_panen') @@ -1612,7 +1612,7 @@ @foreach (EstimasiKehilanganHasil::options() as $option) @endforeach @@ -1627,7 +1627,7 @@ @foreach (EstimasiKehilanganHasil::options() as $option) @endforeach