323 lines
22 KiB
PHP
323 lines
22 KiB
PHP
@extends('layout.main')
|
|
|
|
@section('content')
|
|
<div class="container-xxl flex-grow-1 container-p-y">
|
|
<div class="card">
|
|
<div class="card-header border-bottom mb-4">
|
|
<h5 class="card-title mb-0">Edit Petani (CPM)</h5>
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
<form id="addNewPetaniForm" action="{{ route('petani-cpm.update', $petani->id) }}" method="POST" >
|
|
@csrf
|
|
@method('PUT')
|
|
|
|
@if ($errors->any())
|
|
<div class="alert alert-danger">
|
|
<ul class="mb-0">
|
|
@foreach ($errors->all() as $error)
|
|
<li>{{ $error }}</li>
|
|
@endforeach
|
|
</ul>
|
|
</div>
|
|
@endif
|
|
|
|
<h6 class="mb-3">Informasi Petani</h6>
|
|
<div class="row">
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-nama">Nama Petani<span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('nama') is-invalid @enderror" id="add-petani-nama" name="nama"
|
|
placeholder="Cth: John Doe" value="{{ old('nama', $petani->nama) }}" />
|
|
@error('nama')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-jenis-kelamin">Jenis Kelamin<span class="text-danger">*</span></label>
|
|
<select class="form-control @error('jenis_kelamin') is-invalid @enderror" id="add-petani-jenis-kelamin" name="jenis_kelamin">
|
|
<option value="">Pilih Jenis Kelamin</option>
|
|
<option value="1" {{ old('jenis_kelamin', $petani->jenis_kelamin) == '1' ? 'selected' : '' }}>Laki-laki</option>
|
|
<option value="0" {{ old('jenis_kelamin', $petani->jenis_kelamin) == '0' ? 'selected' : '' }}>Perempuan</option>
|
|
</select>
|
|
@error('jenis_kelamin')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-tanggal-lahir">Tanggal Lahir</label>
|
|
<input type="date" class="form-control @error('tanggal_lahir') is-invalid @enderror" id="add-petani-tanggal-lahir" name="tanggal_lahir"
|
|
value="{{ old('tanggal_lahir', $petani->tanggal_lahir?->format('Y-m-d')) }}" />
|
|
@error('tanggal_lahir')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-pendidikan-terakhir">Pendidikan Terakhir</label>
|
|
<select class="form-control @error('pendidikan_terakhir') is-invalid @enderror" id="add-petani-pendidikan-terakhir" name="pendidikan_terakhir">
|
|
<option value="">Pilih Pendidikan Terakhir</option>
|
|
@foreach($pendidikan as $value)
|
|
<option value="{{ $value['value'] }}" {{ old('pendidikan_terakhir', $petani->pendidikan_terakhir->value) == $value['value'] ? 'selected' : '' }}>{{ $value['label'] }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('pendidikan_terakhir')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-alamat">Alamat</label>
|
|
<input type="text" class="form-control @error('alamat') is-invalid @enderror" id="add-petani-alamat" name="alamat"
|
|
placeholder="Cth: Alamat lengkap petani" value="{{ old('alamat', $petani->alamat) }}" />
|
|
@error('alamat')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-provinsi">Provinsi</label>
|
|
<select class="form-control @error('provinsi_id') is-invalid @enderror" id="add-petani-provinsi" name="provinsi_id">
|
|
<option value="">Pilih Provinsi</option>
|
|
@foreach($provinsi as $p)
|
|
<option value="{{ $p->id }}" {{ old('provinsi_id', $petani->desaKelurahan->kecamatan->kabupatenKota->provinsi_id) == $p->id ? 'selected' : '' }}>{{ $p->nama }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('provinsi_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-kabupaten">Kabupaten/Kota</label>
|
|
<select class="form-control @error('kabupaten_id') is-invalid @enderror" id="add-petani-kabupaten" name="kabupaten_id" >
|
|
<option value="">Pilih Kabupaten/Kota</option>
|
|
<option value="{{ $petani->desaKelurahan->kecamatan->kabupatenKota->id }}" selected>{{ $petani->desaKelurahan->kecamatan->kabupatenKota->nama }}</option>
|
|
</select>
|
|
@error('kabupaten_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-kecamatan">Kecamatan</label>
|
|
<select class="form-control @error('kecamatan_id') is-invalid @enderror" id="add-petani-kecamatan" name="kecamatan_id" >
|
|
<option value="">Pilih Kecamatan</option>
|
|
<option value="{{ $petani->desaKelurahan->kecamatan->id }}" selected>{{ $petani->desaKelurahan->kecamatan->nama }}</option>
|
|
</select>
|
|
@error('kecamatan_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-desa">Desa/Kelurahan</label>
|
|
<select class="form-control @error('desa_kelurahan_id') is-invalid @enderror" id="add-petani-desa" name="desa_kelurahan_id" >
|
|
<option value="">Pilih Desa/Kelurahan</option>
|
|
<option value="{{ $petani->desaKelurahan->id }}" selected>{{ $petani->desaKelurahan->nama }}</option>
|
|
</select>
|
|
@error('desa_kelurahan_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<hr/>
|
|
<h6 class="mb-3">Informasi Pekerjaan</h6>
|
|
|
|
<div class="row">
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-pekerjaan-utama">Pekerjaan Utama</label>
|
|
<select class="form-control @error('pekerjaan_utama') is-invalid @enderror" id="add-petani-pekerjaan-utama" name="pekerjaan_utama">
|
|
<option value="">Pilih Pekerjaan</option>
|
|
@foreach($pekerjaan as $value)
|
|
<option value="{{ $value['value'] }}" {{ old('pekerjaan_utama', $petani->pekerjaan_utama->value) == $value['value'] ? 'selected' : '' }}>{{ $value['label'] }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('pekerjaan_utama')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-komoditas">Komoditas Utama</label>
|
|
<select class="form-control @error('komoditas_id') is-invalid @enderror" id="add-petani-komoditas" name="komoditas_id">
|
|
<option value="">Pilih Komoditas</option>
|
|
@foreach($komoditas as $k)
|
|
<option value="{{ $k->id }}" {{ old('komoditas_id', $petani->komoditas_id) == $k->id ? 'selected' : '' }}>{{ $k->nama }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('komoditas_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-luas-lahan">Luas Lahan (ha)</label>
|
|
<input type="number" step="0.01" class="form-control @error('luas_lahan') is-invalid @enderror" id="add-petani-luas-lahan" name="luas_lahan" placeholder="Cth: 1.5" value="{{ old('luas_lahan', $petani->luas_lahan) }}" />
|
|
@error('luas_lahan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-lama-bertani">Lama Bertani (tahun)</label>
|
|
<input type="number" step="0.01" class="form-control @error('lama_bertani') is-invalid @enderror" id="add-petani-lama-bertani" name="lama_bertani" placeholder="Cth: 2.5" value="{{ old('lama_bertani', $petani->lama_bertani) }}" />
|
|
@error('lama_bertani')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-pekerjaan-sampingan">Pekerjaan Sampingan</label>
|
|
<select class="form-control @error('pekerjaan_sampingan') is-invalid @enderror" id="add-petani-pekerjaan-sampingan" name="pekerjaan_sampingan">
|
|
<option value="">Pilih Pekerjaan</option>
|
|
@foreach($pekerjaan as $value)
|
|
<option value="{{ $value['value'] }}" {{ old('pekerjaan_sampingan', $petani->pekerjaan_sampingan->value) == $value['value'] ? 'selected' : '' }}>{{ $value['label'] }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('pekerjaan_sampingan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-komoditas-sampingan">Komoditas Pekerjaan Sampingan</label>
|
|
<select class="form-control @error('komoditas_sampingan_id') is-invalid @enderror" id="add-petani-komoditas-sampingan" name="komoditas_sampingan_id">
|
|
<option value="">Pilih Komoditas</option>
|
|
@foreach($komoditas as $k)
|
|
<option value="{{ $k->id }}" {{ old('komoditas_sampingan_id', $petani->komoditas_sampingan_id) == $k->id ? 'selected' : '' }}>{{ $k->nama }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('komoditas_sampingan_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-luas-lahan-sampingan">Luas Lahan Pekerjaan Sampingan (ha)</label>
|
|
<input type="number" step="0.01" class="form-control @error('luas_lahan_sampingan') is-invalid @enderror" id="add-petani-luas-lahan-sampingan" name="luas_lahan_sampingan" placeholder="Cth: 1.5" value="{{ old('luas_lahan_sampingan', $petani->luas_lahan_sampingan) }}" />
|
|
@error('luas_lahan_sampingan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-lama-bertani-sampingan">Lama Bertani Pekerjaan Sampingan (tahun)</label>
|
|
<input type="number" step="0.01" class="form-control @error('lama_bertani_sampingan') is-invalid @enderror" id="add-petani-lama-bertani-sampingan" name="lama_bertani_sampingan" placeholder="Cth: 2.5" value="{{ old('lama_bertani_sampingan', $petani->lama_bertani_sampingan) }}" />
|
|
@error('lama_bertani_sampingan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-petani-pengumpul">Catatan Khusus</label>
|
|
<select class="form-control @error('petani_pengumpul') is-invalid @enderror" id="add-petani-petani-pengumpul" name="petani_pengumpul[]" multiple>
|
|
<option value="petani" {{ in_array('petani', old('petani_pengumpul', $petani->petani_pengumpul ?? [])) ? 'selected' : '' }}>Petani</option>
|
|
<option value="pengumpul" {{ in_array('pengumpul', old('petani_pengumpul', $petani->petani_pengumpul ?? [])) ? 'selected' : '' }}>Pengumpul</option>
|
|
</select>
|
|
@error('petani_pengumpul')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<hr/>
|
|
<h6 class="mb-3">Informasi Keluarga</h6>
|
|
|
|
<div class="row">
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-status-pernikahan">Status Pernikahan<span class="text-danger">*</span></label>
|
|
<select class="form-control @error('status_perkawinan') is-invalid @enderror" id="add-petani-status-pernikahan" name="status_perkawinan">
|
|
<option value="">Pilih Status Pernikahan</option>
|
|
@foreach($pernikahan as $value)
|
|
<option value="{{ $value['value'] }}" {{ old('status_perkawinan', $petani->status_perkawinan->value) == $value['value'] ? 'selected' : '' }}>{{ $value['label'] }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('status_perkawinan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-status-keluarga">Hubungan Dalam Keluarga<span class="text-danger">*</span></label>
|
|
<select class="form-control @error('status_keluarga') is-invalid @enderror" id="add-petani-status-keluarga" name="status_keluarga">
|
|
<option value="">Pilih Status Keluarga</option>
|
|
@foreach($statusKeluarga as $value)
|
|
<option value="{{ $value['value'] }}" {{ old('status_keluarga', $petani->status_keluarga->value) == $value['value'] ? 'selected' : '' }}>{{ $value['label'] }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('status_keluarga')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-petani-jumlah-anggota-keluarga">Jumlah Tanggungan</label>
|
|
<input type="number" step="1" min="0" class="form-control @error('jumlah_tanggungan') is-invalid @enderror" id="add-petani-jumlah-anggota-keluarga" name="jumlah_tanggungan"
|
|
placeholder="Cth: 4" value="{{ old('jumlah_tanggungan', $petani->jumlah_tanggungan) }}" />
|
|
@error('jumlah_tanggungan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-4 text-end">
|
|
<a href="{{ route('petani-cpm.index') }}" class="btn btn-label-secondary me-2">Kembali</a>
|
|
<button type="submit" class="btn btn-success data-submit">Simpan Petani</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@push('scripts')
|
|
<script>
|
|
'use strict';
|
|
$(document).ready(function () {
|
|
|
|
$('#add-petani-jenis-kelamin, #add-petani-pendidikan-terakhir, #add-petani-pekerjaan-utama, #add-petani-komoditas, #add-petani-pekerjaan-sampingan, #add-petani-komoditas-sampingan, #add-petani-status-pernikahan, #add-petani-status-keluarga, #add-petani-petani-pengumpul').select2();
|
|
|
|
$('#add-petani-provinsi').select2().change(function(e) {
|
|
e.preventDefault();
|
|
var provinsiId = $(this).val();
|
|
$('#add-petani-kabupaten').prop('disabled', !provinsiId).val('').trigger('change');
|
|
$('#add-petani-kecamatan').prop('disabled', true).val('').trigger('change');
|
|
$('#add-petani-desa').prop('disabled', true).val('').trigger('change');
|
|
|
|
if (provinsiId) {
|
|
$.ajax({
|
|
url: '{{ route("kabupatenkota.byprovinsi", ":id") }}'.replace(':id', provinsiId),
|
|
method: 'GET',
|
|
success: function(data) {
|
|
$('#add-petani-kabupaten').empty().append('<option value="">Pilih Kabupaten/Kota</option>');
|
|
data.forEach(function(kabupaten) {
|
|
$('#add-petani-kabupaten').append('<option value="' + kabupaten.id + '">' + kabupaten.nama + '</option>');
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
$('#add-petani-kabupaten').select2().change(function(e) {
|
|
e.preventDefault();
|
|
var kabupatenId = $(this).val();
|
|
$('#add-petani-kecamatan').prop('disabled', !kabupatenId).val('').trigger('change');
|
|
$('#add-petani-desa').prop('disabled', true).val('').trigger('change');
|
|
|
|
if (kabupatenId) {
|
|
$.ajax({
|
|
url: '{{ route("kecamatan.bykabupatenkota", ":id") }}'.replace(':id', kabupatenId),
|
|
method: 'GET',
|
|
success: function(data) {
|
|
$('#add-petani-kecamatan').empty().append('<option value="">Pilih Kecamatan</option>');
|
|
data.forEach(function(kecamatan) {
|
|
$('#add-petani-kecamatan').append('<option value="' + kecamatan.id + '">' + kecamatan.nama + '</option>');
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
$('#add-petani-kecamatan').select2().change(function(e) {
|
|
e.preventDefault();
|
|
var kecamatanId = $(this).val();
|
|
$('#add-petani-desa').prop('disabled', !kecamatanId).val('').trigger('change');
|
|
|
|
if (kecamatanId) {
|
|
$.ajax({
|
|
url: '{{ route("desakelurahan.bykecamatan", ":id") }}'.replace(':id', kecamatanId),
|
|
method: 'GET',
|
|
success: function(data) {
|
|
$('#add-petani-desa').empty().append('<option value="">Pilih Desa/Kelurahan</option>');
|
|
data.forEach(function(desa) {
|
|
$('#add-petani-desa').append('<option value="' + desa.id + '">' + desa.nama + '</option>');
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
$('#add-petani-desa').select2();
|
|
|
|
$.validator.addMethod("snakecase", function(value, element) {
|
|
return this.optional(element) || /^[a-z0-9]+(_[a-z0-9]+)*$/.test(value);
|
|
}, "Gunakan format snake_case (huruf kecil dan underscore)");
|
|
|
|
$('#addNewPetaniForm').validate({
|
|
rules: {
|
|
nama: { required: true },
|
|
jenis_kelamin: { required: true },
|
|
pendidikan_terakhir: { required: true },
|
|
pekerjaan_utama: { required: true },
|
|
alamat: { required: true },
|
|
},
|
|
messages: {
|
|
nama: { required: "Nama petani wajib diisi" },
|
|
jenis_kelamin: { required: "Jenis kelamin wajib diisi" },
|
|
pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" },
|
|
pekerjaan_utama: { required: "Pekerjaan utama wajib diisi" },
|
|
alamat: { required: "Alamat 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 |