perbaikan add header conflict

This commit is contained in:
2026-07-08 01:37:15 +07:00
parent 457288b325
commit c01ba6a906
2 changed files with 108 additions and 144 deletions
@@ -11,15 +11,16 @@
</ul>
</div>
@endif
@include('produktivitas.petani.header', ['petani' => null])
<div class="row">
<div class="col-md-12">
<div class="card mb-6">
<div class="card-header border-bottom">
<h5 class="card-title mb-0">Tambah Petani Baru</h5>
</div>
<div class="card-body pt-4">
<form id="addNewPetaniForm" action="{{ route('petani.store') }}" method="POST" enctype="multipart/form-data">
<div class="card-body pt-12">
<!-- INFORMASI PETANI -->
<form id="addPetaniForm" action="{{ route('petani.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="row">
<div class="col-md-3">
@@ -32,7 +33,7 @@
width="120"
alt="User avatar" />
<div class="user-info text-center">
<h5><i>Petani Baru</i></h5>
<h5><i>Nama Petani</i></h5>
<span class="badge bg-label-secondary">Petani</span>
</div>
</div>
@@ -152,8 +153,8 @@
</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"
<label class="form-label" for="add-petani-nomor-telepon">Nomor HP</label>
<input type="text" class="form-control @error('nomor_telepon') is-invalid @enderror" id="add-petani-nomor-telepon" name="nomor_telepon"
placeholder="Cth: 081234567890" value="{{ old('nomor_telepon') }}" minlength="11" maxlength="13" />
@error('nomor_telepon')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div>
@@ -162,25 +163,49 @@
<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"
<label class="form-label" for="add-petani-file-ktp">KTP</label>
<input type="file" class="form-control @error('file_ktp') is-invalid @enderror" id="add-petani-file-ktp" name="file_ktp"
accept="image/png, image/jpeg, image/jpg"/>
@if(isset($petani) && $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="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"
<label class="form-label" for="add-petani-file-kk">KK</label>
<input type="file" class="form-control @error('file_kk') is-invalid @enderror" id="add-petani-file-kk" name="file_kk"
accept="image/png, image/jpeg, image/jpg"/>
@if(isset($petani) && $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 type="submit" class="btn btn-success data-submit wave-effect wave-light">Simpan Petani</button>
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
<button type="submit" class="btn btn-success data-submit wave-effect wave-light">Simpan Profil</button>
</div>
</form>
@@ -257,11 +282,12 @@
});
$('#add-petani-desa').select2();
$('#addNewPetaniForm').validate({
$('#editPetaniForm').validate({
rules: {
nama: { required: true },
ktp: { required: true, digits: true, minlength: 16, maxlength: 16 },
kk: { required: false, 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 },
@@ -297,6 +323,7 @@
minlength: "Nomor telepon minimal 11 digit",
maxlength: "Nomor telepon maksimal 13 digit"
}
},
errorElement: 'div',
errorPlacement: function (error, element) {
@@ -9,35 +9,36 @@
<img src="../../assets/img/avatars/1.png" alt="Avatar" class="rounded-circle" />
</div>
<div class="d-flex flex-column">
<h6 class="mb-0" style="font-size: 0.9rem;">{{ $petani ? $petani->nama : 'Tambah Petani Baru' }}</h6>
<span class="text-muted" style="font-size: 0.75rem;">{{ $petani ? ($petani->jenis_kelamin == 1 ? 'Laki-laki' : 'Perempuan') : 'Jenis Kelamin' }}</span>
<span class="text-muted" style="font-size: 0.75rem;">Komoditas: {{ $petani ? $petani->komoditas?->nama : 'Komoditas' }}</span>
<h6 class="mb-0" style="font-size: 0.9rem;">{{ isset($petani) ? $petani->nama : 'Tambah Petani Baru' }}</h6>
<span class="text-muted" style="font-size: 0.75rem;">{{ isset($petani) ? ($petani->jenis_kelamin == 1 ? 'Laki-laki' : 'Perempuan') : 'Jenis Kelamin' }}</span>
<span class="text-muted" style="font-size: 0.75rem;">Komoditas: {{ isset($petani) ? $petani->komoditas?->nama : 'Komoditas' }}</span>
</div>
</div>
<hr class="my-2"> <h6 class="mb-1" style="font-size: 0.85rem;">Domisili</h6>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Alamat: {{ $petani ? $petani->alamat : 'Alamat' }}</p>
<p class="mb-0 text-muted" style="font-size: 0.75rem; line-height: 1.3;">{{ $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>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Alamat: {{ isset($petani) ? $petani->alamat : 'Alamat' }}</p>
<p class="mb-0 text-muted" style="font-size: 0.75rem; line-height: 1.3;">{{ isset($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 d-flex flex-column">
<div class="card mb-2 flex-grow-1"> <div class="card-widget-separator-wrapper h-100">
<div class="card mb-2 flex-grow-1">
<div class="card-widget-separator-wrapper h-100">
<div class="card-body card-widget-separator py-2 h-100 d-flex flex-column justify-content-center">
<div class="row gy-2"> <div class="col-sm-6 col-lg-4">
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 pe-3">
<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 class="mb-0 text-muted" style="font-size: 0.75rem;">Segmen Petani</p>
<h5 class="mb-0">Penggerak</h5>
<p class="mb-0" style="font-size: 0.75rem;">
<span class="me-1">Skor 4.2</span></span>
</p>
</div>
<span class="avatar me-sm-6">
<span class="avatar">
<span class="avatar-initial rounded">
<i class="icon-base ti tabler-smart-home icon-28px text-heading"></i>
<i class="icon-base ti tabler-user-star icon-22px"></i>
</span>
</span>
</div>
@@ -45,90 +46,34 @@
<div class="col-sm-6 col-lg-4">
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 px-3">
<div>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">In-store Sales</p>
<h5 class="mb-0">$5,345.43</h5>
<p class="mb-0" style="font-size: 0.75rem;"><span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span></p>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Lahan & Tanaman</p>
<h5 class="mb-0">12000 m<sup>2</sup></h5>
<p class="mb-0" style="font-size: 0.75rem;">
<span class="me-1">120 tanaman kopi</span><span class="text-success fw-medium">sehat</span>
</p>
</div>
<span class="avatar"><span class="avatar-initial rounded"><i class="icon-base ti tabler-smart-home icon-22px"></i></span></span>
<span class="avatar">
<span class="avatar-initial rounded">
<i class="icon-base ti tabler-trees icon-22px"></i>
</span>
</span>
</div>
</div>
<div class="col-sm-6 col-lg-4">
<div class="d-flex justify-content-between align-items-center card-widget-1 h-100 ps-3">
<div>
<p class="mb-1">Praktik Budidaya</p>
<h4 class="mb-1">2 kali</h4>
<p class="mb-0">
<span class="me-2">2 sertifikasi</span><span class="badge bg-label-success">+5.7%</span>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Praktik Budidaya</p>
<h5 class="mb-0">$5,345.43</h5>
<p class="mb-0" style="font-size: 0.75rem;">
<span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span>
</p>
</div>
<span class="avatar me-sm-6">
<span class="avatar">
<span class="avatar-initial rounded">
<i class="icon-base ti tabler-seedling icon-28px text-heading"></i>
<i class="icon-base ti tabler-seedling icon-22px"></i>
</span>
</span>
</div>
<hr class="d-none d-sm-block d-lg-none me-6" />
</div>
</div>
</div>
</div>
</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">Pendidikan</p>
<h4 class="mb-1">3 kali</h4>
<p class="mb-0">
<span class="me-2">2 sertifikasi</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-books 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">Pendidikan</p>
<h4 class="mb-1">3 kali</h4>
<p class="mb-0">
<span class="me-2">2 sertifikasi</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-social 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-building-store icon-28px text-heading"></i>
</span>
</span>
</div>
<hr class="d-none d-sm-block d-lg-none me-6" />
</div>
</div>
</div>
@@ -142,31 +87,49 @@
<div class="col-sm-6 col-lg-4">
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 pe-3">
<div>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">In-store Sales</p>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Pendidikan</p>
<h5 class="mb-0">$5,345.43</h5>
<p class="mb-0" style="font-size: 0.75rem;"><span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span></p>
<p class="mb-0" style="font-size: 0.75rem;">
<span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span>
</p>
</div>
<span class="avatar"><span class="avatar-initial rounded"><i class="icon-base ti tabler-smart-home icon-22px"></i></span></span>
<span class="avatar">
<span class="avatar-initial rounded">
<i class="icon-base ti tabler-books icon-22px"></i>
</span>
</span>
</div>
</div>
<div class="col-sm-6 col-lg-4">
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 px-3">
<div>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">In-store Sales</p>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Sosial Ekonomi</p>
<h5 class="mb-0">$5,345.43</h5>
<p class="mb-0" style="font-size: 0.75rem;"><span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span></p>
<p class="mb-0" style="font-size: 0.75rem;">
<span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span>
</p>
</div>
<span class="avatar"><span class="avatar-initial rounded"><i class="icon-base ti tabler-smart-home icon-22px"></i></span></span>
<span class="avatar">
<span class="avatar-initial rounded">
<i class="icon-base ti tabler-social icon-22px"></i>
</span>
</span>
</div>
</div>
<div class="col-sm-6 col-lg-4">
<div class="d-flex justify-content-between align-items-center card-widget-1 h-100 ps-3">
<div>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">In-store Sales</p>
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Akses Pasar</p>
<h5 class="mb-0">$5,345.43</h5>
<p class="mb-0" style="font-size: 0.75rem;"><span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span></p>
<p class="mb-0" style="font-size: 0.75rem;">
<span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span>
</p>
</div>
<span class="avatar"><span class="avatar-initial rounded"><i class="icon-base ti tabler-smart-home icon-22px"></i></span></span>
<span class="avatar">
<span class="avatar-initial rounded">
<i class="icon-base ti tabler-building-store icon-22px"></i>
</span>
</span>
</div>
</div>
</div>
@@ -246,29 +209,3 @@
</ul>
@endif
</div>
@push('scripts')
<script>
$(document).ready(function() {
@if($petani)
$.ajax({
url: "{{ route('petani.lahan-tanaman.summary', $petani->id) }}",
type: 'GET',
dataType: 'json',
success: function(response) {
console.log(response);
var status = response.status;
if (status == 'success') {
$('#luas-lahan').text(response.data.lahan + ' m2');
$('#tanaman').html(`
<span class="me-2">${response.data.tanaman} tanaman ${response.data.komoditas}</span>
<span class="badge bg-label-success">${response.data.kondisi_lahan}</span>
`);
}
}
});
@endif
});
</script>
@endpush