Merge branch 'main' of https://git.probindo.com/Probindo/database-pertani-web
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum KategoriPendapatanKomoditas: string
|
||||
{
|
||||
case UTAMA = 'utama';
|
||||
case LAINNYA = 'lainnya';
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum PeriodePendapatan: string
|
||||
{
|
||||
case MUSIM = 'musim';
|
||||
case TAHUN = 'tahun';
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum PihakMembantuKonflik: string
|
||||
{
|
||||
case TIDAK_ADA_SELESAIKAN_SENDIRI = 'Tidak ada-selesaikan sendiri';
|
||||
case ADA = 'Ada';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return $this->value;
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum FrekuensiPemangkasanPendamping: string
|
||||
{
|
||||
case TIDAK_PERNAH = 'Tidak pernah memangkas sama sekali';
|
||||
case TIDAK_RUTIN = 'Memangkas, tapi tidak rutin dan tidak tahu tekniknya';
|
||||
case SATU_KALI_TAHUN = 'Memangkas 1 kali/tahun, tahu jenis tekniknya';
|
||||
case DUA_KALI_TAHUN = 'Memangkas 2 kali/tahun, tahu jenis tekniknya';
|
||||
case LEBIH_DUA_KALI_TAHUN = 'Memangkas lebih dari 2 kali/tahun dengan teknik yang tepat dan pohon penaung juga dipangkas rutin';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::TIDAK_PERNAH => 'Tidak pernah memangkas sama sekali',
|
||||
self::TIDAK_RUTIN => 'Memangkas, tapi tidak rutin dan tidak tahu tekniknya',
|
||||
self::SATU_KALI_TAHUN => 'Memangkas 1 kali/tahun, tahu jenis tekniknya',
|
||||
self::DUA_KALI_TAHUN => 'Memangkas 2 kali/tahun, tahu jenis tekniknya',
|
||||
self::LEBIH_DUA_KALI_TAHUN => 'Memangkas lebih dari 2 kali/tahun dengan teknik yang tepat dan pohon penaung juga dipangkas rutin',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum FrekuensiPemangkasanUtama: int
|
||||
{
|
||||
case TIDAK_PERNAH = 1;
|
||||
case TIDAK_RUTIN = 2;
|
||||
case SATU_KALI_TAHUN = 3;
|
||||
case DUA_KALI_TAHUN = 4;
|
||||
case LEBIH_DUA_KALI_TAHUN = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::TIDAK_PERNAH => 'Tidak pernah memangkas sama sekali',
|
||||
self::TIDAK_RUTIN => 'Memangkas, tapi tidak rutin dan tidak tahu tekniknya',
|
||||
self::SATU_KALI_TAHUN => 'Memangkas 1 kali/tahun, tahu jenis tekniknya',
|
||||
self::DUA_KALI_TAHUN => 'Memangkas 2 kali/tahun, tahu jenis tekniknya',
|
||||
self::LEBIH_DUA_KALI_TAHUN => 'Memangkas lebih dari 2 kali/tahun dengan teknik yang tepat dan pohon penaung juga dipangkas rutin',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum FrekuensiSanitasiLahan: int
|
||||
{
|
||||
case TIDAK_PERNAH = 1;
|
||||
case SESEKALI = 2;
|
||||
case SETIAP_PANEN = 3;
|
||||
case RUTIN_TIDAK_TERJADWAL = 4;
|
||||
case RUTIN_TERJADWAL = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::TIDAK_PERNAH => 'Tidak pernah',
|
||||
self::SESEKALI => 'Sesekali, tidak terjadwal',
|
||||
self::SETIAP_PANEN => 'Setiap panen, tapi tidak menyeluruh',
|
||||
self::RUTIN_TIDAK_TERJADWAL => 'Rutin, tapi tanpa jadwal yang jelas',
|
||||
self::RUTIN_TERJADWAL => 'Rutin terjadwal dan menyeluruh',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum IntensitasSeranganHamaPenyakit: string
|
||||
{
|
||||
case RINGAN = 'Ringan - hanya beberapa tanaman terdampak';
|
||||
case SEDANG = 'Sedang - sebagian tanaman terdampak';
|
||||
case PARAH = 'Parah - sebagian besar tanaman terdampak';
|
||||
case BERVARIASI = 'Bervariasi - tergantung musim';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::RINGAN => 'Ringan - hanya beberapa tanaman terdampak',
|
||||
self::SEDANG => 'Sedang - sebagian tanaman terdampak',
|
||||
self::PARAH => 'Parah - sebagian besar tanaman terdampak',
|
||||
self::BERVARIASI => 'Bervariasi - tergantung musim',
|
||||
};
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => $case->value)->toArray();
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum JenisPupuk: string
|
||||
{
|
||||
case TIDAK_MEMBERI = 'Tidak memberi pupuk';
|
||||
case ORGANIK = 'Pupuk organik (kompos/kandang)';
|
||||
case KIMIA = 'Pupuk kimia';
|
||||
case KEDUANYA = 'Keduanya';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::TIDAK_MEMBERI => 'Tidak memberi pupuk',
|
||||
self::ORGANIK => 'Pupuk organik (kompos/kandang)',
|
||||
self::KIMIA => 'Pupuk kimia',
|
||||
self::KEDUANYA => 'Keduanya',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum KebutuhanAirPerMusim: string
|
||||
{
|
||||
case TIDAK_BUTUH = 'Tidak butuh, hujan cukup';
|
||||
case KURANG = 'Kurang, sering kekurangan air';
|
||||
case CUKUP = 'Cukup terpenuhi';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::TIDAK_BUTUH => 'Tidak butuh, hujan cukup',
|
||||
self::KURANG => 'Kurang, sering kekurangan air',
|
||||
self::CUKUP => 'Cukup terpenuhi',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum KondisiPengelolaanAir: int
|
||||
{
|
||||
case KURANG_TIDAK_ADA_UPAYA = 1;
|
||||
case KURANG_TIDAK_SUDAH_BERUPAYA = 2;
|
||||
case CUKUP_DARI_HUJAN = 3;
|
||||
case CUKUP_IRIGASI_PINJAM = 4;
|
||||
case CUKUP_IRIGASI_SENDIRI = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::KURANG_TIDAK_ADA_UPAYA => 'Kebutuhan air kurang terpenuhi, sering kekurangan air, tidak ada upaya mengatasinya',
|
||||
self::KURANG_TIDAK_SUDAH_BERUPAYA => 'Kebutuhan air kurang terpenuhi, sering kekurangan air, tapi sudah mencoba mengandalkan sumber lain (sumur/sungai) walau belum cukup',
|
||||
self::CUKUP_DARI_HUJAN => 'Kebutuhan air cukup terpenuhi hanya dari hujan, tanpa sistem irigasi tambahan',
|
||||
self::CUKUP_IRIGASI_PINJAM => 'Kebutuhan air cukup terpenuhi, ada sistem irigasi tambahan (sungai/mata air/sumur) tapi pinjam',
|
||||
self::CUKUP_IRIGASI_SENDIRI => 'Kebutuhan air cukup terpenuhi, punya akses irigasi sendiri (sungai/mata air/sumur) yang dikelola baik',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum MetodePenangananHamaPenyakit: int
|
||||
{
|
||||
case TIDAK_ADA = 1;
|
||||
case CARA_TRADISIONAL = 2;
|
||||
case PESTISIDA_SANITASI = 3;
|
||||
case KOMBINASI = 4;
|
||||
case PHT = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::TIDAK_ADA => 'Tidak ada penanganan',
|
||||
self::CARA_TRADISIONAL => 'Cara tradisional (doa/ritual)',
|
||||
self::PESTISIDA_SANITASI => 'Pestisida atau sanitasi',
|
||||
self::KOMBINASI => 'Kombinasi pestisada dan sanitasi',
|
||||
self::PHT => 'Pengendalian hama terpadu(PHT)',
|
||||
};
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => $case->value)->toArray();
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum PemahamanManfaatKonservasi: string
|
||||
{
|
||||
case YA_PAHAM = 'Ya, tahu manfaatnya';
|
||||
case TIDAK_PAHAM = 'Dilakukan tapi tidak tahu manfaatnya, kebiasaan turun-temurun';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::YA_PAHAM => 'Ya, tahu manfaatnya',
|
||||
self::TIDAK_PAHAM => 'Dilakukan tapi tidak tahu manfaatnya, kebiasaan turun-temurun',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum PemberianPupuk: int
|
||||
{
|
||||
case TIDAK_PERNAH = 1;
|
||||
case JENIS_DOSIS_WAKTU_TIDAK_MENENTU = 2;
|
||||
case JENIS_SESUAI_DOSIS_TIDAK_MENENTU = 3;
|
||||
case JENIS_DOSIS_SESUAI_WAKTU_CUKUP_TEPAT = 4;
|
||||
case JENIS_DOSIS_SESUAI_WAKTU_TEPAT = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::TIDAK_PERNAH => 'Tidak pernah memberi pupuk',
|
||||
self::JENIS_DOSIS_WAKTU_TIDAK_MENENTU => 'Memberi pupuk, tapi jenis/dosis tidak menentu, waktu sembarangan',
|
||||
self::JENIS_SESUAI_DOSIS_TIDAK_MENENTU => 'Memberi pupuk dengan jenis yang sesuai (organik/kimia/keduanya), tapi dosis atau waktu belum tepat',
|
||||
self::JENIS_DOSIS_SESUAI_WAKTU_CUKUP_TEPAT => 'Memberi pupuk dengan jenis dan dosis yang sesuai, waktu cukup tepat',
|
||||
self::JENIS_DOSIS_SESUAI_WAKTU_TEPAT => 'Memberi pupuk rutin dengan jenis tepat, dosis tepat, dan waktu tepat sesuai kebutuhan tanaman',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum PenangananGulma: int
|
||||
{
|
||||
case DIBIARKAN = 1;
|
||||
case DICABUT = 2;
|
||||
case DISEMPROT = 3;
|
||||
case RUTIN_DICABUT_TANPA_JADWAL = 4;
|
||||
case RUTIN_TERJADWAL = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::DIBIARKAN => 'Dibiarkan di kebun',
|
||||
self::DICABUT => 'Dikumpulkan dan dibuang',
|
||||
self::DISEMPROT => 'Dijadikan kompos',
|
||||
self::RUTIN_DICABUT_TANPA_JADWAL => 'Dikumpulkan dan dibuang',
|
||||
self::RUTIN_TERJADWAL => 'Dijadikan kompos',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum PenangananSisaBuahRanting: string
|
||||
{
|
||||
case DIBIARKAN = 'Dibiarkan di kebun';
|
||||
case DIKUMPULKAN = 'Dikumpulkan dan dibuang';
|
||||
case KOMPOS = 'Dijadikan kompos';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::DIBIARKAN => 'Dibiarkan di kebun',
|
||||
self::DIKUMPULKAN => 'Dikumpulkan dan dibuang',
|
||||
self::KOMPOS => 'Dijadikan kompos',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum PenyerbukanManual: string
|
||||
{
|
||||
case SELALU = 'Selalu, setiap musim berbunga';
|
||||
case KADANG_KADANG = 'Kadang-kadang, tergantung kondisi';
|
||||
case TIDAK_PERNAH = 'Tidak pernah';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::SELALU => 'Selalu, setiap musim berbunga',
|
||||
self::KADANG_KADANG => 'Kadang-kadang, tergantung kondisi',
|
||||
self::TIDAK_PERNAH => 'Tidak pernah',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum TenagaKerja: string
|
||||
{
|
||||
case DIKERJAKAN_SENDIRI = 'Dikerjakan Sendiri';
|
||||
case DIBANTU_ANGGOTA_KELUARGA = 'Dibantu Anggota Keluarga';
|
||||
case UPAH_TENAGA_KERJA = 'Upah Tenaga Kerja';
|
||||
case GOTONG_ROYONG = 'Gotong Royong/Swadaya Komunitas';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::DIKERJAKAN_SENDIRI => 'Dikerjakan Sendiri',
|
||||
self::DIBANTU_ANGGOTA_KELUARGA => 'Dibantu Anggota Keluarga',
|
||||
self::UPAH_TENAGA_KERJA => 'Upah Tenaga Kerja',
|
||||
self::GOTONG_ROYONG => 'Gotong Royong/Swadaya Komunitas',
|
||||
};
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => $case->value)->toArray();
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums\PraktikBudidaya;
|
||||
|
||||
enum WaktuKemunculanTerparahHamaPenyakit: string
|
||||
{
|
||||
case HUJAN = 'Musim hujan';
|
||||
case KEMARAU = 'Musim kemarau';
|
||||
case SEPANJANG_TAHUN = 'Sepanjang tahun';
|
||||
case TIDAK_TENTU = 'Tidak tentu';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::HUJAN => 'Musim hujan',
|
||||
self::KEMARAU => 'Musim kemarau',
|
||||
self::SEPANJANG_TAHUN => 'Sepanjang tahun',
|
||||
self::TIDAK_TENTU => 'Tidak tentu',
|
||||
};
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => $case->value)->toArray();
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum SkorKecukupanPenghasilan: int
|
||||
{
|
||||
case SANGAT_TIDAK_CUKUP = 1;
|
||||
case KURANG_SERING_BERHUTANG = 2;
|
||||
case CUKUP_PAS_PASAN = 3;
|
||||
case CUKUP_ADA_SISA = 4;
|
||||
case LEBIH_DARI_CUKUP = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SANGAT_TIDAK_CUKUP => 'Sangat tidak cukup',
|
||||
self::KURANG_SERING_BERHUTANG => 'Kurang, sering berhutang',
|
||||
self::CUKUP_PAS_PASAN => 'Cukup pas-pasan',
|
||||
self::CUKUP_ADA_SISA => 'Cukup, kadang ada sisa',
|
||||
self::LEBIH_DARI_CUKUP => 'Lebih dari cukup',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum SkorKejelasanStatusLahan: int
|
||||
{
|
||||
case TIDAK_ADA_DOKUMEN_ADA_SENGKETA = 1;
|
||||
case ADA_DOKUMEN_MASIH_SENGKETA = 2;
|
||||
case PERNAH_SENGKETA_SELESAI = 3;
|
||||
case LAHAN_ADAT_TANPA_SENGKETA = 4;
|
||||
case BERSERTIFIKAT_TANPA_SENGKETA = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::TIDAK_ADA_DOKUMEN_ADA_SENGKETA => 'Tidak ada dokumen & ada sengketa',
|
||||
self::ADA_DOKUMEN_MASIH_SENGKETA => 'Ada dokumen tapi masih sengketa',
|
||||
self::PERNAH_SENGKETA_SELESAI => 'Pernah sengketa, sudah selesai',
|
||||
self::LAHAN_ADAT_TANPA_SENGKETA => 'Lahan adat/keluarga/perhutanan sosial tanpa sengketa',
|
||||
self::BERSERTIFIKAT_TANPA_SENGKETA => 'Bersertifikat & tidak ada sengketa',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum SkorKemampuanMenabung: int
|
||||
{
|
||||
case TIDAK_BISA = 1;
|
||||
case PERNAH_TERPAKAI = 2;
|
||||
case KADANG_KADANG = 3;
|
||||
case BISA_TIDAK_TETAP = 4;
|
||||
case RUTIN_TETAP = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::TIDAK_BISA => 'Tidak bisa sama sekali',
|
||||
self::PERNAH_TERPAKAI => 'Pernah tapi selalu terpakai',
|
||||
self::KADANG_KADANG => 'Kadang-kadang',
|
||||
self::BISA_TIDAK_TETAP => 'Bisa tapi tidak tetap',
|
||||
self::RUTIN_TETAP => 'Rutin & jumlah tetap',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum SkorPeriodePaceklik: int
|
||||
{
|
||||
case LEBIH_DARI_EMPAT_BULAN = 1;
|
||||
case TIGA_SAMPAI_EMPAT_BULAN = 2;
|
||||
case SATU_SAMPAI_DUA_BULAN = 3;
|
||||
case SEBENTAR_TIDAK_MENENTU = 4;
|
||||
case TIDAK_ADA_STABIL = 5;
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::LEBIH_DARI_EMPAT_BULAN => '>4 bulan',
|
||||
self::TIGA_SAMPAI_EMPAT_BULAN => '3-4 bulan',
|
||||
self::SATU_SAMPAI_DUA_BULAN => '1-2 bulan',
|
||||
self::SEBENTAR_TIDAK_MENENTU => 'Sebentar & tidak menentu',
|
||||
self::TIDAK_ADA_STABIL => 'Tidak ada, stabil',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum StatusKepemilikanLahanSosialEkonomi: string
|
||||
{
|
||||
case MILIK_PRIBADI = 'Milik pribadi';
|
||||
case MILIK_ORANG_TUA_KELUARGA = 'Milik orang tua-keluarga';
|
||||
case SEWA_BAGI_HASIL = 'Sewa-bagi hasil';
|
||||
case LAHAN_ADAT = 'Lahan adat';
|
||||
case PERHUTANAN_SOSIAL = 'Perhutanan sosial';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return $this->value;
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum StatusKonflik: string
|
||||
{
|
||||
case SUDAH_SELESAI = 'Sudah selesai';
|
||||
case BELUM_MASIH_BERLANJUT = 'Belum, masih berlanjut';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return $this->value;
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
|
||||
public static function values(): array
|
||||
{
|
||||
return array_column(self::cases(), 'value');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Web\Dashboard;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
class DistribusiController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
if (!Gate::allows('super_admin') && !Gate::allows('admin')) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$title = 'Distribusi Dashboard';
|
||||
|
||||
return view('dashboard.distribusi', compact('title'));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Web\Produktivitas;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
use App\Models\Pertanian\Petani;
|
||||
|
||||
class PendidikanPelatihanController extends Controller
|
||||
{
|
||||
public function index($petaniId, Request $request)
|
||||
{
|
||||
if (!Gate::any(['super_admin', 'admin', 'fasilitator'])) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$title = 'Petani - Pendidikan dan Pelatihan';
|
||||
$petani = Petani::findOrFail($petaniId);
|
||||
|
||||
return view('produktivitas.petani.pendidikan-pelatihan.add', compact('title', 'petani'));
|
||||
}
|
||||
}
|
||||
@@ -80,7 +80,9 @@ class PetaniController extends Controller
|
||||
'kk' => ['nullable', 'min:16', 'max:16'],
|
||||
'file_kk' => ['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')) {
|
||||
@@ -162,7 +164,9 @@ class PetaniController extends Controller
|
||||
'kk' => ['nullable', 'min:16', 'max:16'],
|
||||
'file_kk' => ['nullable', 'file', 'mimes:jpeg,jpg,png,pdf', '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')) {
|
||||
|
||||
@@ -5,8 +5,19 @@ namespace App\Http\Controllers\Web\Produktivitas;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Validation\Rules\Enum;
|
||||
|
||||
use App\Models\Pertanian\Petani;
|
||||
use App\Models\Pertanian\PraktikBudidaya;
|
||||
|
||||
use App\Enums\PraktikBudidaya\TenagaKerja;
|
||||
use App\Enums\PraktikBudidaya\FrekuensiPemangkasanUtama;
|
||||
use App\Enums\PraktikBudidaya\FrekuensiPemangkasanPendamping;
|
||||
use App\Enums\PraktikBudidaya\PemberianPupuk;
|
||||
use App\Enums\PraktikBudidaya\JenisPupuk;
|
||||
use App\Enums\PraktikBudidaya\PenyerbukanManual;
|
||||
|
||||
class PraktikBudidayaController extends Controller
|
||||
{
|
||||
@@ -16,9 +27,245 @@ class PraktikBudidayaController extends Controller
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$defaultTeknikPemangkasan = [
|
||||
'Pemangkasan bentuk',
|
||||
'Pemangkasan produksi',
|
||||
'Pemangkasan peremajaan',
|
||||
'Tidak tahu jenis pemangkasannya — dilakukan berdasarkan kebiasaan',
|
||||
];
|
||||
|
||||
$defaultAlasanTidakPenyerbukan = [
|
||||
'Tidak tahu caranya',
|
||||
'Tidak ada tenaga/waktu',
|
||||
'Mengandalkan penyerbuk alami',
|
||||
];
|
||||
|
||||
$defaultFrekuensiPemupukan = [
|
||||
'1 kali/tahun',
|
||||
'2 kali/tahun',
|
||||
'Lebih dari 2 kali/tahun',
|
||||
];
|
||||
|
||||
$defaultWaktuPemberianPupuk = [
|
||||
'Awal musim hujan',
|
||||
'Akhir musim hujan',
|
||||
'Sebelum berbunga',
|
||||
'Sebelum Setelah Panen',
|
||||
'Tidak Menentu',
|
||||
];
|
||||
|
||||
$defaultCaraPemberianPupuk = [
|
||||
'Ditabur di sekitar pohon',
|
||||
'Dibenamkan dalam lubang/parit',
|
||||
'Dicairkan/dikocor',
|
||||
'Disemprotkan ke daun',
|
||||
];
|
||||
|
||||
$defaultSumberAir = [
|
||||
'Sungai/mata air',
|
||||
'Sumur',
|
||||
'Mengandalkan hujan saja',
|
||||
];
|
||||
|
||||
$defaultSistemIrigasi = [
|
||||
'Tidak ada irigasi',
|
||||
'Milik sendiri',
|
||||
'Milik komunitas/kelompok tani',
|
||||
'Milik pemerintah',
|
||||
];
|
||||
|
||||
$title = 'Petani - Praktik Budidaya';
|
||||
$petani = Petani::findOrFail($petaniId);
|
||||
$praktikBudidaya = PraktikBudidaya::where('petani_id', $petaniId)->latest()->first();
|
||||
|
||||
$teknikPemangkasan = $praktikBudidaya->teknik_pemangkasan ?? [];
|
||||
$teknikPemangkasanLainnya = collect($teknikPemangkasan)
|
||||
->first(fn ($item) => !in_array($item, $defaultTeknikPemangkasan));
|
||||
|
||||
$alasanTidakPenyerbukan = $praktikBudidaya->deskripsi_tidak_penyerbukan ?? '';
|
||||
$alasanTidakPenyerbukanLainnya = collect(explode(', ', $alasanTidakPenyerbukan))
|
||||
->first(fn ($item) => !in_array($item, $defaultAlasanTidakPenyerbukan));
|
||||
|
||||
$frekuensiPemupukan = $praktikBudidaya->frekuensi_pemupukan ?? '';
|
||||
$frekuensiPemupukanLainnya = collect(explode(', ', $frekuensiPemupukan))
|
||||
->first(fn ($item) => !in_array($item, $defaultFrekuensiPemupukan));
|
||||
|
||||
$waktuPemberianPupuk = $praktikBudidaya->waktu_pemberian_pupuk ?? '';
|
||||
$waktuPemberianPupukLainnya = collect(explode(', ', $waktuPemberianPupuk))
|
||||
->first(fn ($item) => !in_array($item, $defaultWaktuPemberianPupuk));
|
||||
|
||||
$caraPemberianPupuk = $praktikBudidaya->cara_pemberian_pupuk ?? '';
|
||||
$caraPemberianPupukLainnya = collect(explode(', ', $caraPemberianPupuk))
|
||||
->first(fn ($item) => !in_array($item, $defaultCaraPemberianPupuk));
|
||||
|
||||
$sumberAir = $praktikBudidaya->sumber_air ?? '';
|
||||
$sumberAirLainnya = collect(explode(', ', $sumberAir))
|
||||
->first(fn ($item) => !in_array($item, $defaultSumberAir));
|
||||
|
||||
$sistemIrigasi = $praktikBudidaya->sistem_irigasi ?? '';
|
||||
$sistemIrigasiLainnya = collect(explode(', ', $sistemIrigasi))
|
||||
->first(fn ($item) => !in_array($item, $defaultSistemIrigasi));
|
||||
|
||||
return view('produktivitas.petani.praktik-budidaya.add', compact('title', 'petani'));
|
||||
if (!empty($praktikBudidaya)) {
|
||||
return view('produktivitas.petani.praktik-budidaya.edit', compact('title', 'petani', 'praktikBudidaya', 'teknikPemangkasanLainnya', 'alasanTidakPenyerbukanLainnya', 'frekuensiPemupukanLainnya', 'waktuPemberianPupukLainnya', 'caraPemberianPupukLainnya', 'sumberAirLainnya', 'sistemIrigasiLainnya'));
|
||||
}
|
||||
|
||||
return view('produktivitas.petani.praktik-budidaya.add', compact('title', 'petani', 'teknikPemangkasanLainnya', 'alasanTidakPenyerbukanLainnya', 'frekuensiPemupukanLainnya', 'waktuPemberianPupukLainnya', 'caraPemberianPupukLainnya'));
|
||||
}
|
||||
|
||||
public function store($petaniId, Request $request)
|
||||
{
|
||||
if (!Gate::any(['super_admin', 'admin', 'fasilitator'])) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$validatedData = $request->validate([
|
||||
'tenaga_kerja' => ['nullable', 'string', new Enum(TenagaKerja::class)],
|
||||
'frekuensi_pemangkasan_komoditas_utama' => ['nullable', 'int', new Enum(FrekuensiPemangkasanUtama::class)],
|
||||
'teknik_pemangkasan' => ['nullable', 'array'],
|
||||
'teknik_pemangkasan_lainnya' => ['nullable', 'string'],
|
||||
'frekuensi_pemangkasan_pohon_penaung' => ['nullable', 'string', new Enum(FrekuensiPemangkasanPendamping::class)],
|
||||
|
||||
'penyerbukan_manual' => ['nullable', 'string', new Enum(PenyerbukanManual::class)],
|
||||
'alasan_tidak_penyerbukan' => ['nullable', 'string'],
|
||||
'alasan_tidak_penyerbukan_lainnya' => ['nullable', 'string'],
|
||||
'tingkat_keberhasilan_penyerbukan' => ['nullable', 'string'],
|
||||
'pemberian_pupuk' => ['nullable', 'int', new Enum(PemberianPupuk::class)],
|
||||
'jenis_pupuk' => ['nullable', 'string', new Enum(JenisPupuk::class)],
|
||||
'frekuensi_pemupukan' => ['nullable', 'string'],
|
||||
'frekuensi_pemupukan_lainnya' => ['nullable', 'string'],
|
||||
'estimasi_dosis_pupuk_organik' => ['nullable', 'string'],
|
||||
'estimasi_dosis_pupuk_anorganik' => ['nullable', 'string'],
|
||||
'waktu_pemberian_pupuk' => ['nullable', 'string'],
|
||||
'waktu_pemberian_pupuk_lainnya' => ['nullable', 'string'],
|
||||
'cara_pemberian_pupuk' => ['nullable', 'string'],
|
||||
'cara_pemberian_pupuk_lainnya' => ['nullable', 'string'],
|
||||
]);
|
||||
|
||||
$teknik_pemangkasan = $request->teknik_pemangkasan ?? [];
|
||||
|
||||
if (($key = array_search('Lainnya', $teknik_pemangkasan)) !== false) {
|
||||
unset($teknik_pemangkasan[$key]);
|
||||
|
||||
if (!empty($request->teknik_pemangkasan_lainnya)) {
|
||||
$teknik_pemangkasan[] = $request->teknik_pemangkasan_lainnya;
|
||||
}
|
||||
}
|
||||
|
||||
$teknik_pemangkasan = array_values($teknik_pemangkasan);
|
||||
|
||||
$petani = Petani::findOrFail($petaniId);
|
||||
|
||||
$praktikBudidaya = $petani->praktik_budidaya()->create([
|
||||
'petani_id' => $petani->id,
|
||||
'uid' => 'PB-' . strtoupper(Str::random(10)),
|
||||
'tenaga_kerja' => $validatedData['tenaga_kerja'],
|
||||
'frekuensi_pemangkasan_utama' => $validatedData['frekuensi_pemangkasan_komoditas_utama'],
|
||||
|
||||
'teknik_pemangkasan' => $teknik_pemangkasan,
|
||||
|
||||
'frekuensi_pemangkasan_penaung' => $validatedData['frekuensi_pemangkasan_pohon_penaung'],
|
||||
'penyerbukan_manual' => $validatedData['penyerbukan_manual'] ?? null,
|
||||
'deskripsi_penyerbukan_manual' => $validatedData['alasan_tidak_penyerbukan'] ?? null,
|
||||
'tingkat_keberhasilan_penyerbukan' => $validatedData['tingkat_keberhasilan_penyerbukan'] ?? null,
|
||||
'pemberian_pupuk' => $validatedData['pemberian_pupuk'] ?? null,
|
||||
'jenis_pupuk' => $validatedData['jenis_pupuk'] ?? null,
|
||||
'frekuensi_pemberian_pupuk' => ($validatedData['frekuensi_pemupukan'] ?? null) === 'Lainnya' ? ($validatedData['frekuensi_pemupukan_lainnya'] ?? null) : ($validatedData['frekuensi_pemupukan'] ?? null),
|
||||
'estimasi_dosis_pupuk_organik' => $validatedData['estimasi_dosis_pupuk_organik'] ?? null,
|
||||
'estimasi_dosis_pupuk_anorganik' => $validatedData['estimasi_dosis_pupuk_anorganik'] ?? null,
|
||||
'waktu_pemberian_pupuk' => ($validatedData['waktu_pemberian_pupuk'] ?? null) === 'Lainnya' ? ($validatedData['waktu_pemberian_pupuk_lainnya'] ?? null) : ($validatedData['waktu_pemberian_pupuk'] ?? null),
|
||||
'cara_pemberian_pupuk' => ($validatedData['cara_pemberian_pupuk'] ?? null) === 'Lainnya' ? ($validatedData['cara_pemberian_pupuk_lainnya'] ?? null) : ($validatedData['cara_pemberian_pupuk'] ?? null),
|
||||
]);
|
||||
|
||||
return redirect()->route('petani.praktik-budidaya.edit', [$petani->id , $praktikBudidaya->id])
|
||||
->with('success', 'Data praktik budidaya berhasil disimpan.');
|
||||
}
|
||||
|
||||
public function edit($petaniId, $praktikBudidayaId)
|
||||
{
|
||||
if (!Gate::any(['super_admin', 'admin', 'fasilitator'])) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$defaultTeknikPemangkasan = [
|
||||
'Pemangkasan bentuk',
|
||||
'Pemangkasan produksi',
|
||||
'Pemangkasan peremajaan',
|
||||
'Tidak tahu jenis pemangkasannya — dilakukan berdasarkan kebiasaan',
|
||||
];
|
||||
|
||||
$defaultAlasanTidakPenyerbukan = [
|
||||
'Tidak tahu caranya',
|
||||
'Tidak ada tenaga/waktu',
|
||||
'Mengandalkan penyerbuk alami',
|
||||
];
|
||||
|
||||
$defaultFrekuensiPemupukan = [
|
||||
'1 kali/tahun',
|
||||
'2 kali/tahun',
|
||||
'Lebih dari 2 kali/tahun',
|
||||
];
|
||||
|
||||
$defaultWaktuPemberianPupuk = [
|
||||
'Awal musim hujan',
|
||||
'Akhir musim hujan',
|
||||
'Sebelum berbunga',
|
||||
'Sebelum Setelah Panen',
|
||||
'Tidak Menentu',
|
||||
];
|
||||
|
||||
$defaultCaraPemberianPupuk = [
|
||||
'Ditabur di sekitar pohon',
|
||||
'Dibenamkan dalam lubang/parit',
|
||||
'Dicairkan/dikocor',
|
||||
'Disemprotkan ke daun',
|
||||
];
|
||||
|
||||
$defaultSumberAir = [
|
||||
'Sungai/mata air',
|
||||
'Sumur',
|
||||
'Mengandalkan hujan saja',
|
||||
];
|
||||
|
||||
$defaultSistemIrigasi = [
|
||||
'Tidak ada irigasi',
|
||||
'Milik sendiri',
|
||||
'Milik komunitas/kelompok tani',
|
||||
'Milik pemerintah',
|
||||
];
|
||||
|
||||
$title = 'Petani - Praktik Budidaya';
|
||||
$petani = Petani::findOrFail($petaniId);
|
||||
$praktikBudidaya = PraktikBudidaya::where('petani_id', $petaniId)->where('id', $praktikBudidayaId)->latest()->first();
|
||||
|
||||
$teknikPemangkasan = $praktikBudidaya->teknik_pemangkasan ?? [];
|
||||
$teknikPemangkasanLainnya = collect($teknikPemangkasan)
|
||||
->first(fn ($item) => !in_array($item, $defaultTeknikPemangkasan));
|
||||
|
||||
$alasanTidakPenyerbukan = $praktikBudidaya->deskripsi_tidak_penyerbukan ?? '';
|
||||
$alasanTidakPenyerbukanLainnya = collect(explode(', ', $alasanTidakPenyerbukan))
|
||||
->first(fn ($item) => !in_array($item, $defaultAlasanTidakPenyerbukan));
|
||||
|
||||
$frekuensiPemupukan = $praktikBudidaya->frekuensi_pemupukan ?? '';
|
||||
$frekuensiPemupukanLainnya = collect(explode(', ', $frekuensiPemupukan))
|
||||
->first(fn ($item) => !in_array($item, $defaultFrekuensiPemupukan));
|
||||
|
||||
$waktuPemberianPupuk = $praktikBudidaya->waktu_pemberian_pupuk ?? '';
|
||||
$waktuPemberianPupukLainnya = collect(explode(', ', $waktuPemberianPupuk))
|
||||
->first(fn ($item) => !in_array($item, $defaultWaktuPemberianPupuk));
|
||||
|
||||
$caraPemberianPupuk = $praktikBudidaya->cara_pemberian_pupuk ?? '';
|
||||
$caraPemberianPupukLainnya = collect(explode(', ', $caraPemberianPupuk))
|
||||
->first(fn ($item) => !in_array($item, $defaultCaraPemberianPupuk));
|
||||
|
||||
$sumberAir = $praktikBudidaya->sumber_air ?? '';
|
||||
$sumberAirLainnya = collect(explode(', ', $sumberAir))
|
||||
->first(fn ($item) => !in_array($item, $defaultSumberAir));
|
||||
|
||||
$sistemIrigasi = $praktikBudidaya->sistem_irigasi ?? '';
|
||||
$sistemIrigasiLainnya = collect(explode(', ', $sistemIrigasi))
|
||||
->first(fn ($item) => !in_array($item, $defaultSistemIrigasi));
|
||||
|
||||
return view('produktivitas.petani.praktik-budidaya.edit', compact('title', 'petani', 'praktikBudidaya', 'teknikPemangkasanLainnya', 'alasanTidakPenyerbukanLainnya', 'frekuensiPemupukanLainnya', 'waktuPemberianPupukLainnya', 'caraPemberianPupukLainnya', 'sumberAirLainnya', 'sistemIrigasiLainnya'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,15 @@
|
||||
namespace App\Http\Controllers\Web\Produktivitas;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Enums\KategoriPendapatanKomoditas;
|
||||
use App\Enums\PeriodePendapatan;
|
||||
use App\Enums\PihakMembantuKonflik;
|
||||
use App\Enums\SkorKecukupanPenghasilan;
|
||||
use App\Enums\SkorKejelasanStatusLahan;
|
||||
use App\Enums\SkorKemampuanMenabung;
|
||||
use App\Enums\SkorPeriodePaceklik;
|
||||
use App\Enums\StatusKepemilikanLahanSosialEkonomi;
|
||||
use App\Enums\StatusKonflik;
|
||||
use App\Models\Pertanian\Komoditas;
|
||||
use App\Models\Pertanian\Lahan;
|
||||
use App\Models\Pertanian\Petani;
|
||||
@@ -32,14 +41,14 @@ class SosialEkonomiController extends Controller
|
||||
$pendapatanLuarPertanian = $sosialEkonomi?->pendapatanLuarPertanian?->values() ?? collect();
|
||||
$komoditasPetani = $this->komoditasPetani($petani);
|
||||
|
||||
return view('produktivitas.petani.sosial-ekonomi.index', compact(
|
||||
return view('produktivitas.petani.sosial-ekonomi.index', array_merge(compact(
|
||||
'petani',
|
||||
'sosialEkonomi',
|
||||
'pendapatanKomoditasUtama',
|
||||
'pendapatanKomoditasLainnya',
|
||||
'pendapatanLuarPertanian',
|
||||
'komoditasPetani'
|
||||
));
|
||||
), $this->sosialEkonomiOptions()));
|
||||
}
|
||||
|
||||
public function index(Request $request, Petani $petani)
|
||||
@@ -87,14 +96,14 @@ class SosialEkonomiController extends Controller
|
||||
return response()->json($sosialEkonomi);
|
||||
}
|
||||
|
||||
return view($view, compact(
|
||||
return view($view, array_merge(compact(
|
||||
'petani',
|
||||
'sosialEkonomi',
|
||||
'komoditasPetani',
|
||||
'pendapatanKomoditasUtama',
|
||||
'pendapatanKomoditasLainnya',
|
||||
'pendapatanLuarPertanian',
|
||||
));
|
||||
), $this->sosialEkonomiOptions()));
|
||||
}
|
||||
|
||||
public function store(Request $request, ?Petani $petani = null): JsonResponse|RedirectResponse
|
||||
@@ -214,29 +223,29 @@ class SosialEkonomiController extends Controller
|
||||
'jumlah_tanggungan' => ['nullable', 'integer', 'min:0'],
|
||||
'anak_masih_sekolah' => ['nullable', 'integer', 'min:0'],
|
||||
'yang_ikut_bekerja' => ['nullable', 'integer', 'min:0'],
|
||||
'skor_periode_paceklik' => ['nullable', 'integer', 'min:1', 'max:5'],
|
||||
'skor_periode_paceklik' => ['nullable', 'integer', Rule::in(SkorPeriodePaceklik::values())],
|
||||
'bulan_paceklik' => ['nullable', 'string', 'max:255'],
|
||||
'sumber_penghasilan_paceklik' => ['nullable', 'string'],
|
||||
'total_estimasi_biaya_kebun_per_musim' => ['nullable', 'integer', 'min:0'],
|
||||
'skor_kemampuan_menabung' => ['nullable', 'integer', 'min:1', 'max:5'],
|
||||
'skor_kemampuan_menabung' => ['nullable', 'integer', Rule::in(SkorKemampuanMenabung::values())],
|
||||
'estimasi_tabungan_per_bulan' => ['nullable', 'integer', 'min:0'],
|
||||
'skor_kecukupan_penghasilan' => ['nullable', 'integer', 'min:1', 'max:5'],
|
||||
'skor_kecukupan_penghasilan' => ['nullable', 'integer', Rule::in(SkorKecukupanPenghasilan::values())],
|
||||
'alasan_kecukupan_penghasilan' => ['nullable', 'string'],
|
||||
'status_kepemilikan_lahan' => ['nullable', 'string', 'max:255'],
|
||||
'skor_kejelasan_status_lahan' => ['nullable', 'integer', 'min:1', 'max:5'],
|
||||
'status_kepemilikan_lahan' => ['nullable', 'string', Rule::in(StatusKepemilikanLahanSosialEkonomi::values())],
|
||||
'skor_kejelasan_status_lahan' => ['nullable', 'integer', Rule::in(SkorKejelasanStatusLahan::values())],
|
||||
'ada_sertifikat_dokumen' => ['nullable', 'boolean'],
|
||||
'ada_sengketa' => ['nullable', 'boolean'],
|
||||
'keterangan_sengketa' => ['nullable', 'string'],
|
||||
'pihak_membantu_konflik' => ['nullable', 'string', 'max:255'],
|
||||
'pihak_membantu_konflik' => ['nullable', 'string', Rule::in(PihakMembantuKonflik::values())],
|
||||
'pihak_membantu_konflik_nama' => ['nullable', 'string', 'max:255'],
|
||||
'tahun_bantuan_konflik' => ['nullable', 'integer', 'digits:4'],
|
||||
'status_konflik' => ['nullable', 'string', 'max:255'],
|
||||
'status_konflik' => ['nullable', 'string', Rule::in(StatusKonflik::values())],
|
||||
|
||||
'pendapatan_komoditas' => ['nullable', 'array'],
|
||||
'pendapatan_komoditas.*.kategori' => ['required_with:pendapatan_komoditas', 'string', 'in:utama,lainnya'],
|
||||
'pendapatan_komoditas.*.kategori' => ['required_with:pendapatan_komoditas', 'string', Rule::in(KategoriPendapatanKomoditas::values())],
|
||||
'pendapatan_komoditas.*.komoditas' => ['nullable', 'string', 'max:255'],
|
||||
'pendapatan_komoditas.*.pendapatan' => ['nullable', 'integer', 'min:0'],
|
||||
'pendapatan_komoditas.*.periode' => ['nullable', 'string', 'in:musim,tahun'],
|
||||
'pendapatan_komoditas.*.periode' => ['nullable', 'string', Rule::in(PeriodePendapatan::values())],
|
||||
|
||||
'pendapatan_luar_pertanian' => ['nullable', 'array'],
|
||||
'pendapatan_luar_pertanian.*.jenis_pekerjaan' => ['nullable', 'string', 'max:255'],
|
||||
@@ -253,7 +262,9 @@ class SosialEkonomiController extends Controller
|
||||
])
|
||||
->all();
|
||||
|
||||
if (($payload['pihak_membantu_konflik'] ?? null) === 'Tidak ada-selesaikan sendiri') {
|
||||
$payload = $this->normalizeSkorPayload($payload);
|
||||
|
||||
if (($payload['pihak_membantu_konflik'] ?? null) === PihakMembantuKonflik::TIDAK_ADA_SELESAIKAN_SENDIRI->value) {
|
||||
$payload['pihak_membantu_konflik_nama'] = null;
|
||||
$payload['tahun_bantuan_konflik'] = null;
|
||||
}
|
||||
@@ -261,6 +272,22 @@ class SosialEkonomiController extends Controller
|
||||
return $payload;
|
||||
}
|
||||
|
||||
private function normalizeSkorPayload(array $payload): array
|
||||
{
|
||||
foreach ([
|
||||
'skor_periode_paceklik',
|
||||
'skor_kemampuan_menabung',
|
||||
'skor_kecukupan_penghasilan',
|
||||
'skor_kejelasan_status_lahan',
|
||||
] as $field) {
|
||||
if (array_key_exists($field, $payload) && !is_null($payload[$field]) && $payload[$field] !== '') {
|
||||
$payload[$field] = (int) $payload[$field];
|
||||
}
|
||||
}
|
||||
|
||||
return $payload;
|
||||
}
|
||||
|
||||
private function syncPendapatanKomoditas(SosialEkonomi $sosialEkonomi, array $items): void
|
||||
{
|
||||
$sosialEkonomi->pendapatanKomoditas()->delete();
|
||||
@@ -333,4 +360,18 @@ class SosialEkonomiController extends Controller
|
||||
->get();
|
||||
}
|
||||
|
||||
private function sosialEkonomiOptions(): array
|
||||
{
|
||||
return [
|
||||
'periodePaceklikOptions' => SkorPeriodePaceklik::options(),
|
||||
'kemampuanMenabungOptions' => SkorKemampuanMenabung::options(),
|
||||
'kecukupanPenghasilanOptions' => SkorKecukupanPenghasilan::options(),
|
||||
'kejelasanStatusLahanOptions' => SkorKejelasanStatusLahan::options(),
|
||||
'statusKepemilikanLahanOptions' => StatusKepemilikanLahanSosialEkonomi::options(),
|
||||
'pihakMembantuKonflikOptions' => PihakMembantuKonflik::options(),
|
||||
'pihakMembantuTanpaBantuanValue' => PihakMembantuKonflik::TIDAK_ADA_SELESAIKAN_SENDIRI->value,
|
||||
'statusKonflikOptions' => StatusKonflik::options(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
use Carbon\Carbon;
|
||||
|
||||
use App\Models\Wilayah\DesaKelurahan;
|
||||
@@ -22,7 +23,7 @@ class Petani extends Model
|
||||
'uid',
|
||||
'nama',
|
||||
|
||||
'telepon',
|
||||
'nomor_telepon',
|
||||
'alamat',
|
||||
|
||||
'kk',
|
||||
@@ -74,4 +75,9 @@ class Petani extends Model
|
||||
{
|
||||
return $this->belongsTo(User::class, 'user_id');
|
||||
}
|
||||
|
||||
public function praktik_budidaya(): HasOne
|
||||
{
|
||||
return $this->hasOne(PraktikBudidaya::class, 'petani_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,13 @@
|
||||
|
||||
namespace App\Models\Pertanian;
|
||||
|
||||
use App\Enums\PihakMembantuKonflik;
|
||||
use App\Enums\SkorKecukupanPenghasilan;
|
||||
use App\Enums\SkorKejelasanStatusLahan;
|
||||
use App\Enums\SkorKemampuanMenabung;
|
||||
use App\Enums\SkorPeriodePaceklik;
|
||||
use App\Enums\StatusKepemilikanLahanSosialEkonomi;
|
||||
use App\Enums\StatusKonflik;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
@@ -45,15 +52,18 @@ class SosialEkonomi extends Model
|
||||
'jumlah_tanggungan' => 'integer',
|
||||
'anak_masih_sekolah' => 'integer',
|
||||
'yang_ikut_bekerja' => 'integer',
|
||||
'skor_periode_paceklik' => 'integer',
|
||||
'skor_periode_paceklik' => SkorPeriodePaceklik::class,
|
||||
'total_estimasi_biaya_kebun_per_musim' => 'integer',
|
||||
'skor_kemampuan_menabung' => 'integer',
|
||||
'skor_kemampuan_menabung' => SkorKemampuanMenabung::class,
|
||||
'estimasi_tabungan_per_bulan' => 'integer',
|
||||
'skor_kecukupan_penghasilan' => 'integer',
|
||||
'skor_kejelasan_status_lahan' => 'integer',
|
||||
'skor_kecukupan_penghasilan' => SkorKecukupanPenghasilan::class,
|
||||
'status_kepemilikan_lahan' => StatusKepemilikanLahanSosialEkonomi::class,
|
||||
'skor_kejelasan_status_lahan' => SkorKejelasanStatusLahan::class,
|
||||
'ada_sertifikat_dokumen' => 'boolean',
|
||||
'ada_sengketa' => 'boolean',
|
||||
'pihak_membantu_konflik' => PihakMembantuKonflik::class,
|
||||
'tahun_bantuan_konflik' => 'integer',
|
||||
'status_konflik' => StatusKonflik::class,
|
||||
];
|
||||
|
||||
public function petani(): BelongsTo
|
||||
|
||||
@@ -0,0 +1,178 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('praktik_budidaya', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('uid')->unique();
|
||||
// K2 PRAKTIK BUDIDAYA
|
||||
// 2.2 Persiapan Lahan & Penanaman
|
||||
$table->foreignID('petani_id')->constrained('petani')->onDelete('cascade');
|
||||
$table->string('tenaga_kerja')->nullable();
|
||||
// 2.3 Frekuensi Pemangkasan
|
||||
$table->integer('frekuensi_pemangkasan_utama')->nullable();
|
||||
$table->jsonb('teknik_pemangkasan')->nullable();
|
||||
$table->string('frekuensi_pemangkasan_penaung')->nullable();
|
||||
$table->string('penyerbukan_manual')->nullable();
|
||||
$table->string('deskripsi_penyerbukan_manual')->nullable();
|
||||
$table->string('tingkat_keberhasilan_penyerbukan')->nullable();
|
||||
// 2.4 Praktik Pemupukan
|
||||
$table->integer('pemberian_pupuk')->nullable();
|
||||
$table->string('jenis_pupuk')->nullable();
|
||||
$table->string('frekuensi_pemberian_pupuk')->nullable();
|
||||
$table->decimal('estimasi_dosis_pupuk_organik', 10, 2)->nullable();
|
||||
$table->decimal('estimasi_dosis_pupuk_anorganik', 10, 2)->nullable();
|
||||
$table->string('waktu_pemberian_pupuk')->nullable();
|
||||
$table->string('cara_pemberian_pupuk')->nullable();
|
||||
// 2.5 Pengendalian Organisme Pengganggu Tumbuhan (OPT)
|
||||
$table->integer('metode_penanganan_opt')->nullable();
|
||||
$table->string('jenis_hama')->nullable();
|
||||
$table->string('jenis_penyakit')->nullable();
|
||||
$table->string('intensitas_serangan')->nullable();
|
||||
$table->string('waktu_kemunculan_terparah')->nullable();
|
||||
$table->string('metode_paling_sering_dilakukan')->nullable();
|
||||
$table->integer('volume_obat_obatan_permusim')->nullable();
|
||||
$table->string('satuan_volume_obat_obatan')->nullable();
|
||||
// 2.6 Sanitasi Kebun
|
||||
$table->integer('frekuensi_sanitasi_lahan')->nullable();
|
||||
$table->string('penanganan_sisa_buah_ranting')->nullable();
|
||||
$table->integer('penanganan_gulma')->nullable();
|
||||
// 2.7 Pengelolaan Air & irigasi
|
||||
$table->integer('kondisi_pengelolaan_air')->nullable();
|
||||
$table->string('sumber_air')->nullable();
|
||||
$table->string('sistem_irigasi')->nullable();
|
||||
$table->string('kebutuhan_air_permusim')->nullable();
|
||||
|
||||
// 2.8 Praktik konservasi tanah
|
||||
$table->string('praktik_konservasi_tanah')->nullable();
|
||||
$table->string('pemahaman_manfaat_konservasi_tanah')->nullable();
|
||||
$table->integer('nilai_konservasi_tanah')->nullable();
|
||||
|
||||
// 2.9 Struktur Biaya Produksi Per Musim
|
||||
$table->decimal('upah_tenaga_kerja', 10, 2)->nullable();
|
||||
$table->decimal('biaya_bibit', 10, 2)->nullable();
|
||||
$table->decimal('biaya_pupuk', 10, 2)->nullable();
|
||||
$table->decimal('biaya_obat_obatan', 10, 2)->nullable();
|
||||
$table->decimal('biaya_sewa_alat', 10, 2)->nullable();
|
||||
$table->decimal('biaya_penyediaan_air', 10, 2)->nullable();
|
||||
$table->decimal('biaya_lainnya', 10, 2)->nullable();
|
||||
$table->decimal('total_estimasi_biaya', 10, 2)->nullable();
|
||||
|
||||
// K4 Produktivitas
|
||||
// 4.3 Kehilangan Akibat OPT
|
||||
$table->string('estimasi_kehilangan_akibat_opt')->nullable();
|
||||
$table->string('estimasi_kehilangan_akibat_hama_penyakit')->nullable();
|
||||
|
||||
$table->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
});
|
||||
|
||||
Schema::create('panen', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('uid')->unique();
|
||||
$table->foreignId('petani_id')->nullable()->constrained('petani')->onDelete('set null');
|
||||
|
||||
// K3 PANEN & PENANGANAN AWAL
|
||||
// 3.1 Cara Menetukan Kematangan
|
||||
$table->integer('cara_menetukan_kematangan')->nullable();
|
||||
// 3.2 Frekuensi Panen
|
||||
$table->integer('frekuensi_panen_pertahun')->nullable();
|
||||
$table->string('bulan_panen_utama')->nullable();
|
||||
// 3.4 Hasil Panen Aktual
|
||||
$table->decimal('hasil_komoditas_utama_permusim_kg', 10, 2)->nullable();
|
||||
$table->decimal('hasil_komoditas_lainnya_permusim_kg', 10, 2)->nullable();
|
||||
$table->string('tujuan_panen')->nullable();
|
||||
// 3.5 Penanganan Awal Setelah Panen
|
||||
$table->integer('praktik_sortasi')->nullable();
|
||||
$table->string('bentuk_sortasi')->nullable();
|
||||
// 3.8 Hasil Panen Reject & Estimasi Biaya Panen
|
||||
$table->integer('hasil_panen_reject')->nullable();
|
||||
$table->string('jumlah_panen_reject')->nullable();
|
||||
$table->string('tindakan_terhadap_panen_reject')->nullable();
|
||||
$table->decimal('estimasi_biaya_panen', 10, 2)->nullable();
|
||||
$table->decimal('upah_tenaga_panen', 10, 2)->nullable();
|
||||
$table->decimal('biaya_pengangkutan', 10, 2)->nullable();
|
||||
$table->decimal('biaya_wadah', 10, 2)->nullable();
|
||||
$table->decimal('biaya_sewa_alat', 10, 2)->nullable();
|
||||
$table->decimal('biaya_lainnya', 10, 2)->nullable();
|
||||
$table->decimal('total_estimasi_biaya_panen', 10, 2)->nullable();
|
||||
// K4 Produktivitas
|
||||
// 4.3 Kehilangan Akibat OPT
|
||||
$table->string('estimasi_kehilangan_akibat_opt')->nullable();
|
||||
$table->string('estimasi_kehilangan_akibat_hama_penyakit')->nullable();
|
||||
|
||||
$table->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
});
|
||||
|
||||
Schema::create('produktivitas', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('uid')->unique();
|
||||
$table->foreignId('petani_id')->nullable()->constrained('petani')->onDelete('set null');
|
||||
$table->foreignId('komoditas_id')->nullable()->constrained('master_komoditas')->onDelete('set null');
|
||||
$table->foreignId('jenis_komoditas_id')->nullable()->constrained('jenis_komoditas')->onDelete('set null');
|
||||
$table->foreignId('varietas_id')->nullable()->constrained('master_varietas')->onDelete('set null');
|
||||
$table->decimal('kuantitas_pertahun', 10, 2)->nullable();
|
||||
$table->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
});
|
||||
|
||||
Schema::create('pelatihan', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('uid')->unique();
|
||||
$table->foreignId('petani_id')->nullable()->constrained('petani')->onDelete('set null');
|
||||
$table->string('jenis_pelatihan');
|
||||
$table->string('penyelenggara');
|
||||
$table->date('tahun_pelaksanaan');
|
||||
$table->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
});
|
||||
|
||||
Schema::create('sertifikasi', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('uid')->unique();
|
||||
$table->foreignId('petani_id')->nullable()->constrained('petani')->onDelete('set null');
|
||||
$table->string('jenis_sertifikasi');
|
||||
$table->string('lembaga_penerbit');
|
||||
$table->date('tahun_pelaksanaan');
|
||||
$table->boolean('is_aktif')->default(false);
|
||||
$table->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('praktik_budidaya');
|
||||
Schema::dropIfExists('pelatihan');
|
||||
Schema::dropIfExists('sertifikasi');
|
||||
Schema::dropIfExists('produktivitas');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom">
|
||||
<h5 class="card-title mb-0">{{ $title }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="text-muted mb-0">
|
||||
Dashboard distribusi sedang disiapkan.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -12,16 +12,13 @@
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
|
||||
<!-- PROFIL PETANI -->
|
||||
@include('produktivitas.petani.header', ['petani' => null])
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<!-- INFORMASI PETANI -->
|
||||
<div class="card-header border-bottom">
|
||||
<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">
|
||||
@csrf
|
||||
<div class="row">
|
||||
@@ -35,7 +32,7 @@
|
||||
width="120"
|
||||
alt="User avatar" />
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
@@ -157,7 +154,7 @@
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<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"
|
||||
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
|
||||
</div>
|
||||
</div>
|
||||
@@ -183,7 +180,7 @@
|
||||
</div>
|
||||
|
||||
<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>
|
||||
|
||||
</form>
|
||||
@@ -191,7 +188,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@@ -278,7 +274,7 @@
|
||||
status_perkawinan: { required: true },
|
||||
file_ktp: { 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: {
|
||||
nama: { required: "Nama petani wajib diisi" },
|
||||
@@ -296,7 +292,11 @@
|
||||
status_perkawinan: { required: "Status perkawinan wajib diisi" },
|
||||
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)" },
|
||||
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',
|
||||
errorPlacement: function (error, element) {
|
||||
@@ -312,4 +312,4 @@
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="card-body pt-12">
|
||||
<h5 class="pb-3 border-bottom mb-4">Pengalaman Saluran Lain</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-pengalaman">Pengalaman & akses ke saluran lain</label>
|
||||
<select class="form-control select2-init @error('skor_pengalaman') is-invalid @enderror" id="skor-pengalaman" name="skor_pengalaman">
|
||||
<option value="">Pilih Skala</option>
|
||||
@@ -45,7 +45,13 @@
|
||||
@error('skor_pengalaman')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="col-md-8 mb-4 form-control-validation">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="alasan-berhenti">Alasan berhenti</label>
|
||||
<input type="text" class="form-control @error('alasan_berhenti') is-invalid @enderror" id="alasan-berhenti" name="alasan_berhenti" value="{{ old('alasan_berhenti', $aksesPasar?->alasan_berhenti) }}" placeholder="Opsional (jika sudah berhenti)...">
|
||||
@error('alasan_berhenti')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="saluran-terdahulu">Dulu pernah jual ke?</label>
|
||||
@php($saluran = old('saluran_terdahulu', $aksesPasar?->saluran_terdahulu ?? []))
|
||||
<select multiple class="form-control select2-init @error('saluran_terdahulu') is-invalid @enderror" id="saluran-terdahulu" name="saluran_terdahulu[]">
|
||||
@@ -59,15 +65,9 @@
|
||||
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="saluran-lainnya">Lainnya</label>
|
||||
<input type="text" class="form-control @error('saluran_terdahulu_lainnya') is-invalid @enderror" id="saluran-lainnya" name="saluran_terdahulu_lainnya" value="{{ old('saluran_terdahulu_lainnya', $aksesPasar?->saluran_terdahulu_lainnya) }}">
|
||||
<input type="text" class="form-control @error('saluran_terdahulu_lainnya') is-invalid @enderror" id="saluran-lainnya" name="saluran_terdahulu_lainnya" value="{{ old('saluran_terdahulu_lainnya', $aksesPasar?->saluran_terdahulu_lainnya) }}" placeholder="Sebutkan saluran lainnya...">
|
||||
@error('saluran_terdahulu_lainnya')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="alasan-berhenti">Alasan berhenti</label>
|
||||
<input type="text" class="form-control @error('alasan_berhenti') is-invalid @enderror" id="alasan-berhenti" name="alasan_berhenti" value="{{ old('alasan_berhenti', $aksesPasar?->alasan_berhenti) }}">
|
||||
@error('alasan_berhenti')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="pb-3 border-bottom mb-4 mt-4">HARGA DI SETIAP TITIK</h5>
|
||||
@@ -124,40 +124,58 @@
|
||||
</div>
|
||||
|
||||
<h5 class="pb-3 border-bottom mb-4 mt-4">PELUANG NILAI TAMBAH</h5>
|
||||
<h6 class="mb-2">Praktik Fermentasi</h6>
|
||||
<p class="mb-4">Apakah sudah ada praktik fermentasi atau pengolahan pascapanen yang Ibu/Bapak lakukan, bagaimana prosesnya dilakukan?</p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="praktik-fermentasi">Praktik fermentasi yang dilakukan</label>
|
||||
<select class="form-control select2-init @error('praktik_fermentasi') is-invalid @enderror" id="praktik-fermentasi" name="praktik_fermentasi">
|
||||
<option value="">Pilih</option>
|
||||
<option value="Ya, rutin — dilakukan sendiri/individual" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Ya, rutin — dilakukan sendiri/individual' ? 'selected' : '' }}>Ya, rutin — dilakukan sendiri/individual</option>
|
||||
<option value="Ya, rutin — bersama kelompok tani/kolektif" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Ya, rutin — bersama kelompok tani/kolektif' ? 'selected' : '' }}>Ya, rutin — bersama kelompok tani/kolektif</option>
|
||||
<option value="Pernah mencoba — sendiri" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Pernah mencoba — sendiri' ? 'selected' : '' }}>Pernah mencoba — sendiri</option>
|
||||
<option value="Pernah mencoba — bersama kelompok" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Pernah mencoba — bersama kelompok' ? 'selected' : '' }}>Pernah mencoba — bersama kelompok</option>
|
||||
<option value="Belum pernah" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Belum pernah' ? 'selected' : '' }}>Belum pernah</option>
|
||||
</select>
|
||||
@error('praktik_fermentasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
|
||||
<div class="border rounded p-4 mb-4" style="background-color: #fbfbfc;">
|
||||
|
||||
<div class="mb-4">
|
||||
<h6 class="mb-1 text-primary">Detail Praktik Fermentasi</h6>
|
||||
<p class="text-muted small mb-0">Apakah sudah ada praktik fermentasi atau pengolahan pascapanen yang Ibu/Bapak lakukan?</p>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="proses-fermentasi">Jika ya, bagaimana prosesnya? </label>
|
||||
<textarea class="form-control @error('proses_fermentasi') is-invalid @enderror" id="proses-fermentasi" name="proses_fermentasi" rows="2">{{ old('proses_fermentasi', $aksesPasar?->proses_fermentasi) }}</textarea>
|
||||
@error('proses_fermentasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-9 form-control-validation d-flex flex-column">
|
||||
<div class="mb-2 d-flex align-items-end h-100">
|
||||
<label class="form-label mb-0" for="praktik-fermentasi">Praktik fermentasi yang dilakukan</label>
|
||||
</div>
|
||||
<div>
|
||||
<select class="form-control select2-init @error('praktik_fermentasi') is-invalid @enderror" id="praktik-fermentasi" name="praktik_fermentasi">
|
||||
<option value="">Pilih</option>
|
||||
<option value="Ya, rutin — dilakukan sendiri/individual" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Ya, rutin — dilakukan sendiri/individual' ? 'selected' : '' }}>Ya, rutin — dilakukan sendiri/individual</option>
|
||||
<option value="Ya, rutin — bersama kelompok tani/kolektif" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Ya, rutin — bersama kelompok tani/kolektif' ? 'selected' : '' }}>Ya, rutin — bersama kelompok tani/kolektif</option>
|
||||
<option value="Pernah mencoba — sendiri" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Pernah mencoba — sendiri' ? 'selected' : '' }}>Pernah mencoba — sendiri</option>
|
||||
<option value="Pernah mencoba — bersama kelompok" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Pernah mencoba — bersama kelompok' ? 'selected' : '' }}>Pernah mencoba — bersama kelompok</option>
|
||||
<option value="Belum pernah" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Belum pernah' ? 'selected' : '' }}>Belum pernah</option>
|
||||
</select>
|
||||
@error('praktik_fermentasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="model-fermentasi">Menurut Bapak/Ibu, apa model fermentasi yang paling memungkinkan dilakukan?</label>
|
||||
<textarea class="form-control @error('model_fermentasi_memungkinkan') is-invalid @enderror" id="model-fermentasi" name="model_fermentasi_memungkinkan" rows="2">{{ old('model_fermentasi_memungkinkan', $aksesPasar?->model_fermentasi_memungkinkan) }}</textarea>
|
||||
@error('model_fermentasi_memungkinkan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
<div class="col-md-4 mb-4 form-control-validation d-flex flex-column">
|
||||
<div class="mb-2 d-flex align-items-end h-100">
|
||||
<label class="form-label mb-0" for="proses-fermentasi">Jika ya, bagaimana prosesnya?</label>
|
||||
</div>
|
||||
<div>
|
||||
<textarea class="form-control @error('proses_fermentasi') is-invalid @enderror" id="proses-fermentasi" name="proses_fermentasi" rows="2" placeholder="Ceritakan prosesnya di sini...">{{ old('proses_fermentasi', $aksesPasar?->proses_fermentasi) }}</textarea>
|
||||
@error('proses_fermentasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-4 form-control-validation d-flex flex-column">
|
||||
<div class="mb-2 d-flex align-items-end h-100">
|
||||
<label class="form-label mb-0" for="model-fermentasi">Menurut Bapak/Ibu, apa model yang paling memungkinkan?</label>
|
||||
</div>
|
||||
<div>
|
||||
<textarea class="form-control @error('model_fermentasi_memungkinkan') is-invalid @enderror" id="model-fermentasi" name="model_fermentasi_memungkinkan" rows="2" placeholder="Model fermentasinya...">{{ old('model_fermentasi_memungkinkan', $aksesPasar?->model_fermentasi_memungkinkan) }}</textarea>
|
||||
@error('model_fermentasi_memungkinkan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="pb-3 border-bottom mb-4 mt-4">AKSES PASAR PREMIUM</h5>
|
||||
<h6 class="mb-3">Kesadaran Pasar Premium*</h6>
|
||||
<div class="row">
|
||||
<div class="col-md-8 mb-4 form-control-validation">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-premium">Pengetahuan & akses pasar premium</label>
|
||||
<select class="form-control select2-init @error('skor_kesadaran_premium') is-invalid @enderror" id="skor-premium" name="skor_kesadaran_premium">
|
||||
<option value="">Pilih Skala</option>
|
||||
@@ -170,7 +188,7 @@
|
||||
@error('skor_kesadaran_premium')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="sumber-info">Sumber informasi utama</label>
|
||||
<input type="text" class="form-control @error('sumber_info_premium') is-invalid @enderror" id="sumber-info" name="sumber_info_premium" value="{{ old('sumber_info_premium', $aksesPasar?->sumber_info_premium) }}">
|
||||
@error('sumber_info_premium')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<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"
|
||||
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
|
||||
</div>
|
||||
</div>
|
||||
@@ -303,7 +303,7 @@
|
||||
status_perkawinan: { required: true },
|
||||
file_ktp: { 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: {
|
||||
nama: { required: "Nama petani wajib diisi" },
|
||||
@@ -321,7 +321,11 @@
|
||||
status_perkawinan: { required: "Status perkawinan wajib diisi" },
|
||||
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)" },
|
||||
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',
|
||||
@@ -338,4 +342,4 @@
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
|
||||
@@ -1,68 +1,60 @@
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-6">
|
||||
<div class="card-header">
|
||||
<h5 class="card-title m-0">Profil Petani</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-start align-items-center mb-6">
|
||||
<div class="avatar me-3">
|
||||
<img src="../../assets/img/avatars/1.png" alt="Avatar" class="rounded-circle" />
|
||||
<div class="row mb-4">
|
||||
|
||||
<div class="col-md-4 mb-2 mb-md-0">
|
||||
<div class="card h-100">
|
||||
<div class="card-body p-3">
|
||||
<h6 class="card-title mb-2">Profil Petani</h6>
|
||||
<div class="d-flex justify-content-start align-items-center mb-3">
|
||||
<div class="avatar me-2">
|
||||
<img src="../../assets/img/avatars/1.png" alt="Avatar" class="rounded-circle" />
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-0">{{ $petani ? $petani->nama : 'Tambah Petani Baru' }}</h6>
|
||||
<span>{{ $petani ? ($petani->jenis_kelamin == 1 ? 'Laki-laki' : 'Perempuan') : 'Jenis Kelamin' }}</span>
|
||||
<span>Komoditas: {{ $petani ? $petani->komoditas?->nama : 'Komoditas' }}</span>
|
||||
<h6 class="mb-0" style="font-size: 0.9rem;">{{ $petani ? $petani->nama : 'Tambah Petani Baru' }}</h6>
|
||||
<span class="text-muted" style="font-size: 0.75rem;">{{ $petani ? ($petani->jenis_kelamin == 1 ? 'Laki-laki' : 'Perempuan') : 'Jenis Kelamin' }}</span>
|
||||
<span class="text-muted" style="font-size: 0.75rem;">Komoditas: {{ $petani ? $petani->komoditas?->nama : 'Komoditas' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<h6 class="mb-1">Domisili</h6>
|
||||
<p class=" mb-1">Alamat: {{ $petani ? $petani->alamat : 'Alamat' }}</p>
|
||||
<p class=" mb-0">{{ $petani ? $petani->desaKelurahan->nama : 'Desa/Kelurahan' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->nama : 'Kecamatan' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->kabupatenKota->nama : 'Kabupaten/Kota' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->kabupatenKota->provinsi->nama : 'Provinsi' }}</p>
|
||||
|
||||
<hr class="my-2"> <h6 class="mb-1" style="font-size: 0.85rem;">Domisili</h6>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Alamat: {{ $petani ? $petani->alamat : 'Alamat' }}</p>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem; line-height: 1.3;">{{ $petani ? $petani->desaKelurahan->nama : 'Desa/Kelurahan' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->nama : 'Kecamatan' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->kabupatenKota->nama : 'Kabupaten/Kota' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->kabupatenKota->provinsi->nama : 'Provinsi' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="card mb-2">
|
||||
<div class="card-widget-separator-wrapper">
|
||||
<div class="card-body card-widget-separator">
|
||||
<div class="row gy-4 gy-sm-1">
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
|
||||
<div class="col-md-8 d-flex flex-column">
|
||||
|
||||
<div class="card mb-2 flex-grow-1"> <div class="card-widget-separator-wrapper h-100">
|
||||
<div class="card-body card-widget-separator py-2 h-100 d-flex flex-column justify-content-center">
|
||||
<div class="row gy-2"> <div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 pe-3">
|
||||
<div>
|
||||
<p class="mb-1">Segmentasi</p>
|
||||
<h4 class="mb-1">Penggerak</h4>
|
||||
<p class="mb-1">In-store Sales</p>
|
||||
<h4 class="mb-1">$5,345.43</h4>
|
||||
<p class="mb-0">
|
||||
<span class="me-2">Pemerhati Teknis</span>
|
||||
<span class="me-2">5k orders</span><span class="badge bg-label-success">+5.7%</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar me-sm-6">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-user-star icon-28px text-heading"></i>
|
||||
<i class="icon-base ti tabler-smart-home icon-28px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<hr class="d-none d-sm-block d-lg-none me-6" />
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 px-3">
|
||||
<div>
|
||||
<p class="mb-1">Lahan</p>
|
||||
<h4 class="mb-1" id="luas-lahan">15600 m2</h4>
|
||||
<p class="mb-0" id="tanaman">
|
||||
<span class="me-2">100 tanaman kopi</span><span class="badge bg-label-success">Sehat</span>
|
||||
</p>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">In-store Sales</p>
|
||||
<h5 class="mb-0">$5,345.43</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;"><span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span></p>
|
||||
</div>
|
||||
<span class="avatar me-sm-6">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-trees icon-28px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
<span class="avatar"><span class="avatar-initial rounded"><i class="icon-base ti tabler-smart-home icon-22px"></i></span></span>
|
||||
</div>
|
||||
<hr class="d-none d-sm-block d-lg-none me-6" />
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 h-100 ps-3">
|
||||
<div>
|
||||
<p class="mb-1">Praktik Budidaya</p>
|
||||
<h4 class="mb-1">2 kali</h4>
|
||||
@@ -142,8 +134,48 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card flex-grow-1">
|
||||
<div class="card-widget-separator-wrapper h-100">
|
||||
<div class="card-body card-widget-separator py-2 h-100 d-flex flex-column justify-content-center">
|
||||
<div class="row gy-2">
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 pe-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">In-store Sales</p>
|
||||
<h5 class="mb-0">$5,345.43</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;"><span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span></p>
|
||||
</div>
|
||||
<span class="avatar"><span class="avatar-initial rounded"><i class="icon-base ti tabler-smart-home icon-22px"></i></span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 px-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">In-store Sales</p>
|
||||
<h5 class="mb-0">$5,345.43</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;"><span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span></p>
|
||||
</div>
|
||||
<span class="avatar"><span class="avatar-initial rounded"><i class="icon-base ti tabler-smart-home icon-22px"></i></span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 h-100 ps-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">In-store Sales</p>
|
||||
<h5 class="mb-0">$5,345.43</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;"><span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span></p>
|
||||
</div>
|
||||
<span class="avatar"><span class="avatar-initial rounded"><i class="icon-base ti tabler-smart-home icon-22px"></i></span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="nav-align-top">
|
||||
@if(!$petani)
|
||||
@@ -215,7 +247,7 @@
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@push('scripts')
|
||||
@push('scripts')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
@if($petani)
|
||||
|
||||
@@ -0,0 +1,214 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul class="mb-0">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- PROFIL PETANI -->
|
||||
|
||||
<div class="col-md-12">
|
||||
|
||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<h5 class="pb-4 border-bottom mb-4">Riwayat Pelatihan</h5>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless align-middle mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Jenis Pelatihan</th>
|
||||
<th>Penyelenggara</th>
|
||||
<th>Tahun</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@php
|
||||
$jenisPelatihan = [
|
||||
'pemangkasan_perawatan_tanaman' => 'Pemangkasan/perawatan tanaman',
|
||||
'pemupukan_nutrisi_tanah' => 'Pemupukan/nutrisi tanah',
|
||||
'pengendalian_hama_penyakit' => 'Pengendalian hama & penyakit',
|
||||
'praktik_berkebun_baik_gap' => 'Praktik Berkebun yang Baik (GAP)',
|
||||
'pengolahan_pascapanen' => 'Pengolahan/pascapanen',
|
||||
'penyerbukan_manual_vanili' => 'Penyerbukan manual (vanili)',
|
||||
'lainnya' => 'Lainnya',
|
||||
];
|
||||
@endphp
|
||||
|
||||
@foreach ($jenisPelatihan as $key => $label)
|
||||
<tr>
|
||||
<td class="fw-medium">
|
||||
{{ $label }}
|
||||
|
||||
<input
|
||||
type="hidden"
|
||||
name="riwayat_pelatihan[{{ $key }}][jenis_pelatihan]"
|
||||
value="{{ $label }}">
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="riwayat_pelatihan[{{ $key }}][penyelenggara]"
|
||||
value="{{ old('riwayat_pelatihan.' . $key . '.penyelenggara') }}">
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input
|
||||
type="number"
|
||||
class="form-control"
|
||||
name="riwayat_pelatihan[{{ $key }}][tahun]"
|
||||
value="{{ old('riwayat_pelatihan.' . $key . '.tahun') }}">
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="mt-4 text-end">
|
||||
<button type="submit" class="btn btn-success">
|
||||
<i class="icon-base ti tabler-check me-1_5 icon-sm"></i>
|
||||
Simpan
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<h5 class="pb-4 border-bottom mb-4">
|
||||
Sertifikasi Keahlian
|
||||
</h5>
|
||||
<form class="form-repeater">
|
||||
<div data-repeater-list="produktivitas_komoditas">
|
||||
<div data-repeater-item>
|
||||
<div class="row align-items-end">
|
||||
<div class="col-md-3 mb-3">
|
||||
<label class="form-label">Jenis Keahlian Yang Disertifikasi</label>
|
||||
<input type="text" class="form-control @error('jenis_keahlian') is-invalid @enderror" id="jenis-keahlian" name="jenis_keahlian" value="{{ old('jenis_keahlian', $petani->jenis_keahlian) }}">
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<label class="form-label">Lembaga Penerbit</label>
|
||||
<input type="text" class="form-control @error('lembaga_penerbit') is-invalid @enderror" id="lembaga-penerbit" name="lembaga_penerbit" value="{{ old('lembaga_penerbit', $petani->lembaga_penerbit) }}">
|
||||
</div>
|
||||
<div class="col-md-2 mb-3">
|
||||
<label class="form-label d-block">Tahun</label>
|
||||
<input type="text" class="form-control @error('tahun') is-invalid @enderror" id="tahun" name="tahun" value="{{ old('tahun', $petani->tahun) }}">
|
||||
</div>
|
||||
<div class="col-md-2 mb-3">
|
||||
<label class="form-label d-block">Status</label>
|
||||
<label class="switch switch-lg">
|
||||
<input
|
||||
type="checkbox"
|
||||
class="switch-input"
|
||||
name="status_berlaku_sertifikat"
|
||||
value="1"
|
||||
{{ old('status_berlaku_sertifikat', false) ? 'checked' : '' }}>
|
||||
|
||||
<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">
|
||||
<span id="switch-text">Tidak Berlaku</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-md-2 mb-3">
|
||||
<button type="button" class="btn btn-outline-success" data-repeater-save><i class="icon-base ti tabler-check me-1_5 icon-sm"></i></button>
|
||||
<button type="button" class="btn btn-outline-danger" data-repeater-delete><i class="icon-base ti tabler-trash me-1_5 icon-sm"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4 text-end">
|
||||
<button type="button" class="btn btn-success" data-repeater-create>
|
||||
<i class="icon-base ti tabler-plus me-1_5 icon-sm"></i>
|
||||
Tambah Komoditas
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
'use strict';
|
||||
$(document).ready(function () {
|
||||
|
||||
$('#tenaga-kerja, #frekuensi-pemangkasan-komoditas-utama, #frekuensi-pemangkasan-pohon-penaung').select2();
|
||||
|
||||
const $switch = $('input[name="status_berlaku_sertifikat"]');
|
||||
const $text = $('#switch-text');
|
||||
|
||||
function updateSwitchText() {
|
||||
if ($switch.is(':checked')) {
|
||||
$text
|
||||
.text('Masih Berlaku')
|
||||
.removeClass('text-muted text-danger')
|
||||
} else {
|
||||
$text
|
||||
.text('Tidak Berlaku')
|
||||
.removeClass('text-success')
|
||||
}
|
||||
}
|
||||
updateSwitchText();
|
||||
$switch.on('change', updateSwitchText);
|
||||
|
||||
|
||||
$('#editPetaniForm').validate({
|
||||
rules: {
|
||||
nama: { required: true },
|
||||
tanggal_lahir: { required: true, date: true },
|
||||
jenis_kelamin: { required: true },
|
||||
pendidikan_terakhir: { required: true },
|
||||
alamat: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
status_perkawinan: { required: true },
|
||||
},
|
||||
messages: {
|
||||
nama: { required: "Nama petani wajib diisi" },
|
||||
tanggal_lahir: { required: "Tanggal lahir wajib diisi", date: "Format tanggal salah" },
|
||||
jenis_kelamin: { required: "Jenis kelamin wajib diisi" },
|
||||
pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" },
|
||||
alamat: { required: "Alamat wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
status_perkawinan: { required: "Status perkawinan wajib diisi" },
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
error.addClass('invalid-feedback');
|
||||
element.closest('.mb-6, .form-control-validation').append(error);
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).addClass('is-invalid');
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).removeClass('is-invalid');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -1,6 +1,12 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
@use('App\Enums\PraktikBudidaya\TenagaKerja')
|
||||
@use('App\Enums\PraktikBudidaya\FrekuensiPemangkasanUtama')
|
||||
@use('App\Enums\PraktikBudidaya\FrekuensiPemangkasanPendamping')
|
||||
@use('App\Enums\PraktikBudidaya\PenyerbukanManual')
|
||||
@use('App\Enums\PraktikBudidaya\PemberianPupuk')
|
||||
@use('App\Enums\PraktikBudidaya\JenisPupuk')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
@@ -11,213 +17,486 @@
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- PROFIL PETANI -->
|
||||
|
||||
<div class="col-md-12">
|
||||
|
||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<!-- INFORMASI PETANI -->
|
||||
<h5 class="pb-4 border-bottom mb-4">Persiapan Lahan & Tanaman</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="tenaga-kerja">Tenaga Kerja</label>
|
||||
<select class="form-control @error('tenaga_kerja') is-invalid @enderror" id="tenaga-kerja" name="tenaga_kerja">
|
||||
<option value="">Pilih Tenaga Kerja</option>
|
||||
</select>
|
||||
@error('tenaga_kerja')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
<form id="praktikBudidayaForm" action="{{ route('petani.praktik-budidaya.store', $petani->id) }}" method="POST">
|
||||
@csrf
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<h5 class="pb-4 border-bottom mb-4">Persiapan Lahan & Tanaman</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="tenaga-kerja">Tenaga Kerja</label>
|
||||
<select class="form-control @error('tenaga_kerja') is-invalid @enderror" id="tenaga-kerja" name="tenaga_kerja">
|
||||
<option value="">Pilih Tenaga Kerja</option>
|
||||
@foreach (TenagaKerja::options() as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('tenaga_kerja', $praktikBudidya->tenaga_kerja) == $option['value'] ? 'selected' : '' }}>
|
||||
{{ $option['label'] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('tenaga_kerja')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h5 class="pb-4 border-bottom mb-4">Praktik Pemangkasan & Penyerbukan</h5>
|
||||
<div class="row border-bottom mb-4 pb-4">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="frekuensi-pemangkasan-komoditas-utama">Frekuensi Pemangkasan Komoditas Utama<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('frekuensi_pemangkasan_komoditas_utama') is-invalid @enderror" id="frekuensi-pemangkasan-komoditas-utama" name="frekuensi_pemangkasan_komoditas_utama">
|
||||
<option value="">Pilih Frekuensi Pemangkasan</option>
|
||||
<option value="1">Tidak pernah memangkas sama sekali</option>
|
||||
<option value="2">Memangkas, tapi tidak rutin dan tidak tahu tekniknya</option>
|
||||
<option value="3">Memangkas 1 kali/tahun, tahu jenis tekniknya</option>
|
||||
<option value="4">Memangkas 2 kali/tahun, tahu jenis tekniknya</option>
|
||||
<option value="5">Memangkas lebih dari 2 kali/tahun dengan teknik yang tepat dan pohon penaung juga dipangkas rutin</option>
|
||||
</select>
|
||||
@error('frekuensi_pemangkasan_komoditas_utama')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
<h5 class="pb-4 border-bottom mb-4">Praktik Pemangkasan & Penyerbukan</h5>
|
||||
<div class="row border-bottom mb-4 pb-4">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="frekuensi-pemangkasan-komoditas-utama">Frekuensi Pemangkasan Komoditas Utama<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('frekuensi_pemangkasan_komoditas_utama') is-invalid @enderror" id="frekuensi-pemangkasan-komoditas-utama" name="frekuensi_pemangkasan_komoditas_utama">
|
||||
<option value="">Pilih Frekuensi Pemangkasan</option>
|
||||
@foreach (FrekuensiPemangkasanUtama::options() as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('frekuensi_pemangkasan_komoditas_utama') == $option['value'] ? 'selected' : '' }}>
|
||||
{{ $option['label'] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('frekuensi_pemangkasan_komoditas_utama')<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">Teknik pemangkasan yang dilakukan<span class="text-danger">*</span></label>
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="Pemangkasan Bentuk"
|
||||
id="teknik-pemangkasan-bentuk"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('bentuk', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="teknik-pemangkasan-bentuk">Pemangkasan bentuk</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="Pemangkasan Produksi"
|
||||
id="teknik-pemangkasan-produksi"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('produksi', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="teknik-pemangkasan-produksi">Pemangkasan produksi</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="Pemangkasan Peremajaan"
|
||||
id="teknik-pemangkasan-peremajaan"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('peremajaan', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="teknik-pemangkasan-peremajaan">Pemangkasan peremajaan</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="Tidak tahu jenis pemangkasannya — dilakukan berdasarkan kebiasaan"
|
||||
id="teknik-pemangkasan-kebiasaan"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('kebiasaan', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="teknik-pemangkasan-kebiasaan">Tidak tahu jenis pemangkasannya — dilakukan berdasarkan kebiasaan</label>
|
||||
</div>
|
||||
<div class="form-check d-flex align-items-center gap-2 mt-1">
|
||||
<input
|
||||
class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="Lainnya"
|
||||
id="teknik-pemangkasan-lainnya">
|
||||
<label class="form-check-label text-nowrap" for="teknik-pemangkasan-lainnya">Lainnya:</label>
|
||||
<input type="text" name="teknik_pemangkasan_lainnya" id="input-teknik-pemangkasan-lainnya" class="form-control form-control-sm w-50" value="{{ old('teknik_pemangkasan_lainnya', $teknikPemangkasanLainnya) }}" placeholder="Sebutkan jenis pemangkasan lain...">
|
||||
</div>
|
||||
@error('teknik_pemangkasan')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="frekuensi-pemangkasan-pohon-penaung">Frekuensi Pemangkasan Pohon Penaung<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('frekuensi_pemangkasan_pohon_penaung') is-invalid @enderror" id="frekuensi-pemangkasan-pohon-penaung" name="frekuensi_pemangkasan_pohon_penaung">
|
||||
<option value="">Pilih Frekuensi Pemangkasan</option>
|
||||
@foreach (FrekuensiPemangkasanPendamping::options() as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('frekuensi_pemangkasan_pohon_penaung') == $option['value'] ? 'selected' : '' }}>
|
||||
{{ $option['label'] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('frekuensi_pemangkasan_pohon_penaung')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Teknik pemangkasan yang dilakukan<span class="text-danger">*</span></label>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="bentuk"
|
||||
id="teknik-bentuk"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('bentuk', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="teknik-bentuk">Pemangkasan bentuk</label>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Penyerbukan Manual<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('penyerbukan_manual') is-invalid @enderror" id="penyerbukan-manual" name="penyerbukan_manual">
|
||||
<option value="">Pilih Penyerbukan Manual</option>
|
||||
@foreach (PenyerbukanManual::options() as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('penyerbukan_manual') == $option['value'] ? 'selected' : '' }}>
|
||||
{{ $option['label'] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('penyerbukan_manual')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="produksi"
|
||||
id="teknik-produksi"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('produksi', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="teknik-produksi">Pemangkasan produksi</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="peremajaan"
|
||||
id="teknik-peremajaan"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('peremajaan', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="teknik-peremajaan">Pemangkasan peremajaan</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="kebiasaan"
|
||||
id="teknik-kebiasaan"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('kebiasaan', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="teknik-kebiasaan">Tidak tahu jenis pemangkasannya — dilakukan berdasarkan kebiasaan</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check d-flex align-items-center gap-2 mt-1">
|
||||
<input class="form-check-input @error('teknik_pemangkasan') is-invalid @enderror"
|
||||
type="checkbox"
|
||||
name="teknik_pemangkasan[]"
|
||||
value="lainnya"
|
||||
id="teknik-lainnya"
|
||||
{{ (is_array(old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true))) && in_array('lainnya', old('teknik_pemangkasan', json_decode($petani->teknik_pemangkasan, true)))) ? 'checked' : '' }}>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Alasan Tidak Melakukan Penyerbukan Manual<span class="text-danger">*</span></label>
|
||||
|
||||
<label class="form-check-label text-nowrap" for="teknik-lainnya">Lainnya:</label>
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="alasan_tidak_penyerbukan"
|
||||
value="Tidak tahu caranya"
|
||||
id="penyerbukan-tidak-tahu"
|
||||
{{ old('alasan_tidak_penyerbukan', $petani->alasan_tidak_penyerbukan) == 'Tidak tahu caranya' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-tidak-tahu">Tidak tahu caranya</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="alasan_tidak_penyerbukan"
|
||||
value="Tidak ada tenaga/waktu"
|
||||
id="penyerbukan-tenaga-waktu"
|
||||
{{ old('alasan_tidak_penyerbukan', $petani->alasan_tidak_penyerbukan) == 'Tidak ada tenaga/waktu' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-tenaga-waktu">Tidak ada tenaga/waktu</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="alasan_tidak_penyerbukan"
|
||||
value="Mengandalkan penyerbuk alami"
|
||||
id="penyerbukan-mengandalkan-alami"
|
||||
{{ old('alasan_tidak_penyerbukan', $petani->alasan_tidak_penyerbukan) == 'Mengandalkan penyerbuk alami' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-mengandalkan-alami">Mengandalkan penyerbuk alami</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check d-flex align-items-center gap-2 mt-1">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="alasan_tidak_penyerbukan"
|
||||
value="lainnya"
|
||||
id="alasan-lainnya"
|
||||
{{ old('alasan_tidak_penyerbukan', $alasanTidakPenyerbukanLainnya) ? 'checked' : '' }}>
|
||||
|
||||
<label class="form-check-label text-nowrap" for="alasan-lainnya">Lainnya:</label>
|
||||
|
||||
<input type="text"
|
||||
name="alasan_tidak_penyerbukan_lainnya"
|
||||
class="form-control form-control-sm w-50"
|
||||
value="{{ old('alasan_tidak_penyerbukan_lainnya', $alasanTidakPenyerbukanLainnya ?? '') }}"
|
||||
placeholder="Sebutkan alasan lain...">
|
||||
</div>
|
||||
|
||||
@error('alasan_tidak_penyerbukan')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Tingkat Keberhasil Penyerbukan<span class="text-danger">*</span></label>
|
||||
|
||||
<input type="text" name="teknik_pemangkasan_lainnya" class="form-control form-control-sm w-50" value="{{ old('teknik_pemangkasan_lainnya', $petani->teknik_pemangkasan_lainnya ?? '') }}" placeholder="Sebutkan jenis pemangkasan lain...">
|
||||
</div>
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="tingkat_keberhasilan_penyerbukan"
|
||||
value="Tinggi, sebagian besar bunga berhasil menjadi buah"
|
||||
id="tingkat-keberhasilan-penyerbukan"
|
||||
{{ old('tingkat_keberhasilan_penyerbukan', $petani->tingkat_keberhasilan_penyerbukan) == 'Tinggi, sebagian besar bunga berhasil menjadi buah' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="tingkat-keberhasilan-penyerbukan">Tinggi, sebagian besar bunga berhasil menjadi buah</label>
|
||||
</div>
|
||||
|
||||
@error('teknik_pemangkasan')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="tingkat_keberhasilan_penyerbukan"
|
||||
value="Sedang, sekitar separuh bunga berhasil menjadi buah"
|
||||
id="tingkat-keberhasilan-penyerbukan"
|
||||
{{ old('tingkat_keberhasilan_penyerbukan', $petani->tingkat_keberhasilan_penyerbukan) == 'Sedang, sekitar separuh bunga berhasil menjadi buah' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="tingkat-keberhasilan-penyerbukan">Sedang, sekitar separuh bunga berhasil menjadi buah</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="tingkat_keberhasilan_penyerbukan"
|
||||
value="Rendah, hanya sedikit bunga yang berhasil menjadi buah"
|
||||
id="tingkat-keberhasilan-penyerbukan"
|
||||
{{ old('tingkat_keberhasilan_penyerbukan', $petani->tingkat_keberhasilan_penyerbukan) == 'Rendah, hanya sedikit bunga yang berhasil menjadi buah' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="tingkat-keberhasilan-penyerbukan">Rendah, hanya sedikit bunga yang berhasil menjadi buah</label>
|
||||
</div>
|
||||
|
||||
@error('tingkat_keberhasilan_penyerbukan')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="frekuensi-pemangkasan-pohon-penaung">Frekuensi Pemangkasan Pohon Penaung<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('frekuensi_pemangkasan_pohon_penaung') is-invalid @enderror" id="frekuensi-pemangkasan-pohon-penaung" name="frekuensi_pemangkasan_pohon_penaung">
|
||||
<option value="">Pilih Frekuensi Pemangkasan</option>
|
||||
<option value="1">Tidak pernah memangkas sama sekali</option>
|
||||
<option value="2">Memangkas, tapi tidak rutin dan tidak tahu tekniknya</option>
|
||||
<option value="3">Memangkas 1 kali/tahun, tahu jenis tekniknya</option>
|
||||
<option value="4">Memangkas 2 kali/tahun, tahu jenis tekniknya</option>
|
||||
<option value="5">Memangkas lebih dari 2 kali/tahun dengan teknik yang tepat dan pohon penaung juga dipangkas rutin</option>
|
||||
</select>
|
||||
@error('frekuensi_pemangkasan_pohon_penaung')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Penyerbukan Manual<span class="text-danger">*</span></label>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('penyerbukan_manual') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="penyerbukan_manual"
|
||||
value="Selalu, setiap musim berbunga"
|
||||
id="penyerbukan-selalu"
|
||||
{{ old('penyerbukan_manual', $petani->penyerbukan_manual) == 'Selalu, setiap musim berbunga' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-selalu">Selalu, setiap musim berbunga</label>
|
||||
<h5 class="pb-4 border-bottom mb-4">Praktik Pemupukan</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="pemberian-pupuk">Pemberian Pupuk<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('pemberian_pupuk') is-invalid @enderror" id="pemberian-pupuk" name="pemberian_pupuk">
|
||||
<option value="">Pilih Pemberian Pupuk</option>
|
||||
@foreach (PemberianPupuk::options() as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('pemberian_pupuk', $petani->pemberian_pupuk?->value ?? $petani->pemberian_pupuk) == $option['value'] ? 'selected' : '' }}>
|
||||
{{ $option['label'] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('pemberian_pupuk')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('penyerbukan_manual') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="penyerbukan_manual"
|
||||
value="Kadang-kadang, tergantung kondisi"
|
||||
id="penyerbukan-kadang"
|
||||
{{ old('penyerbukan_manual', $petani->penyerbukan_manual) == 'Kadang-kadang, tergantung kondisi' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-kadang">Kadang-kadang, tergantung kondisi</label>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="jenis-pupuk">Jenis Pupuk<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('jenis_pupuk') is-invalid @enderror" id="jenis-pupuk" name="jenis_pupuk">
|
||||
<option value="">Pilih Jenis Pupuk</option>
|
||||
@foreach (JenisPupuk::options() as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('jenis_pupuk', $petani->jenis_pupuk?->value ?? $petani->jenis_pupuk) == $option['value'] ? 'selected' : '' }}>
|
||||
{{ $option['label'] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('jenis_pupuk')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('penyerbukan_manual') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="penyerbukan_manual"
|
||||
value="Tidak pernah"
|
||||
id="penyerbukan-tidak-pernah"
|
||||
{{ old('penyerbukan_manual', $petani->penyerbukan_manual) == 'Tidak pernah' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-tidak-pernah">Tidak pernah</label>
|
||||
</div>
|
||||
|
||||
@error('penyerbukan_manual')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Alasan Tidak Melakukan Penyerbukan Manual<span class="text-danger">*</span></label>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="alasan_tidak_penyerbukan"
|
||||
value="Tidak tahu caranya"
|
||||
id="penyerbukan-tidak-tahu"
|
||||
{{ old('alasan_tidak_penyerbukan', $petani->alasan_tidak_penyerbukan) == 'Tidak tahu caranya' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-tidak-tahu">Tidak tahu caranya</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="alasan_tidak_penyerbukan"
|
||||
value="Tidak ada tenaga/waktu"
|
||||
id="penyerbukan-tenaga-waktu"
|
||||
{{ old('alasan_tidak_penyerbukan', $petani->alasan_tidak_penyerbukan) == 'Tidak ada tenaga/waktu' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-tenaga-waktu">Tidak ada tenaga/waktu</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="alasan_tidak_penyerbukan"
|
||||
value="Mengandalkan penyerbuk alami"
|
||||
id="penyerbukan-mengandalkan-alami"
|
||||
{{ old('alasan_tidak_penyerbukan', $petani->alasan_tidak_penyerbukan) == 'Mengandalkan penyerbuk alami' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="penyerbukan-mengandalkan-alami">Mengandalkan penyerbuk alami</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check d-flex align-items-center gap-2 mt-1">
|
||||
<input class="form-check-input @error('alasan_tidak_penyerbukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="alasan_tidak_penyerbukan"
|
||||
value="lainnya"
|
||||
id="alasan-lainnya"
|
||||
{{ old('alasan_tidak_penyerbukan', $petani->alasan_tidak_penyerbukan) == 'lainnya' ? 'checked' : '' }}>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Frekuensi Pemupukan<span class="text-danger">*</span></label>
|
||||
|
||||
<label class="form-check-label text-nowrap" for="alasan-lainnya">Lainnya:</label>
|
||||
|
||||
<input type="text"
|
||||
name="alasan_tidak_penyerbukan_lainnya"
|
||||
class="form-control form-control-sm w-50"
|
||||
value="{{ old('alasan_tidak_penyerbukan_lainnya', $petani->alasan_tidak_penyerbukan_lainnya ?? '') }}"
|
||||
placeholder="Sebutkan alasan lain...">
|
||||
</div>
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('frekuensi_pemupukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="frekuensi_pemupukan"
|
||||
value="1 kali/tahun"
|
||||
id="frekuensi-pemupukan-1kali"
|
||||
{{ old('frekuensi_pemupukan', $petani->frekuensi_pemupukan) == '1 kali/tahun' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="frekuensi-pemupukan-1kali">1 kali/tahun</label>
|
||||
</div>
|
||||
|
||||
@error('alasan_tidak_penyerbukan')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('frekuensi_pemupukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="frekuensi_pemupukan"
|
||||
value="2 kali/tahun"
|
||||
id="frekuensi-pemupukan-2kali"
|
||||
{{ old('frekuensi_pemupukan', $petani->frekuensi_pemupukan) == '2 kali/tahun' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="frekuensi-pemupukan-2kali">2 kali/tahun</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('frekuensi_pemupukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="frekuensi_pemupukan"
|
||||
value="Lebih dari 2 kali/tahun"
|
||||
id="frekuensi-pemupukan-lebih-2kali"
|
||||
{{ old('frekuensi_pemupukan', $petani->frekuensi_pemupukan) == 'Lebih dari 2 kali/tahun' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="frekuensi-pemupukan-lebih-2kali">Lebih dari 2 kali/tahun</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check d-flex align-items-center gap-2 mt-1">
|
||||
<input class="form-check-input @error('frekuensi_pemupukan') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="frekuensi_pemupukan"
|
||||
value="Lainnya"
|
||||
id="frekuensi-pemupukan-lainnya"
|
||||
{{ old('frekuensi_pemupukan', $frekuensiPemupukanLainnya) ? 'checked' : '' }}>
|
||||
|
||||
<label class="form-check-label text-nowrap" for="frekuensi-pemupukan-lainnya">Berapa kali:</label>
|
||||
|
||||
<input type="text"
|
||||
name="frekuensi_pemupukan_lainnya"
|
||||
class="form-control form-control-sm w-50"
|
||||
value="{{ old('frekuensi_pemupukan_lainnya', $frekuensiPemupukanLainnya ?? '') }}"
|
||||
placeholder="Sebutkan alasan lain..."
|
||||
>
|
||||
</div>
|
||||
|
||||
@error('frekuensi_pemupukan')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="estimasi-dosis-pupuk-organik">
|
||||
Estimasi Dosis Pupuk Organik<span class="text-danger">*</span>
|
||||
</label>
|
||||
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="number"
|
||||
class="form-control @error('estimasi_dosis_pupuk_organik') is-invalid @enderror"
|
||||
id="estimasi-dosis-pupuk-organik"
|
||||
name="estimasi_dosis_pupuk_organik"
|
||||
value="{{ old('estimasi_dosis_pupuk_organik', $petani->estimasi_dosis_pupuk_organik) }}"
|
||||
step="0.01"
|
||||
min="0">
|
||||
|
||||
<span class="input-group-text">Kg</span>
|
||||
</div>
|
||||
|
||||
@error('estimasi_dosis_pupuk_organik')
|
||||
<div class="invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="estimasi-dosis-pupuk-anorganik">
|
||||
Estimasi Dosis Pupuk Anorganik<span class="text-danger">*</span>
|
||||
</label>
|
||||
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="number"
|
||||
class="form-control @error('estimasi_dosis_pupuk_anorganik') is-invalid @enderror"
|
||||
id="estimasi-dosis-pupuk-anorganik"
|
||||
name="estimasi_dosis_pupuk_anorganik"
|
||||
value="{{ old('estimasi_dosis_pupuk_anorganik', $petani->estimasi_dosis_pupuk_anorganik) }}"
|
||||
step="0.01"
|
||||
min="0">
|
||||
|
||||
<span class="input-group-text">Kg</span>
|
||||
</div>
|
||||
|
||||
@error('estimasi_dosis_pupuk_anorganik')
|
||||
<div class="invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Waktu Pemberian Pupuk<span class="text-danger">*</span></label>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('waktu_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="waktu_pemberian_pupuk"
|
||||
value="Awal musim hujan"
|
||||
id="waktu-pemberian-awal-musim-hujan"
|
||||
{{ old('waktu_pemberian_pupuk', $petani->waktu_pemberian_pupuk) == 'Awal musim hujan' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="waktu-pemberian-awal-musim-hujan">Awal musim hujan</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('waktu_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="waktu_pemberian_pupuk"
|
||||
value="Akhir musim hujan"
|
||||
id="waktu-pemberian-akhir-musim-hujan"
|
||||
{{ old('waktu_pemberian_pupuk', $petani->waktu_pemberian_pupuk) == 'Akhir musim hujan' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="waktu-pemberian-akhir-musim-hujan">Akhir musim hujan</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('waktu_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="waktu_pemberian_pupuk"
|
||||
value="Sebelum berbunga"
|
||||
id="waktu-sebelum-berbunga"
|
||||
{{ old('waktu_pemberian_pupuk', $petani->waktu_pemberian_pupuk) == 'Sebelum berbunga' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="waktu-sebelum-berbunga">Sebelum berbunga</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('waktu_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="waktu_pemberian_pupuk"
|
||||
value="Sebelum Setelah Panen"
|
||||
id="waktu-sebelum-setelah-panen"
|
||||
{{ old('waktu_pemberian_pupuk', $petani->waktu_pemberian_pupuk) == 'Sebelum Setelah Panen' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="waktu-sebelum-setelah-panen">Sebelum Setelah Panen</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('waktu_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="waktu_pemberian_pupuk"
|
||||
value="Tidak Menentu"
|
||||
id="waktu-tidak-menentu"
|
||||
{{ old('waktu_pemberian_pupuk', $petani->waktu_pemberian_pupuk) == 'Tidak Menentu' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="waktu-tidak-menentu">Tidak Menentu</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check d-flex align-items-center gap-2 mt-1">
|
||||
<input class="form-check-input @error('waktu_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="waktu_pemberian_pupuk"
|
||||
value="lainnya"
|
||||
id="alasan-lainnya"
|
||||
{{ old('waktu_pemberian_pupuk', $waktuPemberianPupukLainnya) ? 'checked' : '' }}>
|
||||
|
||||
<label class="form-check-label text-nowrap" for="alasan-lainnya">Lainnya:</label>
|
||||
|
||||
<input type="text"
|
||||
name="waktu_pemberian_pupuk_lainnya"
|
||||
class="form-control form-control-sm w-50"
|
||||
value="{{ old('waktu_pemberian_pupuk_lainnya', $waktuPemberianPupukLainnya) }}"
|
||||
placeholder="Sebutkan alasan lain...">
|
||||
</div>
|
||||
|
||||
@error('waktu_pemberian_pupuk')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label d-block fw-medium">Cara Pemberian Pupuk<span class="text-danger">*</span></label>
|
||||
|
||||
<div class="form-check mt-2">
|
||||
<input class="form-check-input @error('cara_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="cara_pemberian_pupuk"
|
||||
value="Ditabur di sekitar pohon"
|
||||
id="cara-ditabur"
|
||||
{{ old('cara_pemberian_pupuk', $petani->cara_pemberian_pupuk) == 'Ditabur di sekitar pohon' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="cara-ditabur">Ditabur di sekitar pohon</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('cara_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="cara_pemberian_pupuk"
|
||||
value="Dibenamkan dalam lubang/parit"
|
||||
id="cara-dibenamkan"
|
||||
{{ old('cara_pemberian_pupuk', $petani->cara_pemberian_pupuk) == 'Dibenamkan dalam lubang/parit' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="cara-dibenamkan">Dibenamkan dalam lubang/parit</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('cara_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="cara_pemberian_pupuk"
|
||||
value="Dicairkan/dikocor"
|
||||
id="cara-dicairkan"
|
||||
{{ old('cara_pemberian_pupuk', $petani->cara_pemberian_pupuk) == 'Dicairkan/dikocor' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="cara-dicairkan">Dicairkan/dikocor</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input @error('cara_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="cara_pemberian_pupuk"
|
||||
value="Disemprotkan ke daun"
|
||||
id="cara-disemprotkan"
|
||||
{{ old('cara_pemberian_pupuk', $petani->cara_pemberian_pupuk) == 'Disemprotkan ke daun' ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="cara-disemprotkan">Disemprotkan ke daun</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check d-flex align-items-center gap-2 mt-1">
|
||||
<input class="form-check-input @error('cara_pemberian_pupuk') is-invalid @enderror"
|
||||
type="radio"
|
||||
name="cara_pemberian_pupuk"
|
||||
value="lainnya"
|
||||
id="cara-lainnya"
|
||||
{{ old('cara_pemberian_pupuk', $caraPemberianPupukLainnya) ? 'checked' : '' }}>
|
||||
|
||||
<label class="form-check-label text-nowrap" for="cara-lainnya">Lainnya:</label>
|
||||
|
||||
<input type="text"
|
||||
name="cara_pemberian_pupuk_lainnya"
|
||||
class="form-control form-control-sm w-50"
|
||||
value="{{ old('cara_pemberian_pupuk_lainnya', $caraPemberianPupukLainnya ?? '') }}"
|
||||
placeholder="Sebutkan cara lain...">
|
||||
</div>
|
||||
|
||||
@error('cara_pemberian_pupuk')
|
||||
<div class="error invalid-feedback d-block">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4 text-end">
|
||||
<button type="submit" class="btn btn-success">
|
||||
Simpan
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4 text-end">
|
||||
<button id="btn-profil" type="button" class="btn btn-success data-submit wave-effect wave-light">Simpan Praktik Budidaya</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -228,66 +507,26 @@
|
||||
'use strict';
|
||||
$(document).ready(function () {
|
||||
|
||||
$('#edit-petani-jenis-kelamin, #edit-petani-pendidikan-terakhir, #edit-petani-pekerjaan-utama, #edit-petani-komoditas, #edit-petani-pekerjaan-sampingan, #edit-petani-komoditas-sampingan, #edit-petani-status-pernikahan, #edit-petani-status-keluarga, #edit-petani-petani-pengumpul').select2();
|
||||
$('#tenaga-kerja, #frekuensi-pemangkasan-komoditas-utama, #frekuensi-pemangkasan-pohon-penaung, #penyerbukan-manual, #pemberian-pupuk, #jenis-pupuk').select2();
|
||||
|
||||
$('#edit-petani-provinsi').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var provinsiId = $(this).val();
|
||||
$('#edit-petani-kabupaten').prop('disabled', !provinsiId).val('').trigger('change');
|
||||
$('#edit-petani-kecamatan').prop('disabled', true).val('').trigger('change');
|
||||
$('#edit-petani-desa').prop('disabled', true).val('').trigger('change');
|
||||
const $switch = $('input[name="disimpan_untuk_diri_sendiri"]');
|
||||
const $text = $('#switch-text');
|
||||
|
||||
if (provinsiId) {
|
||||
$.ajax({
|
||||
url: '{{ route("kabupatenkota.byprovinsi", ":id") }}'.replace(':id', provinsiId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-kabupaten').empty().append('<option value="">Pilih Kabupaten/Kota</option>');
|
||||
data.forEach(function(kabupaten) {
|
||||
$('#edit-petani-kabupaten').append('<option value="' + kabupaten.id + '">' + kabupaten.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
function updateSwitchText() {
|
||||
if ($switch.is(':checked')) {
|
||||
$text
|
||||
.text('Ya, Sebagian Disimpan')
|
||||
.removeClass('text-muted text-danger')
|
||||
// .addClass('text-success');
|
||||
} else {
|
||||
$text
|
||||
.text('Tidak, Semua Dijual')
|
||||
.removeClass('text-success')
|
||||
// .addClass('text-muted');
|
||||
}
|
||||
});
|
||||
$('#edit-petani-kabupaten').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var kabupatenId = $(this).val();
|
||||
$('#edit-petani-kecamatan').prop('disabled', !kabupatenId).val('').trigger('change');
|
||||
$('#edit-petani-desa').prop('disabled', true).val('').trigger('change');
|
||||
|
||||
if (kabupatenId) {
|
||||
$.ajax({
|
||||
url: '{{ route("kecamatan.bykabupatenkota", ":id") }}'.replace(':id', kabupatenId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-kecamatan').empty().append('<option value="">Pilih Kecamatan</option>');
|
||||
data.forEach(function(kecamatan) {
|
||||
$('#edit-petani-kecamatan').append('<option value="' + kecamatan.id + '">' + kecamatan.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#edit-petani-kecamatan').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var kecamatanId = $(this).val();
|
||||
$('#edit-petani-desa').prop('disabled', !kecamatanId).val('').trigger('change');
|
||||
|
||||
if (kecamatanId) {
|
||||
$.ajax({
|
||||
url: '{{ route("desakelurahan.bykecamatan", ":id") }}'.replace(':id', kecamatanId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-desa').empty().append('<option value="">Pilih Desa/Kelurahan</option>');
|
||||
data.forEach(function(desa) {
|
||||
$('#edit-petani-desa').append('<option value="' + desa.id + '">' + desa.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#edit-petani-desa').select2();
|
||||
}
|
||||
updateSwitchText();
|
||||
$switch.on('change', updateSwitchText);
|
||||
|
||||
|
||||
$('#editPetaniForm').validate({
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -66,11 +66,11 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
@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 }}">
|
||||
<td>
|
||||
<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]">
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditasPetani as $komoditas)
|
||||
@@ -79,14 +79,14 @@
|
||||
</select>
|
||||
</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">
|
||||
<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, ',', '.') : '' }}">
|
||||
</div>
|
||||
</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="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' : '' }}>
|
||||
@@ -121,12 +121,12 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
@for($i = 0; $i < 2; $i++)
|
||||
@php($item = $pendapatanKomoditasLainnya->get($i))
|
||||
@php($index = $i + 2)
|
||||
@php $item = $pendapatanKomoditasLainnya->get($i) @endphp
|
||||
@php $index = $i + 2 @endphp
|
||||
<tr class="pendapatan-row" data-group="komoditas-lainnya" data-row-index="{{ $i }}">
|
||||
<td>
|
||||
<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]">
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditasPetani as $komoditas)
|
||||
@@ -135,14 +135,14 @@
|
||||
</select>
|
||||
</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">
|
||||
<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, ',', '.') : '' }}">
|
||||
</div>
|
||||
</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="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' : '' }}>
|
||||
@@ -176,13 +176,13 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
@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 }}">
|
||||
<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) }}">
|
||||
</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">
|
||||
<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, ',', '.') : '' }}">
|
||||
@@ -202,15 +202,14 @@
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Stabilitas Penghasilan</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-periode-paceklik">Periode Paceklik</label>
|
||||
<select class="form-control @error('skor_periode_paceklik') is-invalid @enderror" id="skor-periode-paceklik" name="skor_periode_paceklik">
|
||||
<option value="">Pilih Periode Paceklik</option>
|
||||
<option value="1" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 1 ? 'selected' : '' }}>>4 bulan</option>
|
||||
<option value="2" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 2 ? 'selected' : '' }}>3-4 bulan</option>
|
||||
<option value="3" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 3 ? 'selected' : '' }}>1-2 bulan</option>
|
||||
<option value="4" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 4 ? 'selected' : '' }}>Sebentar & tidak menentu</option>
|
||||
<option value="5" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 5 ? 'selected' : '' }}>Tidak ada, stabil</option>
|
||||
</select>
|
||||
@php $skorPeriodePaceklikValue = old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik?->value); @endphp
|
||||
<label class="form-label d-block">Periode Paceklik</label>
|
||||
@foreach($periodePaceklikOptions as $option)
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input @error('skor_periode_paceklik') is-invalid @enderror" type="radio" id="skor-periode-paceklik-{{ $option['value'] }}" name="skor_periode_paceklik" value="{{ $option['value'] }}" {{ (string) $skorPeriodePaceklikValue === (string) $option['value'] ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="skor-periode-paceklik-{{ $option['value'] }}">{{ $option['label'] }}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@error('skor_periode_paceklik')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
@@ -229,7 +228,7 @@
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<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">
|
||||
<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, ',', '.') : '' }}">
|
||||
@@ -237,20 +236,19 @@
|
||||
@error('total_estimasi_biaya_kebun_per_musim')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-menabung">Kemampuan Menabung</label>
|
||||
<select class="form-control @error('skor_kemampuan_menabung') is-invalid @enderror" id="skor-menabung" name="skor_kemampuan_menabung">
|
||||
<option value="">Pilih Kemampuan Menabung</option>
|
||||
<option value="1" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 1 ? 'selected' : '' }}>Tidak bisa sama sekali</option>
|
||||
<option value="2" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 2 ? 'selected' : '' }}>Pernah tapi selalu terpakai</option>
|
||||
<option value="3" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 3 ? 'selected' : '' }}>Kadang-kadang</option>
|
||||
<option value="4" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 4 ? 'selected' : '' }}>Bisa tapi tidak tetap</option>
|
||||
<option value="5" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 5 ? 'selected' : '' }}>Rutin & jumlah tetap</option>
|
||||
</select>
|
||||
@php $skorKemampuanMenabungValue = old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung?->value); @endphp
|
||||
<label class="form-label d-block">Kemampuan Menabung</label>
|
||||
@foreach($kemampuanMenabungOptions as $option)
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input @error('skor_kemampuan_menabung') is-invalid @enderror" type="radio" id="skor-menabung-{{ $option['value'] }}" name="skor_kemampuan_menabung" value="{{ $option['value'] }}" {{ (string) $skorKemampuanMenabungValue === (string) $option['value'] ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="skor-menabung-{{ $option['value'] }}">{{ $option['label'] }}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@error('skor_kemampuan_menabung')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<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">
|
||||
<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, ',', '.') : '' }}">
|
||||
@@ -262,15 +260,14 @@
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Persepsi Kecukupan Penghasilan</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-kecukupan">Kecukupan Penghasilan untuk Keluarga</label>
|
||||
<select class="form-control @error('skor_kecukupan_penghasilan') is-invalid @enderror" id="skor-kecukupan" name="skor_kecukupan_penghasilan">
|
||||
<option value="">Pilih Kecukupan Penghasilan</option>
|
||||
<option value="1" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 1 ? 'selected' : '' }}>Sangat tidak cukup</option>
|
||||
<option value="2" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 2 ? 'selected' : '' }}>Kurang, sering berhutang</option>
|
||||
<option value="3" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 3 ? 'selected' : '' }}>Cukup pas-pasan</option>
|
||||
<option value="4" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 4 ? 'selected' : '' }}>Cukup, kadang ada sisa</option>
|
||||
<option value="5" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 5 ? 'selected' : '' }}>Lebih dari cukup</option>
|
||||
</select>
|
||||
@php $skorKecukupanPenghasilanValue = old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan?->value); @endphp
|
||||
<label class="form-label d-block">Kecukupan Penghasilan untuk Keluarga</label>
|
||||
@foreach($kecukupanPenghasilanOptions as $option)
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input @error('skor_kecukupan_penghasilan') is-invalid @enderror" type="radio" id="skor-kecukupan-{{ $option['value'] }}" name="skor_kecukupan_penghasilan" value="{{ $option['value'] }}" {{ (string) $skorKecukupanPenghasilanValue === (string) $option['value'] ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="skor-kecukupan-{{ $option['value'] }}">{{ $option['label'] }}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@error('skor_kecukupan_penghasilan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-8 mb-4 form-control-validation">
|
||||
@@ -286,40 +283,51 @@
|
||||
<label class="form-label" for="status-kepemilikan-lahan">Status Kepemilikan Lahan</label>
|
||||
<select class="form-control @error('status_kepemilikan_lahan') is-invalid @enderror" id="status-kepemilikan-lahan" name="status_kepemilikan_lahan">
|
||||
<option value="">Pilih Status Kepemilikan Lahan</option>
|
||||
@foreach(['Milik pribadi', 'Milik orang tua-keluarga', 'Sewa-bagi hasil', 'Lahan adat', 'Perhutanan sosial'] as $status)
|
||||
<option value="{{ $status }}" {{ old('status_kepemilikan_lahan', $sosialEkonomi?->status_kepemilikan_lahan) === $status ? 'selected' : '' }}>{{ $status }}</option>
|
||||
@foreach($statusKepemilikanLahanOptions as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('status_kepemilikan_lahan', $sosialEkonomi?->status_kepemilikan_lahan?->value) === $option['value'] ? 'selected' : '' }}>{{ $option['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('status_kepemilikan_lahan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-kejelasan-lahan">Kejelasan Status Lahan</label>
|
||||
<select class="form-control @error('skor_kejelasan_status_lahan') is-invalid @enderror" id="skor-kejelasan-lahan" name="skor_kejelasan_status_lahan">
|
||||
<option value="">Pilih Kejelasan Status Lahan</option>
|
||||
<option value="1" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 1 ? 'selected' : '' }}>Tidak ada dokumen & ada sengketa</option>
|
||||
<option value="2" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 2 ? 'selected' : '' }}>Ada dokumen tapi masih sengketa</option>
|
||||
<option value="3" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 3 ? 'selected' : '' }}>Pernah sengketa, sudah selesai</option>
|
||||
<option value="4" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 4 ? 'selected' : '' }}>Lahan adat/keluarga/perhutanan sosial tanpa sengketa</option>
|
||||
<option value="5" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 5 ? 'selected' : '' }}>Bersertifikat & tidak ada sengketa</option>
|
||||
</select>
|
||||
@php $skorKejelasanStatusLahanValue = old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan?->value); @endphp
|
||||
<label class="form-label d-block">Kejelasan Status Lahan</label>
|
||||
@foreach($kejelasanStatusLahanOptions as $option)
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input @error('skor_kejelasan_status_lahan') is-invalid @enderror" type="radio" id="skor-kejelasan-lahan-{{ $option['value'] }}" name="skor_kejelasan_status_lahan" value="{{ $option['value'] }}" {{ (string) $skorKejelasanStatusLahanValue === (string) $option['value'] ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="skor-kejelasan-lahan-{{ $option['value'] }}">{{ $option['label'] }}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@error('skor_kejelasan_status_lahan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-2 mb-4 form-control-validation">
|
||||
<label class="form-label" for="ada-sertifikat">Ada Sertifikat/Dokumen?</label>
|
||||
<select class="form-control @error('ada_sertifikat_dokumen') is-invalid @enderror" id="ada-sertifikat" name="ada_sertifikat_dokumen">
|
||||
<option value="">Pilih</option>
|
||||
<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>
|
||||
<option value="1" {{ old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === true || old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === '1' ? 'selected' : '' }}>Ada</option>
|
||||
</select>
|
||||
@php
|
||||
$adaSertifikatValue = old('ada_sertifikat_dokumen', is_null($sosialEkonomi?->ada_sertifikat_dokumen) ? null : (int) $sosialEkonomi->ada_sertifikat_dokumen);
|
||||
@endphp
|
||||
<label class="form-label d-block">Ada Sertifikat/Dokumen?</label>
|
||||
<div class="form-check mb-2">
|
||||
<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
|
||||
</div>
|
||||
<div class="col-md-2 mb-4 form-control-validation">
|
||||
<label class="form-label" for="ada-sengketa">Ada Sengketa?</label>
|
||||
<select class="form-control @error('ada_sengketa') is-invalid @enderror" id="ada-sengketa" name="ada_sengketa">
|
||||
<option value="">Pilih</option>
|
||||
<option value="0" {{ old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === false || old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === '0' ? 'selected' : '' }}>Tidak Ada</option>
|
||||
<option value="1" {{ old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === true || old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === '1' ? 'selected' : '' }}>Ada</option>
|
||||
</select>
|
||||
@php
|
||||
$adaSengketaValue = old('ada_sengketa', is_null($sosialEkonomi?->ada_sengketa) ? null : (int) $sosialEkonomi->ada_sengketa);
|
||||
@endphp
|
||||
<label class="form-label d-block">Ada Sengketa?</label>
|
||||
<div class="form-check mb-2">
|
||||
<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
|
||||
</div>
|
||||
</div>
|
||||
@@ -333,8 +341,9 @@
|
||||
<label class="form-label" for="pihak-membantu">Pihak yang Membantu</label>
|
||||
<select class="form-control @error('pihak_membantu_konflik') is-invalid @enderror" id="pihak-membantu" name="pihak_membantu_konflik">
|
||||
<option value="">Pilih</option>
|
||||
<option value="Tidak ada-selesaikan sendiri" {{ old('pihak_membantu_konflik', $sosialEkonomi?->pihak_membantu_konflik) === 'Tidak ada-selesaikan sendiri' ? 'selected' : '' }}>Tidak ada-selesaikan sendiri</option>
|
||||
<option value="Ada" {{ old('pihak_membantu_konflik', $sosialEkonomi?->pihak_membantu_konflik) === 'Ada' ? 'selected' : '' }}>Ada</option>
|
||||
@foreach($pihakMembantuKonflikOptions as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('pihak_membantu_konflik', $sosialEkonomi?->pihak_membantu_konflik?->value) === $option['value'] ? 'selected' : '' }}>{{ $option['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('pihak_membantu_konflik')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -352,8 +361,9 @@
|
||||
<label class="form-label" for="status-konflik">Status Konflik</label>
|
||||
<select class="form-control @error('status_konflik') is-invalid @enderror" id="status-konflik" name="status_konflik">
|
||||
<option value="">Pilih</option>
|
||||
<option value="Sudah selesai" {{ old('status_konflik', $sosialEkonomi?->status_konflik) === 'Sudah selesai' ? 'selected' : '' }}>Sudah selesai</option>
|
||||
<option value="Belum, masih berlanjut" {{ old('status_konflik', $sosialEkonomi?->status_konflik) === 'Belum, masih berlanjut' ? 'selected' : '' }}>Belum, masih berlanjut</option>
|
||||
@foreach($statusKonflikOptions as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('status_konflik', $sosialEkonomi?->status_konflik?->value) === $option['value'] ? 'selected' : '' }}>{{ $option['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('status_konflik')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -361,7 +371,7 @@
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<button type="submit" class="btn btn-success">
|
||||
<i class="icon-base ti tabler-device-floppy me-1_5 icon-sm"></i>Simpan Sosial Ekonomi
|
||||
Simpan Sosial Ekonomi
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -376,7 +386,9 @@
|
||||
<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, .sosial-ekonomi-komoditas').select2();
|
||||
const pihakMembantuTanpaBantuan = @json($pihakMembantuTanpaBantuanValue);
|
||||
|
||||
$('#status-kepemilikan-lahan, #pihak-membantu, #status-konflik, .sosial-ekonomi-komoditas').select2();
|
||||
|
||||
function syncKomoditasLainnyaOptions() {
|
||||
const selectedUtama = $('.sosial-ekonomi-komoditas-utama')
|
||||
@@ -582,7 +594,7 @@
|
||||
}
|
||||
|
||||
function syncPihakMembantuFields() {
|
||||
const isTidakAda = $('#pihak-membantu').val() === 'Tidak ada-selesaikan sendiri';
|
||||
const isTidakAda = $('#pihak-membantu').val() === pihakMembantuTanpaBantuan;
|
||||
const $fields = $('#pihak-membantu-nama, #tahun-bantuan');
|
||||
|
||||
$fields.prop('disabled', isTidakAda);
|
||||
|
||||
@@ -66,11 +66,11 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
@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 }}">
|
||||
<td>
|
||||
<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]">
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditasPetani as $komoditas)
|
||||
@@ -79,14 +79,14 @@
|
||||
</select>
|
||||
</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">
|
||||
<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, ',', '.') : '' }}">
|
||||
</div>
|
||||
</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="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' : '' }}>
|
||||
@@ -121,12 +121,12 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
@for($i = 0; $i < 2; $i++)
|
||||
@php($item = $pendapatanKomoditasLainnya->get($i))
|
||||
@php($index = $i + 2)
|
||||
@php $item = $pendapatanKomoditasLainnya->get($i) @endphp
|
||||
@php $index = $i + 2 @endphp
|
||||
<tr class="pendapatan-row" data-group="komoditas-lainnya" data-row-index="{{ $i }}">
|
||||
<td>
|
||||
<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]">
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditasPetani as $komoditas)
|
||||
@@ -135,14 +135,14 @@
|
||||
</select>
|
||||
</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">
|
||||
<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, ',', '.') : '' }}">
|
||||
</div>
|
||||
</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="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' : '' }}>
|
||||
@@ -176,13 +176,13 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
@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 }}">
|
||||
<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) }}">
|
||||
</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">
|
||||
<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, ',', '.') : '' }}">
|
||||
@@ -202,15 +202,14 @@
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Stabilitas Penghasilan</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-periode-paceklik">Periode Paceklik</label>
|
||||
<select class="form-control @error('skor_periode_paceklik') is-invalid @enderror" id="skor-periode-paceklik" name="skor_periode_paceklik">
|
||||
<option value="">Pilih Periode Paceklik</option>
|
||||
<option value="1" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 1 ? 'selected' : '' }}>>4 bulan</option>
|
||||
<option value="2" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 2 ? 'selected' : '' }}>3-4 bulan</option>
|
||||
<option value="3" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 3 ? 'selected' : '' }}>1-2 bulan</option>
|
||||
<option value="4" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 4 ? 'selected' : '' }}>Sebentar & tidak menentu</option>
|
||||
<option value="5" {{ old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik) == 5 ? 'selected' : '' }}>Tidak ada, stabil</option>
|
||||
</select>
|
||||
@php $skorPeriodePaceklikValue = old('skor_periode_paceklik', $sosialEkonomi?->skor_periode_paceklik?->value); @endphp
|
||||
<label class="form-label d-block">Periode Paceklik</label>
|
||||
@foreach($periodePaceklikOptions as $option)
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input @error('skor_periode_paceklik') is-invalid @enderror" type="radio" id="skor-periode-paceklik-{{ $option['value'] }}" name="skor_periode_paceklik" value="{{ $option['value'] }}" {{ (string) $skorPeriodePaceklikValue === (string) $option['value'] ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="skor-periode-paceklik-{{ $option['value'] }}">{{ $option['label'] }}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@error('skor_periode_paceklik')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
@@ -229,7 +228,7 @@
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<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">
|
||||
<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, ',', '.') : '' }}">
|
||||
@@ -237,20 +236,19 @@
|
||||
@error('total_estimasi_biaya_kebun_per_musim')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-menabung">Kemampuan Menabung</label>
|
||||
<select class="form-control @error('skor_kemampuan_menabung') is-invalid @enderror" id="skor-menabung" name="skor_kemampuan_menabung">
|
||||
<option value="">Pilih Kemampuan Menabung</option>
|
||||
<option value="1" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 1 ? 'selected' : '' }}>Tidak bisa sama sekali</option>
|
||||
<option value="2" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 2 ? 'selected' : '' }}>Pernah tapi selalu terpakai</option>
|
||||
<option value="3" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 3 ? 'selected' : '' }}>Kadang-kadang</option>
|
||||
<option value="4" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 4 ? 'selected' : '' }}>Bisa tapi tidak tetap</option>
|
||||
<option value="5" {{ old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung) == 5 ? 'selected' : '' }}>Rutin & jumlah tetap</option>
|
||||
</select>
|
||||
@php $skorKemampuanMenabungValue = old('skor_kemampuan_menabung', $sosialEkonomi?->skor_kemampuan_menabung?->value); @endphp
|
||||
<label class="form-label d-block">Kemampuan Menabung</label>
|
||||
@foreach($kemampuanMenabungOptions as $option)
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input @error('skor_kemampuan_menabung') is-invalid @enderror" type="radio" id="skor-menabung-{{ $option['value'] }}" name="skor_kemampuan_menabung" value="{{ $option['value'] }}" {{ (string) $skorKemampuanMenabungValue === (string) $option['value'] ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="skor-menabung-{{ $option['value'] }}">{{ $option['label'] }}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@error('skor_kemampuan_menabung')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<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">
|
||||
<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, ',', '.') : '' }}">
|
||||
@@ -262,15 +260,14 @@
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Persepsi Kecukupan Penghasilan</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-kecukupan">Kecukupan Penghasilan untuk Keluarga</label>
|
||||
<select class="form-control @error('skor_kecukupan_penghasilan') is-invalid @enderror" id="skor-kecukupan" name="skor_kecukupan_penghasilan">
|
||||
<option value="">Pilih Kecukupan Penghasilan</option>
|
||||
<option value="1" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 1 ? 'selected' : '' }}>Sangat tidak cukup</option>
|
||||
<option value="2" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 2 ? 'selected' : '' }}>Kurang, sering berhutang</option>
|
||||
<option value="3" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 3 ? 'selected' : '' }}>Cukup pas-pasan</option>
|
||||
<option value="4" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 4 ? 'selected' : '' }}>Cukup, kadang ada sisa</option>
|
||||
<option value="5" {{ old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan) == 5 ? 'selected' : '' }}>Lebih dari cukup</option>
|
||||
</select>
|
||||
@php $skorKecukupanPenghasilanValue = old('skor_kecukupan_penghasilan', $sosialEkonomi?->skor_kecukupan_penghasilan?->value); @endphp
|
||||
<label class="form-label d-block">Kecukupan Penghasilan untuk Keluarga</label>
|
||||
@foreach($kecukupanPenghasilanOptions as $option)
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input @error('skor_kecukupan_penghasilan') is-invalid @enderror" type="radio" id="skor-kecukupan-{{ $option['value'] }}" name="skor_kecukupan_penghasilan" value="{{ $option['value'] }}" {{ (string) $skorKecukupanPenghasilanValue === (string) $option['value'] ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="skor-kecukupan-{{ $option['value'] }}">{{ $option['label'] }}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@error('skor_kecukupan_penghasilan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-8 mb-4 form-control-validation">
|
||||
@@ -286,40 +283,51 @@
|
||||
<label class="form-label" for="status-kepemilikan-lahan">Status Kepemilikan Lahan</label>
|
||||
<select class="form-control @error('status_kepemilikan_lahan') is-invalid @enderror" id="status-kepemilikan-lahan" name="status_kepemilikan_lahan">
|
||||
<option value="">Pilih Status Kepemilikan Lahan</option>
|
||||
@foreach(['Milik pribadi', 'Milik orang tua-keluarga', 'Sewa-bagi hasil', 'Lahan adat', 'Perhutanan sosial'] as $status)
|
||||
<option value="{{ $status }}" {{ old('status_kepemilikan_lahan', $sosialEkonomi?->status_kepemilikan_lahan) === $status ? 'selected' : '' }}>{{ $status }}</option>
|
||||
@foreach($statusKepemilikanLahanOptions as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('status_kepemilikan_lahan', $sosialEkonomi?->status_kepemilikan_lahan?->value) === $option['value'] ? 'selected' : '' }}>{{ $option['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('status_kepemilikan_lahan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-4 mb-4 form-control-validation">
|
||||
<label class="form-label" for="skor-kejelasan-lahan">Kejelasan Status Lahan</label>
|
||||
<select class="form-control @error('skor_kejelasan_status_lahan') is-invalid @enderror" id="skor-kejelasan-lahan" name="skor_kejelasan_status_lahan">
|
||||
<option value="">Pilih Kejelasan Status Lahan</option>
|
||||
<option value="1" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 1 ? 'selected' : '' }}>Tidak ada dokumen & ada sengketa</option>
|
||||
<option value="2" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 2 ? 'selected' : '' }}>Ada dokumen tapi masih sengketa</option>
|
||||
<option value="3" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 3 ? 'selected' : '' }}>Pernah sengketa, sudah selesai</option>
|
||||
<option value="4" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 4 ? 'selected' : '' }}>Lahan adat/keluarga/perhutanan sosial tanpa sengketa</option>
|
||||
<option value="5" {{ old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan) == 5 ? 'selected' : '' }}>Bersertifikat & tidak ada sengketa</option>
|
||||
</select>
|
||||
@php $skorKejelasanStatusLahanValue = old('skor_kejelasan_status_lahan', $sosialEkonomi?->skor_kejelasan_status_lahan?->value); @endphp
|
||||
<label class="form-label d-block">Kejelasan Status Lahan</label>
|
||||
@foreach($kejelasanStatusLahanOptions as $option)
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input @error('skor_kejelasan_status_lahan') is-invalid @enderror" type="radio" id="skor-kejelasan-lahan-{{ $option['value'] }}" name="skor_kejelasan_status_lahan" value="{{ $option['value'] }}" {{ (string) $skorKejelasanStatusLahanValue === (string) $option['value'] ? 'checked' : '' }}>
|
||||
<label class="form-check-label" for="skor-kejelasan-lahan-{{ $option['value'] }}">{{ $option['label'] }}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@error('skor_kejelasan_status_lahan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-2 mb-4 form-control-validation">
|
||||
<label class="form-label" for="ada-sertifikat">Ada Sertifikat/Dokumen?</label>
|
||||
<select class="form-control @error('ada_sertifikat_dokumen') is-invalid @enderror" id="ada-sertifikat" name="ada_sertifikat_dokumen">
|
||||
<option value="">Pilih</option>
|
||||
<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>
|
||||
<option value="1" {{ old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === true || old('ada_sertifikat_dokumen', $sosialEkonomi?->ada_sertifikat_dokumen) === '1' ? 'selected' : '' }}>Ada</option>
|
||||
</select>
|
||||
@php
|
||||
$adaSertifikatValue = old('ada_sertifikat_dokumen', is_null($sosialEkonomi?->ada_sertifikat_dokumen) ? null : (int) $sosialEkonomi->ada_sertifikat_dokumen);
|
||||
@endphp
|
||||
<label class="form-label d-block">Ada Sertifikat/Dokumen?</label>
|
||||
<div class="form-check mb-2">
|
||||
<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
|
||||
</div>
|
||||
<div class="col-md-2 mb-4 form-control-validation">
|
||||
<label class="form-label" for="ada-sengketa">Ada Sengketa?</label>
|
||||
<select class="form-control @error('ada_sengketa') is-invalid @enderror" id="ada-sengketa" name="ada_sengketa">
|
||||
<option value="">Pilih</option>
|
||||
<option value="0" {{ old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === false || old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === '0' ? 'selected' : '' }}>Tidak Ada</option>
|
||||
<option value="1" {{ old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === true || old('ada_sengketa', $sosialEkonomi?->ada_sengketa) === '1' ? 'selected' : '' }}>Ada</option>
|
||||
</select>
|
||||
@php
|
||||
$adaSengketaValue = old('ada_sengketa', is_null($sosialEkonomi?->ada_sengketa) ? null : (int) $sosialEkonomi->ada_sengketa);
|
||||
@endphp
|
||||
<label class="form-label d-block">Ada Sengketa?</label>
|
||||
<div class="form-check mb-2">
|
||||
<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
|
||||
</div>
|
||||
</div>
|
||||
@@ -333,8 +341,9 @@
|
||||
<label class="form-label" for="pihak-membantu">Pihak yang Membantu</label>
|
||||
<select class="form-control @error('pihak_membantu_konflik') is-invalid @enderror" id="pihak-membantu" name="pihak_membantu_konflik">
|
||||
<option value="">Pilih</option>
|
||||
<option value="Tidak ada-selesaikan sendiri" {{ old('pihak_membantu_konflik', $sosialEkonomi?->pihak_membantu_konflik) === 'Tidak ada-selesaikan sendiri' ? 'selected' : '' }}>Tidak ada-selesaikan sendiri</option>
|
||||
<option value="Ada" {{ old('pihak_membantu_konflik', $sosialEkonomi?->pihak_membantu_konflik) === 'Ada' ? 'selected' : '' }}>Ada</option>
|
||||
@foreach($pihakMembantuKonflikOptions as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('pihak_membantu_konflik', $sosialEkonomi?->pihak_membantu_konflik?->value) === $option['value'] ? 'selected' : '' }}>{{ $option['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('pihak_membantu_konflik')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -352,8 +361,9 @@
|
||||
<label class="form-label" for="status-konflik">Status Konflik</label>
|
||||
<select class="form-control @error('status_konflik') is-invalid @enderror" id="status-konflik" name="status_konflik">
|
||||
<option value="">Pilih</option>
|
||||
<option value="Sudah selesai" {{ old('status_konflik', $sosialEkonomi?->status_konflik) === 'Sudah selesai' ? 'selected' : '' }}>Sudah selesai</option>
|
||||
<option value="Belum, masih berlanjut" {{ old('status_konflik', $sosialEkonomi?->status_konflik) === 'Belum, masih berlanjut' ? 'selected' : '' }}>Belum, masih berlanjut</option>
|
||||
@foreach($statusKonflikOptions as $option)
|
||||
<option value="{{ $option['value'] }}" {{ old('status_konflik', $sosialEkonomi?->status_konflik?->value) === $option['value'] ? 'selected' : '' }}>{{ $option['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('status_konflik')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -361,7 +371,7 @@
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<button type="submit" class="btn btn-success">
|
||||
<i class="icon-base ti tabler-device-floppy me-1_5 icon-sm"></i>Simpan Sosial Ekonomi
|
||||
Simpan Sosial Ekonomi
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -376,7 +386,9 @@
|
||||
<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, .sosial-ekonomi-komoditas').select2();
|
||||
const pihakMembantuTanpaBantuan = @json($pihakMembantuTanpaBantuanValue);
|
||||
|
||||
$('#status-kepemilikan-lahan, #pihak-membantu, #status-konflik, .sosial-ekonomi-komoditas').select2();
|
||||
|
||||
function syncKomoditasLainnyaOptions() {
|
||||
const selectedUtama = $('.sosial-ekonomi-komoditas-utama')
|
||||
@@ -582,7 +594,7 @@
|
||||
}
|
||||
|
||||
function syncPihakMembantuFields() {
|
||||
const isTidakAda = $('#pihak-membantu').val() === 'Tidak ada-selesaikan sendiri';
|
||||
const isTidakAda = $('#pihak-membantu').val() === pihakMembantuTanpaBantuan;
|
||||
const $fields = $('#pihak-membantu-nama, #tahun-bantuan');
|
||||
|
||||
$fields.prop('disabled', isTidakAda);
|
||||
|
||||
+9
-8
@@ -186,15 +186,16 @@ Route::middleware('auth')
|
||||
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');
|
||||
|
||||
// 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');
|
||||
|
||||
// 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::get('petani/{petani}/lahan-tanaman/summary', [App\Http\Controllers\Web\Produktivitas\PetaniLahanController::class, 'summary'])->name('petani.lahan-tanaman.summary');
|
||||
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);
|
||||
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.pendidikan-pelatihan', App\Http\Controllers\Web\Produktivitas\PendidikanPelatihanController::class);
|
||||
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');
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user