petani lahan dan skor
This commit is contained in:
@@ -7,4 +7,21 @@ enum KeparahanSerangan: string
|
||||
case RINGAN = 'ringan';
|
||||
case SEDANG = 'sedang';
|
||||
case BERAT = 'berat';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::RINGAN => 'Ringan',
|
||||
self::SEDANG => 'Sedang',
|
||||
self::BERAT => 'Berat',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,24 @@ enum KondisiTanaman: string
|
||||
case BAIK = 'baik';
|
||||
case SEDANG = 'sedang';
|
||||
case BURUK = 'buruk';
|
||||
case SAKIT= 'sakit';
|
||||
//case SAKIT= 'sakit';
|
||||
case MATI = 'mati';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match($this) {
|
||||
self::BAIK => 'Baik',
|
||||
self::SEDANG => 'Sedang',
|
||||
self::BURUK => 'Buruk',
|
||||
self::MATI => 'Mati',
|
||||
};
|
||||
}
|
||||
|
||||
public static function options(): array
|
||||
{
|
||||
return collect(self::cases())->map(fn ($case) => [
|
||||
'value' => $case->value,
|
||||
'label' => $case->label(),
|
||||
])->toArray();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,8 +100,9 @@ class PetaniController extends Controller
|
||||
$validatedData['foto'] = $file_foto->store('petani/foto');
|
||||
}
|
||||
|
||||
Petani::create([...$validatedData,
|
||||
'uid' => 'PTN-'. strtoupper(Str::random(10)),
|
||||
$petaniUID = strtoupper(Str::random(10));
|
||||
$petani = Petani::create([...$validatedData,
|
||||
'uid' => 'PTN-'. $petaniUID,
|
||||
'created_by' => auth()->id(),
|
||||
'updated_by' => auth()->id()]);
|
||||
|
||||
|
||||
@@ -94,6 +94,10 @@ class PetaniLahanController extends Controller
|
||||
'serangan_hama' => ['nullable', 'string', new Enum(SeranganHama::class)],
|
||||
'penyakit_tanaman' => ['nullable', 'string', new Enum(PenyakitTanaman::class)],
|
||||
'keparahan_serangan' => ['nullable', 'string', new Enum(KeparahanSerangan::class)],
|
||||
'komoditas_lain' => ['nullable', 'array'],
|
||||
'komoditas_lain.*' => ['integer', 'exists:master_komoditas,id'],
|
||||
'tanaman_penaung' => ['nullable', 'array'],
|
||||
'tanaman_penaung.*' => ['integer', 'exists:master_komoditas,id'],
|
||||
]);
|
||||
|
||||
$komoditas = Komoditas::where('id', $request->komoditas_id)->first();
|
||||
@@ -168,6 +172,7 @@ class PetaniLahanController extends Controller
|
||||
->orderBy('id', 'asc')
|
||||
->get();
|
||||
|
||||
|
||||
$lahanSelected = Lahan::where('petani_id', $petaniId)->findOrFail($id);
|
||||
|
||||
$komoditas = Komoditas::all();
|
||||
@@ -206,6 +211,10 @@ class PetaniLahanController extends Controller
|
||||
'serangan_hama' => ['nullable', 'string', new Enum(SeranganHama::class)],
|
||||
'penyakit_tanaman' => ['nullable', 'string', new Enum(PenyakitTanaman::class)],
|
||||
'keparahan_serangan' => ['nullable', 'string', new Enum(KeparahanSerangan::class)],
|
||||
'komoditas_lain' => ['nullable', 'array'],
|
||||
'komoditas_lain.*' => ['integer', 'exists:master_komoditas,id'],
|
||||
'tanaman_penaung' => ['nullable', 'array'],
|
||||
'tanaman_penaung.*' => ['integer', 'exists:master_komoditas,id'],
|
||||
]);
|
||||
|
||||
$komoditas = Komoditas::where('id', $request->komoditas_id)->first();
|
||||
|
||||
@@ -4,8 +4,10 @@ namespace App\Models\Pertanian;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Str;
|
||||
use App\Models\User;
|
||||
use App\Models\Pertanian\Petani;
|
||||
use App\Models\Pertanian\SkorPetani;
|
||||
|
||||
class AksesPasar extends Model
|
||||
{
|
||||
@@ -39,6 +41,30 @@ class AksesPasar extends Model
|
||||
'saluran_terdahulu' => 'array',
|
||||
];
|
||||
|
||||
protected static function booted(): void
|
||||
{
|
||||
static::saved(function (AksesPasar $aksesPasar) {
|
||||
|
||||
$petani = Petani::find($aksesPasar->petani_id);
|
||||
$skor = SkorPetani::where('petani_id')->orderBy('id')->first();
|
||||
if (!$skor) {
|
||||
$petaniUid = $petani->uid;
|
||||
$part = explode('-', $petaniUid);
|
||||
$skor = SkorPetani::create([
|
||||
'petani_id' => $petani->id,
|
||||
'uid' => 'SKR-' . $part[1] . '-' . strtoupper(Str::random(10)),
|
||||
'created_by' => $petani->created_by,
|
||||
'updated_by' => $petani->updated_by
|
||||
]);
|
||||
}
|
||||
$skor->update([
|
||||
'skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda' => $aksesPasar->skor_pengalaman,
|
||||
'skor_d6_k4_1_kesadaran_akses_pasar_premium' => $aksesPasar->skor_kesadaran_premium,
|
||||
'skor_d6_k5_1_hambatan_mutu' => $aksesPasar->skor_kepercayaan_responden
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public function petani()
|
||||
{
|
||||
|
||||
@@ -14,6 +14,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use App\Models\Pertanian\Komoditas;
|
||||
use App\Models\Master\JenisKomoditas;
|
||||
use App\Models\Master\Varietas;
|
||||
use App\Enums\KondisiTanaman;
|
||||
|
||||
class Lahan extends Model
|
||||
{
|
||||
@@ -48,11 +49,17 @@ class Lahan extends Model
|
||||
'created_by',
|
||||
'updated_by',
|
||||
'deleted_by',
|
||||
|
||||
'komoditas_lain',
|
||||
'tanaman_penaung',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'status_kepemilikan' => StatusLahan::class,
|
||||
'path' => 'array',
|
||||
'komoditas_lain' => 'array',
|
||||
'tanaman_penaung' => 'array',
|
||||
'kondisi_tanaman' => KondisiTanaman::class,
|
||||
];
|
||||
|
||||
public function profile(): BelongsTo
|
||||
|
||||
@@ -15,6 +15,8 @@ use App\Models\Wilayah\DesaKelurahan;
|
||||
use App\Enums\Pendidikan;
|
||||
use App\Enums\Pernikahan;
|
||||
|
||||
use App\Models\Pertanian\SkorPetani;
|
||||
|
||||
class Petani extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
@@ -78,6 +80,28 @@ class Petani extends Model
|
||||
return $this->belongsTo(User::class, 'user_id');
|
||||
}
|
||||
|
||||
protected static function booted(): void
|
||||
{
|
||||
static::saved(function (Petani $petani) {
|
||||
|
||||
$skor = SkorPetani::where('petani_id')->orderBy('id')->first();
|
||||
if (!$skor) {
|
||||
$petaniUid = $petani->uid;
|
||||
$part = explode('-', $petaniUid);
|
||||
$skor = SkorPetani::create([
|
||||
'uid' => 'SKR-' . $part[1] . '-' . strtoupper(Str::random(10)),
|
||||
'created_by' => $petani->created_by,
|
||||
'updated_by' => $petani->updated_by
|
||||
]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public function skor(): HasOne
|
||||
{
|
||||
return $this->hasOne(SkorPetani::class, 'petani_id');
|
||||
}
|
||||
|
||||
public function praktikBudidaya(): HasOne
|
||||
{
|
||||
return $this->hasOne(PraktikBudidaya::class, 'petani_id')->latestOfMany();
|
||||
|
||||
@@ -6,8 +6,12 @@ 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\HasMany;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
use App\Models\Pertanian\Petani;
|
||||
use App\Models\Pertanian\SkorPetani;
|
||||
|
||||
class PraktikBudidaya extends Model
|
||||
{
|
||||
@@ -71,6 +75,36 @@ class PraktikBudidaya extends Model
|
||||
'deleted_by',
|
||||
];
|
||||
|
||||
protected static function booted(): void
|
||||
{
|
||||
static::saved(function (PraktikBudidaya $praktikBudidaya) {
|
||||
|
||||
$petani = Petani::find($praktikBudidaya->petani_id);
|
||||
$skor = SkorPetani::where('petani_id', $petani->id)->orderBy('id')->first();
|
||||
if (!$skor) {
|
||||
$petaniUid = $petani->uid;
|
||||
$part = explode('-', $petaniUid);
|
||||
$skor = SkorPetani::create([
|
||||
'petani_id' => $petani->id,
|
||||
'uid' => 'SKR-' . $part[1] . '-' . strtoupper(Str::random(10)),
|
||||
'created_by' => $petani->created_by,
|
||||
'updated_by' => $petani->updated_by
|
||||
]);
|
||||
}
|
||||
$skor->update([
|
||||
|
||||
'skor_d2_k2_3_praktik_pemangkasan' => $praktikBudidaya->frekuensi_pemangkasan_komoditas_utama,
|
||||
'skor_d2_k2_4_praktik_pemupukan' => $praktikBudidaya->pemberian_pupuk,
|
||||
'skor_d2_k2_5_pengendalian_opt' => $praktikBudidaya->metode_penanganan_hama_penyakit,
|
||||
'skor_d2_k2_6_sanitasi_kebun' => $praktikBudidaya->frekuensi_sanitasi_lahan,
|
||||
'skor_d2_k2_6b_pengelolaan_gulma' => $praktikBudidaya->penanganan_gulma,
|
||||
'skor_d2_k2_7_penglolaan_air_irigasi' => $praktikBudidaya->kondisi_pengelolaan_air_irigasi,
|
||||
//'skor_d2_k2_8_praktik_konservasi_tanah' => $praktikBudidaya->kebiasaan_konservasi_tanah,
|
||||
//'skor_d2_k3_1_penentuan_pematangan' => $praktikBudidaya->
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
||||
public function petani(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Petani::class, 'petani_id');
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Pertanian;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class SkorPetani extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
protected $table = 'petani_skor';
|
||||
|
||||
protected $fillable = [
|
||||
'petani_id',
|
||||
'uid',
|
||||
'skor_kesiapan_adopsi',
|
||||
'skor_d2_sistem_praktik_budidaya',
|
||||
'skor_d4_sosial_ekonomi',
|
||||
'skor_d6_rantai_nilai_akses_pasar',
|
||||
'skor_komp_1_d4_k3_motivasi_kapasitas_adopsi',
|
||||
'skor_komp_2_d4_k2_ekonomi_rumah_tangga',
|
||||
'skor_komp_3_d2_praktik_budidaya_gap',
|
||||
'skor_komp_4_d4_k4_keterlibatan_kelembagaan',
|
||||
'skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan',
|
||||
'skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar',
|
||||
'skor_d4_k3_1_praktik_baru',
|
||||
'skor_d4_k3_4_pemahaman_mutu_harga',
|
||||
'skor_d4_k3_5_role_model',
|
||||
'skor_d4_k3_6_kemampuan_keterlibatan_program',
|
||||
'skor_d4_k3_7_orientasi_jangka_panjang',
|
||||
'skor_d4_k2_5_stabilitas_penghasilan',
|
||||
'skor_d4_k2_8_kemampuan_menabung',
|
||||
'skor_d4_k2_9_kecukupan_penghasilan',
|
||||
'skor_d4_k2_3_k2_7_rasio_biaya_produksi_pendapatan',
|
||||
'skor_d4_k2_11_hak_kelola_lahan',
|
||||
'skor_d2_k2_3_praktik_pemangkasan',
|
||||
'skor_d2_k2_4_praktik_pemupukan',
|
||||
'skor_d2_k2_5_pengendalian_opt',
|
||||
'skor_d2_k2_6_sanitasi_kebun',
|
||||
'skor_d2_k2_6b_pengelolaan_gulma',
|
||||
'skor_d2_k2_7_penglolaan_air_irigasi',
|
||||
'skor_d2_k2_8_praktik_konservasi_tanah',
|
||||
'skor_d2_k3_1_penentuan_pematangan',
|
||||
'skor_d2_k3_5_sortasi_awal_pemisahan_kualitas',
|
||||
'skor_d4_k4_2_keaktifan_pertemuan',
|
||||
'skor_d4_k4_3_peran_dalam_kelompok',
|
||||
'skor_d4_k4_4_manfaat_dirasakan',
|
||||
'skor_d4_k5_1_kepemilikan_rekening',
|
||||
'skor_d4_k5_2_pengalaman_kredit_formal',
|
||||
'skor_d4_k5_3_kepemilikan_aset_produktif',
|
||||
'skor_d4_k5_4_kepemilikan_aset_tidak_produktif',
|
||||
'skor_d4_k5_4_5_akses_program_bantuan',
|
||||
'skor_d4_k6_3_keberadaan_hutang_terkait_panen',
|
||||
'skor_d4_k6_5a_praktik_ijon',
|
||||
'skor_d4_k6_5b_kebebasan_memilih_pembeli',
|
||||
'skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda',
|
||||
'skor_d6_k4_1_kesadaran_akses_pasar_premium',
|
||||
'skor_d6_k5_1_hambatan_mutu',
|
||||
|
||||
'created_by',
|
||||
'updated_by',
|
||||
'deleted_by',
|
||||
];
|
||||
|
||||
}
|
||||
@@ -38,10 +38,15 @@ use App\Enums\SosialEkonomi\StatusRekeningTabungan;
|
||||
use App\Enums\SosialEkonomi\TekananJualSegera;
|
||||
use App\Enums\SosialEkonomi\TerdaftarKelompokTani;
|
||||
use App\Enums\SosialEkonomi\UsahaMutuTambahanHarga;
|
||||
|
||||
use App\Models\Pertanian\Petani;
|
||||
use App\Models\Pertanian\SkorPetani;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class SosialEkonomi extends Model
|
||||
{
|
||||
@@ -183,6 +188,35 @@ class SosialEkonomi extends Model
|
||||
'minat_pembeli_harga_stabil' => MinatPembeliHargaStabil::class,
|
||||
];
|
||||
|
||||
protected static function booted(): void
|
||||
{
|
||||
static::saved(function (SosialEkonomi $sosialEkonomi) {
|
||||
|
||||
$petani = Petani::find($sosialEkonomi->petani_id);
|
||||
$skor = SkorPetani::where('petani_id', $petani->id)->orderBy('id')->first();
|
||||
if (!$skor) {
|
||||
$petaniUid = $petani->uid;
|
||||
$part = explode('-', $petaniUid);
|
||||
$skor = SkorPetani::create([
|
||||
'petani_id' => $petani->id,
|
||||
'uid' => 'SKR-' . $part[1] . '-' . strtoupper(Str::random(10)),
|
||||
'created_by' => $petani->created_by,
|
||||
'updated_by' => $petani->updated_by
|
||||
]);
|
||||
}
|
||||
$skor->update([
|
||||
'skor_d4_k5_1_kepemilikan_rekening' => $sosialEkonomi->status_rekening_tabungan,
|
||||
'skor_d4_k5_2_pengalaman_kredit_formal' => $sosialEkonomi->pengalaman_kredit_kebun,
|
||||
'skor_d4_k5_3_kepemilikan_aset_produktif' => $sosialEkonomi->kondisi_aset_produktif,
|
||||
'skor_d4_k5_4_akses_program_bantuan' => $sosialEkonomi->keterlibatan_program_keuangan_formal,
|
||||
|
||||
'skor_d4_k6_3_keberadaan_hutang_terkait_panen' => $sosialEkonomi->keterikatan_hutang_panen,
|
||||
'skor_d4_k6_5a_praktik_ijon' => $sosialEkonomi->praktik_ijon,
|
||||
'skor_d4_k6_5b_kebebasan_memilih_pembeli' => $sosialEkonomi->kebebasan_memilih_pembeli,
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
||||
public function petani(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Petani::class, 'petani_id');
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
<?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('petani_skor', function (Blueprint $table) {
|
||||
|
||||
$table->id();
|
||||
$table->string('uid')->nullable()->unique();
|
||||
|
||||
$table->foreignId('petani_id')->nullable()->constrained('petani')->onDelete('cascade');
|
||||
|
||||
$table->float('skor_kesiapan_adopsi', 10)->nullable();
|
||||
|
||||
$table->float('skor_d2_sistem_praktik_budidaya', 10)->nullable();
|
||||
$table->float('skor_d4_sosial_ekonomi', 10)->nullable();
|
||||
$table->float('skor_d6_rantai_nilai_akses_pasar', 10)->nullable();
|
||||
|
||||
$table->float('skor_komp_1_d4_k3_motivasi_kapasitas_adopsi', 10)->nullable();
|
||||
$table->float('skor_komp_2_d4_k2_ekonomi_rumah_tangga', 10)->nullable();
|
||||
$table->float('skor_komp_3_d2_praktik_budidaya_gap', 10)->nullable();
|
||||
$table->float('skor_komp_4_d4_k4_keterlibatan_kelembagaan', 10)->nullable();
|
||||
$table->float('skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan', 10)->nullable();
|
||||
$table->float('skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar', 10)->nullable();
|
||||
|
||||
$table->float('skor_d4_k3_1_praktik_baru', 10)->nullable();
|
||||
$table->float('skor_d4_k3_4_pemahaman_mutu_harga', 10)->nullable();
|
||||
$table->float('skor_d4_k3_5_role_model', 10)->nullable();
|
||||
$table->float('skor_d4_k3_6_kemampuan_keterlibatan_program', 10)->nullable();
|
||||
$table->float('skor_d4_k3_7_orientasi_jangka_panjang', 10)->nullable();
|
||||
|
||||
$table->float('skor_d4_k2_5_stabilitas_penghasilan', 10)->nullable();
|
||||
$table->float('skor_d4_k2_8_kemampuan_menabung', 10)->nullable();
|
||||
$table->float('skor_d4_k2_9_kecukupan_penghasilan', 10)->nullable();
|
||||
$table->float('skor_d4_k2_3_k2_7_rasio_biaya_produksi_pendapatan', 10)->nullable();
|
||||
$table->float('skor_d4_k2_11_hak_kelola_lahan', 10)->nullable();
|
||||
|
||||
$table->float('skor_d2_k2_3_praktik_pemangkasan', 10)->nullable();
|
||||
$table->float('skor_d2_k2_4_praktik_pemupukan', 10)->nullable();
|
||||
$table->float('skor_d2_k2_5_pengendalian_opt', 10)->nullable();
|
||||
$table->float('skor_d2_k2_6_sanitasi_kebun', 10)->nullable();
|
||||
$table->float('skor_d2_k2_6b_pengelolaan_gulma', 10)->nullable();
|
||||
$table->float('skor_d2_k2_7_penglolaan_air_irigasi', 10)->nullable();
|
||||
$table->float('skor_d2_k2_8_praktik_konservasi_tanah', 10)->nullable();
|
||||
$table->float('skor_d2_k3_1_penentuan_pematangan', 10)->nullable();
|
||||
$table->float('skor_d2_k3_5_sortasi_awal_pemisahan_kualitas', 10)->nullable();
|
||||
|
||||
$table->float('skor_d4_k4_2_keaktifan_pertemuan', 10)->nullable();
|
||||
$table->float('skor_d4_k4_3_peran_dalam_kelompok', 10)->nullable();
|
||||
$table->float('skor_d4_k4_4_manfaat_dirasakan', 10)->nullable();
|
||||
|
||||
$table->float('skor_d4_k5_1_kepemilikan_rekening', 10)->nullable();
|
||||
$table->float('skor_d4_k5_2_pengalaman_kredit_formal', 10)->nullable();
|
||||
$table->float('skor_d4_k5_3_kepemilikan_aset_produktif', 10)->nullable();
|
||||
//$table->float('skor_d4_k5_4_kepemilikan_aset_tidak_produktif', 10)->nullable();
|
||||
//$table->float('skor_d4_k5_4_akses_program_bantuan_formal', 10)->nullable();
|
||||
$table->float('skor_d4_k5_4_akses_program_bantuan', 10)->nullable();
|
||||
|
||||
$table->float('skor_d4_k6_3_keberadaan_hutang_terkait_panen', 10)->nullable();
|
||||
$table->float('skor_d4_k6_5a_praktik_ijon', 10)->nullable();
|
||||
$table->float('skor_d4_k6_5b_kebebasan_memilih_pembeli', 10)->nullable();
|
||||
|
||||
$table->float('skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda', 10)->nullable();
|
||||
$table->float('skor_d6_k4_1_kesadaran_akses_pasar_premium', 10)->nullable();
|
||||
$table->float('skor_d6_k5_1_hambatan_mutu', 10)->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();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('petani_skor');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
<?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::table('map_lahan', function (Blueprint $table) {
|
||||
$table->json('komoditas_lain')->nullable();
|
||||
$table->json('tanaman_penaung')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
}
|
||||
};
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
<div class="col-md-12">
|
||||
|
||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
||||
@include('produktivitas.petani.header')
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
@@ -135,6 +135,28 @@
|
||||
@error('keparahan_serangan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Komoditas Lain</label>
|
||||
<select id="komoditas_lain" name="komoditas_lain[]" class="form-select @error('komoditas_lain[]') is-invalid @enderror" multiple>
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditas as $k)
|
||||
<option value="{{ $k->id }}">{{ $k->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('komoditas_lain')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Tanaman Penaung</label>
|
||||
<select id="tanaman_penaung" name="tanaman_penaung[]" class="form-select @error('tanaman_penaung[]') is-invalid @enderror" multiple>
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditas as $k)
|
||||
<option value="{{ $k->id }}">{{ $k->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('tanaman_penaung[]')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -229,6 +251,8 @@
|
||||
$('#serangan_hama').select2();
|
||||
$('#penyakit_tanaman').select2();
|
||||
$('#keparahan_serangan').select2();
|
||||
$('#komoditas_lain').select2();
|
||||
$('#tanaman_penaung').select2();
|
||||
|
||||
$('#provinsi_id').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<input type="hidden" name="status_kepemilikan" value="sendiri">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 mb-4">
|
||||
<h6 class="mb-3">Data Lahan dan Komoditas</h6>
|
||||
<h6 class="mb-3">Data Lahan dan Tanaman</h6>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
@@ -147,7 +147,34 @@
|
||||
@error('keparahan_serangan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Komoditas Lain</label>
|
||||
<select id="komoditas_lain" name="komoditas_lain[]" class="form-select @error('komoditas_lain[]') is-invalid @enderror" multiple>
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditas as $k)
|
||||
<option value="{{ $k->id }}"
|
||||
{{ in_array($k->id, old('komoditas_lain', $lahanSelected->komoditas_lain ?? [])) ? 'selected' : '' }}>
|
||||
{{ $k->nama }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('komoditas_lain')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Tanaman Penaung</label>
|
||||
<select id="tanaman_penaung" name="tanaman_penaung[]" class="form-select @error('tanaman_penaung[]') is-invalid @enderror" multiple>
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditas as $k)
|
||||
<option value="{{ $k->id }}"
|
||||
{{ in_array($k->id, old('tanaman_penaung', $lahanSelected->tanaman_penaung ?? [])) ? 'selected' : '' }}>
|
||||
{{ $k->nama }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('tanaman_penaung[]')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
@@ -320,6 +347,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@include('produktivitas.petani.lahan.tanaman.edit')
|
||||
@include('produktivitas.petani.lahan.tanaman.delete')
|
||||
|
||||
@@ -342,6 +371,13 @@
|
||||
const selectedJenisKomoditas = "{{ optional($lahanSelected->jenisKomoditas)->id }}";
|
||||
const selectedVarietas = "{{ optional($lahanSelected->varietas)->id }}";
|
||||
|
||||
$('#kondisi_tanaman').select2();
|
||||
$('#serangan_hama').select2();
|
||||
$('#penyakit_tanaman').select2();
|
||||
$('#keparahan_serangan').select2();
|
||||
$('#komoditas_lain').select2();
|
||||
$('#tanaman_penaung').select2();
|
||||
|
||||
$('#table-tanaman').DataTable({
|
||||
"paging": true,
|
||||
"lengthChange": true,
|
||||
|
||||
@@ -2,94 +2,70 @@
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="tanamanModalLabel">Ubah Data Tanaman</h5>
|
||||
<h5 class="modal-title" id="deleteTanamanModalLabel">Hapus Data Tanaman</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="deleteTanamanForm" method="POST" action="{{ route('petani.lahan-tanaman.tanaman.destroy', ['petani' => $petani->id, 'lahan_tanaman' => $lahanSelected->id, 'tanaman' => ':id']) }}">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="hidden" name="id" id="deleteTanamanFormId">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="komoditas" class="form-label">Komoditas</label>
|
||||
<input type="text" class="form-control" id="delete-komoditas" name="komoditas" disabled>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="jenis_komoditas" class="form-label">Jenis Komoditas</label>
|
||||
<input type="text" class="form-control" id="delete-jenis_komoditas" name="jenis_komoditas" disabled>
|
||||
</div>
|
||||
aria-label="Close">
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="deleteTanamanForm" method="POST" action="{{ route('petani.lahan-tanaman.tanaman.destroy', ['petani' => $petani->id, 'lahan_tanaman' => $lahanSelected->id, 'tanaman' => ':id']) }}">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="hidden" name="id" id="deleteTanamanFormId">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="komoditas" class="form-label">Komoditas</label>
|
||||
<input type="text" class="form-control" id="delete-komoditas" name="komoditas" readonly>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="varietas" class="form-label">Varietas</label>
|
||||
<input type="text" class="form-control" id="delete-varietas" name="varietas" disabled>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="jenis_komoditas" class="form-label">Jenis Komoditas</label>
|
||||
<input type="text" class="form-control" id="delete-jenis_komoditas" name="jenis_komoditas" readonly>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="latitude" class="form-label">Latitude</label>
|
||||
<input type="number" class="form-control" id="delete-latitude" name="latitude">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="longitude" class="form-label">Longitude</label>
|
||||
<input type="number" class="form-control" id="delete-longitude" name="longitude">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="varietas" class="form-label">Varietas</label>
|
||||
<input type="text" class="form-control" id="delete-varietas" name="varietas" readonly>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="kondisi" class="form-label">Kondisi Tanaman</label>
|
||||
<select class="form-select" id="kondisi" name="kondisi_tanaman" required>
|
||||
<option value="">Pilih Kondisi Tanaman</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BAIK }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::BAIK->value ? 'selected' : '' }}>Baik</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::SEDANG }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::SEDANG->value ? 'selected' : '' }}>Sedang</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BURUK }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::BURUK->value ? 'selected' : '' }}>Buruk</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Serangan Hama</label>
|
||||
<select id="serangan_hama" name="serangan_hama" class="form-select @error('serangan_hama') is-invalid @enderror">
|
||||
<option value="">Pilih Serangan Hama</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::ULAT }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::ULAT->value ? 'selected' : '' }}>Ulat</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::BELALANG }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::BELALANG->value ? 'selected' : '' }}>Belalang</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::KUTU }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::KUTU->value ? 'selected' : '' }}>Kutu</option>
|
||||
</select>
|
||||
@error('serangan_hama')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="latitude" class="form-label">Latitude</label>
|
||||
<input type="number" class="form-control" id="delete-latitude" name="latitude" readonly>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Penyakit Tanaman</label>
|
||||
<select id="penyakit_tanaman" name="penyakit_tanaman" class="form-select @error('penyakit_tanaman') is-invalid @enderror">
|
||||
<option value="">Pilih Penyakit</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::BUSUK_BUAH }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::BUSUK_BUAH->value ? 'selected' : '' }}>Busuk Buah</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::DAUN_MENGUNING }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::DAUN_MENGUNING->value ? 'selected' : '' }}>Daun Menguning</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::DAUN_BERCAK }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::DAUN_BERCAK->value ? 'selected' : '' }}>Daun Bercak</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::TANAMAN_LAYU }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::TANAMAN_LAYU->value ? 'selected' : '' }}>Tanaman Layu</option>
|
||||
</select>
|
||||
@error('penyakit_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Keparahan Serangan</label>
|
||||
<select id="keparahan_serangan" name="keparahan_serangan" class="form-select @error('keparahan_serangan') is-invalid @enderror">
|
||||
<option value="">Pilih Keparahan Serangan</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::RINGAN }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::RINGAN->value ? 'selected' : '' }}>Ringan</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::SEDANG }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::SEDANG->value ? 'selected' : '' }}>Sedang</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::BERAT }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::BERAT->value ? 'selected' : '' }}>Berat</option>
|
||||
</select>
|
||||
@error('keparahan_serangan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="longitude" class="form-label">Longitude</label>
|
||||
<input type="number" class="form-control" id="delete-longitude" name="longitude" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="kondisi" class="form-label">Kondisi Tanaman</label>
|
||||
<input type="text" class="form-control" id="delete-kondisi" name="kondisi_tanaman" readonly>
|
||||
</div>
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Serangan Hama</label>
|
||||
<input type="text" class="form-control" id="delete-serangan_hama" name="serangan_hama" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Penyakit Tanaman</label>
|
||||
<input type="text" class="form-control" id="delete-penyakit_tanaman" name="penyakit_tanaman" readonly>
|
||||
</div>
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Keparahan Serangan</label>
|
||||
<input type="text" class="form-control" id="delete-keparahan_serangan" name="keparahan_serangan" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<button type="submit" class="btn btn-danger">Hapus Tanaman</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<button type="submit" class="btn btn-danger">Hapus Tanaman</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -100,6 +76,15 @@
|
||||
$(document).ready(function() {
|
||||
let currentRow = null;
|
||||
|
||||
function snakeToTitleCase(str) {
|
||||
return str
|
||||
.toLowerCase() // Ensure everything else is lowercase
|
||||
.replace(/_/g, ' ') // Replace all underscores with spaces
|
||||
.replace(/\b\w/g, function(letter) { // Find the first letter of each word
|
||||
return letter.toUpperCase(); // Capitalize it
|
||||
});
|
||||
}
|
||||
|
||||
$('.delete-tanaman').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
currentRow = $(this).closest('tr');
|
||||
@@ -115,10 +100,10 @@
|
||||
$('#delete-varietas').val(response.data.varietas.nama);
|
||||
$('#delete-latitude').val(response.data.latitude);
|
||||
$('#delete-longitude').val(response.data.longitude);
|
||||
$('#delete-kondisi').val(response.data.kondisi_tanaman);
|
||||
$('#delete-serangan_hama').val(response.data.serangan_hama);
|
||||
$('#delete-penyakit_tanaman').val(response.data.penyakit_tanaman);
|
||||
$('#delete-keparahan_serangan').val(response.data.keparahan_serangan);
|
||||
$('#delete-kondisi').val(snakeToTitleCase(response.data.kondisi_tanaman));
|
||||
$('#delete-serangan_hama').val(snakeToTitleCase(response.data.serangan_hama));
|
||||
$('#delete-penyakit_tanaman').val(snakeToTitleCase(response.data.penyakit_tanaman));
|
||||
$('#delete-keparahan_serangan').val(snakeToTitleCase(response.data.keparahan_serangan));
|
||||
$('#deleteTanamanFormId').val(response.data.id);
|
||||
|
||||
$('#deleteTanamanModal').modal('show');
|
||||
|
||||
@@ -7,89 +7,89 @@
|
||||
type="button"
|
||||
class="btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="editTanamanForm" method="POST" action="{{ route('petani.lahan-tanaman.tanaman.update', ['petani' => $petani->id, 'lahan_tanaman' => $lahanSelected->id, 'tanaman' => ':id']) }}">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<input type="hidden" name="id" id="editTanamanFormId">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="komoditas" class="form-label">Komoditas</label>
|
||||
<input type="text" class="form-control" id="komoditas" name="komoditas" disabled>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="jenis_komoditas" class="form-label">Jenis Komoditas</label>
|
||||
<input type="text" class="form-control" id="jenis_komoditas" name="jenis_komoditas" disabled>
|
||||
</div>
|
||||
aria-label="Close">
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="editTanamanForm" method="POST" action="{{ route('petani.lahan-tanaman.tanaman.update', ['petani' => $petani->id, 'lahan_tanaman' => $lahanSelected->id, 'tanaman' => ':id']) }}">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<input type="hidden" name="id" id="editTanamanFormId">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="komoditas" class="form-label">Komoditas</label>
|
||||
<input type="text" class="form-control" id="komoditas" name="komoditas" disabled>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="varietas" class="form-label">Varietas</label>
|
||||
<input type="text" class="form-control" id="varietas" name="varietas" disabled>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="jenis_komoditas" class="form-label">Jenis Komoditas</label>
|
||||
<input type="text" class="form-control" id="jenis_komoditas" name="jenis_komoditas" disabled>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="latitude" class="form-label">Latitude</label>
|
||||
<input type="number" class="form-control" id="latitude" name="latitude">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="longitude" class="form-label">Longitude</label>
|
||||
<input type="number" class="form-control" id="longitude" name="longitude">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="varietas" class="form-label">Varietas</label>
|
||||
<input type="text" class="form-control" id="varietas" name="varietas" disabled>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="kondisi" class="form-label">Kondisi Tanaman</label>
|
||||
<select class="form-select" id="kondisi" name="kondisi_tanaman" required>
|
||||
<option value="">Pilih Kondisi Tanaman</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BAIK }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::BAIK->value ? 'selected' : '' }}>Baik</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::SEDANG }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::SEDANG->value ? 'selected' : '' }}>Sedang</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BURUK }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::BURUK->value ? 'selected' : '' }}>Buruk</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Serangan Hama</label>
|
||||
<select id="serangan_hama" name="serangan_hama" class="form-select @error('serangan_hama') is-invalid @enderror">
|
||||
<option value="">Pilih Serangan Hama</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::ULAT }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::ULAT->value ? 'selected' : '' }}>Ulat</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::BELALANG }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::BELALANG->value ? 'selected' : '' }}>Belalang</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::KUTU }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::KUTU->value ? 'selected' : '' }}>Kutu</option>
|
||||
</select>
|
||||
@error('serangan_hama')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="latitude" class="form-label">Latitude</label>
|
||||
<input type="number" class="form-control" id="latitude" name="latitude">
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Penyakit Tanaman</label>
|
||||
<select id="penyakit_tanaman" name="penyakit_tanaman" class="form-select @error('penyakit_tanaman') is-invalid @enderror">
|
||||
<option value="">Pilih Penyakit</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::BUSUK_BUAH }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::BUSUK_BUAH->value ? 'selected' : '' }}>Busuk Buah</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::DAUN_MENGUNING }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::DAUN_MENGUNING->value ? 'selected' : '' }}>Daun Menguning</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::DAUN_BERCAK }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::DAUN_BERCAK->value ? 'selected' : '' }}>Daun Bercak</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::TANAMAN_LAYU }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::TANAMAN_LAYU->value ? 'selected' : '' }}>Tanaman Layu</option>
|
||||
</select>
|
||||
@error('penyakit_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Keparahan Serangan</label>
|
||||
<select id="keparahan_serangan" name="keparahan_serangan" class="form-select @error('keparahan_serangan') is-invalid @enderror">
|
||||
<option value="">Pilih Keparahan Serangan</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::RINGAN }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::RINGAN->value ? 'selected' : '' }}>Ringan</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::SEDANG }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::SEDANG->value ? 'selected' : '' }}>Sedang</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::BERAT }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::BERAT->value ? 'selected' : '' }}>Berat</option>
|
||||
</select>
|
||||
@error('keparahan_serangan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="longitude" class="form-label">Longitude</label>
|
||||
<input type="number" class="form-control" id="longitude" name="longitude">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<label for="kondisi" class="form-label">Kondisi Tanaman</label>
|
||||
<select class="form-select" id="kondisi" name="kondisi_tanaman" required>
|
||||
<option value="">Pilih Kondisi Tanaman</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BAIK }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::BAIK->value ? 'selected' : '' }}>Baik</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::SEDANG }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::SEDANG->value ? 'selected' : '' }}>Sedang</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BURUK }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::BURUK->value ? 'selected' : '' }}>Buruk</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Serangan Hama</label>
|
||||
<select id="serangan_hama" name="serangan_hama" class="form-select @error('serangan_hama') is-invalid @enderror">
|
||||
<option value="">Pilih Serangan Hama</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::ULAT }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::ULAT->value ? 'selected' : '' }}>Ulat</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::BELALANG }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::BELALANG->value ? 'selected' : '' }}>Belalang</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::KUTU }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::KUTU->value ? 'selected' : '' }}>Kutu</option>
|
||||
</select>
|
||||
@error('serangan_hama')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Penyakit Tanaman</label>
|
||||
<select id="penyakit_tanaman" name="penyakit_tanaman" class="form-select @error('penyakit_tanaman') is-invalid @enderror">
|
||||
<option value="">Pilih Penyakit</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::BUSUK_BUAH }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::BUSUK_BUAH->value ? 'selected' : '' }}>Busuk Buah</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::DAUN_MENGUNING }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::DAUN_MENGUNING->value ? 'selected' : '' }}>Daun Menguning</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::DAUN_BERCAK }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::DAUN_BERCAK->value ? 'selected' : '' }}>Daun Bercak</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::TANAMAN_LAYU }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::TANAMAN_LAYU->value ? 'selected' : '' }}>Tanaman Layu</option>
|
||||
</select>
|
||||
@error('penyakit_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 form-control-validation">
|
||||
<label class="form-label">Keparahan Serangan</label>
|
||||
<select id="keparahan_serangan" name="keparahan_serangan" class="form-select @error('keparahan_serangan') is-invalid @enderror">
|
||||
<option value="">Pilih Keparahan Serangan</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::RINGAN }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::RINGAN->value ? 'selected' : '' }}>Ringan</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::SEDANG }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::SEDANG->value ? 'selected' : '' }}>Sedang</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::BERAT }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::BERAT->value ? 'selected' : '' }}>Berat</option>
|
||||
</select>
|
||||
@error('keparahan_serangan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user