Compare commits

2 Commits
Author SHA1 Message Date
Syaharani b3d805fe98 update field sosial ekonomi 2026-07-07 13:37:47 +07:00
Syaharani e2c778a934 add data petani 2026-07-07 13:37:12 +07:00
7 changed files with 114 additions and 82 deletions
@@ -80,7 +80,9 @@ class PetaniController extends Controller
'kk' => ['nullable', 'min:16', 'max:16'], 'kk' => ['nullable', 'min:16', 'max:16'],
'file_kk' => ['nullable', 'image', 'mimes:jpeg,jpg,png', 'max:2048'], 'file_kk' => ['nullable', 'image', 'mimes:jpeg,jpg,png', 'max:2048'],
'foto' => ['nullable', 'image', 'mimes:jpeg,jpg,png', 'max:2048'], 'foto' => ['nullable', 'image', 'mimes:jpeg,jpg,png', 'max:2048'],
'nomor_telepon' => ['nullable', 'numeric', 'max:20'], 'nomor_telepon' => ['nullable', 'digits_between:11,13'],
], [
'nomor_telepon.digits_between' => 'Nomor telepon harus berupa angka 11 sampai 13 digit.',
]); ]);
if ($request->hasFile('file_ktp')) { if ($request->hasFile('file_ktp')) {
@@ -162,7 +164,9 @@ class PetaniController extends Controller
'kk' => ['nullable', 'min:16', 'max:16'], 'kk' => ['nullable', 'min:16', 'max:16'],
'file_kk' => ['nullable', 'file', 'mimes:jpeg,jpg,png,pdf', 'max:2048'], 'file_kk' => ['nullable', 'file', 'mimes:jpeg,jpg,png,pdf', 'max:2048'],
'foto' => ['nullable', 'file', 'mimes:jpeg,jpg,png', 'max:2048'], 'foto' => ['nullable', 'file', 'mimes:jpeg,jpg,png', 'max:2048'],
'nomor_telepon' => ['nullable', 'numeric', 'max:20'], 'nomor_telepon' => ['nullable', 'digits_between:11,13'],
], [
'nomor_telepon.digits_between' => 'Nomor telepon harus berupa angka 11 sampai 13 digit.',
]); ]);
if ($request->hasFile('file_ktp')) { if ($request->hasFile('file_ktp')) {
+1 -1
View File
@@ -22,7 +22,7 @@ class Petani extends Model
'uid', 'uid',
'nama', 'nama',
'telepon', 'nomor_telepon',
'alamat', 'alamat',
'kk', 'kk',
@@ -11,17 +11,14 @@
</ul> </ul>
</div> </div>
@endif @endif
<div class="row">
<!-- PROFIL PETANI -->
@include('produktivitas.petani.header', ['petani' => null])
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="card mb-6"> <div class="card mb-6">
<div class="card-body pt-12"> <div class="card-header border-bottom">
<!-- INFORMASI PETANI --> <h5 class="card-title mb-0">Tambah Petani Baru</h5>
</div>
<div class="card-body pt-4">
<form id="addNewPetaniForm" action="{{ route('petani.store') }}" method="POST" enctype="multipart/form-data"> <form id="addNewPetaniForm" action="{{ route('petani.store') }}" method="POST" enctype="multipart/form-data">
@csrf @csrf
<div class="row"> <div class="row">
@@ -35,7 +32,7 @@
width="120" width="120"
alt="User avatar" /> alt="User avatar" />
<div class="user-info text-center"> <div class="user-info text-center">
<h5><i>Nama Petani</i></h5> <h5><i>Petani Baru</i></h5>
<span class="badge bg-label-secondary">Petani</span> <span class="badge bg-label-secondary">Petani</span>
</div> </div>
</div> </div>
@@ -157,7 +154,7 @@
<div class="col-md-3 mb-4 form-control-validation"> <div class="col-md-3 mb-4 form-control-validation">
<label class="form-label" for="add-petani-no-hp">Nomor Telepon</label> <label class="form-label" for="add-petani-no-hp">Nomor Telepon</label>
<input type="text" class="form-control @error('nomor_telepon') is-invalid @enderror" id="add-petani-no-hp" name="nomor_telepon" <input type="text" class="form-control @error('nomor_telepon') is-invalid @enderror" id="add-petani-no-hp" name="nomor_telepon"
placeholder="Cth: 081234567890" value="{{ old('nomor_telepon') }}" /> placeholder="Cth: 081234567890" value="{{ old('nomor_telepon') }}" minlength="11" maxlength="13" />
@error('nomor_telepon')<div class="error invalid-feedback">{{ $message }}</div>@enderror @error('nomor_telepon')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
</div> </div>
@@ -183,7 +180,7 @@
</div> </div>
<div class="mt-4 text-end"> <div class="mt-4 text-end">
<button type="submit" class="btn btn-success data-submit wave-effect wave-light">Simpan Profil</button> <button type="submit" class="btn btn-success data-submit wave-effect wave-light">Simpan Petani</button>
</div> </div>
</form> </form>
@@ -192,7 +189,6 @@
</div> </div>
</div> </div>
</div> </div>
</div>
@endsection @endsection
@push('scripts') @push('scripts')
@@ -278,7 +274,7 @@
status_perkawinan: { required: true }, status_perkawinan: { required: true },
file_ktp: { accept: "image/png, image/jpeg, image/jpg" }, file_ktp: { accept: "image/png, image/jpeg, image/jpg" },
file_kk: { accept: "image/png, image/jpeg, image/jpg" }, file_kk: { accept: "image/png, image/jpeg, image/jpg" },
nomor_telepon: { required: false, digits: true, maxlength: 20 } nomor_telepon: { required: false, digits: true, minlength: 11, maxlength: 13 }
}, },
messages: { messages: {
nama: { required: "Nama petani wajib diisi" }, nama: { required: "Nama petani wajib diisi" },
@@ -296,7 +292,11 @@
status_perkawinan: { required: "Status perkawinan wajib diisi" }, status_perkawinan: { required: "Status perkawinan wajib diisi" },
file_ktp: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" }, file_ktp: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" },
file_kk: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" }, file_kk: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" },
nomor_telepon: { digits: "Nomor telepon harus berupa angka", maxlength: "Nomor telepon maksimal 20 digit" } nomor_telepon: {
digits: "Nomor telepon harus berupa angka",
minlength: "Nomor telepon minimal 11 digit",
maxlength: "Nomor telepon maksimal 13 digit"
}
}, },
errorElement: 'div', errorElement: 'div',
errorPlacement: function (error, element) { errorPlacement: function (error, element) {
@@ -159,7 +159,7 @@
<div class="col-md-3 mb-4 form-control-validation"> <div class="col-md-3 mb-4 form-control-validation">
<label class="form-label" for="edit-petani-nomor-telepon">Nomor Telepon</label> <label class="form-label" for="edit-petani-nomor-telepon">Nomor Telepon</label>
<input type="text" class="form-control @error('nomor_telepon') is-invalid @enderror" id="edit-petani-nomor-telepon" name="nomor_telepon" <input type="text" class="form-control @error('nomor_telepon') is-invalid @enderror" id="edit-petani-nomor-telepon" name="nomor_telepon"
placeholder="Cth: 081234567890" value="{{ old('nomor_telepon', $petani->nomor_telepon) }}" /> placeholder="Cth: 081234567890" value="{{ old('nomor_telepon', $petani->nomor_telepon) }}" minlength="11" maxlength="13" />
@error('nomor_telepon')<div class="error invalid-feedback">{{ $message }}</div>@enderror @error('nomor_telepon')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
</div> </div>
@@ -303,7 +303,7 @@
status_perkawinan: { required: true }, status_perkawinan: { required: true },
file_ktp: { accept: "image/png, image/jpeg, image/jpg" }, file_ktp: { accept: "image/png, image/jpeg, image/jpg" },
file_kk: { accept: "image/png, image/jpeg, image/jpg" }, file_kk: { accept: "image/png, image/jpeg, image/jpg" },
nomor_telepon: { required: false, digits: true, maxlength: 20 } nomor_telepon: { required: false, digits: true, minlength: 11, maxlength: 13 }
}, },
messages: { messages: {
nama: { required: "Nama petani wajib diisi" }, nama: { required: "Nama petani wajib diisi" },
@@ -321,7 +321,11 @@
status_perkawinan: { required: "Status perkawinan wajib diisi" }, status_perkawinan: { required: "Status perkawinan wajib diisi" },
file_ktp: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" }, file_ktp: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" },
file_kk: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" }, file_kk: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" },
nomor_telepon: { digits: "Nomor telepon harus berupa angka", maxlength: "Nomor telepon maksimal 20 digit" } nomor_telepon: {
digits: "Nomor telepon harus berupa angka",
minlength: "Nomor telepon minimal 11 digit",
maxlength: "Nomor telepon maksimal 13 digit"
}
}, },
errorElement: 'div', errorElement: 'div',
@@ -66,11 +66,11 @@
</thead> </thead>
<tbody> <tbody>
@for($i = 0; $i < 2; $i++) @for($i = 0; $i < 2; $i++)
@php($item = $pendapatanKomoditasUtama->get($i)) @php $item = $pendapatanKomoditasUtama->get($i) @endphp
<tr class="pendapatan-row" data-group="komoditas-utama" data-row-index="{{ $i }}"> <tr class="pendapatan-row" data-group="komoditas-utama" data-row-index="{{ $i }}">
<td> <td>
<input type="hidden" name="pendapatan_komoditas[{{ $i }}][kategori]" value="utama"> <input type="hidden" name="pendapatan_komoditas[{{ $i }}][kategori]" value="utama">
@php($selectedKomoditas = old("pendapatan_komoditas.$i.komoditas", $item?->komoditas)) @php $selectedKomoditas = old("pendapatan_komoditas.$i.komoditas", $item?->komoditas) @endphp
<select class="form-control sosial-ekonomi-komoditas sosial-ekonomi-komoditas-utama pendapatan-trigger" data-kategori="utama" name="pendapatan_komoditas[{{ $i }}][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> <option value="">Pilih Komoditas</option>
@foreach($komoditasPetani as $komoditas) @foreach($komoditasPetani as $komoditas)
@@ -79,14 +79,14 @@
</select> </select>
</td> </td>
<td> <td>
@php($pendapatanValue = old("pendapatan_komoditas.$i.pendapatan", $item?->pendapatan)) @php $pendapatanValue = old("pendapatan_komoditas.$i.pendapatan", $item?->pendapatan) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_komoditas[{{ $i }}][pendapatan]" value="{{ filled($pendapatanValue) ? number_format((int) preg_replace('/\D/', '', $pendapatanValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_komoditas[{{ $i }}][pendapatan]" value="{{ filled($pendapatanValue) ? number_format((int) preg_replace('/\D/', '', $pendapatanValue), 0, ',', '.') : '' }}">
</div> </div>
</td> </td>
<td> <td>
@php($periodeValue = old("pendapatan_komoditas.$i.periode", $item?->periode)) @php $periodeValue = old("pendapatan_komoditas.$i.periode", $item?->periode) @endphp
<div class="d-flex align-items-center gap-4"> <div class="d-flex align-items-center gap-4">
<div class="form-check mb-0"> <div class="form-check mb-0">
<input class="form-check-input" type="radio" id="periode-utama-{{ $i }}-musim" name="pendapatan_komoditas[{{ $i }}][periode]" value="musim" {{ $periodeValue === 'musim' ? 'checked' : '' }}> <input class="form-check-input" type="radio" id="periode-utama-{{ $i }}-musim" name="pendapatan_komoditas[{{ $i }}][periode]" value="musim" {{ $periodeValue === 'musim' ? 'checked' : '' }}>
@@ -121,12 +121,12 @@
</thead> </thead>
<tbody> <tbody>
@for($i = 0; $i < 2; $i++) @for($i = 0; $i < 2; $i++)
@php($item = $pendapatanKomoditasLainnya->get($i)) @php $item = $pendapatanKomoditasLainnya->get($i) @endphp
@php($index = $i + 2) @php $index = $i + 2 @endphp
<tr class="pendapatan-row" data-group="komoditas-lainnya" data-row-index="{{ $i }}"> <tr class="pendapatan-row" data-group="komoditas-lainnya" data-row-index="{{ $i }}">
<td> <td>
<input type="hidden" name="pendapatan_komoditas[{{ $index }}][kategori]" value="lainnya"> <input type="hidden" name="pendapatan_komoditas[{{ $index }}][kategori]" value="lainnya">
@php($selectedKomoditas = old("pendapatan_komoditas.$index.komoditas", $item?->komoditas)) @php $selectedKomoditas = old("pendapatan_komoditas.$index.komoditas", $item?->komoditas) @endphp
<select class="form-control sosial-ekonomi-komoditas sosial-ekonomi-komoditas-lainnya pendapatan-trigger" data-kategori="lainnya" name="pendapatan_komoditas[{{ $index }}][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> <option value="">Pilih Komoditas</option>
@foreach($komoditasPetani as $komoditas) @foreach($komoditasPetani as $komoditas)
@@ -135,14 +135,14 @@
</select> </select>
</td> </td>
<td> <td>
@php($pendapatanValue = old("pendapatan_komoditas.$index.pendapatan", $item?->pendapatan)) @php $pendapatanValue = old("pendapatan_komoditas.$index.pendapatan", $item?->pendapatan) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_komoditas[{{ $index }}][pendapatan]" value="{{ filled($pendapatanValue) ? number_format((int) preg_replace('/\D/', '', $pendapatanValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_komoditas[{{ $index }}][pendapatan]" value="{{ filled($pendapatanValue) ? number_format((int) preg_replace('/\D/', '', $pendapatanValue), 0, ',', '.') : '' }}">
</div> </div>
</td> </td>
<td> <td>
@php($periodeValue = old("pendapatan_komoditas.$index.periode", $item?->periode)) @php $periodeValue = old("pendapatan_komoditas.$index.periode", $item?->periode) @endphp
<div class="d-flex align-items-center gap-4"> <div class="d-flex align-items-center gap-4">
<div class="form-check mb-0"> <div class="form-check mb-0">
<input class="form-check-input" type="radio" id="periode-lainnya-{{ $i }}-musim" name="pendapatan_komoditas[{{ $index }}][periode]" value="musim" {{ $periodeValue === 'musim' ? 'checked' : '' }}> <input class="form-check-input" type="radio" id="periode-lainnya-{{ $i }}-musim" name="pendapatan_komoditas[{{ $index }}][periode]" value="musim" {{ $periodeValue === 'musim' ? 'checked' : '' }}>
@@ -176,13 +176,13 @@
</thead> </thead>
<tbody> <tbody>
@for($i = 0; $i < 2; $i++) @for($i = 0; $i < 2; $i++)
@php($item = $pendapatanLuarPertanian->get($i)) @php $item = $pendapatanLuarPertanian->get($i) @endphp
<tr class="pendapatan-row" data-group="luar-pertanian" data-row-index="{{ $i }}"> <tr class="pendapatan-row" data-group="luar-pertanian" data-row-index="{{ $i }}">
<td> <td>
<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) }}"> <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>
<td> <td>
@php($estimasiValue = old("pendapatan_luar_pertanian.$i.estimasi_per_bulan", $item?->estimasi_per_bulan)) @php $estimasiValue = old("pendapatan_luar_pertanian.$i.estimasi_per_bulan", $item?->estimasi_per_bulan) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_luar_pertanian[{{ $i }}][estimasi_per_bulan]" value="{{ filled($estimasiValue) ? number_format((int) preg_replace('/\D/', '', $estimasiValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_luar_pertanian[{{ $i }}][estimasi_per_bulan]" value="{{ filled($estimasiValue) ? number_format((int) preg_replace('/\D/', '', $estimasiValue), 0, ',', '.') : '' }}">
@@ -229,7 +229,7 @@
<div class="row"> <div class="row">
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="biaya-kebun">Total Estimasi Biaya Kebun per Musim</label> <label class="form-label" for="biaya-kebun">Total Estimasi Biaya Kebun per Musim</label>
@php($biayaKebunValue = old('total_estimasi_biaya_kebun_per_musim', $sosialEkonomi?->total_estimasi_biaya_kebun_per_musim)) @php $biayaKebunValue = old('total_estimasi_biaya_kebun_per_musim', $sosialEkonomi?->total_estimasi_biaya_kebun_per_musim) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input @error('total_estimasi_biaya_kebun_per_musim') is-invalid @enderror" id="biaya-kebun" name="total_estimasi_biaya_kebun_per_musim" value="{{ filled($biayaKebunValue) ? number_format((int) preg_replace('/\D/', '', $biayaKebunValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input @error('total_estimasi_biaya_kebun_per_musim') is-invalid @enderror" id="biaya-kebun" name="total_estimasi_biaya_kebun_per_musim" value="{{ filled($biayaKebunValue) ? number_format((int) preg_replace('/\D/', '', $biayaKebunValue), 0, ',', '.') : '' }}">
@@ -250,7 +250,7 @@
</div> </div>
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="tabungan-bulan">Estimasi Tabungan per Bulan</label> <label class="form-label" for="tabungan-bulan">Estimasi Tabungan per Bulan</label>
@php($tabunganValue = old('estimasi_tabungan_per_bulan', $sosialEkonomi?->estimasi_tabungan_per_bulan)) @php $tabunganValue = old('estimasi_tabungan_per_bulan', $sosialEkonomi?->estimasi_tabungan_per_bulan) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input @error('estimasi_tabungan_per_bulan') is-invalid @enderror" id="tabungan-bulan" name="estimasi_tabungan_per_bulan" value="{{ filled($tabunganValue) ? number_format((int) preg_replace('/\D/', '', $tabunganValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input @error('estimasi_tabungan_per_bulan') is-invalid @enderror" id="tabungan-bulan" name="estimasi_tabungan_per_bulan" value="{{ filled($tabunganValue) ? number_format((int) preg_replace('/\D/', '', $tabunganValue), 0, ',', '.') : '' }}">
@@ -305,21 +305,33 @@
@error('skor_kejelasan_status_lahan')<div class="invalid-feedback">{{ $message }}</div>@enderror @error('skor_kejelasan_status_lahan')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
<div class="col-md-2 mb-4 form-control-validation"> <div class="col-md-2 mb-4 form-control-validation">
<label class="form-label" for="ada-sertifikat">Ada Sertifikat/Dokumen?</label> @php
<select class="form-control @error('ada_sertifikat_dokumen') is-invalid @enderror" id="ada-sertifikat" name="ada_sertifikat_dokumen"> $adaSertifikatValue = old('ada_sertifikat_dokumen', is_null($sosialEkonomi?->ada_sertifikat_dokumen) ? null : (int) $sosialEkonomi->ada_sertifikat_dokumen);
<option value="">Pilih</option> @endphp
<option value="0" {{ old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === false || old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === '0' ? 'selected' : '' }}>Tidak Ada</option> <label class="form-label d-block">Ada Sertifikat/Dokumen?</label>
<option value="1" {{ old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === true || old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === '1' ? 'selected' : '' }}>Ada</option> <div class="form-check mb-2">
</select> <input class="form-check-input" type="radio" id="ada-sertifikat-tidak" name="ada_sertifikat_dokumen" value="0" {{ !is_null($adaSertifikatValue) && (string) $adaSertifikatValue === '0' ? 'checked' : '' }}>
<label class="form-check-label" for="ada-sertifikat-tidak">Tidak Ada</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" id="ada-sertifikat-ya" name="ada_sertifikat_dokumen" value="1" {{ (string) $adaSertifikatValue === '1' ? 'checked' : '' }}>
<label class="form-check-label" for="ada-sertifikat-ya">Ada</label>
</div>
@error('ada_sertifikat_dokumen')<div class="invalid-feedback">{{ $message }}</div>@enderror @error('ada_sertifikat_dokumen')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
<div class="col-md-2 mb-4 form-control-validation"> <div class="col-md-2 mb-4 form-control-validation">
<label class="form-label" for="ada-sengketa">Ada Sengketa?</label> @php
<select class="form-control @error('ada_sengketa') is-invalid @enderror" id="ada-sengketa" name="ada_sengketa"> $adaSengketaValue = old('ada_sengketa', is_null($sosialEkonomi?->ada_sengketa) ? null : (int) $sosialEkonomi->ada_sengketa);
<option value="">Pilih</option> @endphp
<option value="0" {{ old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === false || old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === '0' ? 'selected' : '' }}>Tidak Ada</option> <label class="form-label d-block">Ada Sengketa?</label>
<option value="1" {{ old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === true || old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === '1' ? 'selected' : '' }}>Ada</option> <div class="form-check mb-2">
</select> <input class="form-check-input" type="radio" id="ada-sengketa-tidak" name="ada_sengketa" value="0" {{ !is_null($adaSengketaValue) && (string) $adaSengketaValue === '0' ? 'checked' : '' }}>
<label class="form-check-label" for="ada-sengketa-tidak">Tidak Ada</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" id="ada-sengketa-ya" name="ada_sengketa" value="1" {{ (string) $adaSengketaValue === '1' ? 'checked' : '' }}>
<label class="form-check-label" for="ada-sengketa-ya">Ada</label>
</div>
@error('ada_sengketa')<div class="invalid-feedback">{{ $message }}</div>@enderror @error('ada_sengketa')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
</div> </div>
@@ -376,7 +388,7 @@
<script> <script>
'use strict'; 'use strict';
$(document).ready(function () { $(document).ready(function () {
$('#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(); $('#skor-periode-paceklik, #skor-menabung, #skor-kecukupan, #status-kepemilikan-lahan, #skor-kejelasan-lahan, #pihak-membantu, #status-konflik, .sosial-ekonomi-komoditas').select2();
function syncKomoditasLainnyaOptions() { function syncKomoditasLainnyaOptions() {
const selectedUtama = $('.sosial-ekonomi-komoditas-utama') const selectedUtama = $('.sosial-ekonomi-komoditas-utama')
@@ -66,11 +66,11 @@
</thead> </thead>
<tbody> <tbody>
@for($i = 0; $i < 2; $i++) @for($i = 0; $i < 2; $i++)
@php($item = $pendapatanKomoditasUtama->get($i)) @php $item = $pendapatanKomoditasUtama->get($i) @endphp
<tr class="pendapatan-row" data-group="komoditas-utama" data-row-index="{{ $i }}"> <tr class="pendapatan-row" data-group="komoditas-utama" data-row-index="{{ $i }}">
<td> <td>
<input type="hidden" name="pendapatan_komoditas[{{ $i }}][kategori]" value="utama"> <input type="hidden" name="pendapatan_komoditas[{{ $i }}][kategori]" value="utama">
@php($selectedKomoditas = old("pendapatan_komoditas.$i.komoditas", $item?->komoditas)) @php $selectedKomoditas = old("pendapatan_komoditas.$i.komoditas", $item?->komoditas) @endphp
<select class="form-control sosial-ekonomi-komoditas sosial-ekonomi-komoditas-utama pendapatan-trigger" data-kategori="utama" name="pendapatan_komoditas[{{ $i }}][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> <option value="">Pilih Komoditas</option>
@foreach($komoditasPetani as $komoditas) @foreach($komoditasPetani as $komoditas)
@@ -79,14 +79,14 @@
</select> </select>
</td> </td>
<td> <td>
@php($pendapatanValue = old("pendapatan_komoditas.$i.pendapatan", $item?->pendapatan)) @php $pendapatanValue = old("pendapatan_komoditas.$i.pendapatan", $item?->pendapatan) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_komoditas[{{ $i }}][pendapatan]" value="{{ filled($pendapatanValue) ? number_format((int) preg_replace('/\D/', '', $pendapatanValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_komoditas[{{ $i }}][pendapatan]" value="{{ filled($pendapatanValue) ? number_format((int) preg_replace('/\D/', '', $pendapatanValue), 0, ',', '.') : '' }}">
</div> </div>
</td> </td>
<td> <td>
@php($periodeValue = old("pendapatan_komoditas.$i.periode", $item?->periode)) @php $periodeValue = old("pendapatan_komoditas.$i.periode", $item?->periode) @endphp
<div class="d-flex align-items-center gap-4"> <div class="d-flex align-items-center gap-4">
<div class="form-check mb-0"> <div class="form-check mb-0">
<input class="form-check-input" type="radio" id="periode-utama-{{ $i }}-musim" name="pendapatan_komoditas[{{ $i }}][periode]" value="musim" {{ $periodeValue === 'musim' ? 'checked' : '' }}> <input class="form-check-input" type="radio" id="periode-utama-{{ $i }}-musim" name="pendapatan_komoditas[{{ $i }}][periode]" value="musim" {{ $periodeValue === 'musim' ? 'checked' : '' }}>
@@ -121,12 +121,12 @@
</thead> </thead>
<tbody> <tbody>
@for($i = 0; $i < 2; $i++) @for($i = 0; $i < 2; $i++)
@php($item = $pendapatanKomoditasLainnya->get($i)) @php $item = $pendapatanKomoditasLainnya->get($i) @endphp
@php($index = $i + 2) @php $index = $i + 2 @endphp
<tr class="pendapatan-row" data-group="komoditas-lainnya" data-row-index="{{ $i }}"> <tr class="pendapatan-row" data-group="komoditas-lainnya" data-row-index="{{ $i }}">
<td> <td>
<input type="hidden" name="pendapatan_komoditas[{{ $index }}][kategori]" value="lainnya"> <input type="hidden" name="pendapatan_komoditas[{{ $index }}][kategori]" value="lainnya">
@php($selectedKomoditas = old("pendapatan_komoditas.$index.komoditas", $item?->komoditas)) @php $selectedKomoditas = old("pendapatan_komoditas.$index.komoditas", $item?->komoditas) @endphp
<select class="form-control sosial-ekonomi-komoditas sosial-ekonomi-komoditas-lainnya pendapatan-trigger" data-kategori="lainnya" name="pendapatan_komoditas[{{ $index }}][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> <option value="">Pilih Komoditas</option>
@foreach($komoditasPetani as $komoditas) @foreach($komoditasPetani as $komoditas)
@@ -135,14 +135,14 @@
</select> </select>
</td> </td>
<td> <td>
@php($pendapatanValue = old("pendapatan_komoditas.$index.pendapatan", $item?->pendapatan)) @php $pendapatanValue = old("pendapatan_komoditas.$index.pendapatan", $item?->pendapatan) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_komoditas[{{ $index }}][pendapatan]" value="{{ filled($pendapatanValue) ? number_format((int) preg_replace('/\D/', '', $pendapatanValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_komoditas[{{ $index }}][pendapatan]" value="{{ filled($pendapatanValue) ? number_format((int) preg_replace('/\D/', '', $pendapatanValue), 0, ',', '.') : '' }}">
</div> </div>
</td> </td>
<td> <td>
@php($periodeValue = old("pendapatan_komoditas.$index.periode", $item?->periode)) @php $periodeValue = old("pendapatan_komoditas.$index.periode", $item?->periode) @endphp
<div class="d-flex align-items-center gap-4"> <div class="d-flex align-items-center gap-4">
<div class="form-check mb-0"> <div class="form-check mb-0">
<input class="form-check-input" type="radio" id="periode-lainnya-{{ $i }}-musim" name="pendapatan_komoditas[{{ $index }}][periode]" value="musim" {{ $periodeValue === 'musim' ? 'checked' : '' }}> <input class="form-check-input" type="radio" id="periode-lainnya-{{ $i }}-musim" name="pendapatan_komoditas[{{ $index }}][periode]" value="musim" {{ $periodeValue === 'musim' ? 'checked' : '' }}>
@@ -176,13 +176,13 @@
</thead> </thead>
<tbody> <tbody>
@for($i = 0; $i < 2; $i++) @for($i = 0; $i < 2; $i++)
@php($item = $pendapatanLuarPertanian->get($i)) @php $item = $pendapatanLuarPertanian->get($i) @endphp
<tr class="pendapatan-row" data-group="luar-pertanian" data-row-index="{{ $i }}"> <tr class="pendapatan-row" data-group="luar-pertanian" data-row-index="{{ $i }}">
<td> <td>
<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) }}"> <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>
<td> <td>
@php($estimasiValue = old("pendapatan_luar_pertanian.$i.estimasi_per_bulan", $item?->estimasi_per_bulan)) @php $estimasiValue = old("pendapatan_luar_pertanian.$i.estimasi_per_bulan", $item?->estimasi_per_bulan) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_luar_pertanian[{{ $i }}][estimasi_per_bulan]" value="{{ filled($estimasiValue) ? number_format((int) preg_replace('/\D/', '', $estimasiValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input" name="pendapatan_luar_pertanian[{{ $i }}][estimasi_per_bulan]" value="{{ filled($estimasiValue) ? number_format((int) preg_replace('/\D/', '', $estimasiValue), 0, ',', '.') : '' }}">
@@ -229,7 +229,7 @@
<div class="row"> <div class="row">
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="biaya-kebun">Total Estimasi Biaya Kebun per Musim</label> <label class="form-label" for="biaya-kebun">Total Estimasi Biaya Kebun per Musim</label>
@php($biayaKebunValue = old('total_estimasi_biaya_kebun_per_musim', $sosialEkonomi?->total_estimasi_biaya_kebun_per_musim)) @php $biayaKebunValue = old('total_estimasi_biaya_kebun_per_musim', $sosialEkonomi?->total_estimasi_biaya_kebun_per_musim) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input @error('total_estimasi_biaya_kebun_per_musim') is-invalid @enderror" id="biaya-kebun" name="total_estimasi_biaya_kebun_per_musim" value="{{ filled($biayaKebunValue) ? number_format((int) preg_replace('/\D/', '', $biayaKebunValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input @error('total_estimasi_biaya_kebun_per_musim') is-invalid @enderror" id="biaya-kebun" name="total_estimasi_biaya_kebun_per_musim" value="{{ filled($biayaKebunValue) ? number_format((int) preg_replace('/\D/', '', $biayaKebunValue), 0, ',', '.') : '' }}">
@@ -250,7 +250,7 @@
</div> </div>
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="tabungan-bulan">Estimasi Tabungan per Bulan</label> <label class="form-label" for="tabungan-bulan">Estimasi Tabungan per Bulan</label>
@php($tabunganValue = old('estimasi_tabungan_per_bulan', $sosialEkonomi?->estimasi_tabungan_per_bulan)) @php $tabunganValue = old('estimasi_tabungan_per_bulan', $sosialEkonomi?->estimasi_tabungan_per_bulan) @endphp
<div class="input-group"> <div class="input-group">
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control currency-input @error('estimasi_tabungan_per_bulan') is-invalid @enderror" id="tabungan-bulan" name="estimasi_tabungan_per_bulan" value="{{ filled($tabunganValue) ? number_format((int) preg_replace('/\D/', '', $tabunganValue), 0, ',', '.') : '' }}"> <input type="text" inputmode="numeric" class="form-control currency-input @error('estimasi_tabungan_per_bulan') is-invalid @enderror" id="tabungan-bulan" name="estimasi_tabungan_per_bulan" value="{{ filled($tabunganValue) ? number_format((int) preg_replace('/\D/', '', $tabunganValue), 0, ',', '.') : '' }}">
@@ -305,21 +305,33 @@
@error('skor_kejelasan_status_lahan')<div class="invalid-feedback">{{ $message }}</div>@enderror @error('skor_kejelasan_status_lahan')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
<div class="col-md-2 mb-4 form-control-validation"> <div class="col-md-2 mb-4 form-control-validation">
<label class="form-label" for="ada-sertifikat">Ada Sertifikat/Dokumen?</label> @php
<select class="form-control @error('ada_sertifikat_dokumen') is-invalid @enderror" id="ada-sertifikat" name="ada_sertifikat_dokumen"> $adaSertifikatValue = old('ada_sertifikat_dokumen', is_null($sosialEkonomi?->ada_sertifikat_dokumen) ? null : (int) $sosialEkonomi->ada_sertifikat_dokumen);
<option value="">Pilih</option> @endphp
<option value="0" {{ old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === false || old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === '0' ? 'selected' : '' }}>Tidak Ada</option> <label class="form-label d-block">Ada Sertifikat/Dokumen?</label>
<option value="1" {{ old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === true || old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === '1' ? 'selected' : '' }}>Ada</option> <div class="form-check mb-2">
</select> <input class="form-check-input" type="radio" id="ada-sertifikat-tidak" name="ada_sertifikat_dokumen" value="0" {{ !is_null($adaSertifikatValue) && (string) $adaSertifikatValue === '0' ? 'checked' : '' }}>
<label class="form-check-label" for="ada-sertifikat-tidak">Tidak Ada</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" id="ada-sertifikat-ya" name="ada_sertifikat_dokumen" value="1" {{ (string) $adaSertifikatValue === '1' ? 'checked' : '' }}>
<label class="form-check-label" for="ada-sertifikat-ya">Ada</label>
</div>
@error('ada_sertifikat_dokumen')<div class="invalid-feedback">{{ $message }}</div>@enderror @error('ada_sertifikat_dokumen')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
<div class="col-md-2 mb-4 form-control-validation"> <div class="col-md-2 mb-4 form-control-validation">
<label class="form-label" for="ada-sengketa">Ada Sengketa?</label> @php
<select class="form-control @error('ada_sengketa') is-invalid @enderror" id="ada-sengketa" name="ada_sengketa"> $adaSengketaValue = old('ada_sengketa', is_null($sosialEkonomi?->ada_sengketa) ? null : (int) $sosialEkonomi->ada_sengketa);
<option value="">Pilih</option> @endphp
<option value="0" {{ old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === false || old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === '0' ? 'selected' : '' }}>Tidak Ada</option> <label class="form-label d-block">Ada Sengketa?</label>
<option value="1" {{ old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === true || old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === '1' ? 'selected' : '' }}>Ada</option> <div class="form-check mb-2">
</select> <input class="form-check-input" type="radio" id="ada-sengketa-tidak" name="ada_sengketa" value="0" {{ !is_null($adaSengketaValue) && (string) $adaSengketaValue === '0' ? 'checked' : '' }}>
<label class="form-check-label" for="ada-sengketa-tidak">Tidak Ada</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" id="ada-sengketa-ya" name="ada_sengketa" value="1" {{ (string) $adaSengketaValue === '1' ? 'checked' : '' }}>
<label class="form-check-label" for="ada-sengketa-ya">Ada</label>
</div>
@error('ada_sengketa')<div class="invalid-feedback">{{ $message }}</div>@enderror @error('ada_sengketa')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
</div> </div>
@@ -376,7 +388,7 @@
<script> <script>
'use strict'; 'use strict';
$(document).ready(function () { $(document).ready(function () {
$('#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(); $('#skor-periode-paceklik, #skor-menabung, #skor-kecukupan, #status-kepemilikan-lahan, #skor-kejelasan-lahan, #pihak-membantu, #status-konflik, .sosial-ekonomi-komoditas').select2();
function syncKomoditasLainnyaOptions() { function syncKomoditasLainnyaOptions() {
const selectedUtama = $('.sosial-ekonomi-komoditas-utama') const selectedUtama = $('.sosial-ekonomi-komoditas-utama')
+9 -9
View File
@@ -186,14 +186,14 @@ Route::middleware('auth')
Route::resource('realisasi', App\Http\Controllers\Web\Program\RealisasiController::class)->only('index', 'store', 'show', 'update', 'destroy'); Route::resource('realisasi', App\Http\Controllers\Web\Program\RealisasiController::class)->only('index', 'store', 'show', 'update', 'destroy');
Route::resource('verifikasi', App\Http\Controllers\Web\Program\VerifikasiController::class)->only('store', 'destroy'); Route::resource('verifikasi', App\Http\Controllers\Web\Program\VerifikasiController::class)->only('store', 'destroy');
// Petani
Route::resource('petani', App\Http\Controllers\Web\Produktivitas\PetaniController::class);
Route::get('petani/show-image/{id}/{field}', [App\Http\Controllers\Web\Produktivitas\PetaniController::class, 'showImage'])->name('petani.show-image'); Route::get('petani/show-image/{id}/{field}', [App\Http\Controllers\Web\Produktivitas\PetaniController::class, 'showImage'])->name('petani.show-image');
Route::get('petani/{petani}/akses-pasar', [App\Http\Controllers\Web\Produktivitas\AksesPasarController::class, 'editByPetani'])->name('petani.akses-pasar.edit');
Route::resource('petani.lahan-tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanController::class);
Route::resource('petani.lahan-tanaman.tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanTanamanController::class)->only(['show', 'update', 'destroy']);
Route::resource('petani.praktik-budidaya', App\Http\Controllers\Web\Produktivitas\PraktikBudidayaController::class);
Route::resource('petani.sosial-ekonomi', App\Http\Controllers\Web\Produktivitas\SosialEkonomiController::class);
Route::resource('petani.akses-pasar', App\Http\Controllers\Web\Produktivitas\AksesPasarController::class);
});
// Petani
Route::resource('petani', App\Http\Controllers\Web\Produktivitas\PetaniController::class)->whereNumber('petani');
Route::get('petani/{petani}/akses-pasar', [App\Http\Controllers\Web\Produktivitas\AksesPasarController::class, 'editByPetani'])->name('petani.akses-pasar.edit');
Route::resource('petani.lahan-tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanController::class)->whereNumber('petani');
Route::resource('petani.lahan-tanaman.tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanTanamanController::class)->only(['show', 'update', 'destroy'])->whereNumber('petani');
Route::resource('petani.praktik-budidaya', App\Http\Controllers\Web\Produktivitas\PraktikBudidayaController::class)->whereNumber('petani');
Route::resource('petani.sosial-ekonomi', App\Http\Controllers\Web\Produktivitas\SosialEkonomiController::class)->whereNumber('petani');
Route::resource('petani.akses-pasar', App\Http\Controllers\Web\Produktivitas\AksesPasarController::class)->whereNumber('petani');
});