Update BUMDes

This commit is contained in:
2026-11-05 19:20:05 +07:00
parent 9cdd178297
commit c55ff109a0
73 changed files with 6699 additions and 1548 deletions
@@ -0,0 +1,449 @@
@extends('layout.main')
@php
$fieldValue = fn (string $field, $default = null) => old($field, data_get($kelembagaanAktor, $field, $default));
$textValue = fn (string $field) => is_scalar($value = $fieldValue($field)) ? (string) $value : '';
$moneyValue = function (string $field) use ($textValue) {
$value = $textValue($field);
return preg_match('/^\d+(\.00)?$/D', $value) ? preg_replace('/\B(?=(\d{3})+(?!\d))/', '.', explode('.', $value)[0]) : $value;
};
$trading = in_array($fieldValue('melakukan_jual_beli'), [true, 1, '1'], true);
$sourcesSelected = (array) $fieldValue('sumber_pasokan', []);
$purchasedSelected = (array) $fieldValue('bentuk_produk_dibeli', []);
$channelsSelected = (array) $fieldValue('saluran_penjualan', []);
$soldSelected = (array) $fieldValue('bentuk_produk_dijual', []);
$relationshipsSelected = (array) $fieldValue('hubungan_petani_pemasok', []);
$notSold = in_array(\App\Enums\Bumdes\SaluranPenjualanBumdes::BELUM_MENJUAL->value, $channelsSelected, true);
$otherSource = $trading && in_array(\App\Enums\Bumdes\SumberPasokanBumdes::LAINNYA->value, $sourcesSelected, true);
$otherChannel = $trading && in_array(\App\Enums\Bumdes\SaluranPenjualanBumdes::LAINNYA->value, $channelsSelected, true);
$otherRelationship = $trading && in_array(\App\Enums\Bumdes\HubunganPemasokBumdes::LAINNYA->value, $relationshipsSelected, true);
$otherPayment = $trading && $fieldValue('mekanisme_pembayaran_petani') === \App\Enums\Bumdes\MekanismePembayaranBumdes::LAINNYA->value;
$otherPrice = $trading && $fieldValue('penetapan_harga_beli') === \App\Enums\Bumdes\PenetapanHargaBeliBumdes::LAINNYA->value;
$processing = in_array($fieldValue('melakukan_pengolahan_pascapanen'), [true, 1, '1'], true);
$sortingActive = $processing && in_array($fieldValue('status_sortasi'), [\App\Enums\Bumdes\StatusSortasiBumdes::RUTIN_STANDAR->value, \App\Enums\Bumdes\StatusSortasiBumdes::TIDAK_KONSISTEN->value], true);
$dryingActive = $processing && in_array($fieldValue('status_pengeringan'), [\App\Enums\Bumdes\StatusPengeringanBumdes::RUTIN->value, \App\Enums\Bumdes\StatusPengeringanBumdes::KADANG->value], true);
$fermentingActive = $processing && in_array($fieldValue('status_fermentasi'), [\App\Enums\Bumdes\StatusFermentasiBumdes::RUTIN->value, \App\Enums\Bumdes\StatusFermentasiBumdes::PERNAH_MENCOBA->value], true);
$fermentationSelected = (array) $fieldValue('model_fermentasi', []);
@endphp
@section('content')
<div class="container-xxl flex-grow-1 container-p-y bumdes-page">
@include('bumdes.profil.header', ['pengurus' => $pengurus])
<form novalidate method="POST" action="{{ route('bumdes.rantai-nilai.store', $pengurus->id) }}" id="rantaiNilaiBumdesForm" data-belum-menjual-value="{{ \App\Enums\Bumdes\SaluranPenjualanBumdes::BELUM_MENJUAL->value }}">
@csrf
<div class="card mb-6" id="section-rantai-pembelian">
<div class="card-body pt-6">
<h5 class="pb-4 border-bottom mb-4">Saluran Pembelian/Sumber Pasokan</h5>
<fieldset class="mb-5">
<legend class="form-label">Kegiatan Jual Beli Komoditas<span class="text-danger">*</span></legend>
<div class="d-flex flex-wrap gap-3">
<div class="form-check">
<input class="form-check-input @error('melakukan_jual_beli') is-invalid @enderror" type="radio" name="melakukan_jual_beli" id="jual-beli-ya" value="1" @checked($trading) required>
<label class="form-check-label" for="jual-beli-ya">Ya</label>
</div>
<div class="form-check">
<input class="form-check-input @error('melakukan_jual_beli') is-invalid @enderror" type="radio" name="melakukan_jual_beli" id="jual-beli-tidak" value="0" @checked(in_array($fieldValue('melakukan_jual_beli'), [false, 0, '0'], true)) required>
<label class="form-check-label" for="jual-beli-tidak">Tidak</label>
</div>
</div>
@error('melakukan_jual_beli')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<fieldset @class(['d-none' => !$trading]) data-rantai-section @disabled(!$trading)>
<fieldset class="mb-5" data-bumdes-choices="sumber_pasokan">
<legend class="form-label">Sumber Pasokan Komoditas</legend>
<p class="text-muted small mb-3">Boleh pilih lebih dari satu.</p>
<div class="row row-gap-3 mb-3">
@foreach($sumberPasokanOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input {{ $errors->has('sumber_pasokan') || $errors->has('sumber_pasokan.*') ? 'is-invalid' : '' }}" type="checkbox" name="sumber_pasokan[]" id="sumber-pasokan-{{ $value }}" value="{{ $value }}" @checked(in_array($value, $sourcesSelected, true))>
<label class="form-check-label" for="sumber-pasokan-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('sumber_pasokan')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
@error('sumber_pasokan.*')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
<div class="row">
<div class="col-md-6 form-control-validation">
<label class="form-label" for="sumber-pasokan-lainnya-detail">Sumber Pasokan Lainnya<span class="text-danger {{ $otherSource ? '' : 'd-none' }}" data-required-for="sumber-pasokan-lainnya-detail">*</span></label>
<input type="text" class="form-control @error('sumber_pasokan_lainnya') is-invalid @enderror" id="sumber-pasokan-lainnya-detail" name="sumber_pasokan_lainnya" value="{{ $textValue('sumber_pasokan_lainnya') }}" placeholder="Sebutkan lainnya" data-ekosistem-other-value="{{ \App\Enums\Bumdes\SumberPasokanBumdes::LAINNYA->value }}" @disabled(!$otherSource) @required($otherSource)>
@error('sumber_pasokan_lainnya')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
</fieldset>
<fieldset class="mb-5">
<legend class="form-label">Bentuk Produk yang Dibeli</legend>
<p class="text-muted small mb-3">Boleh pilih lebih dari satu.</p>
<div class="row row-gap-3 mb-3">
@foreach($bentukProdukOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input {{ $errors->has('bentuk_produk_dibeli') || $errors->has('bentuk_produk_dibeli.*') ? 'is-invalid' : '' }}" type="checkbox" name="bentuk_produk_dibeli[]" id="bentuk-produk-dibeli-{{ $value }}" value="{{ $value }}" @checked(in_array($value, $purchasedSelected, true))>
<label class="form-check-label" for="bentuk-produk-dibeli-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('bentuk_produk_dibeli')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
@error('bentuk_produk_dibeli.*')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<fieldset class="mb-5">
<legend class="form-label">Perkiraan Volume Pembelian Tiga Panen Terakhir</legend>
<div class="row">
@foreach($periodePanenOptions as $period => $label)
<div class="col-md-4 mb-3 form-control-validation">
<label class="form-label" for="volume-pembelian-{{ $period }}">{{ $label }}</label>
<div class="input-group">
<input type="number" min="0" max="999999999999.999" step="0.001" class="form-control @error("volume_pembelian.$period") is-invalid @enderror" id="volume-pembelian-{{ $period }}" name="volume_pembelian[{{ $period }}]" value="{{ $textValue("volume_pembelian.$period") }}">
<span class="input-group-text">kg</span>
</div>
@error("volume_pembelian.$period")<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</div>
@endforeach
</div>
@error('volume_pembelian')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
</fieldset>
<x-bumdes-form-actions redirect-fragment="section-rantai-penjualan" />
</div>
</div>
<div class="card mb-6 {{ $trading ? '' : 'd-none' }}" id="section-rantai-penjualan">
<div class="card-body pt-6">
<h5 class="pb-4 border-bottom mb-4">Saluran Penjualan Utama</h5>
<fieldset @class(['d-none' => !$trading]) data-rantai-section @disabled(!$trading)>
<fieldset class="mb-5" data-bumdes-choices="saluran_penjualan" data-exclusive-value="{{ \App\Enums\Bumdes\SaluranPenjualanBumdes::BELUM_MENJUAL->value }}">
<legend class="form-label">Tujuan Penjualan</legend>
<p class="text-muted small mb-3">Boleh pilih lebih dari satu.</p>
<div class="row row-gap-3 mb-3">
@foreach($saluranPenjualanOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input {{ $errors->has('saluran_penjualan') || $errors->has('saluran_penjualan.*') ? 'is-invalid' : '' }}" type="checkbox" name="saluran_penjualan[]" id="saluran-penjualan-{{ $value }}" value="{{ $value }}" @checked(in_array($value, $channelsSelected, true))>
<label class="form-check-label" for="saluran-penjualan-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('saluran_penjualan')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
@error('saluran_penjualan.*')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
<div class="row">
<div class="col-md-6 form-control-validation">
<label class="form-label" for="saluran-penjualan-lainnya-detail">Saluran Penjualan Lainnya<span class="text-danger {{ $otherChannel ? '' : 'd-none' }}" data-required-for="saluran-penjualan-lainnya-detail">*</span></label>
<input type="text" class="form-control @error('saluran_penjualan_lainnya') is-invalid @enderror" id="saluran-penjualan-lainnya-detail" name="saluran_penjualan_lainnya" value="{{ $textValue('saluran_penjualan_lainnya') }}" placeholder="Sebutkan lainnya" data-ekosistem-other-value="{{ \App\Enums\Bumdes\SaluranPenjualanBumdes::LAINNYA->value }}" @disabled(!$otherChannel) @required($otherChannel)>
@error('saluran_penjualan_lainnya')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
</fieldset>
<fieldset id="rantai-penjualan-details" @disabled(!$trading || $notSold)>
<fieldset class="mb-5">
<legend class="form-label">Bentuk Produk yang Dijual</legend>
<p class="text-muted small mb-3">Boleh pilih lebih dari satu.</p>
<div class="row row-gap-3 mb-3">
@foreach($bentukProdukOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input {{ $errors->has('bentuk_produk_dijual') || $errors->has('bentuk_produk_dijual.*') ? 'is-invalid' : '' }}" type="checkbox" name="bentuk_produk_dijual[]" id="bentuk-produk-dijual-{{ $value }}" value="{{ $value }}" @checked(in_array($value, $soldSelected, true))>
<label class="form-check-label" for="bentuk-produk-dijual-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('bentuk_produk_dijual')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
@error('bentuk_produk_dijual.*')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<fieldset class="mb-5">
<legend class="form-label">Perkiraan Volume Penjualan Tiga Panen Terakhir</legend>
<div class="row">
@foreach($periodePanenOptions as $period => $label)
<div class="col-md-4 mb-3 form-control-validation">
<label class="form-label" for="volume-penjualan-{{ $period }}">{{ $label }}</label>
<div class="input-group">
<input type="number" min="0" max="999999999999.999" step="0.001" class="form-control @error("volume_penjualan.$period") is-invalid @enderror" id="volume-penjualan-{{ $period }}" name="volume_penjualan[{{ $period }}]" value="{{ $textValue("volume_penjualan.$period") }}">
<span class="input-group-text">kg</span>
</div>
@error("volume_penjualan.$period")<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</div>
@endforeach
</div>
@error('volume_penjualan')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
</fieldset>
</fieldset>
<x-bumdes-form-actions redirect-fragment="section-rantai-hubungan-pemasok" />
</div>
</div>
<div class="card mb-6 {{ $trading ? '' : 'd-none' }}" id="section-rantai-hubungan-pemasok">
<div class="card-body pt-6">
<h5 class="pb-4 border-bottom mb-4">Sifat Hubungan dengan Petani Pemasok</h5>
<fieldset @class(['d-none' => !$trading]) data-rantai-section @disabled(!$trading)>
<fieldset class="mb-5" data-bumdes-choices="hubungan_petani_pemasok">
<legend class="form-label">Pola Hubungan dengan Petani Pemasok</legend>
<p class="text-muted small mb-3">Boleh pilih lebih dari satu.</p>
<div class="row row-gap-3 mb-3">
@foreach($hubunganPemasokOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input {{ $errors->has('hubungan_petani_pemasok') || $errors->has('hubungan_petani_pemasok.*') ? 'is-invalid' : '' }}" type="checkbox" name="hubungan_petani_pemasok[]" id="hubungan-petani-pemasok-{{ $value }}" value="{{ $value }}" @checked(in_array($value, $relationshipsSelected, true))>
<label class="form-check-label" for="hubungan-petani-pemasok-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('hubungan_petani_pemasok')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
@error('hubungan_petani_pemasok.*')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
<div class="row">
<div class="col-md-6 form-control-validation">
<label class="form-label" for="hubungan-petani-pemasok-lainnya-detail">Hubungan dengan Pemasok Lainnya<span class="text-danger {{ $otherRelationship ? '' : 'd-none' }}" data-required-for="hubungan-petani-pemasok-lainnya-detail">*</span></label>
<input type="text" class="form-control @error('hubungan_petani_pemasok_lainnya') is-invalid @enderror" id="hubungan-petani-pemasok-lainnya-detail" name="hubungan_petani_pemasok_lainnya" value="{{ $textValue('hubungan_petani_pemasok_lainnya') }}" placeholder="Sebutkan lainnya" data-ekosistem-other-value="{{ \App\Enums\Bumdes\HubunganPemasokBumdes::LAINNYA->value }}" @disabled(!$otherRelationship) @required($otherRelationship)>
@error('hubungan_petani_pemasok_lainnya')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
</fieldset>
<fieldset class="mb-5">
<legend class="form-label">Cara Pembayaran kepada Petani</legend>
<div class="row row-gap-3">
@foreach($mekanismePembayaranOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input @error('mekanisme_pembayaran_petani') is-invalid @enderror" type="radio" name="mekanisme_pembayaran_petani" id="mekanisme-pembayaran-petani-{{ $value }}" value="{{ $value }}" @checked($fieldValue('mekanisme_pembayaran_petani') === $value)>
<label class="form-check-label" for="mekanisme-pembayaran-petani-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('mekanisme_pembayaran_petani')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<div class="row mb-5" data-rantai-other-field="mekanisme_pembayaran_petani" data-rantai-other-value="{{ \App\Enums\Bumdes\MekanismePembayaranBumdes::LAINNYA->value }}">
<div class="col-md-6 form-control-validation">
<label class="form-label" for="mekanisme-pembayaran-lainnya-detail">Cara Pembayaran Lainnya<span class="text-danger {{ $otherPayment ? '' : 'd-none' }}" data-required-for="mekanisme-pembayaran-lainnya-detail">*</span></label>
<input type="text" class="form-control @error('mekanisme_pembayaran_lainnya') is-invalid @enderror" id="mekanisme-pembayaran-lainnya-detail" name="mekanisme_pembayaran_lainnya" value="{{ $textValue('mekanisme_pembayaran_lainnya') }}" placeholder="Sebutkan lainnya" @disabled(!$otherPayment) @required($otherPayment)>
@error('mekanisme_pembayaran_lainnya')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
<fieldset class="mb-5">
<legend class="form-label">Perjanjian Pembelian dengan Petani</legend>
<div class="row row-gap-3">
@foreach($perjanjianPetaniOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input @error('perjanjian_petani') is-invalid @enderror" type="radio" name="perjanjian_petani" id="perjanjian-petani-{{ $value }}" value="{{ $value }}" @checked($fieldValue('perjanjian_petani') === $value)>
<label class="form-check-label" for="perjanjian-petani-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('perjanjian_petani')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
</fieldset>
<x-bumdes-form-actions redirect-fragment="section-rantai-harga-beli" />
</div>
</div>
<div class="card mb-6 {{ $trading ? '' : 'd-none' }}" id="section-rantai-harga-beli">
<div class="card-body pt-6">
<h5 class="pb-4 border-bottom mb-4">Harga Beli BUMDes dari Petani</h5>
<fieldset @class(['d-none' => !$trading]) data-rantai-section @disabled(!$trading)>
<p class="form-label">Harga Beli per Bentuk Produk (Tiga Panen Terakhir)</p>
<p class="text-muted small">Isi harga per kg sesuai bentuk produk yang dibeli.</p>
@error('harga_beli_petani')<div class="invalid-feedback d-block mb-3">{{ $message }}</div>@enderror
<div class="table-responsive mb-5">
<table class="table table-bordered align-middle">
<thead>
<tr>
<th scope="col" style="min-width: 180px;">Bentuk Produk</th>
@foreach($periodePanenOptions as $period => $label)
<th scope="col" style="min-width: 230px;">{{ $label }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach($bentukProdukOptions as $product => $productLabel)
<tr data-rantai-price-product="{{ $product }}">
<th scope="row">
{{ $productLabel }}
@error("harga_beli_petani.$product")<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</th>
@foreach($periodePanenOptions as $period => $periodLabel)
<td>
<div class="input-group">
<span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control rupiah-input @error("harga_beli_petani.$product.$period") is-invalid @enderror" name="harga_beli_petani[{{ $product }}][{{ $period }}]" value="{{ $moneyValue("harga_beli_petani.$product.$period") }}" aria-label="Harga beli {{ $productLabel }} {{ $periodLabel }}" @disabled(!$trading || !in_array($product, $purchasedSelected, true))>
<span class="input-group-text">/kg</span>
</div>
@error("harga_beli_petani.$product.$period")<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
</div>
<fieldset class="mb-5">
<legend class="form-label">Dasar Penetapan Harga Beli</legend>
<div class="row row-gap-3">
@foreach($penetapanHargaBeliOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input @error('penetapan_harga_beli') is-invalid @enderror" type="radio" name="penetapan_harga_beli" id="penetapan-harga-beli-{{ $value }}" value="{{ $value }}" @checked($fieldValue('penetapan_harga_beli') === $value)>
<label class="form-check-label" for="penetapan-harga-beli-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('penetapan_harga_beli')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<div class="row mb-5" data-rantai-other-field="penetapan_harga_beli" data-rantai-other-value="{{ \App\Enums\Bumdes\PenetapanHargaBeliBumdes::LAINNYA->value }}">
<div class="col-md-6 form-control-validation">
<label class="form-label" for="penetapan-harga-beli-lainnya-detail">Dasar Penetapan Harga Lainnya<span class="text-danger {{ $otherPrice ? '' : 'd-none' }}" data-required-for="penetapan-harga-beli-lainnya-detail">*</span></label>
<input type="text" class="form-control @error('penetapan_harga_beli_lainnya') is-invalid @enderror" id="penetapan-harga-beli-lainnya-detail" name="penetapan_harga_beli_lainnya" value="{{ $textValue('penetapan_harga_beli_lainnya') }}" placeholder="Sebutkan lainnya" @disabled(!$otherPrice) @required($otherPrice)>
@error('penetapan_harga_beli_lainnya')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
</fieldset>
<x-bumdes-form-actions redirect-fragment="section-rantai-sortasi" />
</div>
</div>
<div class="card mb-6" id="section-rantai-sortasi" data-postharvest-card>
<div class="card-body pt-6">
<h5 class="pb-4 border-bottom mb-4">Sortasi &amp; Pemilihan Kualitas</h5>
<p class="text-muted small mb-3">Peluang Nilai Tambah</p>
<fieldset class="mb-5">
<legend class="form-label">Kegiatan Pengolahan Pascapanen<span class="text-danger">*</span></legend>
<div class="d-flex flex-wrap gap-3">
<div class="form-check">
<input class="form-check-input @error('melakukan_pengolahan_pascapanen') is-invalid @enderror" type="radio" name="melakukan_pengolahan_pascapanen" id="pengolahan-pascapanen-ya" value="1" @checked($processing) required>
<label class="form-check-label" for="pengolahan-pascapanen-ya">Ya</label>
</div>
<div class="form-check">
<input class="form-check-input @error('melakukan_pengolahan_pascapanen') is-invalid @enderror" type="radio" name="melakukan_pengolahan_pascapanen" id="pengolahan-pascapanen-tidak" value="0" @checked(in_array($fieldValue('melakukan_pengolahan_pascapanen'), [false, 0, '0'], true)) required>
<label class="form-check-label" for="pengolahan-pascapanen-tidak">Tidak</label>
</div>
</div>
@error('melakukan_pengolahan_pascapanen')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<fieldset @class(['d-none' => !$processing]) data-postharvest-section @disabled(!$processing)>
<fieldset class="mb-5">
<legend class="form-label">Sortasi Hasil Panen Sebelum Dijual</legend>
<div class="row row-gap-3">
@foreach($statusSortasiOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input @error('status_sortasi') is-invalid @enderror" type="radio" name="status_sortasi" id="status-sortasi-{{ $value }}" value="{{ $value }}" @checked($fieldValue('status_sortasi') === $value)>
<label class="form-check-label" for="status-sortasi-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('status_sortasi')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<div data-postharvest-detail data-condition-field="status_sortasi" data-condition-values="{{ json_encode([\App\Enums\Bumdes\StatusSortasiBumdes::RUTIN_STANDAR->value, \App\Enums\Bumdes\StatusSortasiBumdes::TIDAK_KONSISTEN->value]) }}">
<div class="mb-4 form-control-validation">
<label class="form-label" for="kriteria-sortasi">Standar/Kriteria Sortasi<span class="text-danger {{ $sortingActive ? '' : 'd-none' }}" data-postharvest-required>*</span></label>
<textarea class="form-control @error('kriteria_sortasi') is-invalid @enderror" id="kriteria-sortasi" name="kriteria_sortasi" rows="3" maxlength="2000" placeholder="Jelaskan standar atau kriteria sortasi yang digunakan" @disabled(!$sortingActive) @required($sortingActive)>{{ $textValue('kriteria_sortasi') }}</textarea>
@error('kriteria_sortasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
</fieldset>
<x-bumdes-form-actions redirect-fragment="section-rantai-pengeringan" />
</div>
</div>
<div class="card mb-6 {{ $processing ? '' : 'd-none' }}" id="section-rantai-pengeringan" data-postharvest-card>
<div class="card-body pt-6">
<h5 class="pb-4 border-bottom mb-4">Praktik Pengeringan</h5>
<fieldset @class(['d-none' => !$processing]) data-postharvest-section @disabled(!$processing)>
<fieldset class="mb-5">
<legend class="form-label">Pengeringan Hasil Panen</legend>
<div class="row row-gap-3">
@foreach($statusPengeringanOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input @error('status_pengeringan') is-invalid @enderror" type="radio" name="status_pengeringan" id="status-pengeringan-{{ $value }}" value="{{ $value }}" @checked($fieldValue('status_pengeringan') === $value)>
<label class="form-check-label" for="status-pengeringan-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('status_pengeringan')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<div data-postharvest-detail data-condition-field="status_pengeringan" data-condition-values="{{ json_encode([\App\Enums\Bumdes\StatusPengeringanBumdes::RUTIN->value, \App\Enums\Bumdes\StatusPengeringanBumdes::KADANG->value]) }}">
<div class="mb-4 form-control-validation">
<label class="form-label" for="cara-tempat-pengeringan">Cara dan Tempat Pengeringan<span class="text-danger {{ $dryingActive ? '' : 'd-none' }}" data-postharvest-required>*</span></label>
<textarea class="form-control @error('cara_tempat_pengeringan') is-invalid @enderror" id="cara-tempat-pengeringan" name="cara_tempat_pengeringan" rows="3" maxlength="2000" placeholder="Jelaskan cara dan tempat pengeringan" @disabled(!$dryingActive) @required($dryingActive)>{{ $textValue('cara_tempat_pengeringan') }}</textarea>
@error('cara_tempat_pengeringan')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
</fieldset>
<x-bumdes-form-actions redirect-fragment="section-rantai-fermentasi" />
</div>
</div>
<div class="card mb-6 {{ $processing ? '' : 'd-none' }}" id="section-rantai-fermentasi" data-postharvest-card>
<div class="card-body pt-6">
<h5 class="pb-4 border-bottom mb-4">Praktik Fermentasi</h5>
<fieldset @class(['d-none' => !$processing]) data-postharvest-section @disabled(!$processing)>
<fieldset class="mb-5">
<legend class="form-label">Fermentasi/Pengepresan Hasil Panen</legend>
<div class="row row-gap-3">
@foreach($statusFermentasiOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input @error('status_fermentasi') is-invalid @enderror" type="radio" name="status_fermentasi" id="status-fermentasi-{{ $value }}" value="{{ $value }}" @checked($fieldValue('status_fermentasi') === $value)>
<label class="form-check-label" for="status-fermentasi-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('status_fermentasi')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<div data-postharvest-detail data-condition-field="status_fermentasi" data-condition-values="{{ json_encode([\App\Enums\Bumdes\StatusFermentasiBumdes::RUTIN->value, \App\Enums\Bumdes\StatusFermentasiBumdes::PERNAH_MENCOBA->value]) }}">
<fieldset class="mb-5">
<legend class="form-label">Model Fermentasi<span class="text-danger {{ $fermentingActive ? '' : 'd-none' }}" data-postharvest-required>*</span></legend>
<p class="text-muted small mb-3">Boleh pilih lebih dari satu.</p>
<div class="row row-gap-3">
@foreach($modelFermentasiOptions as $value => $label)
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input {{ $errors->has('model_fermentasi') || $errors->has('model_fermentasi.*') ? 'is-invalid' : '' }}" type="checkbox" name="model_fermentasi[]" id="model-fermentasi-{{ $value }}" value="{{ $value }}" @checked(in_array($value, $fermentationSelected, true)) @disabled(!$fermentingActive) @required($fermentingActive && $loop->first && count($fermentationSelected) === 0)>
<label class="form-check-label" for="model-fermentasi-{{ $value }}">{{ $label }}</label>
</div>
</div>
@endforeach
</div>
@error('model_fermentasi')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
@error('model_fermentasi.*')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</fieldset>
<div class="mb-4 form-control-validation">
<label class="form-label" for="proses-fermentasi">Proses Fermentasi/Pengepresan<span class="text-danger {{ $fermentingActive ? '' : 'd-none' }}" data-postharvest-required>*</span></label>
<textarea class="form-control @error('proses_fermentasi') is-invalid @enderror" id="proses-fermentasi" name="proses_fermentasi" rows="3" maxlength="2000" placeholder="Jelaskan proses fermentasi atau pengepresan yang dilakukan" @disabled(!$fermentingActive) @required($fermentingActive)>{{ $textValue('proses_fermentasi') }}</textarea>
@error('proses_fermentasi')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
</div>
</fieldset>
<x-bumdes-form-actions redirect-fragment="section-rantai-premium-harga" />
</div>
</div>
<div class="card mb-6 {{ $processing ? '' : 'd-none' }}" id="section-rantai-premium-harga" data-postharvest-card>
<div class="card-body pt-6">
<h5 class="pb-4 border-bottom mb-4">Besaran Premium Harga</h5>
<fieldset @class(['d-none' => !$processing]) data-postharvest-section @disabled(!$processing)>
<div class="mb-4 form-control-validation">
<label class="form-label" for="premium-harga-pascapanen">Perkiraan Kenaikan Harga</label>
<p class="text-muted small mb-3">Dibandingkan hasil panen tanpa sortasi, pengeringan, atau fermentasi standar.</p>
<div class="row">
<div class="col-md-6">
<div class="input-group">
<span class="input-group-text">Rp</span>
<input type="text" inputmode="numeric" class="form-control rupiah-input @error('premium_harga_pascapanen') is-invalid @enderror" id="premium-harga-pascapanen" name="premium_harga_pascapanen" value="{{ $moneyValue('premium_harga_pascapanen') }}" placeholder="Contoh: 2.500">
<span class="input-group-text">/kg</span>
</div>
@error('premium_harga_pascapanen')<div class="invalid-feedback d-block">{{ $message }}</div>@enderror
</div>
</div>
</div>
</fieldset>
<x-bumdes-form-actions />
</div>
</div>
</form>
</div>
@endsection