petani
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<div class="card-body">
|
||||
<!-- Logo -->
|
||||
<div class="app-brand justify-content-center mb-6">
|
||||
<a href="{{ route('dashboard.summary') }}" class="app-brand-link">
|
||||
<a href="{{ route('home') }}" class="app-brand-link">
|
||||
<span class="app-brand-logo demo">
|
||||
<span class="text-primary">
|
||||
<svg width="32" height="24" viewBox="0 0 32 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="card-body">
|
||||
<!-- Logo -->
|
||||
<div class="app-brand justify-content-center mb-6">
|
||||
<a href="{{ route('dashboard.summary') }}" class="app-brand-link">
|
||||
<a href="{{ route('home') }}" class="app-brand-link">
|
||||
<span class="app-brand-logo demo">
|
||||
<span class="text-primary">
|
||||
<svg width="32" height="24" viewBox="0 0 32 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<aside id="layout-menu" class="layout-menu menu-vertical menu">
|
||||
<div class="app-brand demo ">
|
||||
<a href="{{ route('dashboard.produktivitas') }}" class="app-brand-link">
|
||||
<a href="{{ route('home') }}" class="app-brand-link">
|
||||
<span class="app-brand-logo demo">
|
||||
<span>
|
||||
<svg width="32" height="24" viewBox="0 0 32 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
|
||||
@@ -0,0 +1,223 @@
|
||||
@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">Tambah Petani Baru</h5>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<form id="addNewPetaniForm" action="{{ route('petani.store') }}" method="POST" >
|
||||
@csrf
|
||||
|
||||
@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') }}" />
|
||||
@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') == '1' ? 'selected' : '' }}>Laki-laki</option>
|
||||
<option value="0" {{ old('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-tempat-lahir">Tempat Lahir<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('tempat_lahir') is-invalid @enderror" id="add-petani-tempat-lahir" name="tempat_lahir" placeholder="Cth: Ngada" value="{{ old('tempat_lahir') }}" />
|
||||
@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" 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>
|
||||
<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') == $value['value'] ? 'selected' : '' }}>{{ $value['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('pendidikan_terakhir')<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-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') == $value['value'] ? 'selected' : '' }}>{{ $value['label'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('status_perkawinan')<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') }}" />
|
||||
@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') == $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" disabled>
|
||||
<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>
|
||||
<select class="form-control @error('kecamatan_id') is-invalid @enderror" id="add-petani-kecamatan" name="kecamatan_id" disabled>
|
||||
<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>
|
||||
<select class="form-control @error('desa_kelurahan_id') is-invalid @enderror" id="add-petani-desa" name="desa_kelurahan_id" disabled>
|
||||
<option value="">Pilih Desa/Kelurahan</option>
|
||||
</select>
|
||||
@error('desa_kelurahan_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<a href="{{ route('petani.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();
|
||||
|
||||
$('#addNewPetaniForm').validate({
|
||||
rules: {
|
||||
nama: { required: true },
|
||||
tanggal_lahir: { required: true, date: true },
|
||||
jenis_kelamin: { required: true },
|
||||
pendidikan_terakhir: { required: true },
|
||||
alamat: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
status_perkawinan: { required: true },
|
||||
},
|
||||
messages: {
|
||||
nama: { required: "Nama petani wajib diisi" },
|
||||
tanggal_lahir: { required: "Tanggal lahir wajib diisi", date: "Format tanggal salah" },
|
||||
jenis_kelamin: { required: "Jenis kelamin wajib diisi" },
|
||||
pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" },
|
||||
alamat: { required: "Alamat wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
status_perkawinan: { required: "Status perkawinan wajib diisi" },
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
error.addClass('invalid-feedback');
|
||||
element.closest('.mb-6, .form-control-validation').append(error);
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).addClass('is-invalid');
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).removeClass('is-invalid');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,234 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul class="mb-0">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- PROFIL PETANI -->
|
||||
|
||||
<div class="col-md-12">
|
||||
|
||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<!-- INFORMASI PETANI -->
|
||||
<h5 class="pb-4 border-bottom mb-4">Data Pribadi</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-nama">Nama Petani<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('nama') is-invalid @enderror" id="edit-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="edit-petani-jenis-kelamin">Jenis Kelamin<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('jenis_kelamin') is-invalid @enderror" id="edit-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="edit-petani-tempat-lahir">Tempat Lahir<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('tempat_lahir') is-invalid @enderror" id="edit-petani-tempat-lahir" name="tempat_lahir" placeholder="Cth: Ngada"
|
||||
value="{{ old('tempat_lahir', $petani->tempat_lahir) }}" />
|
||||
@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>
|
||||
<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
|
||||
</div>
|
||||
</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>
|
||||
<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)
|
||||
<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 class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-status-pernikahan">Status Pernikahan<span class="text-danger">*</span></label>
|
||||
<select class="form-control @error('status_perkawinan') is-invalid @enderror" id="edit-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>
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Alamat</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-alamat">Alamat</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
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-provinsi">Provinsi</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)
|
||||
<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="edit-petani-kabupaten">Kabupaten/Kota</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>
|
||||
</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="edit-petani-kecamatan">Kecamatan</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>
|
||||
</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="edit-petani-desa">Desa/Kelurahan</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>
|
||||
</select>
|
||||
@error('desa_kelurahan_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<button id="btn-profil" type="button" class="btn btn-success data-submit wave-effect wave-light">Simpan Profil</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
'use strict';
|
||||
$(document).ready(function () {
|
||||
|
||||
$('#edit-petani-jenis-kelamin, #edit-petani-pendidikan-terakhir, #edit-petani-pekerjaan-utama, #edit-petani-komoditas, #edit-petani-pekerjaan-sampingan, #edit-petani-komoditas-sampingan, #edit-petani-status-pernikahan, #edit-petani-status-keluarga, #edit-petani-petani-pengumpul').select2();
|
||||
|
||||
$('#edit-petani-provinsi').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var provinsiId = $(this).val();
|
||||
$('#edit-petani-kabupaten').prop('disabled', !provinsiId).val('').trigger('change');
|
||||
$('#edit-petani-kecamatan').prop('disabled', true).val('').trigger('change');
|
||||
$('#edit-petani-desa').prop('disabled', true).val('').trigger('change');
|
||||
|
||||
if (provinsiId) {
|
||||
$.ajax({
|
||||
url: '{{ route("kabupatenkota.byprovinsi", ":id") }}'.replace(':id', provinsiId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-kabupaten').empty().append('<option value="">Pilih Kabupaten/Kota</option>');
|
||||
data.forEach(function(kabupaten) {
|
||||
$('#edit-petani-kabupaten').append('<option value="' + kabupaten.id + '">' + kabupaten.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#edit-petani-kabupaten').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var kabupatenId = $(this).val();
|
||||
$('#edit-petani-kecamatan').prop('disabled', !kabupatenId).val('').trigger('change');
|
||||
$('#edit-petani-desa').prop('disabled', true).val('').trigger('change');
|
||||
|
||||
if (kabupatenId) {
|
||||
$.ajax({
|
||||
url: '{{ route("kecamatan.bykabupatenkota", ":id") }}'.replace(':id', kabupatenId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-kecamatan').empty().append('<option value="">Pilih Kecamatan</option>');
|
||||
data.forEach(function(kecamatan) {
|
||||
$('#edit-petani-kecamatan').append('<option value="' + kecamatan.id + '">' + kecamatan.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#edit-petani-kecamatan').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var kecamatanId = $(this).val();
|
||||
$('#edit-petani-desa').prop('disabled', !kecamatanId).val('').trigger('change');
|
||||
|
||||
if (kecamatanId) {
|
||||
$.ajax({
|
||||
url: '{{ route("desakelurahan.bykecamatan", ":id") }}'.replace(':id', kecamatanId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-desa').empty().append('<option value="">Pilih Desa/Kelurahan</option>');
|
||||
data.forEach(function(desa) {
|
||||
$('#edit-petani-desa').append('<option value="' + desa.id + '">' + desa.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#edit-petani-desa').select2();
|
||||
|
||||
|
||||
$('#editPetaniForm').validate({
|
||||
rules: {
|
||||
nama: { required: true },
|
||||
tanggal_lahir: { required: true, date: true },
|
||||
jenis_kelamin: { required: true },
|
||||
pendidikan_terakhir: { required: true },
|
||||
alamat: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
status_perkawinan: { required: true },
|
||||
},
|
||||
messages: {
|
||||
nama: { required: "Nama petani wajib diisi" },
|
||||
tanggal_lahir: { required: "Tanggal lahir wajib diisi", date: "Format tanggal salah" },
|
||||
jenis_kelamin: { required: "Jenis kelamin wajib diisi" },
|
||||
pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" },
|
||||
alamat: { required: "Alamat wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
status_perkawinan: { required: "Status perkawinan wajib diisi" },
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
error.addClass('invalid-feedback');
|
||||
element.closest('.mb-6, .form-control-validation').append(error);
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).addClass('is-invalid');
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).removeClass('is-invalid');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,95 @@
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="user-avatar-section">
|
||||
<div class=" d-flex align-items-center flex-column">
|
||||
<img
|
||||
class="img-fluid rounded mb-4"
|
||||
src="../../assets/img/avatars/1.png"
|
||||
height="120"
|
||||
width="120"
|
||||
alt="User avatar" />
|
||||
<div class="user-info text-center">
|
||||
<h5>{{ $petani->nama }}</h5>
|
||||
<span class="badge bg-label-secondary">Petani</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-around flex-wrap my-6 gap-0 gap-md-2 gap-lg-3">
|
||||
<div class="d-flex align-items-center me-5 gap-4">
|
||||
<div class="avatar">
|
||||
<div class="avatar-initial bg-label-primary rounded">
|
||||
<i class="icon-base ti tabler-checkbox icon-lg"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="mb-0">1.23k</h5>
|
||||
<span>Task Done</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center gap-4">
|
||||
<div class="avatar">
|
||||
<div class="avatar-initial bg-label-primary rounded">
|
||||
<i class="icon-base ti tabler-briefcase icon-lg"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="mb-0">568</h5>
|
||||
<span>Project Done</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h5 class="pb-4 border-bottom mb-4">Profil Petani</h5>
|
||||
<div class="info-container">
|
||||
<ul class="list-unstyled mb-6">
|
||||
<li class="mb-2"><span class="h6">Nama: </span><span>{{ $petani->nama }}</span></li>
|
||||
<li class="mb-2"><span class="h6">Jenis Kelamin: </span><span>{{ $petani->jenis_kelamin == 1 ? 'Laki-laki' : 'Perempuan' }}</span></li>
|
||||
<li class="mb-2"><span class="h6">Alamat: </span><span>{{ $petani->alamat }},
|
||||
{{ $petani->desaKelurahan?->nama }},
|
||||
{{ $petani->desaKelurahan?->kecamatan->nama }},
|
||||
{{ $petani->desaKelurahan?->kecamatan->kabupatenKota->nama }},
|
||||
{{ $petani->desaKelurahan?->kecamatan->kabupatenKota->provinsi->nama }}</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="nav-align-top">
|
||||
<ul class="nav nav-pills flex-column flex-md-row mb-6 row-gap-2">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('petani.edit') ? 'active' : '' }}" href="{{ route('petani.edit', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Profil
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('petani.lahan-tanaman.index') ? 'active' : '' }}" href="{{ route('petani.lahan-tanaman.index', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Lahan & Tanaman
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('petani.edit', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Praktik Budidaya
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('petani.edit', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Pendidikan & Pelatihan
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('petani.edit', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Sosial Ekonomi
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('petani.edit', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Akses Pasar
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -0,0 +1,111 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom">
|
||||
<h5 class="card-title mb-0">Data Petani</h5>
|
||||
</div>
|
||||
|
||||
<div class="card-body border-bottom pt-4">
|
||||
<form method="GET" action="{{ route('petani.index') }}" class="d-flex justify-content-between align-items-center row gap-3 gap-md-0">
|
||||
<div class="col-md-auto">
|
||||
<div class="d-flex align-items-center">
|
||||
<label class="me-2 text-nowrap">Show</label>
|
||||
<select name="per_page" class="form-select form-select-sm w-auto" onchange="this.form.submit()">
|
||||
<option value="10" {{ request('per_page') == 10 ? 'selected' : '' }}>10</option>
|
||||
<option value="25" {{ request('per_page') == 25 ? 'selected' : '' }}>25</option>
|
||||
</select>
|
||||
<label class="ms-2 text-nowrap">entries</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-auto d-flex gap-2">
|
||||
<div class="input-group input-group-sm w-auto">
|
||||
<input type="text" name="search" class="form-control" placeholder="Cari Nama..." value="{{ request('search') }}">
|
||||
<button type="submit" class="btn btn-outline-primary"><i class="ti tabler-search"></i></button>
|
||||
</div>
|
||||
<a href="{{ route('petani.create') }}" class="btn btn-sm btn-primary">
|
||||
<i class="ti tabler-plus me-1"></i> Tambah
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive text-nowrap">
|
||||
<table class="table table-hover">
|
||||
<thead class="border-top">
|
||||
<tr>
|
||||
<th>No</th>
|
||||
<th>Nama</th>
|
||||
<th>Jenis Kelamin</th>
|
||||
<th>Usia</th>
|
||||
<th>Desa/Kelurahan</th>
|
||||
<th>Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse($petani as $index => $item)
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td><span class="text-heading">{{ $item->nama }}</span></td>
|
||||
<td><span class="text-muted">{{ $item->jenis_kelamin ? 'Laki-laki' : 'Perempuan' }}</span></td>
|
||||
<td><span class="text-muted">{{ $item->umur }} tahun</span></td>
|
||||
<td><span class="text-muted">{{ $item->desaKelurahan?->nama }}, {{ $item->desaKelurahan?->kecamatan?->nama }}, {{ $item->desaKelurahan?->kecamatan?->kabupatenKota?->nama }}, {{ $item->desaKelurahan?->kecamatan?->kabupatenKota?->provinsi?->nama }}</span></td>
|
||||
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<a href="{{ route('petani.edit', $item->id) }}" class="btn btn-icon btn-text-secondary rounded-pill edit-record"><i class="ti tabler-edit ti-md"></i></a>
|
||||
<a href="javascript:;" class="btn btn-icon btn-text-secondary rounded-pill delete-record" data-id="{{ $item->id }}" data-nama="{{ $item->nama }}"><i class="ti tabler-trash ti-md"></i></a>
|
||||
<a href="{{ route('petani.show', $item->id) }}" class="btn btn-icon btn-text-secondary rounded-pill view-record"><i class="ti tabler-eye ti-md"></i></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr><td colspan="6" class="text-center py-4">Tidak ada data ditemukan.</td></tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-center justify-content-md-end border-top">
|
||||
{{ $petani->appends(request()->query())->links('pagination::bootstrap-5') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
'use strict';
|
||||
const csrfToken = "{{ csrf_token() }}";
|
||||
|
||||
$(document).ready(function () {
|
||||
$(document).on('click', '.delete-record', function () {
|
||||
const id = $(this).data('id');
|
||||
const name = $(this).data('nama');
|
||||
|
||||
Swal.fire({
|
||||
title: 'Apakah Anda yakin?',
|
||||
text: `Profile "${name}" akan dihapus secara permanen!`,
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonText: 'Ya, Hapus!',
|
||||
customClass: { confirmButton: 'btn btn-primary me-3', cancelButton: 'btn btn-label-secondary' },
|
||||
buttonsStyling: false
|
||||
}).then(function (result) {
|
||||
if (result.value) {
|
||||
$.ajax({
|
||||
url: '{{ route('petani.destroy', ':id') }}'.replace(':id', id),
|
||||
type: 'DELETE',
|
||||
headers: { 'X-CSRF-TOKEN': csrfToken },
|
||||
success: function (res) {
|
||||
Swal.fire({ icon: 'success', title: 'Terhapus!', text: res.message, showConfirmButton: false, timer: 1500 })
|
||||
.then(() => window.location.reload());
|
||||
},
|
||||
error: () => Swal.fire({ icon: 'error', title: 'Gagal!', text: 'Terjadi kesalahan sistem.' })
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,457 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@push('style')
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.css" />
|
||||
|
||||
<style>
|
||||
#map {
|
||||
height: 600px;
|
||||
width: 100%;
|
||||
background-color: #f8f9fa;
|
||||
z-index: 1;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul class="mb-0">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- PROFIL PETANI -->
|
||||
|
||||
<div class="col-md-12">
|
||||
|
||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-2 col-md-3">
|
||||
<div class="d-flex justify-content-between flex-column mb-4 mb-md-0">
|
||||
<ul class="nav nav-align-left nav-pills flex-column">
|
||||
@foreach($lahan as $item)
|
||||
<li class="nav-item mb-1">
|
||||
<a class="nav-link" href="{{ route('petani.lahan-tanaman.edit', ['petani' => $petani->id, 'id' => $item->id]) }}">
|
||||
<span class="align-middle">
|
||||
<i class="icon-base ti tabler-building-store icon-sm me-1_5"></i>{{ $item->nama }}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
<li class="nav-item mb-1">
|
||||
<a class="nav-link active" href="{{ route('petani.lahan-tanaman.create', ['petani' => $petani->id]) }}">
|
||||
<span class="align-middle">
|
||||
<i class="icon-base ti tabler-plus icon-sm me-1_5"></i>Tambah Lahan
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form id="petani-lahan-tanaman" method="POST" action="{{ route('petani.lahan-tanaman.store', ['petani' => $petani->id]) }}">
|
||||
@csrf
|
||||
<div class="col-12 col-lg-10 col-md-9 pt-6 pt-lg-0">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-4">
|
||||
<h6 class="mb-3">Data Lahan dan Komoditas</h6>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Luas Lahan (m2) <span class="text-danger">*</span></label>
|
||||
<input type="number" step="0.01" id="luas_lahan" name="luas_lahan" class="form-control @error('luas_lahan') is-invalid @enderror" placeholder="Contoh: 1.5" required />
|
||||
@error('luas_lahan')<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 Utama <span class="text-danger">*</span></label>
|
||||
<select id="komoditas_id" 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 class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Jenis Komoditas Utama <span class="text-danger">*</span></label>
|
||||
<select id="jenis_komoditas_id" name="jenis_komoditas_id" class="form-select @error('jenis_komoditas_id') is-invalid @enderror" disabled>
|
||||
</select>
|
||||
@error('jenis_komoditas_id')<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">Varietas Umum <span class="text-danger">*</span></label>
|
||||
<select id="varietas_id" name="varietas_id" class="form-select @error('varietas_id') is-invalid @enderror" disabled></select>
|
||||
@error('varietas_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Jumlah Tanaman <span class="text-danger">*</span></label>
|
||||
<input type="number" name="jumlah_tanaman" class="form-control @error('jumlah_tanaman') is-invalid @enderror" placeholder="Contoh: 1" required />
|
||||
@error('jumlah_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="my-4">
|
||||
<h6 class="mb-3 text-primary"><i class="ti tabler-map-pin me-1"></i> Lokasi Wilayah</h6>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Provinsi <span class="text-danger">*</span></label>
|
||||
<select name="provinsi_id" id="provinsi_id" class="form-select @error('provinsi_id') is-invalid @enderror" required>
|
||||
<option value="">Pilih Provinsi</option>
|
||||
@foreach($provinsi as $p)
|
||||
<option value="{{ $p->id }}"
|
||||
data-path="{{ is_string($p->path) ? $p->path : json_encode($p->path) }}"
|
||||
{{ old('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-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Kabupaten/Kota <span class="text-danger">*</span></label>
|
||||
<select name="kabupatenkota_id" id="kabupatenkota_id" class="form-select @error('kabupaten_id') is-invalid @enderror" disabled required>
|
||||
<option value="">Pilih Kabupaten/Kota</option>
|
||||
</select>
|
||||
</div>
|
||||
@error('kabupaten_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Kecamatan <span class="text-danger">*</span></label>
|
||||
<select name="kecamatan_id" id="kecamatan_id" class="form-select @error('kecamatan_id') is-invalid @enderror" disabled required>
|
||||
<option value="">Pilih Kecamatan</option>
|
||||
</select>
|
||||
@error('kecamatan_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Desa/Kelurahan <span class="text-danger">*</span></label>
|
||||
<select name="desa_kelurahan_id" id="desa_kelurahan_id" class="form-select @error('kecamatan_id') is-invalid @enderror" disabled required>
|
||||
<option value="">Pilih Desa/Kelurahan</option>
|
||||
</select>
|
||||
@error('desa_kelurahan_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
<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
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h6 class="text-primary mb-0"><i class="ti tabler-map me-1"></i> Gambar Area Lahan</h6>
|
||||
<span class="badge bg-label-info">Gunakan tool ⬟ di kiri peta</span>
|
||||
</div>
|
||||
|
||||
<div id="map" class="border rounded shadow-sm"></div>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.js"></script>
|
||||
|
||||
<script>
|
||||
'use strict';
|
||||
$(document).ready(function () {
|
||||
|
||||
$('#provinsi_id').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var provinsiId = $(this).val();
|
||||
focusToRegionBoundary(this);
|
||||
|
||||
$('#kabupatenkota_id').prop('disabled', !provinsiId).val('').trigger('change');
|
||||
$('#kecamatan_id').prop('disabled', true).val('').trigger('change');
|
||||
$('#desa_kelurahan_id').prop('disabled', true).val('').trigger('change');
|
||||
|
||||
if (provinsiId) {
|
||||
$.ajax({
|
||||
url: '{{ route("kabupatenkota.byprovinsi", ":id") }}'.replace(':id', provinsiId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#kabupatenkota_id').empty().append('<option value="">Pilih Kabupaten/Kota</option>');
|
||||
data.forEach(function(kabupaten) {
|
||||
let path = '';
|
||||
if(kabupaten.path) {
|
||||
path = typeof kabupaten.path === 'string' ? kabupaten.path : JSON.stringify(kabupaten.path);
|
||||
}
|
||||
$('#kabupatenkota_id').append('<option value="' + kabupaten.id + '" data-path="' + path + '">' + kabupaten.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#kabupatenkota_id').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var kabupatenId = $(this).val();
|
||||
focusToRegionBoundary(this);
|
||||
$('#kecamatan_id').prop('disabled', !kabupatenId).val('').trigger('change');
|
||||
$('#desa_kelurahan_id').prop('disabled', true).val('').trigger('change');
|
||||
|
||||
if (kabupatenId) {
|
||||
$.ajax({
|
||||
url: '{{ route("kecamatan.bykabupatenkota", ":id") }}'.replace(':id', kabupatenId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#kecamatan_id').empty().append('<option value="">Pilih Kecamatan</option>');
|
||||
data.forEach(function(kecamatan) {
|
||||
let path = '';
|
||||
if(kecamatan.path) {
|
||||
path = typeof kecamatan.path === 'string' ? kecamatan.path : JSON.stringify(kecamatan.path);
|
||||
}
|
||||
$('#kecamatan_id').append('<option value="' + kecamatan.id + '" data-path="' + path + '">' + kecamatan.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#kecamatan_id').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var kecamatanId = $(this).val();
|
||||
focusToRegionBoundary(this);
|
||||
$('#desa_kelurahan_id').prop('disabled', !kecamatanId).val('').trigger('change');
|
||||
|
||||
if (kecamatanId) {
|
||||
$.ajax({
|
||||
url: '{{ route("desakelurahan.bykecamatan", ":id") }}'.replace(':id', kecamatanId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#desa_kelurahan_id').empty().append('<option value="">Pilih Desa/Kelurahan</option>');
|
||||
data.forEach(function(desa) {
|
||||
let path = '';
|
||||
if(desa.path) {
|
||||
path = typeof desa.path === 'string' ? desa.path : JSON.stringify(desa.path);
|
||||
}
|
||||
$('#desa_kelurahan_id').append('<option value="' + desa.id + '" data-path="' + path + '">' + desa.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#desa_kelurahan_id').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
focusToRegionBoundary(this);
|
||||
});
|
||||
|
||||
$('#komoditas_id').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var komoditasId = $(this).val();
|
||||
$('#jenis_komoditas_id').prop('disabled', !komoditasId).val('').trigger('change');
|
||||
$('#varietas_id').prop('disabled', true).val('').trigger('change');
|
||||
|
||||
if (komoditasId) {
|
||||
$.ajax({
|
||||
url: '{{ route("jenis-komoditas.by-komoditas", ":id") }}'.replace(':id', komoditasId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#jenis_komoditas_id').empty().append('<option value="">Pilih Jenis Komoditas</option>');
|
||||
data.data.forEach(function(jenis) {
|
||||
$('#jenis_komoditas_id').append('<option value="' + jenis.id + '">' + jenis.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#jenis_komoditas_id').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var jenisKomoditasId = $(this).val();
|
||||
$('#varietas_id').prop('disabled', !jenisKomoditasId).val('').trigger('change');
|
||||
|
||||
if (jenisKomoditasId) {
|
||||
$.ajax({
|
||||
url: '{{ route("varietas.by-jenis-komoditas", ":id") }}'.replace(':id', jenisKomoditasId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#varietas_id').empty().append('<option value="">Pilih Varietas</option>');
|
||||
data.data.forEach(function(jenis) {
|
||||
$('#varietas_id').append('<option value="' + jenis.id + '">' + jenis.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#varietas_id').select2();
|
||||
|
||||
// MAP
|
||||
let map = L.map('map').setView([-0.789275, 113.921327], 5); // Default: Tengah Indonesia
|
||||
|
||||
L.tileLayer('http://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}', {
|
||||
maxZoom: 22,
|
||||
subdomains: ['mt0', 'mt1', 'mt2', 'mt3'],
|
||||
attribution: '© Google Maps Satellite'
|
||||
}).addTo(map);
|
||||
|
||||
let regionBoundaryLayer = L.featureGroup().addTo(map);
|
||||
|
||||
function focusToRegionBoundary(selectElement) {
|
||||
regionBoundaryLayer.clearLayers(); // Bersihkan garis wilayah sebelumnya
|
||||
|
||||
let selectedOption = selectElement.options[selectElement.selectedIndex];
|
||||
if (!selectedOption || !selectedOption.hasAttribute('data-path')) return;
|
||||
|
||||
let pathStr = selectedOption.getAttribute('data-path');
|
||||
if (!pathStr || pathStr === "null" || pathStr === "") return;
|
||||
|
||||
try {
|
||||
let rawData = typeof pathStr === 'string' ? JSON.parse(pathStr) : pathStr;
|
||||
|
||||
if (Array.isArray(rawData) && rawData.length > 0) {
|
||||
|
||||
function formatCoordinates(coords) {
|
||||
if (coords.length === 2 && typeof coords[0] === 'number') {
|
||||
return [coords[0], coords[1]]; // JANGAN DIBALIK
|
||||
}
|
||||
return coords.map(formatCoordinates);
|
||||
}
|
||||
|
||||
let latLngs = formatCoordinates(rawData);
|
||||
|
||||
let polygon = L.polygon(latLngs, {
|
||||
color: '#3b5998',
|
||||
fillColor: '#3b5998',
|
||||
fillOpacity: 0.1,
|
||||
weight: 2,
|
||||
dashArray: '5, 5',
|
||||
interactive: false
|
||||
});
|
||||
|
||||
regionBoundaryLayer.addLayer(polygon);
|
||||
map.fitBounds(polygon.getBounds(), { padding: [20, 20] });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Format JSON path wilayah tidak valid:", error);
|
||||
}
|
||||
}
|
||||
|
||||
let drawnItems = new L.FeatureGroup();
|
||||
map.addLayer(drawnItems);
|
||||
|
||||
let drawControl = new L.Control.Draw({
|
||||
draw: {
|
||||
polygon: {
|
||||
allowIntersection: false,
|
||||
showArea: true,
|
||||
shapeOptions: {
|
||||
color: '#28c76f',
|
||||
fillColor: '#28c76f',
|
||||
fillOpacity: 0.4,
|
||||
weight: 3
|
||||
}
|
||||
},
|
||||
polyline: false,
|
||||
circle: false,
|
||||
rectangle: false,
|
||||
marker: false,
|
||||
circlemarker: false
|
||||
},
|
||||
edit: {
|
||||
featureGroup: drawnItems,
|
||||
remove: true
|
||||
}
|
||||
});
|
||||
map.addControl(drawControl);
|
||||
|
||||
map.on(L.Draw.Event.CREATED, function (e) {
|
||||
let layer = e.layer;
|
||||
|
||||
drawnItems.clearLayers();
|
||||
drawnItems.addLayer(layer);
|
||||
|
||||
updatePathTextarea(layer);
|
||||
});
|
||||
|
||||
map.on(L.Draw.Event.EDITED, function (e) {
|
||||
e.layers.eachLayer(function (layer) {
|
||||
updatePathTextarea(layer);
|
||||
});
|
||||
});
|
||||
|
||||
map.on(L.Draw.Event.DELETED, function () {
|
||||
document.getElementById('path').value = '';
|
||||
});
|
||||
|
||||
function updatePathTextarea(layer) {
|
||||
let latlngs = layer.getLatLngs()[0];
|
||||
let pathData = latlngs.map(function(latlng) {
|
||||
return [latlng.lng, latlng.lat];
|
||||
});
|
||||
document.getElementById('path').value = JSON.stringify(pathData);
|
||||
|
||||
let area = L.GeometryUtil.geodesicArea(latlngs);
|
||||
|
||||
console.log(area);
|
||||
|
||||
$('#luas_lahan').val(area.toFixed(2));
|
||||
}
|
||||
|
||||
// FORM
|
||||
|
||||
$('#petani-lahan-tanaman').validate({
|
||||
rules: {
|
||||
luas_lahan: { required: true },
|
||||
komoditas_id: { required: true },
|
||||
jenis_komoditas_id: { required: true },
|
||||
varietas_id: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
jumlah_tanaman: { required: true },
|
||||
},
|
||||
messages: {
|
||||
luas_lahan: { required: "Luas lahan wajib diisi" },
|
||||
komoditas_id: { required: "Komoditas wajib diisi" },
|
||||
jenis_komoditas_id: { required: "Jenis komoditas wajib diisi" },
|
||||
varietas_id: { required: "Varietas wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
jumlah_tanaman: { required: "Jumlah tanaman 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
|
||||
@@ -0,0 +1,155 @@
|
||||
@extends('layout.main')
|
||||
|
||||
@section('content')
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul class="mb-0">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- PROFIL PETANI -->
|
||||
|
||||
<div class="col-md-12">
|
||||
|
||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<div class="col-12 col-lg-2 col-md-3">
|
||||
<div class="d-flex justify-content-between flex-column mb-4 mb-md-0">
|
||||
<ul class="nav nav-align-left nav-pills flex-column">
|
||||
@foreach($lahan as $item)
|
||||
<li class="nav-item mb-1">
|
||||
<a class="nav-link {{ $loop->first ? 'active' : '' }}" href="{{ route('petani.lahan-tanaman.edit', ['petani' => $petani->id, 'id' => $item->id]) }}">
|
||||
<span class="align-middle">
|
||||
<i class="icon-base ti tabler-building-store icon-sm me-1_5"></i>{{ $item->nama }}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
<li class="nav-item mb-1">
|
||||
<a class="nav-link" href="{{ route('petani.lahan-tanaman.create', ['petani' => $petani->id]) }}">
|
||||
<span class="align-middle">
|
||||
<i class="icon-base ti tabler-plus icon-sm me-1_5"></i>Tambah Lahan
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
'use strict';
|
||||
$(document).ready(function () {
|
||||
|
||||
$('#edit-petani-jenis-kelamin, #edit-petani-pendidikan-terakhir, #edit-petani-pekerjaan-utama, #edit-petani-komoditas, #edit-petani-pekerjaan-sampingan, #edit-petani-komoditas-sampingan, #edit-petani-status-pernikahan, #edit-petani-status-keluarga, #edit-petani-petani-pengumpul').select2();
|
||||
|
||||
$('#edit-petani-provinsi').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var provinsiId = $(this).val();
|
||||
$('#edit-petani-kabupaten').prop('disabled', !provinsiId).val('').trigger('change');
|
||||
$('#edit-petani-kecamatan').prop('disabled', true).val('').trigger('change');
|
||||
$('#edit-petani-desa').prop('disabled', true).val('').trigger('change');
|
||||
|
||||
if (provinsiId) {
|
||||
$.ajax({
|
||||
url: '{{ route("kabupatenkota.byprovinsi", ":id") }}'.replace(':id', provinsiId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-kabupaten').empty().append('<option value="">Pilih Kabupaten/Kota</option>');
|
||||
data.forEach(function(kabupaten) {
|
||||
$('#edit-petani-kabupaten').append('<option value="' + kabupaten.id + '">' + kabupaten.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#edit-petani-kabupaten').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var kabupatenId = $(this).val();
|
||||
$('#edit-petani-kecamatan').prop('disabled', !kabupatenId).val('').trigger('change');
|
||||
$('#edit-petani-desa').prop('disabled', true).val('').trigger('change');
|
||||
|
||||
if (kabupatenId) {
|
||||
$.ajax({
|
||||
url: '{{ route("kecamatan.bykabupatenkota", ":id") }}'.replace(':id', kabupatenId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-kecamatan').empty().append('<option value="">Pilih Kecamatan</option>');
|
||||
data.forEach(function(kecamatan) {
|
||||
$('#edit-petani-kecamatan').append('<option value="' + kecamatan.id + '">' + kecamatan.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#edit-petani-kecamatan').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
var kecamatanId = $(this).val();
|
||||
$('#edit-petani-desa').prop('disabled', !kecamatanId).val('').trigger('change');
|
||||
|
||||
if (kecamatanId) {
|
||||
$.ajax({
|
||||
url: '{{ route("desakelurahan.bykecamatan", ":id") }}'.replace(':id', kecamatanId),
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
$('#edit-petani-desa').empty().append('<option value="">Pilih Desa/Kelurahan</option>');
|
||||
data.forEach(function(desa) {
|
||||
$('#edit-petani-desa').append('<option value="' + desa.id + '">' + desa.nama + '</option>');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#edit-petani-desa').select2();
|
||||
|
||||
$('#editPetaniForm').validate({
|
||||
rules: {
|
||||
nama: { required: true },
|
||||
tanggal_lahir: { required: true, date: true },
|
||||
jenis_kelamin: { required: true },
|
||||
pendidikan_terakhir: { required: true },
|
||||
alamat: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
status_perkawinan: { required: true },
|
||||
},
|
||||
messages: {
|
||||
nama: { required: "Nama petani wajib diisi" },
|
||||
tanggal_lahir: { required: "Tanggal lahir wajib diisi", date: "Format tanggal salah" },
|
||||
jenis_kelamin: { required: "Jenis kelamin wajib diisi" },
|
||||
pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" },
|
||||
alamat: { required: "Alamat wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
status_perkawinan: { required: "Status perkawinan wajib diisi" },
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
error.addClass('invalid-feedback');
|
||||
element.closest('.mb-6, .form-control-validation').append(error);
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).addClass('is-invalid');
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).removeClass('is-invalid');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,103 @@
|
||||
@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</h5>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<form id="viewPetaniForm">
|
||||
@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="edit-petani-nama">Nama Petani</label>
|
||||
<input type="text" class="form-control" id="edit-petani-nama" name="nama"
|
||||
placeholder="Cth: John Doe" value="{{ old('nama', $petani->nama) }}" readonly/>
|
||||
</div>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-jenis-kelamin">Jenis Kelamin</label>
|
||||
<input type="text" class="form-control" id="edit-petani-jenis-kelamin" name="jenis_kelamin"
|
||||
value="{{ old('jenis_kelamin', $petani->jenis_kelamin) == '1' ? 'Laki-laki' : 'Perempuan' }}" readonly/>
|
||||
</div>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-tempat-lahir">Tempat Lahir</label>
|
||||
<input type="text" class="form-control" id="edit-petani-tempat-lahir" name="tempat_lahir" placeholder="Cth: Ngada"
|
||||
value="{{ old('tempat_lahir', $petani->tempat_lahir) }}" />
|
||||
</div>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-tanggal-lahir">Tanggal Lahir</label>
|
||||
<input type="date" class="form-control" id="edit-petani-tanggal-lahir" name="tanggal_lahir"
|
||||
value="{{ old('tanggal_lahir', $petani->tanggal_lahir?->format('d-m-Y')) }}" />
|
||||
</div>
|
||||
</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>
|
||||
<input type="text" class="form-control" id="edit-petani-pendidikan-terakhir" name="pendidikan_terakhir"
|
||||
value="{{ old('pendidikan_terakhir', $petani->pendidikan_terakhir?->label()) }}" readonly/>
|
||||
</div>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-status-pernikahan">Status Pernikahan<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="edit-petani-status-pernikahan" name="status_perkawinan"
|
||||
value="{{ old('status_perkawinan', $petani->status_perkawinan?->label()) }}" readonly/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-alamat">Alamat</label>
|
||||
<input type="text" class="form-control" id="edit-petani-alamat" name="alamat"
|
||||
placeholder="Cth: Alamat lengkap petani" value="{{ old('alamat', $petani->alamat) }}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-provinsi">Provinsi</label>
|
||||
<input type="text" class="form-control" id="edit-petani-provinsi" name="provinsi"
|
||||
value="{{ old('provinsi', $petani->desaKelurahan?->kecamatan->kabupatenKota->provinsi->nama) }}" readonly/>
|
||||
</div>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-kabupaten">Kabupaten/Kota</label>
|
||||
<input type="text" class="form-control" id="edit-petani-kabupaten" name="kabupaten"
|
||||
value="{{ old('kabupaten', $petani->desaKelurahan?->kecamatan->kabupatenKota->nama) }}" readonly/>
|
||||
</div>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-kecamatan">Kecamatan</label>
|
||||
<input type="text" class="form-control" id="edit-petani-kecamatan" name="kecamatan"
|
||||
value="{{ old('kecamatan', $petani->desaKelurahan?->kecamatan->nama) }}" readonly/>
|
||||
</div>
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-desa">Desa/Kelurahan</label>
|
||||
<input type="text" class="form-control" id="edit-petani-desa" name="desa"
|
||||
value="{{ old('desa', $petani->desaKelurahan->nama) }}" readonly/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 text-end">
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-label-secondary me-2">Kembali</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
'use strict';
|
||||
$(document).ready(function () {
|
||||
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
Reference in New Issue
Block a user