bring to final akses pasar

This commit is contained in:
2026-07-09 22:30:31 +07:00
parent 9557d1ec64
commit 79f6426125
7 changed files with 357 additions and 93 deletions
@@ -32,17 +32,18 @@
<div class="card-body pt-12">
<h5 class="pb-3 border-bottom mb-4">Pengalaman Saluran Lain</h5>
<div class="row">
<div class="col-md-6 mb-4 form-control-validation">
<label class="form-label" for="skor-pengalaman">Pengalaman & akses ke saluran lain</label>
<select class="form-control select2-init @error('skor_pengalaman') is-invalid @enderror" id="skor-pengalaman" name="skor_pengalaman">
<option value="">Pilih Skala</option>
<option value="1" {{ old('skor_pengalaman', $aksesPasar?->skor_pengalaman) == 1 ? 'selected' : '' }}>Belum pernah coba saluran lain</option>
<option value="2" {{ old('skor_pengalaman', $aksesPasar?->skor_pengalaman) == 2 ? 'selected' : '' }}>Pernah, sudah berhenti & tidak ada akses</option>
<option value="3" {{ old('skor_pengalaman', $aksesPasar?->skor_pengalaman) == 3 ? 'selected' : '' }}>Pernah, berhenti tapi masih mungkin kembali</option>
<option value="4" {{ old('skor_pengalaman', $aksesPasar?->skor_pengalaman) == 4 ? 'selected' : '' }}>Pernah & sesekali masih jual ke sana</option>
<option value="5" {{ old('skor_pengalaman', $aksesPasar?->skor_pengalaman) == 5 ? 'selected' : '' }}>Pernah & masih punya akses aktif</option>
</select>
@error('skor_pengalaman')<div class="invalid-feedback">{{ $message }}</div>@enderror
<label class="form-label d-block fw-bold">Pengalaman & akses ke saluran lain</label>
@foreach($skorPengalamanOptions as $option)
<div class="form-check mb-2">
<input class="form-check-input @error('skor_pengalaman') is-invalid @enderror" type="radio"
id="skor-pengalaman-{{ $option['value'] }}" name="skor_pengalaman" value="{{ $option['value'] }}"
{{ (string) old('skor_pengalaman', $aksesPasar?->skor_pengalaman) === (string) $option['value'] ? 'checked' : '' }}>
<label class="form-check-label" for="skor-pengalaman-{{ $option['value'] }}">{{ $option['label'] }}</label>
</div>
@endforeach
@error('skor_pengalaman')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</div>
<div class="col-md-4 mb-4 form-control-validation">
@@ -52,15 +53,21 @@
</div>
<div class="col-md-6 mb-4 form-control-validation">
<label class="form-label" for="saluran-terdahulu">Dulu pernah jual ke?</label>
@php($saluran = old('saluran_terdahulu', $aksesPasar?->saluran_terdahulu ?? []))
<select multiple class="form-control select2-init @error('saluran_terdahulu') is-invalid @enderror" id="saluran-terdahulu" name="saluran_terdahulu[]">
<option value="Tengkulak–pedagang lokal" {{ in_array('Tengkulak–pedagang lokal', $saluran) ? 'selected' : '' }}>Tengkulak–pedagang lokal</option>
<option value="Koperasi" {{ in_array('Koperasi', $saluran) ? 'selected' : '' }}>Koperasi</option>
<option value="BUMDes" {{ in_array('BUMDes', $saluran) ? 'selected' : '' }}>BUMDes</option>
<option value="Langsung ke pembeli–eksportir" {{ in_array('Langsung ke pembeli–eksportir', $saluran) ? 'selected' : '' }}>Langsung ke pembeli–eksportir</option>
</select>
@error('saluran_terdahulu')<div class="invalid-feedback">{{ $message }}</div>@enderror
<label class="form-label d-block mb-2" for="saluran-terdahulu">Dulu pernah jual ke?</label>
@foreach($saluranTerdahuluOptions as $option)
<div class="form-check mb-2">
<input class="form-check-input @error('saluran_terdahulu') is-invalid @enderror"
type="checkbox"
id="saluran-terdahulu-{{ Str::slug($option['value']) }}"
name="saluran_terdahulu[]"
value="{{ $option['value'] }}"
{{ in_array($option['value'], (array) old('saluran_terdahulu', $aksesPasar?->saluran_terdahulu ?? []), true) ? 'checked' : '' }}>
<label class="form-check-label" for="saluran-terdahulu-{{ Str::slug($option['value']) }}">
{{ $option['label'] }}
</label>
</div>
@endforeach
@error('saluran_terdahulu')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</div>
<div class="col-md-4 mb-4 form-control-validation">
@@ -125,33 +132,37 @@
<h5 class="pb-3 border-bottom mb-4 mt-4">PELUANG NILAI TAMBAH</h5>
<div class="border rounded p-4 mb-4" style="background-color: #fbfbfc;">
<div class="border rounded p-4 mb-4">
<div class="mb-4">
<h6 class="mb-1 text-primary">Detail Praktik Fermentasi</h6>
<p class="text-muted small mb-0">Apakah sudah ada praktik fermentasi atau pengolahan pascapanen yang Ibu/Bapak lakukan?</p>
</div>
<div class="row">
<div class="col-md-4 mb-9 form-control-validation d-flex flex-column">
<div class="mb-2 d-flex align-items-end h-100">
<div class="col-md-4 mb-4 form-control-validation d-flex flex-column">
<div class="mb-2 d-flex align-items-end">
<label class="form-label mb-0" for="praktik-fermentasi">Praktik fermentasi yang dilakukan</label>
</div>
<div>
<select class="form-control select2-init @error('praktik_fermentasi') is-invalid @enderror" id="praktik-fermentasi" name="praktik_fermentasi">
<option value="">Pilih</option>
<option value="Ya, rutin — dilakukan sendiri/individual" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Ya, rutin — dilakukan sendiri/individual' ? 'selected' : '' }}>Ya, rutin — dilakukan sendiri/individual</option>
<option value="Ya, rutin — bersama kelompok tani/kolektif" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Ya, rutin — bersama kelompok tani/kolektif' ? 'selected' : '' }}>Ya, rutin — bersama kelompok tani/kolektif</option>
<option value="Pernah mencoba — sendiri" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Pernah mencoba — sendiri' ? 'selected' : '' }}>Pernah mencoba — sendiri</option>
<option value="Pernah mencoba — bersama kelompok" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Pernah mencoba — bersama kelompok' ? 'selected' : '' }}>Pernah mencoba — bersama kelompok</option>
<option value="Belum pernah" {{ old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) == 'Belum pernah' ? 'selected' : '' }}>Belum pernah</option>
</select>
@error('praktik_fermentasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
@foreach($praktikFermentasiOptions as $option)
<div class="form-check mb-2">
<input class="form-check-input @error('praktik_fermentasi') is-invalid @enderror"
type="radio"
id="praktik-fermentasi-{{ Str::slug($option['value']) }}"
name="praktik_fermentasi"
value="{{ $option['value'] }}"
{{ (string) old('praktik_fermentasi', $aksesPasar?->praktik_fermentasi) === (string) $option['value'] ? 'checked' : '' }}>
<label class="form-check-label" for="praktik-fermentasi-{{ Str::slug($option['value']) }}">
{{ $option['label'] }}
</label>
</div>
@endforeach
@error('praktik_fermentasi')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</div>
</div>
<div class="col-md-4 mb-4 form-control-validation d-flex flex-column">
<div class="mb-2 d-flex align-items-end h-100">
<div class="mb-2 d-flex align-items-end">
<label class="form-label mb-0" for="proses-fermentasi">Jika ya, bagaimana prosesnya?</label>
</div>
<div>
@@ -161,7 +172,7 @@
</div>
<div class="col-md-4 mb-4 form-control-validation d-flex flex-column">
<div class="mb-2 d-flex align-items-end h-100">
<div class="mb-2 d-flex align-items-end">
<label class="form-label mb-0" for="model-fermentasi">Menurut Bapak/Ibu, apa model yang paling memungkinkan?</label>
</div>
<div>
@@ -176,27 +187,30 @@
<h6 class="mb-3">Kesadaran Pasar Premium*</h6>
<div class="row">
<div class="col-md-6 mb-4 form-control-validation">
<label class="form-label" for="skor-premium">Pengetahuan & akses pasar premium</label>
<select class="form-control select2-init @error('skor_kesadaran_premium') is-invalid @enderror" id="skor-premium" name="skor_kesadaran_premium">
<option value="">Pilih Skala</option>
<option value="1" {{ old('skor_kesadaran_premium', $aksesPasar?->skor_kesadaran_premium) == 1 ? 'selected' : '' }}>Belum pernah dengar</option>
<option value="2" {{ old('skor_kesadaran_premium', $aksesPasar?->skor_kesadaran_premium) == 2 ? 'selected' : '' }}>Pernah dengar tapi belum paham syarat</option>
<option value="3" {{ old('skor_kesadaran_premium', $aksesPasar?->skor_kesadaran_premium) == 3 ? 'selected' : '' }}>Pernah dengar & sedikit paham syarat</option>
<option value="4" {{ old('skor_kesadaran_premium', $aksesPasar?->skor_kesadaran_premium) == 4 ? 'selected' : '' }}>Sangat paham syarat tapi belum pernah akses</option>
<option value="5" {{ old('skor_kesadaran_premium', $aksesPasar?->skor_kesadaran_premium) == 5 ? 'selected' : '' }}>Sudah akses & dapat harga premium konsisten</option>
</select>
@error('skor_kesadaran_premium')<div class="invalid-feedback">{{ $message }}</div>@enderror
<label class="form-label d-block mb-2" for="skor-premium">Pengetahuan & akses pasar premium</label>
@foreach($skorKesadaranPremiumOptions as $option)
<div class="form-check mb-2">
<input class="form-check-input @error('skor_kesadaran_premium') is-invalid @enderror"
type="radio"
id="skor-premium-{{ $option['value'] }}"
name="skor_kesadaran_premium"
value="{{ $option['value'] }}"
{{ (string) old('skor_kesadaran_premium', $aksesPasar?->skor_kesadaran_premium) === (string) $option['value'] ? 'checked' : '' }}>
<label class="form-check-label" for="skor-premium-{{ $option['value'] }}">
{{ $option['label'] }}
</label>
</div>
@endforeach
@error('skor_kesadaran_premium')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</div>
<div class="col-md-6 mb-4 form-control-validation">
<label class="form-label" for="sumber-info">Sumber informasi utama</label>
<label class="form-label mb-2" for="sumber-info">Sumber informasi utama</label>
<input type="text" class="form-control @error('sumber_info_premium') is-invalid @enderror" id="sumber-info" name="sumber_info_premium" value="{{ old('sumber_info_premium', $aksesPasar?->sumber_info_premium) }}">
@error('sumber_info_premium')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
<div class="mt-4 text-end">
<button type="submit" class="btn btn-success">
<i class="icon-base ti tabler-device-floppy me-1_5 icon-sm"></i>Simpan Akses Pasar
@@ -214,10 +228,38 @@
<script>
'use strict';
$(document).ready(function () {
$('.select2-init').select2({
placeholder: "Pilih opsi...",
allowClear: true
});
const saluranLainnyaValue = @json($saluranLainnyaValue);
const praktikBelumPernahValue = String(@json($praktikBelumPernahValue));
const skorPengalamanBerhentiValues = @json($skorPengalamanBerhentiValues ?? [2,3]).map(Number);
function syncAlasanBerhenti() {
const val = Number($('input[name="skor_pengalaman"]:checked').val());
const isBerhenti = skorPengalamanBerhentiValues.includes(val);
$('#alasan-berhenti').prop('disabled', !isBerhenti);
if (!isBerhenti) $('#alasan-berhenti').val('');
}
function syncSaluranLainnya() {
const isLainnya = $('input[name="saluran_terdahulu[]"][value="' + saluranLainnyaValue + '"]').is(':checked');
$('#saluran-lainnya').prop('disabled', !isLainnya);
if (!isLainnya) $('#saluran-lainnya').val('');
}
function syncPraktikFermentasi() {
const isBelumPernah = $('input[name="praktik_fermentasi"]:checked').val() === praktikBelumPernahValue;
$('#proses-fermentasi, #model-fermentasi').prop('disabled', isBelumPernah);
if (isBelumPernah) {
$('#proses-fermentasi, #model-fermentasi').val('');
}
}
$('input[name="skor_pengalaman"]').on('change', syncAlasanBerhenti);
$('input[name="saluran_terdahulu[]"]').on('change', syncSaluranLainnya);
$('input[name="praktik_fermentasi"]').on('change', syncPraktikFermentasi);
syncAlasanBerhenti();
syncSaluranLainnya();
syncPraktikFermentasi();
});
</script>
@endpush