Merge branch 'main' of https://git.probindo.com/Probindo/database-pertani-web
This commit is contained in:
@@ -111,15 +111,20 @@
|
||||
<!-- endbuild -->
|
||||
|
||||
<!-- Vendors JS -->
|
||||
<script src="{{ asset('assets/vendor/libs/@form-validation/popular.js') }}"></script>
|
||||
<!-- <script src="{{ asset('assets/vendor/libs/@form-validation/popular.js') }}"></script>
|
||||
<script src="{{ asset('assets/vendor/libs/@form-validation/bootstrap5.js') }}"></script>
|
||||
<script src="{{ asset('assets/vendor/libs/@form-validation/auto-focus.js') }}"></script>
|
||||
<script src="{{ asset('assets/vendor/libs/@form-validation/auto-focus.js') }}"></script> -->
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/jquery.validate.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/additional-methods.min.js"></script>
|
||||
|
||||
<!-- Main JS -->
|
||||
|
||||
<script src="{{ asset('assets/js/main.js') }}"></script>
|
||||
|
||||
<!-- Page JS -->
|
||||
<script src="{{ asset('assets/js/pages-auth.js') }}"></script>
|
||||
<!-- <script src="{{ asset('assets/js/pages-auth.js') }}"></script> -->
|
||||
|
||||
@stack('scripts')
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -87,3 +87,44 @@
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('#formAuthentication').validate({
|
||||
rules: {
|
||||
email_username: {
|
||||
required: true,
|
||||
minlength: 6,
|
||||
},
|
||||
password: {
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
messages: {
|
||||
email_username: {
|
||||
required: 'Email atau Nama Pengguna wajib diisi',
|
||||
minlength: 'Email atau Nama Pengguna minimal 6 karakter',
|
||||
},
|
||||
password: {
|
||||
required: 'Password wajib diisi',
|
||||
},
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
error.addClass('invalid-feedback');
|
||||
element.closest('.mb-6, .form-control-validation').append(error);
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).addClass('is-invalid');
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).removeClass('is-invalid');
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
@@ -113,7 +113,7 @@
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<div class="divider my-6">
|
||||
<!-- <div class="divider my-6">
|
||||
<div class="divider-text">atau</div>
|
||||
</div>
|
||||
|
||||
@@ -133,7 +133,72 @@
|
||||
<a href="javascript:;" class="btn btn-icon rounded-circle btn-text-google-plus">
|
||||
<i class="icon-base ti tabler-brand-google-filled icon-20px"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('#formAuthentication').validate({
|
||||
rules: {
|
||||
username: {
|
||||
required: true,
|
||||
minlength: 6,
|
||||
},
|
||||
email: {
|
||||
required: true,
|
||||
email: true,
|
||||
},
|
||||
password: {
|
||||
required: true,
|
||||
minlength: 8,
|
||||
},
|
||||
password_confirmation: {
|
||||
required: true,
|
||||
equalTo: '#password',
|
||||
},
|
||||
terms: {
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
messages: {
|
||||
username: {
|
||||
required: 'Username wajib diisi',
|
||||
minlength: 'Username minimal 6 karakter',
|
||||
},
|
||||
email: {
|
||||
required: 'Email wajib diisi',
|
||||
email: 'Format email tidak sesuai',
|
||||
},
|
||||
password: {
|
||||
required: 'Kata Sandi wajib diisi',
|
||||
},
|
||||
password_confirmation: {
|
||||
required: 'Konfirmasi Kata Sandi wajib diisi',
|
||||
equalTo: 'Konfirmasi Kata Sandi tidak sesuai',
|
||||
minlength: 'Password minimal 8 karakter',
|
||||
},
|
||||
terms: {
|
||||
required: 'Anda harus menyetujui ketentuan layanan',
|
||||
},
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
error.addClass('invalid-feedback');
|
||||
element.closest('.mb-6, .form-control-validation').append(error);
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).addClass('is-invalid');
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).removeClass('is-invalid');
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-12">
|
||||
<!-- <div class="col-lg-6 col-sm-12">
|
||||
<div class="card card-border-shadow-danger h-100">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
@@ -63,6 +63,25 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="col-lg-3 col-sm-6">
|
||||
<div class="card card-border-shadow-info h-100">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<div class="avatar me-4">
|
||||
<span class="avatar-initial rounded bg-label-warning">
|
||||
<i class="icon-base ti tabler-star icon-28px"></i>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="mb-0">{{ number_format($skorAverage, 2, ',', '.') }}</h4>
|
||||
</div>
|
||||
<p class="mb-1">Rata-rata Indeks Kesiapan Adopsi</p>
|
||||
<p class="mb-0">
|
||||
<span class="text-heading fw-medium me-2">{{ $segmenAverage }}</span>
|
||||
<small class="text-body-info">komoditas utama</small>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -78,6 +97,11 @@
|
||||
<div class="card-body">
|
||||
<table class="table card-table table-border-top-0 table-border-bottom-0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="w-60 ps-0"></td>
|
||||
<td class="text-end pe-0">Petani</td>
|
||||
<td class="text-end pe-0">%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-60 ps-0">
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
@@ -159,7 +183,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-12">
|
||||
<!-- <div class="col-lg-6 col-sm-12">
|
||||
<div class="card h-100">
|
||||
<div class="card-header d-flex justify-content-between align-items-center">
|
||||
<div class="card-title mb-0">
|
||||
@@ -210,7 +234,471 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="col-lg-6 col-sm-12">
|
||||
<div class="card h-100">
|
||||
<div class="card-header d-flex justify-content-between align-items-center">
|
||||
<div class="card-title mb-0">
|
||||
<h5 class="m-0 me-2">Segmentasi Multi Dimensi Petani</h5>
|
||||
<p class="card-subtitle">untuk semua komoditas</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table card-table table-border-top-0 table-border-bottom-0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="w-60 ps-0"></td>
|
||||
<td class="text-end pe-0">Indeks</td>
|
||||
<td class="text-end pe-0">D1</td>
|
||||
<td class="text-end pe-0">D2</td>
|
||||
<td class="text-end pe-0">D3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-60 ps-0">
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="me-2">
|
||||
<i class="icon-base ti tabler-crown icon-lg text-heading"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0 fw-normal text-success">Penggerak (4.0 - 5.0)</h6>
|
||||
<!-- <small class="text-body-secondary text-wrap">Siap menjadi peserta agrolab utama dan panutan bagi petani lain</small> -->
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Penggerak')->value('skor_kesiapan_adopsi'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Penggerak')->value('skor_d2_sistem_praktik_budidaya'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Penggerak')->value('skor_d4_sosial_ekonomi'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Penggerak')->value('skor_d6_rantai_nilai_akses_pasar'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-60 ps-0">
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="me-2">
|
||||
<i class="icon-base ti tabler-flag icon-lg text-heading"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0 fw-normal text-info">Perintis (3.0 - 3.9)</h6>
|
||||
<!-- <small class="text-body-secondary text-wrap">Berpotensi berkembang menjadi Penggerak dengan dukungan yang tepat</small> -->
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Perintis')->value('skor_kesiapan_adopsi'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Perintis')->value('skor_d2_sistem_praktik_budidaya'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Perintis')->value('skor_d4_sosial_ekonomi'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Perintis')->value('skor_d6_rantai_nilai_akses_pasar'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-60 ps-0">
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="me-2">
|
||||
<i class="icon-base ti tabler-eye icon-lg text-heading text-success"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0 fw-normal text-warning">Pemerhati (2.0 - 2.9)</h6>
|
||||
<!-- <small class="text-body-secondary text-wrap">Perlu melihat bukti hasil nyata dari Penggerak sebelum mau bergerak</small> -->
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Pemerhati')->value('skor_kesiapan_adopsi'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Pemerhati')->value('skor_d2_sistem_praktik_budidaya'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Pemerhati')->value('skor_d4_sosial_ekonomi'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Pemerhati')->value('skor_d6_rantai_nilai_akses_pasar'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-60 ps-0">
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="me-2">
|
||||
<i class="icon-base ti tabler-seedling icon-lg text-heading"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0 fw-normal text-danger">Pemula (1.0 - 1.9)</h6>
|
||||
<!-- <small class="text-body-secondary text-wrap">Butuh penanganan hambatan dasar terlebih dahulu sebelum intervensi langsung</small> -->
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Pemula')->value('skor_kesiapan_adopsi'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Pemula')->value('skor_d2_sistem_praktik_budidaya'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Pemula')->value('skor_d4_sosial_ekonomi'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
<td class="text-end pe-0">
|
||||
<span>{{ number_format($skorMultiDimensi->where('segmen', 'Pemula')->value('skor_d6_rantai_nilai_akses_pasar'), 2, '.', ',') }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-6 py-4">
|
||||
<div class="col-lg-6 col-sm-12">
|
||||
<div class="card h-100">
|
||||
<div class="card-header d-flex justify-content-between align-items-center">
|
||||
<div class="card-title mb-0">
|
||||
<h5 class="m-0 me-2">Rata-rata Dimensi Kesiapan Adopsi</h5>
|
||||
<p class="card-subtitle">untuk semua komoditas</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="chart-dimensi"></div>
|
||||
<div class="d-flex flex-wrap gap-3 mt-3 small justify-content-center">
|
||||
<div>
|
||||
<span class="badge bg-label-primary">D1</span> Sistem & Praktik Budidaya
|
||||
</div>
|
||||
<div>
|
||||
<span class="badge bg-label-primary">D2</span> Sosial Ekonomi Rumah Tangga
|
||||
</div>
|
||||
<div>
|
||||
<span class="badge bg-label-primary">D3</span> Rantai Nilai & Akses Pasar
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-12">
|
||||
<div class="card h-100">
|
||||
<div class="card-header d-flex justify-content-between align-items-center">
|
||||
<div class="card-title mb-0">
|
||||
<h5 class="m-0 me-2">Rata-rata Komponen Kesiapan Adopsi</h5>
|
||||
<p class="card-subtitle">untuk semua komoditas</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="chart-komponen"></div>
|
||||
<div class="d-flex flex-wrap gap-3 mt-3 small justify-content-center">
|
||||
<div>
|
||||
<span class="badge bg-label-primary">K1</span> Motivasi & Kapasitas Adopsi
|
||||
</div>
|
||||
<div>
|
||||
<span class="badge bg-label-primary">K2</span> Kondisi Ekonomi Rumah Tangga
|
||||
</div>
|
||||
<div>
|
||||
<span class="badge bg-label-primary">K3</span> Praktik Budidaya & GAP
|
||||
</div>
|
||||
<div>
|
||||
<span class="badge bg-label-primary">K4</span> Keterlibatan Kelembagaan
|
||||
</div>
|
||||
<div>
|
||||
<span class="badge bg-label-primary">K5</span> Akses & Kebebasan Keuangan
|
||||
</div>
|
||||
<div>
|
||||
<span class="badge bg-label-primary">K6</span> Rantai Nilai & Akses Pasar
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-6 py-4">
|
||||
<div class="col-lg-12 col-sm-12">
|
||||
<div class="card h-100">
|
||||
<div class="card-header d-flex justify-content-between align-items-center">
|
||||
<div class="card-title mb-0">
|
||||
<h5 class="m-0 me-2">Segmentasi Petani</h5>
|
||||
<p class="card-subtitle">untuk semua komoditas</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive text-nowrap">
|
||||
<table class="table card-table table-border-top-0 table-border-bottom-0" id="tabel-petani">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Petani</th>
|
||||
<th>Jenis Kelamin</th>
|
||||
<th>Usia</th>
|
||||
<th>Komoditas Utama</th>
|
||||
<th>Segmentasi</th>
|
||||
<th>Indeks</th>
|
||||
<th>D2</th>
|
||||
<th>D4</th>
|
||||
<th>D6</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($petani as $item)
|
||||
<tr>
|
||||
<td><span class="text-heading">{{ $item->nama }}</span></td>
|
||||
<td>{{ $item->jenis_kelamin ? 'Laki-laki' : 'Perempuan' }}</td>
|
||||
<td>{{ $item->umur }} tahun</td>
|
||||
<td>{{ $item->komoditas?->nama }}</td>
|
||||
<td>
|
||||
@if($item->segmen() == 'Penggerak')
|
||||
<span class="badge bg-label-success">Penggerak</span>
|
||||
@elseif($item->segmen() == 'Perintis')
|
||||
<span class="badge bg-label-info">Perintis</span>
|
||||
@elseif($item->segmen() == 'Pemerhati')
|
||||
<span class="badge bg-label-warning">Pemerhati</span>
|
||||
@elseif($item->segmen() == 'Pemula')
|
||||
<span class="badge bg-label-danger">Pemula</span>
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ number_format($item->skor?->skor_kesiapan_adopsi, 2, '.', ',') }}</td>
|
||||
<td>{{ number_format($item->skor?->skor_d2_sistem_praktik_budidaya, 2, '.', ',') }}</td>
|
||||
<td>{{ number_format($item->skor?->skor_d4_sosial_ekonomi, 2, '.', ',') }}</td>
|
||||
<td>{{ number_format($item->skor?->skor_d6_rantai_nilai_akses_pasar, 2, '.', ',') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$("#tabel-petani").DataTable({
|
||||
"paging": true,
|
||||
"lengthChange": true,
|
||||
"searching": true,
|
||||
"ordering": false,
|
||||
"info": true,
|
||||
"autoWidth": false,
|
||||
"responsive": true,
|
||||
})
|
||||
|
||||
|
||||
let cardColor, labelColor, fontFamily, headingColor, shadeColor, legendColor, borderColor, barBgColor;
|
||||
if (isDarkStyle) {
|
||||
barBgColor = '#3d4157';
|
||||
shadeColor = 'dark';
|
||||
} else {
|
||||
barBgColor = '#efeef0';
|
||||
shadeColor = '';
|
||||
}
|
||||
cardColor = config.colors.cardColor;
|
||||
labelColor = config.colors.textMuted;
|
||||
legendColor = config.colors.bodyColor;
|
||||
borderColor = config.colors.borderColor;
|
||||
headingColor = config.colors.headingColor;
|
||||
|
||||
var radarDimensi = new ApexCharts($("#chart-dimensi")[0],
|
||||
options = {
|
||||
chart: {
|
||||
height: 340,
|
||||
type: 'radar',
|
||||
toolbar: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "Rata-rata Dimensi Kesiapan Adopsi",
|
||||
data: [{{ round($skorDimensi->skor_d2_sistem_praktik_budidaya, 2) }},
|
||||
{{ round($skorDimensi->skor_d4_sosial_ekonomi, 2) }},
|
||||
{{ round($skorDimensi->skor_d6_rantai_nilai_akses_pasar, 2) }}]
|
||||
}
|
||||
],
|
||||
labels: ['Sistem & Praktik Budidaya', 'Sosial Ekonomi Rumah Tangga', 'Rantai Nilai & Akses Pasar'],
|
||||
plotOptions: {
|
||||
radar: {
|
||||
polygons: {
|
||||
strokeColors: borderColor,
|
||||
connectorColors: borderColor
|
||||
}
|
||||
}
|
||||
},
|
||||
stroke: {
|
||||
width: 2
|
||||
},
|
||||
legend: {
|
||||
show: true,
|
||||
fontSize: '13px',
|
||||
position: 'bottom',
|
||||
labels: {
|
||||
colors: legendColor,
|
||||
useSeriesColors: false
|
||||
},
|
||||
markers: {
|
||||
height: 12,
|
||||
width: 12
|
||||
},
|
||||
itemMargin: {
|
||||
horizontal: 10
|
||||
},
|
||||
onItemHover: {
|
||||
highlightDataSeries: false
|
||||
}
|
||||
},
|
||||
colors: [config.colors.primary, config.colors.info],
|
||||
fill: {
|
||||
opacity: 0.85
|
||||
},
|
||||
markers: {
|
||||
show: true,
|
||||
width: 1,
|
||||
},
|
||||
grid: {
|
||||
show: false,
|
||||
padding: {
|
||||
top: -25,
|
||||
bottom: -5
|
||||
}
|
||||
},
|
||||
xaxis: {
|
||||
categories: ['D1', 'D2', 'D3'],
|
||||
labels: {
|
||||
show: true,
|
||||
style: {
|
||||
colors: [labelColor, labelColor, labelColor, labelColor, labelColor, labelColor],
|
||||
fontSize: '13px',
|
||||
fontFamily: fontFamily
|
||||
}
|
||||
}
|
||||
},
|
||||
yaxis: {
|
||||
show: true,
|
||||
min: 0,
|
||||
max: 5,
|
||||
tickAmount: 5
|
||||
},
|
||||
responsive: [
|
||||
{
|
||||
breakpoint: 769,
|
||||
options: {
|
||||
chart: {
|
||||
height: 400
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
radarDimensi.render();
|
||||
|
||||
|
||||
var radarKomponen = new ApexCharts($("#chart-komponen")[0],
|
||||
options = {
|
||||
chart: {
|
||||
height: 340,
|
||||
type: 'radar',
|
||||
toolbar: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "Rata-rata Komponen Kesiapan Adopsi",
|
||||
data: [
|
||||
{{ round($skorKomponen->skor_komp_1_d4_k3_motivasi_kapasitas_adopsi, 2) }},
|
||||
{{ round($skorKomponen->skor_komp_2_d4_k2_ekonomi_rumah_tangga, 2) }},
|
||||
{{ round($skorKomponen->skor_komp_3_d2_praktik_budidaya_gap, 2) }},
|
||||
{{ round($skorKomponen->skor_komp_4_d4_k4_keterlibatan_kelembagaan, 2) }},
|
||||
{{ round($skorKomponen->skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan, 2) }},
|
||||
{{ round($skorKomponen->skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar, 2) }}
|
||||
]
|
||||
}
|
||||
],
|
||||
lotOptions: {
|
||||
radar: {
|
||||
polygons: {
|
||||
strokeColors: borderColor,
|
||||
connectorColors: borderColor
|
||||
}
|
||||
}
|
||||
},
|
||||
stroke: {
|
||||
width: 2
|
||||
},
|
||||
legend: {
|
||||
show: true,
|
||||
fontSize: '13px',
|
||||
position: 'bottom',
|
||||
labels: {
|
||||
colors: legendColor,
|
||||
useSeriesColors: false
|
||||
},
|
||||
markers: {
|
||||
height: 12,
|
||||
width: 12
|
||||
},
|
||||
itemMargin: {
|
||||
horizontal: 10
|
||||
},
|
||||
onItemHover: {
|
||||
highlightDataSeries: false
|
||||
}
|
||||
},
|
||||
colors: [config.colors.primary, config.colors.info],
|
||||
fill: {
|
||||
opacity: 0.85
|
||||
},
|
||||
markers: {
|
||||
show: true,
|
||||
width: 1,
|
||||
},
|
||||
grid: {
|
||||
show: false,
|
||||
padding: {
|
||||
top: -25,
|
||||
bottom: -5
|
||||
}
|
||||
},
|
||||
xaxis: {
|
||||
categories: ['K1', 'K2', 'K3', 'K4', 'K5', 'K6'],
|
||||
labels: {
|
||||
show: true,
|
||||
style: {
|
||||
colors: [labelColor, labelColor, labelColor, labelColor, labelColor, labelColor],
|
||||
fontSize: '13px',
|
||||
fontFamily: fontFamily
|
||||
}
|
||||
}
|
||||
},
|
||||
yaxis: {
|
||||
show: true,
|
||||
min: 0,
|
||||
max: 5,
|
||||
tickAmount: 5
|
||||
},
|
||||
responsive: [
|
||||
{
|
||||
breakpoint: 769,
|
||||
options: {
|
||||
chart: {
|
||||
height: 400
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
radarKomponen.render();
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -106,6 +106,7 @@
|
||||
<i class="icon-base ti tabler-circles icon-lg"></i><span class="fw-medium mx-2">Role:</span>
|
||||
<span>{{ $profile->role ?? 'N/A' }}</span>
|
||||
</li>
|
||||
@if(auth()->user()->role === \App\Enums\Role::PETANI)
|
||||
<li class="d-flex align-items-start mb-4">
|
||||
<i class="icon-base ti tabler-id icon-lg"></i><span class="fw-medium mx-2">No KTP:</span>
|
||||
<span>{{ $profile->ktp ?? 'N/A' }}</span>
|
||||
@@ -114,6 +115,7 @@
|
||||
<i class="icon-base ti tabler-users icon-lg"></i><span class="fw-medium mx-2">No KK:</span>
|
||||
<span>{{ $profile->kk ?? 'N/A' }}</span>
|
||||
</li>
|
||||
@endif
|
||||
<li class="d-flex align-items-start mb-0">
|
||||
<i class="icon-base ti tabler-map-pin icon-lg flex-shrink-0"></i><span class="fw-medium mx-2">Alamat:</span>
|
||||
<span>{{ $alamatLengkap ?? 'N/A' }}</span>
|
||||
@@ -268,16 +270,18 @@
|
||||
</div>
|
||||
<div class="mb-4">
|
||||
<label class="form-label" for="quick-profile-telepon">Telepon</label>
|
||||
<input type="text" class="form-control" id="quick-profile-telepon" name="telepon" value="{{ $profile->telepon }}" maxlength="13" required>
|
||||
<input type="text" class="form-control" id="quick-profile-telepon" name="telepon" value="{{ $profile->telepon }}" maxlength="13">
|
||||
</div>
|
||||
@if($profile->role === \App\Enums\Role::PETANI->value)
|
||||
<div class="mb-4">
|
||||
<label class="form-label" for="quick-profile-ktp">No KTP</label>
|
||||
<input type="text" class="form-control" id="quick-profile-ktp" name="ktp" value="{{ $profile->ktp }}" maxlength="16">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-4">
|
||||
<label class="form-label" for="quick-profile-kk">No KK</label>
|
||||
<input type="text" class="form-control" id="quick-profile-kk" name="kk" value="{{ $profile->kk }}" maxlength="16">
|
||||
</div>
|
||||
@endif
|
||||
<div class="mb-4">
|
||||
<label class="form-label" for="quick-profile-alamat">Alamat</label>
|
||||
<textarea class="form-control" id="quick-profile-alamat" name="alamat" rows="4">{{ $profile->alamat }}</textarea>
|
||||
|
||||
@@ -80,6 +80,7 @@
|
||||
<script src="{{ asset('assets/js/dashboards-analytics.js') }}"></script>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/jquery.validate.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/additional-methods.min.js"></script>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-4 form-control-validation">
|
||||
<label class="form-label" for="edit-profile-telepon">No. Telepon<span class="text-danger">*</span></label>
|
||||
<label class="form-label" for="edit-profile-telepon">No. Telepon</label>
|
||||
<input type="text" class="form-control" id="edit-profile-telepon" name="telepon" value="{{ $profile->telepon }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -213,8 +213,8 @@
|
||||
@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 (min 0)" required />
|
||||
<label class="form-label">Jumlah Tanaman</label>
|
||||
<input type="number" name="jumlah_tanaman" class="form-control @error('jumlah_tanaman') is-invalid @enderror" placeholder="Contoh: 1 (min 0)" />
|
||||
@error('jumlah_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-3 mb-3 form-control-validation">
|
||||
@@ -302,9 +302,9 @@
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Tanaman Penaung</label>
|
||||
<select id="tanaman_penaung" name="tanaman_penaung[]" class="form-select @error('tanaman_penaung[]') is-invalid @enderror" multiple>
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditas as $k)
|
||||
<option value="{{ $k->id }}">{{ $k->nama }}</option>
|
||||
<option value="">Pilih Tanaman atau ketik jika tidak ada</option>
|
||||
@foreach($tanamanPenaung as $k)
|
||||
<option value="{{ $k->nama }}">{{ $k->nama }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('tanaman_penaung[]')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
@@ -429,7 +429,9 @@
|
||||
$('#penyakit_tanaman').select2();
|
||||
$('#keparahan_serangan').select2();
|
||||
$('#komoditas_lain').select2();
|
||||
$('#tanaman_penaung').select2();
|
||||
$('#tanaman_penaung').select2({
|
||||
tags: true
|
||||
});
|
||||
|
||||
$('#provinsi_id').select2().change(function(e) {
|
||||
e.preventDefault();
|
||||
@@ -770,7 +772,7 @@
|
||||
kabupatenkota_id: { required: true },
|
||||
kecamatan_id: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
jumlah_tanaman: { required: true, number: true, min: 0 },
|
||||
jumlah_tanaman: { number: true, min: 0 },
|
||||
umur_lahan: { number: true, min: 1 },
|
||||
umur_tanaman: { required: true, number: true, min: 1 },
|
||||
kondisi_tanaman: { required: true },
|
||||
@@ -784,7 +786,7 @@
|
||||
kabupatenkota_id: { required: "Kabupaten/Kota wajib diisi" },
|
||||
kecamatan_id: { required: "Kecamatan wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
jumlah_tanaman: { required: "Jumlah tanaman wajib diisi", number: "Jumlah tanaman harus berupa angka", min: "Jumlah tanaman minimal 0" },
|
||||
jumlah_tanaman: { number: "Jumlah tanaman harus berupa angka", min: "Jumlah tanaman minimal 0" },
|
||||
umur_lahan: { number: "Umur lahan harus berupa angka", min: "Umur lahan minimal 1 tahun" },
|
||||
umur_tanaman: { required: "Umur tanaman wajib diisi", number: "Umur tanaman harus berupa angka", min: "Umur tanaman minimal 1 tahun" },
|
||||
kondisi_tanaman: { required: "Kondisi tanaman wajib diisi" },
|
||||
|
||||
@@ -85,8 +85,8 @@
|
||||
@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 (min 0)" required
|
||||
<label class="form-label">Jumlah Tanaman</label>
|
||||
<input type="number" name="jumlah_tanaman" class="form-control @error('jumlah_tanaman') is-invalid @enderror" placeholder="Contoh: 1 (min 0)"
|
||||
value="{{ old('jumlah_tanaman', $lahanSelected->jumlah_tanaman) }}" />
|
||||
@error('jumlah_tanaman')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
@@ -187,10 +187,10 @@
|
||||
<div class="col-md-6 mb-3 form-control-validation">
|
||||
<label class="form-label">Tanaman Penaung</label>
|
||||
<select id="tanaman_penaung" name="tanaman_penaung[]" class="form-select @error('tanaman_penaung[]') is-invalid @enderror" multiple>
|
||||
<option value="">Pilih Komoditas</option>
|
||||
@foreach($komoditas as $k)
|
||||
<option value="{{ $k->id }}"
|
||||
{{ in_array($k->id, old('tanaman_penaung', $lahanSelected->tanaman_penaung ?? [])) ? 'selected' : '' }}>
|
||||
<option value="">Pilih Tanaman atau ketik jika tidak ada</option>
|
||||
@foreach($tanamanPenaung as $k)
|
||||
<option value="{{ $k->nama }}"
|
||||
{{ in_array($k->nama, old('tanaman_penaung', $lahanSelected->tanaman_penaung ?? [])) ? 'selected' : '' }}>
|
||||
{{ $k->nama }}
|
||||
</option>
|
||||
@endforeach
|
||||
@@ -420,7 +420,9 @@
|
||||
$('#penyakit_tanaman').select2();
|
||||
$('#keparahan_serangan').select2();
|
||||
$('#komoditas_lain').select2();
|
||||
$('#tanaman_penaung').select2();
|
||||
$('#tanaman_penaung').select2({
|
||||
tags: true
|
||||
});
|
||||
|
||||
$('#table-tanaman').DataTable({
|
||||
"paging": true,
|
||||
@@ -843,7 +845,7 @@
|
||||
jenis_komoditas_id: { required: true },
|
||||
varietas_id: { required: true },
|
||||
desa_kelurahan_id: { required: true },
|
||||
jumlah_tanaman: { required: true, min: @json($lahanSelected->jumlah_tanaman) },
|
||||
jumlah_tanaman: { min: @json($lahanSelected->jumlah_tanaman) },
|
||||
},
|
||||
messages: {
|
||||
luas_lahan: { required: "Luas lahan wajib diisi" },
|
||||
@@ -851,7 +853,7 @@
|
||||
jenis_komoditas_id: { required: "Jenis komoditas wajib diisi" },
|
||||
varietas_id: { required: "Varietas wajib diisi" },
|
||||
desa_kelurahan_id: { required: "Desa/Kelurahan wajib diisi" },
|
||||
jumlah_tanaman: { required: "Jumlah tanaman wajib diisi", min: "Jumlah tanaman tidak boleh kurang dari @json($lahanSelected->jumlah_tanaman), hapus pada tanaman yang dimaksud" },
|
||||
jumlah_tanaman: { min: "Jumlah tanaman tidak boleh kurang dari @json($lahanSelected->jumlah_tanaman), hapus pada tanaman yang dimaksud" },
|
||||
},
|
||||
errorElement: 'div',
|
||||
errorPlacement: function (error, element) {
|
||||
|
||||
Reference in New Issue
Block a user