perbaikan petani dan lahan
This commit is contained in:
@@ -22,16 +22,19 @@
|
||||
<!-- INFORMASI PETANI -->
|
||||
<form id="addPetaniForm" action="{{ route('petani.store') }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<input type="file" id="foto" name="foto" accept="image/png,image/jpeg,image/jpg" hidden>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="user-avatar-section">
|
||||
<div class=" d-flex align-items-center flex-column">
|
||||
<img
|
||||
<img id="fotoPreview"
|
||||
class="img-fluid rounded mb-4"
|
||||
src="../../assets/img/avatars/1.png"
|
||||
height="120"
|
||||
width="120"
|
||||
alt="User avatar" />
|
||||
src="{{ $petani->foto ? asset('storage/' . $petani->foto) : '../../assets/img/avatars/1.png' }}"
|
||||
height="120" width="120"
|
||||
alt="Foto profil petani"
|
||||
data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
data-bs-original-title="Klik untuk menambahkan foto profil petani"
|
||||
style="cursor:pointer; object-fit:cover;" />
|
||||
<div class="user-info text-center">
|
||||
<h5><i>Nama Petani</i></h5>
|
||||
<span class="badge bg-label-secondary">Petani</span>
|
||||
@@ -56,7 +59,7 @@
|
||||
@error('ktp')<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-kk">No. KK<span class="text-danger">*</span></label>
|
||||
<label class="form-label" for="add-petani-kk">No. KK</label>
|
||||
<input type="text" class="form-control @error('kk') is-invalid @enderror" id="add-petani-kk" name="kk"
|
||||
placeholder="Cth: 1234567890" value="{{ old('kk') }}" />
|
||||
@error('kk')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
@@ -79,15 +82,15 @@
|
||||
@error('tempat_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-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"
|
||||
<label class="form-label" for="add-petani-tanggal-lahir">Tanggal Lahir<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('tanggal_lahir') is-invalid @enderror" id="add-petani-tanggal-lahir" name="tanggal_lahir"
|
||||
value="{{ old('tanggal_lahir') }}" />
|
||||
@error('tanggal_lahir')<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-pendidikan-terakhir">Pendidikan Terakhir</label>
|
||||
<label class="form-label" for="add-petani-pendidikan-terakhir">Pendidikan Terakhir<span class="text-danger">*</span></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)
|
||||
@@ -108,11 +111,24 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Komoditas</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label">Komoditas Utama <span class="text-danger">*</span></label>
|
||||
<select id="add-petani-komoditas" name="komoditas_id" class="form-select @error('komoditas_id') is-invalid @enderror">
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditas as $k)
|
||||
<option value="{{ $k->id }}">{{ $k->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('komoditas_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Domisili dan Kontak</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="add-petani-alamat">Alamat</label>
|
||||
<label class="form-label" for="add-petani-alamat">Alamat<span class="text-danger">*</span></label>
|
||||
<textarea class="form-control @error('alamat') is-invalid @enderror" id="add-petani-alamat" name="alamat"
|
||||
rows="2" placeholder="Cth: Jl. Nama Jalan, Nama Dusun">{{ old('alamat') }}</textarea>
|
||||
@error('alamat')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
@@ -120,7 +136,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="add-petani-provinsi">Provinsi</label>
|
||||
<label class="form-label" for="add-petani-provinsi">Provinsi<span class="text-danger">*</span></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)
|
||||
@@ -130,21 +146,21 @@
|
||||
@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>
|
||||
<label class="form-label" for="add-petani-kabupaten">Kabupaten/Kota<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('kabupaten_id') is-invalid @enderror" id="add-petani-kabupaten" name="kabupaten_id" >
|
||||
<option value="">Pilih Kabupaten/Kota</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>
|
||||
<label class="form-label" for="add-petani-kecamatan">Kecamatan<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('kecamatan_id') is-invalid @enderror" id="add-petani-kecamatan" name="kecamatan_id" >
|
||||
<option value="">Pilih Kecamatan</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>
|
||||
<label class="form-label" for="add-petani-desa">Desa/Kelurahan<span class="text-danger">*</span></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>
|
||||
</select>
|
||||
@@ -205,7 +221,7 @@
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
|
||||
<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"><i class="ti tabler-device-floppy me-2"> Simpan Profil</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
@@ -222,7 +238,10 @@
|
||||
$(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-tanggal-lahir').flatpickr({
|
||||
dateFormat: 'd-m-Y'
|
||||
});
|
||||
|
||||
$('#add-petani-provinsi').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var provinsiId = $(this).val();
|
||||
@@ -282,8 +301,29 @@
|
||||
});
|
||||
$('#add-petani-desa').select2();
|
||||
|
||||
|
||||
$('#editPetaniForm').validate({
|
||||
$('#fotoPreview').on('click', function () {
|
||||
$('#foto').click();
|
||||
});
|
||||
|
||||
$('#foto').on('change', function (e) {
|
||||
|
||||
const file = e.target.files[0];
|
||||
if (!file) return;
|
||||
|
||||
const reader = new FileReader();
|
||||
reader.onload = function (event) {
|
||||
$('#fotoPreview').attr('src', event.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(file);
|
||||
});
|
||||
|
||||
// 1 MB = 1048576 bytes
|
||||
$.validator.addMethod('maxfilesize', function (value, element, param) {
|
||||
return this.optional(element) || (element.files[0] && element.files[0].size <= param);
|
||||
}, 'File size must be less than {0} bytes.');
|
||||
|
||||
$('#addPetaniForm').validate({
|
||||
rules: {
|
||||
nama: { required: true },
|
||||
ktp: { required: true, digits: true, minlength: 16, maxlength: 16 },
|
||||
@@ -292,32 +332,36 @@
|
||||
tanggal_lahir: { required: true, date: true },
|
||||
jenis_kelamin: { required: true },
|
||||
pendidikan_terakhir: { required: true },
|
||||
komoditas_id: { required: true },
|
||||
alamat: { required: true },
|
||||
provinsi_id: { required: true },
|
||||
kabupaten_id: { required: true },
|
||||
kecamatan_id: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
status_perkawinan: { required: true },
|
||||
file_ktp: { accept: "image/png, image/jpeg, image/jpg" },
|
||||
file_kk: { accept: "image/png, image/jpeg, image/jpg" },
|
||||
foto: { accept: "image/png, image/jpeg, image/jpg", maxfilesize: 2097152 },
|
||||
file_ktp: { accept: "image/png, image/jpeg, image/jpg", maxfilesize: 2097152 },
|
||||
file_kk: { accept: "image/png, image/jpeg, image/jpg", maxfilesize: 2097152 },
|
||||
nomor_telepon: { required: false, digits: true, minlength: 11, maxlength: 13 }
|
||||
},
|
||||
messages: {
|
||||
nama: { required: "Nama petani wajib diisi" },
|
||||
ktp: { required: "NIK wajib diisi", digits: "NIK harus berupa angka", minlength: "NIK harus 16 digit", maxlength: "NIK harus 16 digit" },
|
||||
kk: { required: "No. KK wajib diisi", digits: "No. KK harus berupa angka", minlength: "No. KK harus 16 digit", maxlength: "No. KK harus 16 digit" },
|
||||
kk: { digits: "No. KK harus berupa angka", minlength: "No. KK harus 16 digit", maxlength: "No. KK harus 16 digit" },
|
||||
tempat_lahir: { required: "Tempat lahir 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" },
|
||||
komoditas_id: { required: "Komoditas wajib diisi" },
|
||||
alamat: { required: "Alamat wajib diisi" },
|
||||
provinsi_id: { required: "Provinsi wajib diisi" },
|
||||
kabupaten_id: { required: "Kabupaten/Kota wajib diisi" },
|
||||
kecamatan_id: { required: "Kecamatan wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
status_perkawinan: { required: "Status perkawinan wajib diisi" },
|
||||
file_ktp: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" },
|
||||
file_kk: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" },
|
||||
foto: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)", maxfilesize: "Ukuran file tidak boleh melebihi 2 MB" },
|
||||
file_ktp: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)", maxfilesize: "Ukuran file tidak boleh melebihi 2 MB" },
|
||||
file_kk: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)", maxfilesize: "Ukuran file tidak boleh melebihi 2 MB" },
|
||||
nomor_telepon: {
|
||||
digits: "Nomor telepon harus berupa angka",
|
||||
minlength: "Nomor telepon minimal 11 digit",
|
||||
@@ -335,6 +379,9 @@
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).removeClass('is-invalid');
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -23,19 +23,22 @@
|
||||
<form id="editPetaniForm" action="{{ route('petani.update', $petani->id) }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<input type="file" id="foto" name="foto" accept="image/png,image/jpeg,image/jpg" hidden>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="user-avatar-section">
|
||||
<div class=" d-flex align-items-center flex-column">
|
||||
<img
|
||||
<img id="fotoPreview"
|
||||
class="img-fluid rounded mb-4"
|
||||
src="../../assets/img/avatars/1.png"
|
||||
height="120"
|
||||
width="120"
|
||||
alt="User avatar" />
|
||||
src="{{ $petani->foto ? route('petani.show-image', ['id' => $petani->id, 'field' => 'foto']) : '../../assets/img/avatars/1.png' }}"
|
||||
height="120" width="120"
|
||||
alt="Foto profil petani"
|
||||
data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
data-bs-original-title="Klik untuk mengganti foto profil petani"
|
||||
style="cursor:pointer; object-fit:cover;" />
|
||||
<div class="user-info text-center">
|
||||
<h5><i>Nama Petani</i></h5>
|
||||
<span class="badge bg-label-secondary">Petani</span>
|
||||
<h5><i>{{ $petani->nama }}</i></h5>
|
||||
<span class="badge bg-label-secondary">Petani {{ $petani->komoditas?->nama }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -57,7 +60,7 @@
|
||||
@error('ktp')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-kk">No. KK<span class="text-danger">*</span></label>
|
||||
<label class="form-label" for="edit-petani-kk">No. KK</label>
|
||||
<input type="text" class="form-control @error('kk') is-invalid @enderror" id="edit-petani-kk" name="kk"
|
||||
placeholder="Cth: 1234567890" value="{{ old('kk', $petani->kk) }}" />
|
||||
@error('kk')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
@@ -80,7 +83,7 @@
|
||||
@error('tempat_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="edit-petani-tanggal-lahir">Tanggal Lahir</label>
|
||||
<label class="form-label" for="edit-petani-tanggal-lahir">Tanggal Lahir {{ $petani->tanggal_lahir?->format('Y-m-d') }}</label>
|
||||
<input type="date" class="form-control @error('tanggal_lahir') is-invalid @enderror" id="edit-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
|
||||
@@ -88,7 +91,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-pendidikan-terakhir">Pendidikan Terakhir</label>
|
||||
<label class="form-label" for="edit-petani-pendidikan-terakhir">Pendidikan Terakhir<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('pendidikan_terakhir') is-invalid @enderror" id="edit-petani-pendidikan-terakhir" name="pendidikan_terakhir">
|
||||
<option value="">Pilih Pendidikan Terakhir</option>
|
||||
@foreach($pendidikan as $value)
|
||||
@@ -109,11 +112,24 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Komoditas</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label">Komoditas Utama <span class="text-danger">*</span></label>
|
||||
<select id="edit-petani-komoditas" name="komoditas_id" class="form-select @error('komoditas_id') is-invalid @enderror">
|
||||
<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>
|
||||
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Domisili dan Kontak</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-alamat">Alamat</label>
|
||||
<label class="form-label" for="edit-petani-alamat">Alamat<span class="text-danger">*</span></label>
|
||||
<textarea class="form-control @error('alamat') is-invalid @enderror" id="edit-petani-alamat" name="alamat"
|
||||
rows="2" placeholder="Cth: Jl. Nama Jalan, Nama Dusun">{{ old('alamat', $petani->alamat) }}</textarea>
|
||||
@error('alamat')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
@@ -121,7 +137,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-provinsi">Provinsi</label>
|
||||
<label class="form-label" for="edit-petani-provinsi">Provinsi<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('provinsi_id') is-invalid @enderror" id="edit-petani-provinsi" name="provinsi_id">
|
||||
<option value="">Pilih Provinsi</option>
|
||||
@foreach($provinsi as $p)
|
||||
@@ -131,7 +147,7 @@
|
||||
@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="edit-petani-kabupaten">Kabupaten/Kota</label>
|
||||
<label class="form-label" for="edit-petani-kabupaten">Kabupaten/Kota<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('kabupaten_id') is-invalid @enderror" id="edit-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>
|
||||
@@ -139,7 +155,7 @@
|
||||
@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="edit-petani-kecamatan">Kecamatan</label>
|
||||
<label class="form-label" for="edit-petani-kecamatan">Kecamatan<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('kecamatan_id') is-invalid @enderror" id="edit-petani-kecamatan" name="kecamatan_id" >
|
||||
<option value="">Pilih Kecamatan</option>
|
||||
<option value="{{ $petani->desaKelurahan->kecamatan->id }}" selected>{{ $petani->desaKelurahan->kecamatan->nama }}</option>
|
||||
@@ -147,7 +163,7 @@
|
||||
@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="edit-petani-desa">Desa/Kelurahan</label>
|
||||
<label class="form-label" for="edit-petani-desa">Desa/Kelurahan<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('desa_kelurahan_id') is-invalid @enderror" id="edit-petani-desa" name="desa_kelurahan_id" >
|
||||
<option value="">Pilih Desa/Kelurahan</option>
|
||||
<option value="{{ $petani->desaKelurahan->id }}" selected>{{ $petani->desaKelurahan->nama }}</option>
|
||||
@@ -208,7 +224,8 @@
|
||||
</div>
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light">Simpan Profil</button>
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light"><i class="ti tabler-device-floppy me-2"></i> Simpan Profil</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
@@ -225,7 +242,11 @@
|
||||
$(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();
|
||||
|
||||
|
||||
$('#edit-petani-tanggal-lahir').flatpickr({
|
||||
dateFormat: 'd-m-Y'
|
||||
});
|
||||
|
||||
$('#edit-petani-provinsi').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var provinsiId = $(this).val();
|
||||
@@ -285,6 +306,27 @@
|
||||
});
|
||||
$('#edit-petani-desa').select2();
|
||||
|
||||
$('#fotoPreview').on('click', function () {
|
||||
$('#foto').click();
|
||||
});
|
||||
|
||||
$('#foto').on('change', function (e) {
|
||||
|
||||
const file = e.target.files[0];
|
||||
if (!file) return;
|
||||
|
||||
const reader = new FileReader();
|
||||
reader.onload = function (event) {
|
||||
$('#fotoPreview').attr('src', event.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(file);
|
||||
});
|
||||
|
||||
// 1 MB = 1048576 bytes
|
||||
$.validator.addMethod('maxfilesize', function (value, element, param) {
|
||||
return this.optional(element) || (element.files[0] && element.files[0].size <= param);
|
||||
}, 'File size must be less than {0} bytes.');
|
||||
|
||||
$('#editPetaniForm').validate({
|
||||
rules: {
|
||||
@@ -295,6 +337,7 @@
|
||||
tanggal_lahir: { required: true, date: true },
|
||||
jenis_kelamin: { required: true },
|
||||
pendidikan_terakhir: { required: true },
|
||||
komoditas_id: { required: true },
|
||||
alamat: { required: true },
|
||||
provinsi_id: { required: true },
|
||||
kabupaten_id: { required: true },
|
||||
@@ -303,6 +346,7 @@
|
||||
status_perkawinan: { required: true },
|
||||
file_ktp: { accept: "image/png, image/jpeg, image/jpg" },
|
||||
file_kk: { accept: "image/png, image/jpeg, image/jpg" },
|
||||
foto: { accept: "image/png, image/jpeg, image/jpg" },
|
||||
nomor_telepon: { required: false, digits: true, minlength: 11, maxlength: 13 }
|
||||
},
|
||||
messages: {
|
||||
@@ -319,8 +363,9 @@
|
||||
kecamatan_id: { required: "Kecamatan wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
status_perkawinan: { required: "Status perkawinan wajib diisi" },
|
||||
file_ktp: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" },
|
||||
file_kk: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)" },
|
||||
foto: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)", maxfilesize: "Ukuran file tidak boleh melebihi 2 MB" },
|
||||
file_ktp: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)", maxfilesize: "Ukuran file tidak boleh melebihi 2 MB" },
|
||||
file_kk: { accept: "Format file tidak valid. Harap unggah file berupa gambar (PNG, JPEG, JPG)", maxfilesize: "Ukuran file tidak boleh melebihi 2 MB" },
|
||||
nomor_telepon: {
|
||||
digits: "Nomor telepon harus berupa angka",
|
||||
minlength: "Nomor telepon minimal 11 digit",
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
@error('luas_lahan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Umur Lahan (tahun)</label>
|
||||
<label class="form-label">Umur Lahan (tahun) <span class="text-danger">*</span></label>
|
||||
<input type="number" name="umur_lahan" class="form-control @error('umur_lahan') is-invalid @enderror" placeholder="Contoh: 1" />
|
||||
@error('umur_lahan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -65,7 +65,7 @@
|
||||
@error('jumlah_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Umur Tanaman (rata-rata)</label>
|
||||
<label class="form-label">Umur Tanaman (rata-rata dalam tahun) <span class="text-danger">*</span></label>
|
||||
<input type="number" name="umur_tanaman" class="form-control @error('umur_tanaman') is-invalid @enderror" placeholder="Contoh: 1" />
|
||||
@error('umur_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -95,7 +95,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Kondisi Umum Tanaman</label>
|
||||
<label class="form-label">Kondisi Umum Tanaman <span class="text-danger">*</span></label>
|
||||
<select id="kondisi_tanaman" name="kondisi_tanaman" class="form-select @error('kondisi_tanaman') is-invalid @enderror">
|
||||
<option value="">Pilih Kondisi Tanaman</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BAIK }}" {{ old('kondisi_tanaman') == \App\Enums\KondisiTanaman::BAIK ? 'selected' : '' }}>Baik</option>
|
||||
@@ -206,7 +206,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-3 form-control-validation">
|
||||
<label class="form-label">Raw Data Koordinat Lahan (Auto-generated JSON) <span class="text-danger">*</span></label>
|
||||
<label class="form-label">Raw Data Koordinat Lahan (Auto-generated JSON)</label>
|
||||
<textarea name="path" id="path" class="form-control @error('path') is-invalid @enderror" rows="4" readonly placeholder="Koordinat akan terisi otomatis setelah Anda menggambar polygon di peta..."></textarea>
|
||||
<small class="text-muted">Pastikan menggambar polygon di peta dengan menyambungkan titik akhir ke titik awal.</small>
|
||||
@error('path')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
@@ -224,8 +224,8 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-12 text-end">
|
||||
<button type="reset" class="btn btn-label-secondary me-2">Reset</button>
|
||||
<button type="submit" class="btn btn-success"><i class="ti tabler-device-floppy me-2"></i> Simpan Lahan</button>
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light"><i class="ti tabler-device-floppy me-2"></i> Simpan Lahan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -487,20 +487,32 @@
|
||||
|
||||
$('#petani-lahan-tanaman').validate({
|
||||
rules: {
|
||||
luas_lahan: { required: true },
|
||||
luas_lahan: { required: true, number: true, min: 0 },
|
||||
komoditas_id: { required: true },
|
||||
jenis_komoditas_id: { required: true },
|
||||
varietas_id: { required: true },
|
||||
provinsi_id: { required: true },
|
||||
kabupatenkota_id: { required: true },
|
||||
kecamatan_id: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
jumlah_tanaman: { required: true },
|
||||
umur_lahan: { required: true, number: true, min: 1 },
|
||||
umur_tanaman: { required: true, number: true, min: 1 },
|
||||
kondisi_tanaman: { required: true },
|
||||
},
|
||||
messages: {
|
||||
luas_lahan: { required: "Luas lahan wajib diisi" },
|
||||
luas_lahan: { required: "Luas lahan wajib diisi", number: "Luas lahan harus berupa angka", min: "Luas lahan minimal 0" },
|
||||
komoditas_id: { required: "Komoditas wajib diisi" },
|
||||
jenis_komoditas_id: { required: "Jenis komoditas wajib diisi" },
|
||||
varietas_id: { required: "Varietas wajib diisi" },
|
||||
provinsi_id: { required: "Provinsi wajib diisi" },
|
||||
kabupatenkota_id: { required: "Kabupaten/Kota wajib diisi" },
|
||||
kecamatan_id: { required: "Kecamatan wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
jumlah_tanaman: { required: "Jumlah tanaman wajib diisi" },
|
||||
umur_lahan: { required: "Umur lahan wajib diisi", number: "Umur lahan harus berupa angka", min: "Umur lahan minimal 1 tahun" },
|
||||
umur_tanaman: { required: "Umur tanaman wajib diisi", number: "Umur tanaman harus berupa angka", min: "Umur tanaman minimal 1 tahun" },
|
||||
kondisi_tanaman: { required: "Kondisi tanaman wajib diisi" },
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
|
||||
@@ -107,12 +107,12 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Kondisi Umum Tanaman {{ $lahanSelected->kondisi_tanaman }}</label>
|
||||
<label class="form-label">Kondisi Umum Tanaman</label>
|
||||
<select id="kondisi_tanaman" name="kondisi_tanaman" class="form-select @error('kondisi_tanaman') is-invalid @enderror">
|
||||
<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>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BAIK }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::BAIK ? 'selected' : '' }}>Baik</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::SEDANG }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::SEDANG ? 'selected' : '' }}>Sedang</option>
|
||||
<option value="{{ \App\Enums\KondisiTanaman::BURUK }}" {{ old('kondisi_tanaman', $lahanSelected->kondisi_tanaman) == \App\Enums\KondisiTanaman::BURUK ? 'selected' : '' }}>Buruk</option>
|
||||
</select>
|
||||
@error('kondisi_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -120,9 +120,9 @@
|
||||
<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>
|
||||
<option value="{{ \App\Enums\SeranganHama::ULAT }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::ULAT ? 'selected' : '' }}>Ulat</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::BELALANG }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::BELALANG ? 'selected' : '' }}>Belalang</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::KUTU }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::KUTU ? 'selected' : '' }}>Kutu</option>
|
||||
</select>
|
||||
@error('serangan_hama')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -130,19 +130,19 @@
|
||||
<label class="form-label">Serangan Penyakit</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>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::BUSUK_BUAH }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::BUSUK_BUAH ? 'selected' : '' }}>Busuk Buah</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::DAUN_MENGUNING }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::DAUN_MENGUNING ? 'selected' : '' }}>Daun Menguning</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::DAUN_BERCAK }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::DAUN_BERCAK ? 'selected' : '' }}>Daun Bercak</option>
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::TANAMAN_LAYU }}" {{ old('penyakit_tanaman', $lahanSelected->penyakit_tanaman) == \App\Enums\PenyakitTanaman::TANAMAN_LAYU ? 'selected' : '' }}>Tanaman Layu</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Keparahan Serangan Hama/Penyakit</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>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::RINGAN }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::RINGAN ? 'selected' : '' }}>Ringan</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::SEDANG }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::SEDANG ? 'selected' : '' }}>Sedang</option>
|
||||
<option value="{{ \App\Enums\KeparahanSerangan::BERAT }}" {{ old('keparahan_serangan', $lahanSelected->keparahan_serangan) == \App\Enums\KeparahanSerangan::BERAT ? 'selected' : '' }}>Berat</option>
|
||||
</select>
|
||||
@error('keparahan_serangan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -242,8 +242,8 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-12 text-end">
|
||||
<button type="reset" class="btn btn-label-secondary me-2">Reset</button>
|
||||
<button type="submit" class="btn btn-primary"><i class="ti tabler-device-floppy me-2"></i> Simpan Data</button>
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light"><i class="ti tabler-device-floppy me-2"></i> Simpan Lahan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user