This commit is contained in:
2026-07-16 11:42:40 +07:00
30 changed files with 400 additions and 111 deletions
@@ -4,7 +4,7 @@
<div class="card-body d-flex justify-content-between align-items-center">
<div>
<p class="text-muted fw-medium mb-1">{{ $title }}</p>
<h3 class="text-dark fw-bold mb-1">{{ $count }}</h3>
<h3 class="text-dark fw-bold mb-1">{!! $count !!}</h3>
<small class="text-muted">{{ $subtitle }}</small>
</div>
<div class="badge bg-label-{{ $color }} p-2 rounded">
+15 -14
View File
@@ -31,7 +31,7 @@
<i class="icon-base ti tabler-trees icon-28px"></i>
</span>
</div>
<h4 class="mb-0">{{ $lahanSummary->sum('luas_lahan') }}m<sup>2</sup></h4>
<h4 class="mb-0">{{ number_format($lahanSummary->sum('luas_lahan'), 0, ',', '.') }}m<sup>2</sup></h4>
</div>
<p class="mb-1">Lahan</p>
<p class="mb-0">
@@ -91,10 +91,10 @@
</div>
</td>
<td class="text-end pe-0">
<span>{{ $skorSummary->where('segmentasi', 'Penggerak')->sum('total') }} petani</span>
<span>{{ $skorSummary->where('segmen', 'Penggerak')->sum('total') }} petani</span>
</td>
<td class="text-end pe-0">
<span>{{ number_format(($skorSummary->where('segmentasi', 'Penggerak')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}%</span>
<span>{{ number_format(($skorSummary->where('segmen', 'Penggerak')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}%</span>
</td>
</tr>
<tr>
@@ -110,10 +110,10 @@
</div>
</td>
<td class="text-end pe-0">
<span>{{ $skorSummary->where('segmentasi', 'Perintis')->sum('total') }} petani</span>
<span>{{ $skorSummary->where('segmen', 'Perintis')->sum('total') }} petani</span>
</td>
<td class="text-end pe-0">
<span>{{ number_format(($skorSummary->where('segmentasi', 'Perintis')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}%</span>
<span>{{ number_format(($skorSummary->where('segmen', 'Perintis')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}%</span>
</td>
</tr>
<tr>
@@ -129,10 +129,10 @@
</div>
</td>
<td class="text-end pe-0">
<span>{{ $skorSummary->where('segmentasi', 'Pemerhati')->sum('total') }} petani</span>
<span>{{ $skorSummary->where('segmen', 'Pemerhati')->sum('total') }} petani</span>
</td>
<td class="text-end pe-0">
<span>{{ number_format(($skorSummary->where('segmentasi', 'Pemerhati')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}%</span>
<span>{{ number_format(($skorSummary->where('segmen', 'Pemerhati')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}%</span>
</td>
</tr>
<tr>
@@ -148,10 +148,10 @@
</div>
</td>
<td class="text-end pe-0">
<span>{{ $skorSummary->where('segmentasi', 'Pemula')->sum('total') }} petani</span>
<span>{{ $skorSummary->where('segmen', 'Pemula')->sum('total') }} petani</span>
</td>
<td class="text-end pe-0">
<span>{{ number_format(($skorSummary->where('segmentasi', 'Pemula')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}%</span>
<span>{{ number_format(($skorSummary->where('segmen', 'Pemula')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}%</span>
</td>
</tr>
</tbody>
@@ -173,6 +173,7 @@
@foreach ($komoditas as $k)
<?php
$max = $skorKomoditasSummary->where('komoditas_id', $k->id)
->whereIn('segmen', ['Penggerak', 'Perintis', 'Pemerhati', 'Pemula'])
->sortByDesc('total')
->first();
?>
@@ -182,19 +183,19 @@
</td>
<td class="pe-0">
@if(isset($max))
@if($max->segmentasi == 'Penggerak')
@if($max->segmen == 'Penggerak')
<span class="text-success">Petani Penggerak</span>
@elseif($max->segmentasi == 'Perintis')
@elseif($max->segmen == 'Perintis')
<span class="text-info">Petani Perintis</span>
@elseif($max->segmentasi == 'Pemerhati')
@elseif($max->segmen == 'Pemerhati')
<span class="text-warning">Petani Pemerhati</span>
@elseif($max->segmentasi == 'Pemula')
@elseif($max->segmen == 'Pemula')
<span class="text-danger">Petani Pemula</span>
@else
<span>Belum Lengkap</span>
@endif
@else
<span>Belum Ada</span>
<span>Belum Tersegmentasi</span>
@endif
</td>
<td class="text-end pe-0">
+32 -1
View File
@@ -8,7 +8,38 @@
@csrf
<div class="mb-4 form-control-validation">
<label class="form-label" for="add-nama">Nama Komoditas<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="add-nama" name="nama" placeholder="Cth: Padi Sabrang" />
<input type="text" class="form-control" id="add-nama" name="nama" placeholder="Cth: Kopi" />
</div>
<div class="mb-4 form-control-validation">
<label class="form-label" for="add-kode">Kode Komoditas<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="add-kode" name="kode" placeholder="Cth: KP" />
</div>
<div class="mb-4 form-control-validation">
<label class="form-label d-block">Komoditas Utama <span class="text-danger">*</span></label>
<input type="hidden" name="is_utama" value="0">
<label class="switch switch-lg"><input type="checkbox" class="switch-input" id="add-is-utama" name="is_utama" value="1" @checked(old('is_utama', false))>
<span class="switch-toggle-slider">
<span class="switch-on">
<i class="icon-base ti tabler-check"></i>
</span>
<span class="switch-off">
<i class="icon-base ti tabler-x"></i>
</span>
</span>
<span class="switch-label" id="add-is-utama-label">
{{ old('is_utama', false) ? 'Komoditas Utama' : 'Tidak Termasuk' }}
</span>
</label>
@error('is_utama')
<div class="invalid-feedback d-block">
{{ $message }}
</div>
@enderror
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary me-sm-3 me-1 data-submit">Simpan</button>
@@ -6,6 +6,7 @@
<div class="offcanvas-body mx-0 flex-grow-0 p-6 h-100">
<form id="editKomoditasForm" class="pt-0" method="POST">
@csrf
@method('PUT')
<input type="hidden" name="_method" value="PUT">
<input type="hidden" id="edit-id" name="id">
@@ -13,6 +14,39 @@
<label class="form-label" for="edit-nama">Nama Komoditas<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="edit-nama" name="nama" />
</div>
<div class="mb-4 form-control-validation">
<label class="form-label" for="edit-kode">Kode Komoditas<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="edit-kode" name="kode" />
</div>
<div class="mb-4 form-control-validation">
<label class="form-label d-block" for="edit-is-utama">Komoditas Utama <span class="text-danger">*</span></label>
<input type="hidden" name="is_utama" value="0">
<label class="switch switch-lg">
<input
type="checkbox"
class="switch-input"
id="edit-is-utama"
name="is_utama"
value="1"
>
<span class="switch-toggle-slider">
<span class="switch-on">
<i class="icon-base ti tabler-check"></i>
</span>
<span class="switch-off">
<i class="icon-base ti tabler-x"></i>
</span>
</span>
<span class="switch-label" id="edit-is-utama-label">
Tidak Termasuk
</span>
</label>
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary me-sm-3 me-1 data-submit">Update</button>
<button type="reset" class="btn btn-label-secondary" data-bs-dismiss="offcanvas">Batal</button>
@@ -49,6 +49,7 @@
<tr>
<th>No</th>
<th>Nama Komoditas</th>
<th>Kode Komoditas</th>
<th>Aksi</th>
</tr>
</thead>
@@ -57,6 +58,7 @@
<tr>
<td>{{ $komoditas->firstItem() + $index }}</td>
<td><span class="text-heading fw-medium">{{ $item->nama }}</span></td>
<td><span class="text-heading fw-medium">{{ $item->kode }}</span></td>
<td>
<div class="d-flex align-items-center">
<a href="javascript:;" class="btn btn-icon btn-text-secondary rounded-pill view-record" data-id="{{ $item->id }}"><i class="ti tabler-eye ti-md"></i></a>
@@ -144,6 +146,19 @@
if (res.status === 'success') {
$('#edit-id').val(res.data.id);
$('#edit-nama').val(res.data.nama);
$('#edit-kode').val(res.data.kode);
const isUtama =
res.data.is_utama === true ||
res.data.is_utama === 1 ||
res.data.is_utama === '1';
$('#edit-is-utama').prop('checked', isUtama);
$('#edit-is-utama-label').text(
isUtama ? 'Komoditas Utama' : 'Tidak Termasuk'
);
if (typeof fvEdit !== 'undefined') fvEdit.resetForm();
offcanvasEdit.show();
}
@@ -166,6 +181,15 @@
$btn.removeClass('disabled');
if (res.status === 'success') {
$('#view-nama').val(res.data.nama);
$('#view-kode').val(res.data.kode);
const isUtama =
res.data.is_utama === true ||
res.data.is_utama === 1 ||
res.data.is_utama === '1';
$('#view-is-utama').val(
isUtama ? 'Komoditas Utama' : 'Tidak Termasuk'
);
offcanvasView.show();
}
}).fail((xhr) => {
@@ -177,7 +201,9 @@
const editForm = document.getElementById('editKomoditasForm');
let fvEdit = FormValidation.formValidation(editForm, {
fields: { nama: { validators: { notEmpty: { message: 'Nama komoditas wajib diisi' } } } },
fields: { nama: { validators: { notEmpty: { message: 'Nama komoditas wajib diisi' } } } ,
kode: {validators: { notEmpty: { message: 'Kode komoditas wajib diisi' } } }
},
plugins: {
trigger: new FormValidation.plugins.Trigger(),
bootstrap5: new FormValidation.plugins.Bootstrap5({ eleValidClass: '', rowSelector: '.form-control-validation' }),
@@ -245,5 +271,20 @@
});
});
});
document.addEventListener('DOMContentLoaded', function () {
const switchInput = document.getElementById('add-is-utama');
const switchLabel = document.getElementById('add-is-utama-label');
function updateKomoditasLabel() {
switchLabel.textContent = switchInput.checked
? 'Komoditas Utama'
: 'Tidak Termasuk';
}
switchInput.addEventListener('change', updateKomoditasLabel);
updateKomoditasLabel();
});
</script>
@endpush
@@ -9,6 +9,14 @@
<label class="form-label" for="view-nama">Nama Komoditas</label>
<input type="text" class="form-control bg-lighter" id="view-nama" readonly />
</div>
<div class="mb-4">
<label class="form-label" for="view-kode">Kode Komoditas</label>
<input type="text" class="form-control bg-lighter" id="view-kode" readonly />
</div>
<div class="mb-4">
<label class="form-label" for="view-is-utama">Komoditas Utama</label>
<input type="text" class="form-control bg-lighter" id="view-is-utama" readonly>
</div>
<div class="mt-4">
<button type="button" class="btn btn-label-secondary d-grid w-100" data-bs-dismiss="offcanvas">Tutup</button>
</div>
@@ -47,27 +47,6 @@
</div>
</div>
<div class="col-sm-6 col-md-4 col-xl-3">
<div class="card shadow-sm border-0 h-100">
<div class="card-body p-4">
<div class="d-flex justify-content-between">
<div>
<span class="text-muted d-block mb-2">Titik Penanaman</span>
<h2 class="mb-0 fw-bold text-dark" style="font-size: 2.5rem;">
{{ number_format($totalTitikTanam, 0, ',', '.') }}
</h2>
</div>
<div>
<div class="d-flex align-items-center justify-content-center bg-label-warning text-warning" style="width: 56px; height: 56px; border-radius: 12px;">
<i class="ti tabler-map-pin" style="font-size: 1.8rem;"></i>
</div>
</div>
</div>
<small class="text-muted d-block mt-3">Distribusi lahan aktif</small>
</div>
</div>
</div>
</div>
<div class="card">
@@ -329,7 +329,7 @@
ktp: { required: true, digits: true, minlength: 16, maxlength: 16 },
kk: { required: true, digits: true, minlength: 16, maxlength: 16 },
tempat_lahir: { required: true },
tanggal_lahir: { required: true, date: true },
tanggal_lahir: { required: true },
jenis_kelamin: { required: true },
pendidikan_terakhir: { required: true },
komoditas_id: { required: true },
@@ -349,7 +349,7 @@
ktp: { required: "NIK wajib diisi", digits: "NIK harus berupa angka", minlength: "NIK harus 16 digit", maxlength: "NIK harus 16 digit" },
kk: { digits: "No. KK harus berupa angka", minlength: "No. KK harus 16 digit", maxlength: "No. KK harus 16 digit" },
tempat_lahir: { required: "Tempat lahir wajib diisi" },
tanggal_lahir: { required: "Tanggal lahir wajib diisi", date: "Format tanggal salah" },
tanggal_lahir: { required: "Tanggal lahir wajib diisi" },
jenis_kelamin: { required: "Jenis kelamin wajib diisi" },
pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" },
komoditas_id: { required: "Komoditas wajib diisi" },
@@ -83,9 +83,9 @@
@error('tempat_lahir')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
<div class="col-md-3 mb-4 form-control-validation">
<label class="form-label" for="edit-petani-tanggal-lahir">Tanggal Lahir {{ $petani->tanggal_lahir?->format('Y-m-d') }}</label>
<input type="date" class="form-control @error('tanggal_lahir') is-invalid @enderror" id="edit-petani-tanggal-lahir" name="tanggal_lahir"
value="{{ old('tanggal_lahir', $petani->tanggal_lahir?->format('Y-m-d')) }}" />
<label class="form-label" for="edit-petani-tanggal-lahir">Tanggal Lahir</label>
<input type="text" class="form-control @error('tanggal_lahir') is-invalid @enderror" id="edit-petani-tanggal-lahir" name="tanggal_lahir"
value="{{ old('tanggal_lahir', $petani->tanggal_lahir?->format('d-m-Y')) }}" />
@error('tanggal_lahir')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
@@ -334,7 +334,7 @@
ktp: { required: true, digits: true, minlength: 16, maxlength: 16 },
kk: { required: true, digits: true, minlength: 16, maxlength: 16 },
tempat_lahir: { required: true },
tanggal_lahir: { required: true, date: true },
tanggal_lahir: { required: true },
jenis_kelamin: { required: true },
pendidikan_terakhir: { required: true },
komoditas_id: { required: true },
@@ -354,7 +354,7 @@
ktp: { required: "NIK wajib diisi", digits: "NIK harus berupa angka", minlength: "NIK harus 16 digit", maxlength: "NIK harus 16 digit" },
kk: { required: "No. KK wajib diisi", digits: "No. KK harus berupa angka", minlength: "No. KK harus 16 digit", maxlength: "No. KK harus 16 digit" },
tempat_lahir: { required: "Tempat lahir wajib diisi" },
tanggal_lahir: { required: "Tanggal lahir wajib diisi", date: "Format tanggal salah" },
tanggal_lahir: { required: "Tanggal lahir wajib diisi" },
jenis_kelamin: { required: "Jenis kelamin wajib diisi" },
pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" },
alamat: { required: "Alamat wajib diisi" },
@@ -127,7 +127,7 @@
</div>
<span class="avatar">
<span class="avatar-initial rounded">
<i class="icon-base ti tabler-seedling icon-22px"></i>
<i class="icon-base ti tabler-books icon-22px"></i>
</span>
</span>
</div>
@@ -158,7 +158,7 @@
@php
$produktivitas = isset($petani?->surveyProduktivitas) ? $petani?->surveyProduktivitas : null;
if (!is_null($produktivitas)) {
$produktivitas = $produktivitas->get()->where('komoditas_id', $petani->komoditas_id);
$produktivitas = $produktivitas->where('komoditas_id', $petani->komoditas_id);
}
@endphp
<div>
@@ -175,13 +175,13 @@
@if(!is_null($skorPraktik))
<span class="me-1">{{ $praktik }}</span>
@else
<span class="me-1">Belum isi</span>
<span class="me-1">Belum terisi</span>
@endif
</p>
</div>
<span class="avatar">
<span class="avatar-initial rounded">
<i class="icon-base ti tabler-books icon-22px"></i>
<i class="icon-base ti tabler-seedling icon-22px"></i>
</span>
</span>
</div>
@@ -285,7 +285,7 @@
@if(!is_null($aksesPasar?->skor_pengalaman) && !is_null($aksesPasar->skor_kesadaran_premium))
<span class="me-1">{{ $pengalaman }}</span>
@else
<span class="me-1">Belum isi</span>
<span class="me-1">Belum terisi</span>
@endif
</p>
</div>
@@ -2,6 +2,36 @@
@section('content')
<div class="container-xxl flex-grow-1 container-p-y">
<div class="d-flex flex-row gap-3 mb-4">
<div class="w-25">
<x-summary-card
title="Petani"
count="{{ $petani->count() }}"
subtitle="{{ $petani->where('jenis_kelamin', 1)->count() }} Laki-laki, {{ $petani->where('jenis_kelamin', 0)->count() }} Perempuan"
icon="user-check"
color="primary"
/>
</div>
<div class="w-25">
<x-summary-card
title="Lahan & Tanaman"
count="{{ number_format($lahan?->sum('luas_lahan'), 0, ',', '.') }}m<sup>2</sup>"
subtitle="{{ $tanaman?->count() }} tanaman dari {{ $komoditas?->count() }} komoditas utama"
icon="trees"
color="success"
/>
</div>
<div class="w-25">
<x-summary-card
title="Segmentasi"
count="{{ $skor->where('segmen', 'Penggerak')->count() }} Penggerak"
subtitle="{{ $skor->where('segmen', 'Perintis')->count() }} Perintis, {{ $skor->where('segmen', 'Pemerhati')->count() }} Pemerhati, {{ $skor->where('segmen', 'Pemula')->count() }} Pemula"
icon="star"
color="info"
/>
</div>
</div>
<div class="card">
<div class="card-header border-bottom">
<h5 class="card-title mb-0">Data Petani</h5>
@@ -40,6 +70,8 @@
<th>Jenis Kelamin</th>
<th>Usia</th>
<th>Desa/Kelurahan</th>
<th>Komoditas Utama</th>
<th>Segmentasi</th>
<th>Aksi</th>
</tr>
</thead>
@@ -51,7 +83,18 @@
<td><span class="text-muted">{{ $item->jenis_kelamin ? 'Laki-laki' : 'Perempuan' }}</span></td>
<td><span class="text-muted">{{ $item->umur }} tahun</span></td>
<td><span class="text-muted">{{ $item->desaKelurahan?->nama }}, {{ $item->desaKelurahan?->kecamatan?->nama }}, {{ $item->desaKelurahan?->kecamatan?->kabupatenKota?->nama }}, {{ $item->desaKelurahan?->kecamatan?->kabupatenKota?->provinsi?->nama }}</span></td>
<td>{{ $item->komoditas?->nama }}</td>
<td>
@if($item->segmen() == 'Penggerak')
<span class="badge bg-label-success">Penggerak</span>
@elseif($item->segmen() == 'Perintis')
<span class="badge bg-label-info">Perintis</span>
@elseif($item->segmen() == 'Pemerhati')
<span class="badge bg-label-warning">Pemerhati</span>
@elseif($item->segmen() == 'Pemula')
<span class="badge bg-label-danger">Pemula</span>
@endif
</td>
<td>
<div class="d-flex align-items-center">
<!-- <a href="{{ route('petani.show', $item->id) }}" class="btn btn-icon btn-text-secondary rounded-pill view-record"><i class="ti tabler-eye ti-md"></i></a> -->
@@ -208,13 +208,13 @@
@error('luas_lahan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
<div class="col-md-3 mb-3 form-control-validation">
<label class="form-label">Umur Lahan (tahun) <span class="text-danger">*</span></label>
<label class="form-label">Umur Lahan (tahun)</label>
<input type="number" name="umur_lahan" class="form-control @error('umur_lahan') is-invalid @enderror" placeholder="Contoh: 1" />
@error('umur_lahan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
<div class="col-md-3 mb-3 form-control-validation">
<label class="form-label">Jumlah Tanaman <span class="text-danger">*</span></label>
<input type="number" name="jumlah_tanaman" class="form-control @error('jumlah_tanaman') is-invalid @enderror" placeholder="Contoh: 1" required />
<input type="number" name="jumlah_tanaman" class="form-control @error('jumlah_tanaman') is-invalid @enderror" placeholder="Contoh: 1 (min 0)" required />
@error('jumlah_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
<div class="col-md-3 mb-3 form-control-validation">
@@ -228,7 +228,7 @@
<label class="form-label">Komoditas Utama <span class="text-danger">*</span></label>
<select id="komoditas_id" name="komoditas_id" class="form-select @error('komoditas_id') is-invalid @enderror">
<option value="">Pilih Komoditas</option>
@foreach($komoditas as $k)
@foreach($komoditas->where('is_utama', '1') as $k)
<option value="{{ $k->id }}">{{ $k->nama }}</option>
@endforeach
</select>
@@ -772,8 +772,8 @@
kabupatenkota_id: { required: true },
kecamatan_id: { required: true },
desa_kelurahan_id: { required: true },
jumlah_tanaman: { required: true },
umur_lahan: { required: true, number: true, min: 1 },
jumlah_tanaman: { required: true, number: true, min: 0 },
umur_lahan: { number: true, min: 1 },
umur_tanaman: { required: true, number: true, min: 1 },
kondisi_tanaman: { required: true },
},
@@ -786,8 +786,8 @@
kabupatenkota_id: { required: "Kabupaten/Kota wajib diisi" },
kecamatan_id: { required: "Kecamatan wajib diisi" },
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
jumlah_tanaman: { required: "Jumlah tanaman wajib diisi" },
umur_lahan: { required: "Umur lahan wajib diisi", number: "Umur lahan harus berupa angka", min: "Umur lahan minimal 1 tahun" },
jumlah_tanaman: { required: "Jumlah tanaman wajib diisi", number: "Jumlah tanaman harus berupa angka", min: "Jumlah tanaman minimal 0" },
umur_lahan: { number: "Umur lahan harus berupa angka", min: "Umur lahan minimal 1 tahun" },
umur_tanaman: { required: "Umur tanaman wajib diisi", number: "Umur tanaman harus berupa angka", min: "Umur tanaman minimal 1 tahun" },
kondisi_tanaman: { required: "Kondisi tanaman wajib diisi" },
},
@@ -63,7 +63,7 @@
</div>
<div class="col-md-3 mb-3 form-control-validation">
<label class="form-label">Jumlah Tanaman <span class="text-danger">*</span></label>
<input type="number" name="jumlah_tanaman" class="form-control @error('jumlah_tanaman') is-invalid @enderror" placeholder="Contoh: 1" required
<input type="number" name="jumlah_tanaman" class="form-control @error('jumlah_tanaman') is-invalid @enderror" placeholder="Contoh: 1 (min 0)" required
value="{{ old('jumlah_tanaman', $lahanSelected->jumlah_tanaman) }}" />
@error('jumlah_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
@@ -79,7 +79,7 @@
<label class="form-label">Komoditas Utama <span class="text-danger">*</span></label>
<select id="komoditas_id" name="komoditas_id" class="form-select @error('komoditas_id') is-invalid @enderror">
<option value="">Pilih Komoditas</option>
@foreach($komoditas as $k)
@foreach($komoditas->where('is_utama', '1') as $k)
<option value="{{ $k->id }}" {{ old('komoditas_id', $lahanSelected->komoditas_id) == $k->id ? 'selected' : '' }}>{{ $k->nama }}</option>
@endforeach
</select>
@@ -276,7 +276,7 @@
</tr>
</thead>
<tbody>
@forelse($lahanSelected->tanaman as $index => $item)
@foreach($lahanSelected->tanaman as $item)
<tr>
<td>{{ $loop->iteration }}</td>
<td>
@@ -339,9 +339,7 @@
</div>
</td>
</tr>
@empty
<tr><td colspan="6" class="text-center py-4">Tidak ada data ditemukan.</td></tr>
@endforelse
@endforeach
</tbody>
</table>
</div>
@@ -239,13 +239,9 @@
<td class="text-wrapped">Kepemilikan aset produktif</td>
<td class="text-end">{{ number_format($skor->skor_d4_k5_3_kepemilikan_aset_produktif, 1, ',', '.') }}</td>
</tr>
<tr>
<td class="text-wrapped">Kepemilikan aset tidak produktif</td>
<td class="text-end">{{ number_format($skor->skor_d4_k5_4_kepemilikan_aset_tidak_produktif, 1, ',', '.') }}</td>
</tr>
<tr>
<td class="text-wrapped">Akses program bantuan</td>
<td class="text-end">{{ number_format($skor->skor_d4_k5_4_5_akses_program_bantuan, 1, ',', '.') }}</td>
<td class="text-end">{{ number_format($skor->skor_d4_k5_4_akses_program_bantuan, 1, ',', '.') }}</td>
</tr>
<tr>
<td class="text-wrapped">Keberadaan hutang terkait panen</td>