update field sosial ekonomi
This commit is contained in:
@@ -50,6 +50,11 @@
|
||||
</div>
|
||||
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Pendapatan dari Komoditas Utama</h5>
|
||||
@if($komoditasPetani->isEmpty())
|
||||
<div class="alert alert-warning">
|
||||
Petani ini belum memiliki komoditas pada data lahan. Tambahkan data Lahan & Tanaman terlebih dahulu agar pilihan komoditas tersedia.
|
||||
</div>
|
||||
@endif
|
||||
<div class="table-responsive mb-4">
|
||||
<table class="table table-bordered align-middle">
|
||||
<thead>
|
||||
@@ -62,10 +67,16 @@
|
||||
<tbody>
|
||||
@for($i = 0; $i < 2; $i++)
|
||||
@php($item = $pendapatanKomoditasUtama->get($i))
|
||||
<tr>
|
||||
<tr class="pendapatan-row" data-group="komoditas-utama" data-row-index="{{ $i }}">
|
||||
<td>
|
||||
<input type="hidden" name="pendapatan_komoditas[{{ $i }}][kategori]" value="utama">
|
||||
<input type="text" class="form-control" name="pendapatan_komoditas[{{ $i }}][komoditas]" value="{{ old("pendapatan_komoditas.$i.komoditas", $item?->komoditas) }}">
|
||||
@php($selectedKomoditas = old("pendapatan_komoditas.$i.komoditas", $item?->komoditas))
|
||||
<select class="form-control sosial-ekonomi-komoditas sosial-ekonomi-komoditas-utama pendapatan-trigger" data-kategori="utama" name="pendapatan_komoditas[{{ $i }}][komoditas]">
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditasPetani as $komoditas)
|
||||
<option value="{{ $komoditas->nama }}" {{ $selectedKomoditas === $komoditas->nama ? 'selected' : '' }}>{{ $komoditas->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" min="0" class="form-control" name="pendapatan_komoditas[{{ $i }}][pendapatan]" value="{{ old("pendapatan_komoditas.$i.pendapatan", $item?->pendapatan) }}">
|
||||
@@ -97,10 +108,16 @@
|
||||
@for($i = 0; $i < 2; $i++)
|
||||
@php($item = $pendapatanKomoditasLainnya->get($i))
|
||||
@php($index = $i + 2)
|
||||
<tr>
|
||||
<tr class="pendapatan-row" data-group="komoditas-lainnya" data-row-index="{{ $i }}">
|
||||
<td>
|
||||
<input type="hidden" name="pendapatan_komoditas[{{ $index }}][kategori]" value="lainnya">
|
||||
<input type="text" class="form-control" name="pendapatan_komoditas[{{ $index }}][komoditas]" value="{{ old("pendapatan_komoditas.$index.komoditas", $item?->komoditas) }}">
|
||||
@php($selectedKomoditas = old("pendapatan_komoditas.$index.komoditas", $item?->komoditas))
|
||||
<select class="form-control sosial-ekonomi-komoditas sosial-ekonomi-komoditas-lainnya pendapatan-trigger" data-kategori="lainnya" name="pendapatan_komoditas[{{ $index }}][komoditas]">
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditasPetani as $komoditas)
|
||||
<option value="{{ $komoditas->nama }}" {{ $selectedKomoditas === $komoditas->nama ? 'selected' : '' }}>{{ $komoditas->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" min="0" class="form-control" name="pendapatan_komoditas[{{ $index }}][pendapatan]" value="{{ old("pendapatan_komoditas.$index.pendapatan", $item?->pendapatan) }}">
|
||||
@@ -130,9 +147,9 @@
|
||||
<tbody>
|
||||
@for($i = 0; $i < 2; $i++)
|
||||
@php($item = $pendapatanLuarPertanian->get($i))
|
||||
<tr>
|
||||
<tr class="pendapatan-row" data-group="luar-pertanian" data-row-index="{{ $i }}">
|
||||
<td>
|
||||
<input type="text" class="form-control" name="pendapatan_luar_pertanian[{{ $i }}][jenis_pekerjaan]" value="{{ old("pendapatan_luar_pertanian.$i.jenis_pekerjaan", $item?->jenis_pekerjaan) }}">
|
||||
<input type="text" class="form-control pendapatan-trigger" name="pendapatan_luar_pertanian[{{ $i }}][jenis_pekerjaan]" value="{{ old("pendapatan_luar_pertanian.$i.jenis_pekerjaan", $item?->jenis_pekerjaan) }}">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" min="0" class="form-control" name="pendapatan_luar_pertanian[{{ $i }}][estimasi_per_bulan]" value="{{ old("pendapatan_luar_pertanian.$i.estimasi_per_bulan", $item?->estimasi_per_bulan) }}">
|
||||
@@ -312,7 +329,87 @@
|
||||
<script>
|
||||
'use strict';
|
||||
$(document).ready(function () {
|
||||
$('#skor-periode-paceklik, #skor-menabung, #skor-kecukupan, #status-kepemilikan-lahan, #skor-kejelasan-lahan, #ada-sertifikat, #ada-sengketa, #pihak-membantu, #status-konflik').select2();
|
||||
$('#skor-periode-paceklik, #skor-menabung, #skor-kecukupan, #status-kepemilikan-lahan, #skor-kejelasan-lahan, #ada-sertifikat, #ada-sengketa, #pihak-membantu, #status-konflik, .sosial-ekonomi-komoditas').select2();
|
||||
|
||||
function syncKomoditasLainnyaOptions() {
|
||||
const selectedUtama = $('.sosial-ekonomi-komoditas-utama')
|
||||
.map(function () {
|
||||
return $(this).val();
|
||||
})
|
||||
.get()
|
||||
.filter(Boolean);
|
||||
|
||||
$('.sosial-ekonomi-komoditas-lainnya').each(function () {
|
||||
const $select = $(this);
|
||||
const currentValue = $select.val();
|
||||
|
||||
$select.find('option').each(function () {
|
||||
const $option = $(this);
|
||||
const value = $option.val();
|
||||
|
||||
if (!value) {
|
||||
$option.prop('disabled', false);
|
||||
return;
|
||||
}
|
||||
|
||||
$option.prop('disabled', selectedUtama.includes(value));
|
||||
});
|
||||
|
||||
if (currentValue && selectedUtama.includes(currentValue)) {
|
||||
$select.val('').trigger('change.select2');
|
||||
} else {
|
||||
$select.trigger('change.select2');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function rowHasValue($row) {
|
||||
const triggerValue = $row.find('.pendapatan-trigger').first().val();
|
||||
|
||||
return Boolean(triggerValue);
|
||||
}
|
||||
|
||||
function syncPendapatanRows(group) {
|
||||
const $rows = $('.pendapatan-row[data-group="' + group + '"]');
|
||||
let previousHasValue = true;
|
||||
|
||||
$rows.each(function (index) {
|
||||
const $row = $(this);
|
||||
const currentHasValue = rowHasValue($row);
|
||||
|
||||
if (index === 0 || previousHasValue || currentHasValue) {
|
||||
$row.removeClass('d-none');
|
||||
} else {
|
||||
$row.addClass('d-none');
|
||||
}
|
||||
|
||||
previousHasValue = currentHasValue;
|
||||
});
|
||||
}
|
||||
|
||||
function syncAllPendapatanRows() {
|
||||
syncPendapatanRows('komoditas-utama');
|
||||
syncPendapatanRows('komoditas-lainnya');
|
||||
syncPendapatanRows('luar-pertanian');
|
||||
}
|
||||
|
||||
function syncPihakMembantuFields() {
|
||||
const isTidakAda = $('#pihak-membantu').val() === 'Tidak ada-selesaikan sendiri';
|
||||
const $fields = $('#pihak-membantu-nama, #tahun-bantuan');
|
||||
|
||||
$fields.prop('disabled', isTidakAda);
|
||||
|
||||
if (isTidakAda) {
|
||||
$fields.val('');
|
||||
}
|
||||
}
|
||||
|
||||
$('.sosial-ekonomi-komoditas-utama').on('change', syncKomoditasLainnyaOptions);
|
||||
$('.pendapatan-trigger').on('change keyup', syncAllPendapatanRows);
|
||||
$('#pihak-membantu').on('change', syncPihakMembantuFields);
|
||||
syncKomoditasLainnyaOptions();
|
||||
syncAllPendapatanRows();
|
||||
syncPihakMembantuFields();
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
Reference in New Issue
Block a user