-
-
-
diff --git a/resources/views/produktivitas/petani/sosial-ekonomi/edit.blade.php b/resources/views/produktivitas/petani/sosial-ekonomi/edit.blade.php
index bf2944b..521563b 100644
--- a/resources/views/produktivitas/petani/sosial-ekonomi/edit.blade.php
+++ b/resources/views/produktivitas/petani/sosial-ekonomi/edit.blade.php
@@ -1062,6 +1062,49 @@
const pinjamanTokohAdatAda = @json($pinjamanTokohAdatAdaValue);
const tekananJualSegeraAda = @json($tekananJualSegeraAdaValue);
const kebebasanMemilihPembeliCukupBebas = Number(@json($kebebasanMemilihPembeliCukupBebasValue));
+ const fieldExamples = {
+ jumlah_tanggungan: 'Contoh: 4',
+ anak_masih_sekolah: 'Contoh: 2',
+ yang_ikut_bekerja: 'Contoh: 2',
+ 'pendapatan_komoditas[][pendapatan]': 'Contoh: 3.500.000',
+ 'pendapatan_luar_pertanian[][jenis_pekerjaan]': 'Contoh: Buruh bangunan',
+ 'pendapatan_luar_pertanian[][estimasi_per_bulan]': 'Contoh: 1.500.000',
+ bulan_paceklik: 'Contoh: Januari-Maret',
+ sumber_penghasilan_paceklik: 'Contoh: Buruh harian',
+ total_estimasi_biaya_kebun_per_musim: 'Contoh: 2.500.000',
+ estimasi_tabungan_per_bulan: 'Contoh: 250.000',
+ alasan_kecukupan_penghasilan: 'Contoh: Cukup untuk makan dan biaya sekolah',
+ keterangan_sengketa: 'Contoh: Batas lahan belum disepakati',
+ pihak_membantu_konflik_nama: 'Contoh: Ketua adat setempat',
+ tahun_bantuan_konflik: 'Contoh: 2025',
+ alasan_mencoba_praktik_baru: 'Contoh: Ingin meningkatkan hasil panen',
+ hambatan_mengubah_cara_bertani: 'Contoh: Biaya dan tenaga terbatas',
+ contoh_pemahaman_mutu_harga: 'Contoh: Biji kering bersih dihargai lebih tinggi',
+ penyebab_harga_lebih_tinggi: 'Contoh: Kualitas lebih baik dan pembeli premium',
+ alasan_usaha_mutu_tambahan_harga: 'Contoh: Harga tambahan menutup biaya proses',
+ nama_lokasi_panutan: 'Contoh: Pak Anton, Dusun Wae',
+ harapan_program: 'Contoh: Bantuan pelatihan dan akses pembeli',
+ rencana_jangka_panjang: 'Contoh: Menambah tanaman dan memperbaiki kebun',
+ nama_kelompok_tani: 'Contoh: Kelompok Tani Maju Bersama',
+ lama_bergabung_kelompok_tahun: 'Contoh: 3',
+ topik_biasa_dibahas: 'Contoh: Pemupukan, hama, dan harga jual',
+ manfaat_lain_kartu_tani: 'Contoh: Lebih mudah membeli pupuk',
+ nama_bank: 'Contoh: BRI',
+ alasan_kredit_ditolak_lainnya: 'Contoh: Belum punya agunan',
+ jenis_aset_produktif_lainnya: 'Contoh: Mesin parut',
+ keterangan_kondisi_aset: 'Contoh: Pompa air masih berfungsi baik',
+ program_keuangan_formal_lainnya_nama: 'Contoh: Arisan kelompok',
+ 'detail_bantuan_ngo_perusahaan[][nama_lembaga]': 'Contoh: Yayasan Tani Sejahtera',
+ 'detail_bantuan_ngo_perusahaan[][bentuk_bantuan]': 'Contoh: Bibit dan pelatihan',
+ 'detail_bantuan_ngo_perusahaan[][frekuensi]': 'Contoh: 2',
+ 'detail_bantuan_ngo_perusahaan[][tahun_terakhir]': 'Contoh: 2025',
+ keterangan_pinjaman_tokoh_adat: 'Contoh: Pinjaman dibayar setelah panen',
+ total_hutang_rupiah: 'Contoh: 1.500.000',
+ total_hutang_setara_kg_panen: 'Contoh: 100',
+ penyebab_tekanan_jual_segera: 'Contoh: Butuh biaya sekolah',
+ alasan_tidak_bebas_memilih_pembeli: 'Contoh: Masih punya hutang pada pembeli',
+ alasan_minat_pembeli_harga_stabil: 'Contoh: Lebih aman untuk rencana biaya keluarga',
+ };
$('#status-kepemilikan-lahan, #pihak-membantu, #status-konflik, #pengetahuan-harga-hasil-olah, #pernah-jual-harga-lebih-tinggi, #usaha-mutu-tambahan-harga, #kedekatan-sesama-anggota, #status-kartu-tani, #bisa-beli-pupuk-bersubsidi, #minat-pembeli-stabil, .sosial-ekonomi-komoditas').select2();
@@ -1247,6 +1290,7 @@
$tbody.append($row);
$row.find('.sosial-ekonomi-komoditas').select2();
+ applySosialEkonomiExamples($row);
syncKomoditasLainnyaOptions();
}
@@ -1534,6 +1578,22 @@
return digits.replace(/\B(?=(\d{3})+(?!\d))/g, '.');
}
+ function normalizedFieldName(name) {
+ return String(name || '').replace(/\[\d+\]/g, '[]');
+ }
+
+ function applySosialEkonomiExamples($scope = $(document)) {
+ $scope.find('input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]), textarea').each(function () {
+ const $field = $(this);
+ const name = normalizedFieldName($field.attr('name'));
+ const example = fieldExamples[name] || ($field.hasClass('currency-input') ? 'Contoh: 150.000' : null);
+
+ if (example) {
+ $field.attr('placeholder', example);
+ }
+ });
+ }
+
function clearPendapatanRow($row) {
$row.find('select').val('').trigger('change');
$row.find('input[type="text"], input[type="number"]').val('');
@@ -1567,6 +1627,9 @@
this.setSelectionRange(this.value.length, this.value.length);
}
});
+ $('.currency-input').each(function () {
+ this.value = formatRupiah(this.value);
+ });
$('form').on('submit', function () {
$(this).find('.currency-input').each(function () {
this.value = onlyDigits(this.value);
@@ -1587,6 +1650,7 @@
$('#total-hutang-tidak-bersedia').on('change', syncTotalHutangFields);
$('input[name="tekanan_jual_segera"]').on('change', syncTekananJualFields);
$('input[name="kebebasan_memilih_pembeli"]').on('change', syncKebebasanPembeliFields);
+ applySosialEkonomiExamples();
syncKomoditasLainnyaOptions();
setupAllPendapatanRows();
syncPihakMembantuFields();
diff --git a/resources/views/produktivitas/petani/sosial-ekonomi/index.blade.php b/resources/views/produktivitas/petani/sosial-ekonomi/index.blade.php
index 93968fe..22fc8e3 100644
--- a/resources/views/produktivitas/petani/sosial-ekonomi/index.blade.php
+++ b/resources/views/produktivitas/petani/sosial-ekonomi/index.blade.php
@@ -1058,6 +1058,49 @@
const pinjamanTokohAdatAda = @json($pinjamanTokohAdatAdaValue);
const tekananJualSegeraAda = @json($tekananJualSegeraAdaValue);
const kebebasanMemilihPembeliCukupBebas = Number(@json($kebebasanMemilihPembeliCukupBebasValue));
+ const fieldExamples = {
+ jumlah_tanggungan: 'Contoh: 4',
+ anak_masih_sekolah: 'Contoh: 2',
+ yang_ikut_bekerja: 'Contoh: 2',
+ 'pendapatan_komoditas[][pendapatan]': 'Contoh: 3.500.000',
+ 'pendapatan_luar_pertanian[][jenis_pekerjaan]': 'Contoh: Buruh bangunan',
+ 'pendapatan_luar_pertanian[][estimasi_per_bulan]': 'Contoh: 1.500.000',
+ bulan_paceklik: 'Contoh: Januari-Maret',
+ sumber_penghasilan_paceklik: 'Contoh: Buruh harian',
+ total_estimasi_biaya_kebun_per_musim: 'Contoh: 2.500.000',
+ estimasi_tabungan_per_bulan: 'Contoh: 250.000',
+ alasan_kecukupan_penghasilan: 'Contoh: Cukup untuk makan dan biaya sekolah',
+ keterangan_sengketa: 'Contoh: Batas lahan belum disepakati',
+ pihak_membantu_konflik_nama: 'Contoh: Ketua adat setempat',
+ tahun_bantuan_konflik: 'Contoh: 2025',
+ alasan_mencoba_praktik_baru: 'Contoh: Ingin meningkatkan hasil panen',
+ hambatan_mengubah_cara_bertani: 'Contoh: Biaya dan tenaga terbatas',
+ contoh_pemahaman_mutu_harga: 'Contoh: Biji kering bersih dihargai lebih tinggi',
+ penyebab_harga_lebih_tinggi: 'Contoh: Kualitas lebih baik dan pembeli premium',
+ alasan_usaha_mutu_tambahan_harga: 'Contoh: Harga tambahan menutup biaya proses',
+ nama_lokasi_panutan: 'Contoh: Pak Anton, Dusun Wae',
+ harapan_program: 'Contoh: Bantuan pelatihan dan akses pembeli',
+ rencana_jangka_panjang: 'Contoh: Menambah tanaman dan memperbaiki kebun',
+ nama_kelompok_tani: 'Contoh: Kelompok Tani Maju Bersama',
+ lama_bergabung_kelompok_tahun: 'Contoh: 3',
+ topik_biasa_dibahas: 'Contoh: Pemupukan, hama, dan harga jual',
+ manfaat_lain_kartu_tani: 'Contoh: Lebih mudah membeli pupuk',
+ nama_bank: 'Contoh: BRI',
+ alasan_kredit_ditolak_lainnya: 'Contoh: Belum punya agunan',
+ jenis_aset_produktif_lainnya: 'Contoh: Mesin parut',
+ keterangan_kondisi_aset: 'Contoh: Pompa air masih berfungsi baik',
+ program_keuangan_formal_lainnya_nama: 'Contoh: Arisan kelompok',
+ 'detail_bantuan_ngo_perusahaan[][nama_lembaga]': 'Contoh: Yayasan Tani Sejahtera',
+ 'detail_bantuan_ngo_perusahaan[][bentuk_bantuan]': 'Contoh: Bibit dan pelatihan',
+ 'detail_bantuan_ngo_perusahaan[][frekuensi]': 'Contoh: 2',
+ 'detail_bantuan_ngo_perusahaan[][tahun_terakhir]': 'Contoh: 2025',
+ keterangan_pinjaman_tokoh_adat: 'Contoh: Pinjaman dibayar setelah panen',
+ total_hutang_rupiah: 'Contoh: 1.500.000',
+ total_hutang_setara_kg_panen: 'Contoh: 100',
+ penyebab_tekanan_jual_segera: 'Contoh: Butuh biaya sekolah',
+ alasan_tidak_bebas_memilih_pembeli: 'Contoh: Masih punya hutang pada pembeli',
+ alasan_minat_pembeli_harga_stabil: 'Contoh: Lebih aman untuk rencana biaya keluarga',
+ };
$('#status-kepemilikan-lahan, #pihak-membantu, #status-konflik, #pengetahuan-harga-hasil-olah, #pernah-jual-harga-lebih-tinggi, #usaha-mutu-tambahan-harga, #kedekatan-sesama-anggota, #status-kartu-tani, #bisa-beli-pupuk-bersubsidi, #minat-pembeli-stabil, .sosial-ekonomi-komoditas').select2();
@@ -1243,6 +1286,7 @@
$tbody.append($row);
$row.find('.sosial-ekonomi-komoditas').select2();
+ applySosialEkonomiExamples($row);
syncKomoditasLainnyaOptions();
}
@@ -1530,6 +1574,22 @@
return digits.replace(/\B(?=(\d{3})+(?!\d))/g, '.');
}
+ function normalizedFieldName(name) {
+ return String(name || '').replace(/\[\d+\]/g, '[]');
+ }
+
+ function applySosialEkonomiExamples($scope = $(document)) {
+ $scope.find('input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]), textarea').each(function () {
+ const $field = $(this);
+ const name = normalizedFieldName($field.attr('name'));
+ const example = fieldExamples[name] || ($field.hasClass('currency-input') ? 'Contoh: 150.000' : null);
+
+ if (example) {
+ $field.attr('placeholder', example);
+ }
+ });
+ }
+
function clearPendapatanRow($row) {
$row.find('select').val('').trigger('change');
$row.find('input[type="text"], input[type="number"]').val('');
@@ -1563,6 +1623,9 @@
this.setSelectionRange(this.value.length, this.value.length);
}
});
+ $('.currency-input').each(function () {
+ this.value = formatRupiah(this.value);
+ });
$('form').on('submit', function () {
$(this).find('.currency-input').each(function () {
this.value = onlyDigits(this.value);
@@ -1583,6 +1646,7 @@
$('#total-hutang-tidak-bersedia').on('change', syncTotalHutangFields);
$('input[name="tekanan_jual_segera"]').on('change', syncTekananJualFields);
$('input[name="kebebasan_memilih_pembeli"]').on('change', syncKebebasanPembeliFields);
+ applySosialEkonomiExamples();
syncKomoditasLainnyaOptions();
setupAllPendapatanRows();
syncPihakMembantuFields();