petani dan lahan
This commit is contained in:
@@ -6,6 +6,6 @@ enum KondisiTanaman: string
|
||||
{
|
||||
case BAIK = 'baik';
|
||||
case SEDANG = 'sedang';
|
||||
case SAKIT = 'sakit';
|
||||
case BURUK = 'buruk';
|
||||
case MATI = 'mati';
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
use App\Models\Wilayah\Provinsi;
|
||||
use App\Models\Pertanian\Petani;
|
||||
@@ -75,12 +76,28 @@ class PetaniController extends Controller
|
||||
//'komoditas_id' => ['required','exists:master_komoditas,id'],
|
||||
'status_perkawinan' => ['required', Rule::enum(Pernikahan::class)],
|
||||
'ktp' => ['nullable', 'min:16', 'max:16'],
|
||||
'file_ktp' => ['nullable', 'file', 'mimes:jpeg,jpg,png,pdf', 'max:2048'],
|
||||
'file_ktp' => ['nullable', 'image', 'mimes:jpeg,jpg,png', 'max:2048'],
|
||||
'kk' => ['nullable', 'min:16', 'max:16'],
|
||||
'file_kk' => ['nullable', 'file', 'mimes:jpeg,jpg,png,pdf', 'max:2048'],
|
||||
'foto' => ['nullable', 'file', 'mimes:jpeg,jpg,png', 'max:2048'],
|
||||
'file_kk' => ['nullable', 'image', 'mimes:jpeg,jpg,png', 'max:2048'],
|
||||
'foto' => ['nullable', 'image', 'mimes:jpeg,jpg,png', 'max:2048'],
|
||||
'nomor_telepon' => ['nullable', 'numeric', 'max:20'],
|
||||
]);
|
||||
|
||||
if ($request->hasFile('file_ktp')) {
|
||||
$file_ktp = $request->file('file_ktp');
|
||||
$validatedData['path_ktp'] = $file_ktp->store('petani/ktp');
|
||||
$validatedData['file_ktp'] = $file_ktp->getClientOriginalName();
|
||||
}
|
||||
if ($request->hasFile('file_kk')) {
|
||||
$file_kk = $request->file('file_kk');
|
||||
$validatedData['path_kk'] = $file_kk->store('petani/kk');
|
||||
$validatedData['file_kk'] = $file_kk->getClientOriginalName();
|
||||
}
|
||||
if ($request->hasFile('foto')) {
|
||||
$file_foto = $request->file('foto');
|
||||
$validatedData['foto'] = $file_foto->store('petani/foto');
|
||||
}
|
||||
|
||||
Petani::create([...$validatedData,
|
||||
'uid' => 'PTN-'. strtoupper(Str::random(10)),
|
||||
'created_by' => auth()->id(),
|
||||
@@ -145,8 +162,24 @@ class PetaniController extends Controller
|
||||
'kk' => ['nullable', 'min:16', 'max:16'],
|
||||
'file_kk' => ['nullable', 'file', 'mimes:jpeg,jpg,png,pdf', 'max:2048'],
|
||||
'foto' => ['nullable', 'file', 'mimes:jpeg,jpg,png', 'max:2048'],
|
||||
'nomor_telepon' => ['nullable', 'numeric', 'max:20'],
|
||||
]);
|
||||
|
||||
if ($request->hasFile('file_ktp')) {
|
||||
$file_ktp = $request->file('file_ktp');
|
||||
$validatedData['path_ktp'] = $file_ktp->store('petani/ktp');
|
||||
$validatedData['file_ktp'] = $file_ktp->getClientOriginalName();
|
||||
}
|
||||
if ($request->hasFile('file_kk')) {
|
||||
$file_kk = $request->file('file_kk');
|
||||
$validatedData['path_kk'] = $file_kk->store('petani/kk');
|
||||
$validatedData['file_kk'] = $file_kk->getClientOriginalName();
|
||||
}
|
||||
if ($request->hasFile('foto')) {
|
||||
$file_foto = $request->file('foto');
|
||||
$validatedData['foto'] = $file_foto->store('petani/foto');
|
||||
}
|
||||
|
||||
$petani->update([...$validatedData,
|
||||
'updated_by' => auth()->id()]);
|
||||
|
||||
@@ -160,4 +193,33 @@ class PetaniController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function showImage(string $id, string $field)
|
||||
{
|
||||
if (!Gate::any(['super_admin', 'admin', 'fasilitator'])) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$petani = Petani::findOrFail($id);
|
||||
|
||||
switch ($field) {
|
||||
case 'ktp':
|
||||
$filePath = $petani->path_ktp;
|
||||
break;
|
||||
case 'kk':
|
||||
$filePath = $petani->path_kk;
|
||||
break;
|
||||
case 'foto':
|
||||
$filePath = $petani->foto;
|
||||
break;
|
||||
default:
|
||||
abort(404);
|
||||
}
|
||||
|
||||
if (!$filePath || !\Storage::exists($filePath)) {
|
||||
abort(404);
|
||||
}
|
||||
|
||||
return Storage::disk('local')->response($filePath);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ class PetaniLahanController extends Controller
|
||||
$petani = Petani::findOrFail($petaniId);
|
||||
|
||||
$lahan = Lahan::where('petani_id', $petaniId)
|
||||
->orderBy('created_at', 'desc')
|
||||
->orderBy('id', 'asc')
|
||||
->get();
|
||||
|
||||
$provinsi = Provinsi::orderBy('kode', 'asc')->get();
|
||||
@@ -171,9 +171,6 @@ class PetaniLahanController extends Controller
|
||||
return view('produktivitas.petani.lahan.edit', compact('lahan', 'lahanSelected', 'petani', 'komoditas', 'provinsi'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, string $petaniId, string $id)
|
||||
{
|
||||
if (!Gate::any(['super_admin', 'admin', 'fasilitator'])) {
|
||||
|
||||
@@ -2,122 +2,196 @@
|
||||
|
||||
@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>
|
||||
@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">
|
||||
|
||||
<div class="card-body">
|
||||
<form id="addNewPetaniForm" action="{{ route('petani.store') }}" method="POST" >
|
||||
@csrf
|
||||
<!-- PROFIL PETANI -->
|
||||
@include('produktivitas.petani.header', ['petani' => null])
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="card mb-6">
|
||||
<div class="card-body pt-12">
|
||||
<!-- INFORMASI PETANI -->
|
||||
<form id="addNewPetaniForm" action="{{ route('petani.store') }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<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><i>Nama Petani</i></h5>
|
||||
<span class="badge bg-label-secondary">Petani</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<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="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-ktp">NIK<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('ktp') is-invalid @enderror" id="add-petani-ktp" name="ktp"
|
||||
placeholder="Cth: 1234567890" value="{{ old('ktp') }}" />
|
||||
@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>
|
||||
<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
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<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>
|
||||
|
||||
|
||||
<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>
|
||||
<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
|
||||
</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" >
|
||||
<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" >
|
||||
<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" >
|
||||
<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-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="add-petani-no-hp">Nomor Telepon</label>
|
||||
<input type="text" class="form-control @error('nomor_telepon') is-invalid @enderror" id="add-petani-no-hp" name="nomor_telepon"
|
||||
placeholder="Cth: 081234567890" value="{{ old('nomor_telepon') }}" />
|
||||
@error('nomor_telepon')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Berkas</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="add-petani-no-hp">KTP</label>
|
||||
<input type="file" class="form-control @error('file_ktp') is-invalid @enderror" id="add-petani-ktp-file" name="file_ktp"
|
||||
accept="image/png, image/jpeg, image/jpg"/>
|
||||
@error('file_ktp')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="add-petani-no-hp">KK</label>
|
||||
<input type="file" class="form-control @error('file_kk') is-invalid @enderror" id="add-petani-kk-file" name="file_kk"
|
||||
accept="image/png, image/jpeg, image/jpg"/>
|
||||
@error('file_kk')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@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 class="mt-4 text-end">
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light">Simpan Profil</button>
|
||||
</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>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@@ -190,21 +264,39 @@
|
||||
$('#addNewPetaniForm').validate({
|
||||
rules: {
|
||||
nama: { required: true },
|
||||
ktp: { required: true, digits: true, minlength: 16, maxlength: 16 },
|
||||
kk: { required: false, digits: true, minlength: 16, maxlength: 16 },
|
||||
tempat_lahir: { required: true },
|
||||
tanggal_lahir: { required: true, date: true },
|
||||
jenis_kelamin: { required: true },
|
||||
pendidikan_terakhir: { 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" },
|
||||
nomor_telepon: { required: false, digits: true, maxlength: 20 }
|
||||
},
|
||||
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" },
|
||||
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" },
|
||||
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)" },
|
||||
nomor_telepon: { digits: "Nomor telepon harus berupa angka", maxlength: "Nomor telepon maksimal 20 digit" }
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
|
||||
@@ -12,118 +12,206 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
||||
|
||||
<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>
|
||||
<form id="editPetaniForm" action="{{ route('petani.update', $petani->id) }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<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 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><i>Nama Petani</i></h5>
|
||||
<span class="badge bg-label-secondary">Petani</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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 class="col-md-9">
|
||||
<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-ktp">NIK<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('ktp') is-invalid @enderror" id="edit-petani-ktp" name="ktp"
|
||||
placeholder="Cth: 1234567890" value="{{ old('ktp', $petani->ktp) }}" />
|
||||
@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>
|
||||
<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
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<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">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>
|
||||
<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="row">
|
||||
<div class="col-md-3 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-nomor-telepon">Nomor Telepon</label>
|
||||
<input type="text" class="form-control @error('nomor_telepon') is-invalid @enderror" id="edit-petani-nomor-telepon" name="nomor_telepon"
|
||||
placeholder="Cth: 081234567890" value="{{ old('nomor_telepon', $petani->nomor_telepon) }}" />
|
||||
@error('nomor_telepon')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="pb-4 border-bottom mb-4 mt-4">Berkas</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-file-ktp">KTP</label>
|
||||
<input type="file" class="form-control @error('file_ktp') is-invalid @enderror" id="edit-petani-file-ktp" name="file_ktp"
|
||||
accept="image/png, image/jpeg, image/jpg"/>
|
||||
@if($petani->file_ktp)
|
||||
<div class="mb-2">
|
||||
<img src="{{ route('petani.show-image', ['id' => $petani->id, 'field' => 'ktp']) }}"
|
||||
class="img-thumbnail"
|
||||
width="200">
|
||||
</div>
|
||||
|
||||
<small class="text-muted">
|
||||
File saat ini:
|
||||
{{ $petani->file_ktp }}
|
||||
</small>
|
||||
@endif
|
||||
@error('file_ktp')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-petani-file-kk">KK</label>
|
||||
<input type="file" class="form-control @error('file_kk') is-invalid @enderror" id="edit-petani-file-kk" name="file_kk"
|
||||
accept="image/png, image/jpeg, image/jpg"/>
|
||||
@if($petani->file_kk)
|
||||
<div class="mb-2">
|
||||
<img src="{{ route('petani.show-image', ['id' => $petani->id, 'field' => 'kk']) }}"
|
||||
class="img-thumbnail"
|
||||
width="200">
|
||||
</div>
|
||||
|
||||
<small class="text-muted">
|
||||
File saat ini:
|
||||
{{ $petani->file_kk }}
|
||||
</small>
|
||||
@endif
|
||||
@error('file_kk')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light">Simpan Profil</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -201,21 +289,40 @@
|
||||
$('#editPetaniForm').validate({
|
||||
rules: {
|
||||
nama: { required: true },
|
||||
ktp: { required: true, digits: true, minlength: 16, maxlength: 16 },
|
||||
kk: { required: true, digits: true, minlength: 16, maxlength: 16 },
|
||||
tempat_lahir: { required: true },
|
||||
tanggal_lahir: { required: true, date: true },
|
||||
jenis_kelamin: { required: true },
|
||||
pendidikan_terakhir: { 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" },
|
||||
nomor_telepon: { required: false, digits: true, maxlength: 20 }
|
||||
},
|
||||
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" },
|
||||
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" },
|
||||
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)" },
|
||||
nomor_telepon: { digits: "Nomor telepon harus berupa angka", maxlength: "Nomor telepon maksimal 20 digit" }
|
||||
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
|
||||
@@ -1,58 +1,143 @@
|
||||
<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 class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-6">
|
||||
<div class="card-header">
|
||||
<h5 class="card-title m-0">Profil Petani</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-start align-items-center mb-6">
|
||||
<div class="avatar me-3">
|
||||
<img src="../../assets/img/avatars/1.png" alt="Avatar" class="rounded-circle" />
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-0">{{ $petani ? $petani->nama : 'Tambah Petani Baru' }}</h6>
|
||||
<span>{{ $petani ? ($petani->jenis_kelamin == 1 ? 'Laki-laki' : 'Perempuan') : 'Jenis Kelamin' }}</span>
|
||||
<span>Komoditas: {{ $petani ? $petani->komoditas?->nama : 'Komoditas' }}</span>
|
||||
</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>
|
||||
<h6 class="mb-1">Domisili</h6>
|
||||
<p class=" mb-1">Alamat: {{ $petani ? $petani->alamat : 'Alamat' }}</p>
|
||||
<p class=" mb-0">{{ $petani ? $petani->desaKelurahan->nama : 'Desa/Kelurahan' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->nama : 'Kecamatan' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->kabupatenKota->nama : 'Kabupaten/Kota' }}, {{ $petani ? $petani->desaKelurahan->kecamatan->kabupatenKota->provinsi->nama : 'Provinsi' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="card mb-2">
|
||||
<div class="card-widget-separator-wrapper">
|
||||
<div class="card-body card-widget-separator">
|
||||
<div class="row gy-4 gy-sm-1">
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
<div>
|
||||
<p class="mb-1">In-store Sales</p>
|
||||
<h4 class="mb-1">$5,345.43</h4>
|
||||
<p class="mb-0">
|
||||
<span class="me-2">5k orders</span><span class="badge bg-label-success">+5.7%</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar me-sm-6">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-smart-home icon-28px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<hr class="d-none d-sm-block d-lg-none me-6" />
|
||||
</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 class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
<div>
|
||||
<p class="mb-1">In-store Sales</p>
|
||||
<h4 class="mb-1">$5,345.43</h4>
|
||||
<p class="mb-0">
|
||||
<span class="me-2">5k orders</span><span class="badge bg-label-success">+5.7%</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar me-sm-6">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-smart-home icon-28px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<hr class="d-none d-sm-block d-lg-none me-6" />
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="mb-0">568</h5>
|
||||
<span>Project Done</span>
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
<div>
|
||||
<p class="mb-1">In-store Sales</p>
|
||||
<h4 class="mb-1">$5,345.43</h4>
|
||||
<p class="mb-0">
|
||||
<span class="me-2">5k orders</span><span class="badge bg-label-success">+5.7%</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar me-sm-6">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-smart-home icon-28px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<hr class="d-none d-sm-block d-lg-none me-6" />
|
||||
</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 class="card mb-6">
|
||||
<div class="card-widget-separator-wrapper">
|
||||
<div class="card-body card-widget-separator">
|
||||
<div class="row gy-4 gy-sm-1">
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
<div>
|
||||
<p class="mb-1">In-store Sales</p>
|
||||
<h4 class="mb-1">$5,345.43</h4>
|
||||
<p class="mb-0">
|
||||
<span class="me-2">5k orders</span><span class="badge bg-label-success">+5.7%</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar me-sm-6">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-smart-home icon-28px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<hr class="d-none d-sm-block d-lg-none me-6" />
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
<div>
|
||||
<p class="mb-1">In-store Sales</p>
|
||||
<h4 class="mb-1">$5,345.43</h4>
|
||||
<p class="mb-0">
|
||||
<span class="me-2">5k orders</span><span class="badge bg-label-success">+5.7%</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar me-sm-6">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-smart-home icon-28px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<hr class="d-none d-sm-block d-lg-none me-6" />
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<div class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
|
||||
<div>
|
||||
<p class="mb-1">In-store Sales</p>
|
||||
<h4 class="mb-1">$5,345.43</h4>
|
||||
<p class="mb-0">
|
||||
<span class="me-2">5k orders</span><span class="badge bg-label-success">+5.7%</span>
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar me-sm-6">
|
||||
<span class="avatar-initial rounded">
|
||||
<i class="icon-base ti tabler-smart-home icon-28px text-heading"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<hr class="d-none d-sm-block d-lg-none me-6" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -60,6 +145,40 @@
|
||||
</div>
|
||||
|
||||
<div class="nav-align-top">
|
||||
@if(!$petani)
|
||||
<ul class="nav nav-pills flex-column flex-md-row mb-6 row-gap-2">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="{{ route('petani.create') }}">
|
||||
<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" href="#" disabled tooltip="Lahan & Tanaman, isi profil terlebih dahulu" data-bs-toggle="tooltip" data-bs-placement="top">
|
||||
<i class="icon-base ti tabler-trees me-1_5 icon-sm"></i>Lahan & Tanaman
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#" disabled tooltip="Praktik Budidaya, isi profil terlebih dahulu" data-bs-toggle="tooltip" data-bs-placement="top">
|
||||
<i class="icon-base ti tabler-seedling me-1_5 icon-sm"></i>Praktik Budidaya
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#" disabled tooltip="Pendidikan & Pelatihan, isi profil terlebih dahulu" data-bs-toggle="tooltip" data-bs-placement="top">
|
||||
<i class="icon-base ti tabler-books me-1_5 icon-sm"></i>Pendidikan & Pelatihan
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#" disabled tooltip="Sosial Ekonomi, isi profil terlebih dahulu" data-bs-toggle="tooltip" data-bs-placement="top">
|
||||
<i class="icon-base ti tabler-social me-1_5 icon-sm"></i>Sosial Ekonomi
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#" disabled tooltip="Akses Pasar, isi profil terlebih dahulu" data-bs-toggle="tooltip" data-bs-placement="top">
|
||||
<i class="icon-base ti tabler-building-store me-1_5 icon-sm"></i>Akses Pasar
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
@else
|
||||
<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) }}">
|
||||
@@ -68,22 +187,22 @@
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('petani.lahan-tanaman.*') ? '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
|
||||
<i class="icon-base ti tabler-trees me-1_5 icon-sm"></i>Lahan & Tanaman
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('petani.praktik-budidaya.*') ? 'active' : '' }}" href="{{ route('petani.praktik-budidaya.index', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Praktik Budidaya
|
||||
<i class="icon-base ti tabler-seedling 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
|
||||
<i class="icon-base ti tabler-books me-1_5 icon-sm"></i>Pendidikan & Pelatihan
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{ request()->routeIs('petani.sosial-ekonomi.*') ? 'active' : '' }}" href="{{ route('petani.sosial-ekonomi.index', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Sosial Ekonomi
|
||||
<i class="icon-base ti tabler-social me-1_5 icon-sm"></i>Sosial Ekonomi
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
@@ -92,4 +211,5 @@
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -37,57 +37,41 @@
|
||||
<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, 'lahan_tanaman' => $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>
|
||||
@include('produktivitas.petani.lahan.sidebar', ['petani' => $petani, 'lahan' => $lahan])
|
||||
|
||||
|
||||
<div class="col-12 col-lg-10 col-md-9 pt-6 pt-lg-0">
|
||||
<form id="petani-lahan-tanaman" method="POST" action="{{ route('petani.lahan-tanaman.store', ['petani' => $petani->id]) }}">
|
||||
<form id="petani-lahan-tanaman" method="POST" action="{{ route('petani.lahan-tanaman.store', ['petani' => $petani->id, 'lahanSelected' => null]) }}">
|
||||
@csrf
|
||||
<input type="hidden" name="status_kepemilikan" value="sendiri">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-4">
|
||||
<div class="col-lg-12 mb-4">
|
||||
<h6 class="mb-3">Data Lahan dan Tanaman</h6>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 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 class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Umur Lahan (tahun)</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>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 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 class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Umur Tanaman (rata-rata)</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>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 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>
|
||||
@@ -97,30 +81,20 @@
|
||||
</select>
|
||||
@error('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">
|
||||
<div class="col-md-3 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 class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 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>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Umur Tanaman (rata-rata)</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>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<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>
|
||||
@@ -130,7 +104,7 @@
|
||||
</select>
|
||||
@error('kondisi_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Serangan Hama</label>
|
||||
<select id="serangan_hama" name="serangan_hama" class="form-select @error('serangan_hama') is-invalid @enderror">
|
||||
<option value="">Pilih Serangan Hama</option>
|
||||
@@ -138,10 +112,9 @@
|
||||
<option value="{{ \App\Enums\SeranganHama::BELALANG }}" {{ old('serangan_hama') == \App\Enums\SeranganHama::BELALANG ? 'selected' : '' }}>Belalang</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::KUTU }}" {{ old('serangan_hama') == \App\Enums\SeranganHama::KUTU ? 'selected' : '' }}>Kutu</option>
|
||||
</select>
|
||||
@error('serangan_hama')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<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>
|
||||
@@ -151,7 +124,7 @@
|
||||
<option value="{{ \App\Enums\PenyakitTanaman::TANAMAN_LAYU }}" {{ old('penyakit_tanaman') == \App\Enums\PenyakitTanaman::TANAMAN_LAYU ? 'selected' : '' }}>Tanaman Layu</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<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>
|
||||
@@ -162,8 +135,11 @@
|
||||
@error('keparahan_serangan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="my-4">
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
<div class="col-lg-6 mb-4">
|
||||
<h6 class="mb-3">Lokasi</h6>
|
||||
|
||||
<div class="row">
|
||||
@@ -215,7 +191,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h6 class="mb-0">Peta Lahan</h6>
|
||||
@@ -228,7 +203,7 @@
|
||||
<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>
|
||||
<button type="submit" class="btn btn-success"><i class="ti tabler-device-floppy me-2"></i> Simpan Lahan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -37,29 +37,7 @@
|
||||
<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 {{ $item->id == $lahanSelected->id ? 'active' : '' }}" href="{{ route('petani.lahan-tanaman.edit', ['petani' => $petani->id, 'lahan_tanaman' => $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 aive" 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>
|
||||
|
||||
@include('produktivitas.petani.lahan.sidebar', ['petani' => $petani, 'lahan' => $lahan, 'lahanSelected' => $lahanSelected])
|
||||
|
||||
<div class="col-12 col-lg-10 col-md-9 pt-6 pt-lg-0">
|
||||
<form id="petani-lahan-tanaman" method="POST" action="{{ route('petani.lahan-tanaman.update', ['petani' => $petani->id, 'lahan_tanaman' => $lahanSelected->id]) }}">
|
||||
@@ -67,19 +45,37 @@
|
||||
@method('PUT')
|
||||
<input type="hidden" name="status_kepemilikan" value="sendiri">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-4">
|
||||
<div class="col-lg-12 mb-4">
|
||||
<h6 class="mb-3">Data Lahan dan Komoditas</h6>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 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
|
||||
value="{{ old('luas_lahan', $lahanSelected->luas_lahan) }}" />
|
||||
@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>
|
||||
<input type="number" name="umur_lahan" class="form-control @error('umur_lahan') is-invalid @enderror" placeholder="Contoh: 1"
|
||||
value="{{ old('umur_lahan', $lahanSelected->umur_lahan) }}" />
|
||||
@error('umur_lahan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-3 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
|
||||
value="{{ old('jumlah_tanaman', $lahanSelected->jumlah_tanaman) }}" />
|
||||
@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>
|
||||
<input type="number" name="umur_tanaman" class="form-control @error('umur_tanaman') is-invalid @enderror" placeholder="Contoh: 1"
|
||||
value="{{ old('umur_tanaman', $lahanSelected->umur_tanaman) }}" />
|
||||
@error('umur_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 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>
|
||||
@@ -89,7 +85,7 @@
|
||||
</select>
|
||||
@error('komoditas_id')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<div class="col-md-3 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>
|
||||
@if(old('jenis_komoditas_id', $lahanSelected->jenis_komoditas_id))
|
||||
@@ -98,9 +94,7 @@
|
||||
</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">
|
||||
<div class="col-md-3 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>
|
||||
@if(old('varietas_id', $lahanSelected->varietas_id))
|
||||
@@ -109,15 +103,55 @@
|
||||
</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" ]
|
||||
value="{{ old('jumlah_tanaman', $lahanSelected->jumlah_tanaman) }}" required />
|
||||
@error('jumlah_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<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 ? '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>
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<label class="form-label">Serangan Hama</label>
|
||||
<select id="serangan_hama" name="serangan_hama" class="form-select @error('serangan_hama') is-invalid @enderror">
|
||||
<option value="">Pilih Serangan Hama</option>
|
||||
<option value="{{ \App\Enums\SeranganHama::ULAT }}" {{ old('serangan_hama', $lahanSelected->serangan_hama) == \App\Enums\SeranganHama::ULAT ? '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>
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
<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 ? '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 ? '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>
|
||||
</div>
|
||||
|
||||
<hr class="my-4">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
<div class="col-lg-6 mb-4">
|
||||
<h6 class="mb-3">Lokasi</h6>
|
||||
|
||||
<div class="row">
|
||||
@@ -170,7 +204,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h6 class="mb-0">Peta Lahan</h6>
|
||||
|
||||
@@ -22,31 +22,7 @@
|
||||
|
||||
<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, 'lahan_tanaman' => $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>
|
||||
|
||||
@if($lahan->count() > 0)
|
||||
@endif
|
||||
@include('produktivitas.petani.lahan.sidebar', ['petani' => $petani, 'lahan' => $lahan])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<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 {{ isset($lahanSelected) && $lahanSelected?->id == $item->id ? 'active' : '' }}"
|
||||
href="{{ route('petani.lahan-tanaman.edit', ['petani' => $petani->id, 'lahan_tanaman' => $item->id]) }}">
|
||||
<span class="align-middle">
|
||||
<i class="icon-base ti tabler-trees icon-sm me-1_5"></i>{{ $item->nama }}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
<li class="nav-item mb-1">
|
||||
<a class="nav-link {{ isset($lahanSelected) ? '' : '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>
|
||||
@@ -188,6 +188,7 @@ Route::middleware('auth')
|
||||
|
||||
// Petani
|
||||
Route::resource('petani', App\Http\Controllers\Web\Produktivitas\PetaniController::class);
|
||||
Route::get('petani/show-image/{id}/{field}', [App\Http\Controllers\Web\Produktivitas\PetaniController::class, 'showImage'])->name('petani.show-image');
|
||||
Route::resource('sosial-ekonomi', App\Http\Controllers\Web\Produktivitas\SosialEkonomiController::class)->except(['create', 'edit']);
|
||||
Route::get('petani/{petani}/akses-pasar', [App\Http\Controllers\Web\Produktivitas\AksesPasarController::class, 'editByPetani'])->name('petani.akses-pasar.edit');
|
||||
Route::resource('akses-pasar', App\Http\Controllers\Web\Produktivitas\AksesPasarController::class)->except(['create', 'edit']);
|
||||
|
||||
Reference in New Issue
Block a user