Update Praktik Budidaya
This commit is contained in:
@@ -70,6 +70,7 @@
|
||||
<script src="{{ asset('assets/vendor/libs/@form-validation/bootstrap5.js') }}"></script>
|
||||
<script src="{{ asset('assets/vendor/libs/@form-validation/auto-focus.js') }}"></script>
|
||||
<script src="{{ asset('assets/vendor/libs/cleave-zen/cleave-zen.js') }}"></script>
|
||||
<script src="{{ asset('assets/vendor/libs/jquery-repeater/jquery-repeater.js') }}"></script>
|
||||
|
||||
<!-- Main JS -->
|
||||
|
||||
|
||||
@@ -561,7 +561,7 @@
|
||||
@error('metode_penanganan_hama_penyakit')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Jenis Hama<span class="text-danger">*</span></label>
|
||||
<label class="form-label d-block fw-medium">Jenis Hama</label>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('jenis_hama') is-invalid @enderror"
|
||||
@@ -617,7 +617,7 @@
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Jenis Penyakit<span class="text-danger">*</span></label>
|
||||
<label class="form-label d-block fw-medium">Jenis Penyakit</label>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('jenis_penyakit') is-invalid @enderror"
|
||||
@@ -926,7 +926,7 @@
|
||||
<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('jenis_hama') is-invalid @enderror"
|
||||
<input class="form-check-input @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 +936,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('jenis_hama') is-invalid @enderror"
|
||||
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="kebiasaan_konservasi_tanah[]"
|
||||
value="Menumpuk daun kering/sisa tanaman di sekitar pohon"
|
||||
@@ -946,7 +946,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('jenis_hama') is-invalid @enderror"
|
||||
<input class="form-check-input @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 +956,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('jenis_hama') is-invalid @enderror"
|
||||
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="kebiasaan_konservasi_tanah[]"
|
||||
value="Membuat lubang atau parit kecil untuk menampung air hujan"
|
||||
@@ -966,7 +966,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('jenis_hama') is-invalid @enderror"
|
||||
<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"
|
||||
@@ -974,7 +974,7 @@
|
||||
{{ 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>
|
||||
</div>
|
||||
@error('jenis_hama')
|
||||
@error('kebiasaan_konservasi_tanah')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
@@ -1066,7 +1066,7 @@
|
||||
class="form-control rupiah-input @error('biaya_pestisida') is-invalid @enderror"
|
||||
id="biaya-pestisida"
|
||||
name="biaya_pestisida"
|
||||
value="{{ old('biaya_pestisida', filled($praktikBudidaya->biaya_pestisida) ? number_format($praktikBudidaya->biaya_pestisida, 0, ',', '.') : '') }}"
|
||||
value="{{ old('biaya_pestisida', filled($praktikBudidaya->biaya_obat_obatan) ? number_format($praktikBudidaya->biaya_obat_obatan, 0, ',', '.') : '') }}"
|
||||
placeholder="Contoh: 150.000">
|
||||
</div>
|
||||
@error('biaya_pestisida')
|
||||
@@ -1135,7 +1135,8 @@
|
||||
id="total-estimasi-biaya-produksi"
|
||||
name="total_estimasi_biaya_produksi"
|
||||
value="{{ old('total_estimasi_biaya_produksi', filled($praktikBudidaya->total_estimasi_biaya_produksi) ? number_format($praktikBudidaya->total_estimasi_biaya_produksi, 0, ',', '.') : '') }}"
|
||||
placeholder="Contoh: 150.000">
|
||||
placeholder="Otomatis terhitung"
|
||||
readonly>
|
||||
</div>
|
||||
@error('total_estimasi_biaya_produksi')
|
||||
<div class="invalid-feedback d-block">{{ $message }}</div>
|
||||
@@ -1240,6 +1241,12 @@
|
||||
<div class="invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
@php
|
||||
$disimpanUntukSendiri = old(
|
||||
'disimpan_untuk_sendiri',
|
||||
$surveyPanen?->disimpan_untuk_sendiri
|
||||
) == 1;
|
||||
@endphp
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block">Disimpan Untuk Diri Sendiri<span class="text-danger">*</span></label>
|
||||
|
||||
@@ -1248,6 +1255,7 @@
|
||||
<input
|
||||
type="checkbox"
|
||||
class="switch-input"
|
||||
id="disimpan-untuk-sendiri"
|
||||
name="disimpan_untuk_sendiri"
|
||||
value="1"
|
||||
{{ old('disimpan_untuk_sendiri', $surveyPanen?->disimpan_untuk_sendiri) ? 'checked' : '' }}>
|
||||
@@ -1262,12 +1270,14 @@
|
||||
</span>
|
||||
|
||||
<span class="switch-label">
|
||||
<span id="switch-text">Tidak, Semua di Jual</span>
|
||||
<span id="switch-text">
|
||||
{{ $disimpanUntukSendiri ? 'Ya, Sebagian Disimpan' : 'Tidak, Semua Dijual' }}
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row{{ $disimpanUntukSendiri ? '' : 'd-none' }}" id="detail-disimpan-wrapper">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="hasil_panen_disimpan">
|
||||
Hasil Panen Disimpan<span class="text-danger">*</span>
|
||||
@@ -1766,6 +1776,116 @@
|
||||
trigger.addEventListener('change', toggleInput);
|
||||
toggleInput();
|
||||
});
|
||||
|
||||
const biayaProduksiFields = [
|
||||
'upah-tenaga-kerja',
|
||||
'biaya-bibit',
|
||||
'biaya-pupuk',
|
||||
'biaya-pestisida',
|
||||
'biaya-sewa-alat',
|
||||
'biaya-penyediaan-air',
|
||||
'biaya-lainnya'
|
||||
];
|
||||
|
||||
const biayaPanenFields = [
|
||||
'upah-tenaga-panen',
|
||||
'biaya-pengangkutan',
|
||||
'biaya-wadah-kemasan',
|
||||
'biaya-sewa-alat-panen',
|
||||
'biaya-panen-lainnya'
|
||||
];
|
||||
|
||||
const totalBiayaProduksiField = document.getElementById('total-estimasi-biaya-produksi');
|
||||
const totalBiayaPanenField = document.getElementById('total-estimasi-biaya-panen');
|
||||
|
||||
function parseRupiah(value) {
|
||||
if (!value) return 0;
|
||||
|
||||
return parseInt(value.replace(/[^0-9]/g, '')) || 0;
|
||||
}
|
||||
|
||||
function formatRupiah(value) {
|
||||
return value.toLocaleString('id-ID');
|
||||
}
|
||||
|
||||
function hitungTotal(fields, totalField) {
|
||||
if (!totalField) return;
|
||||
|
||||
let total = 0;
|
||||
|
||||
fields.forEach(function (id) {
|
||||
const field = document.getElementById(id);
|
||||
|
||||
if (field) {
|
||||
total += parseRupiah(field.value);
|
||||
}
|
||||
});
|
||||
|
||||
totalField.value = total > 0 ? formatRupiah(total) : '';
|
||||
}
|
||||
|
||||
function hitungTotalBiayaProduksi() {
|
||||
hitungTotal(biayaProduksiFields, totalBiayaProduksiField);
|
||||
}
|
||||
|
||||
function hitungTotalBiayaPanen() {
|
||||
hitungTotal(biayaPanenFields, totalBiayaPanenField);
|
||||
}
|
||||
|
||||
biayaProduksiFields.forEach(function (id) {
|
||||
const field = document.getElementById(id);
|
||||
|
||||
if (field) {
|
||||
field.addEventListener('input', hitungTotalBiayaProduksi);
|
||||
field.addEventListener('change', hitungTotalBiayaProduksi);
|
||||
}
|
||||
});
|
||||
|
||||
biayaPanenFields.forEach(function (id) {
|
||||
const field = document.getElementById(id);
|
||||
|
||||
if (field) {
|
||||
field.addEventListener('input', hitungTotalBiayaPanen);
|
||||
field.addEventListener('change', hitungTotalBiayaPanen);
|
||||
}
|
||||
});
|
||||
|
||||
hitungTotalBiayaProduksi();
|
||||
hitungTotalBiayaPanen();
|
||||
|
||||
const switchInput = document.getElementById('disimpan-untuk-sendiri');
|
||||
const switchText = document.getElementById('switch-text');
|
||||
|
||||
const detailWrapper = document.getElementById('detail-disimpan-wrapper');
|
||||
const hasilPanenDisimpan = document.getElementById('hasil-panen-disimpan');
|
||||
const tujuanDisimpan = document.getElementById('tujuan-disimpan');
|
||||
|
||||
function toggleDetailDisimpan() {
|
||||
const isChecked = switchInput.checked;
|
||||
|
||||
if (isChecked) {
|
||||
detailWrapper.classList.remove('d-none');
|
||||
|
||||
hasilPanenDisimpan.disabled = false;
|
||||
tujuanDisimpan.disabled = false;
|
||||
|
||||
switchText.textContent = 'Ya, Sebagian Disimpan';
|
||||
} else {
|
||||
detailWrapper.classList.add('d-none');
|
||||
|
||||
hasilPanenDisimpan.disabled = true;
|
||||
tujuanDisimpan.disabled = true;
|
||||
|
||||
hasilPanenDisimpan.value = '';
|
||||
tujuanDisimpan.value = '';
|
||||
|
||||
switchText.textContent = 'Tidak, Semua Dijual';
|
||||
}
|
||||
}
|
||||
|
||||
switchInput.addEventListener('change', toggleDetailDisimpan);
|
||||
|
||||
toggleDetailDisimpan();
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
|
||||
Reference in New Issue
Block a user