{{-- Kelengkapan data (terisi X dari total isian) + status Draf/Lengkap/Terverifikasi di kartu Profil Petani. Tombol "Tandai Lengkap" hanya untuk enumerator penginput, dan nonaktif selama isian wajib masih kosong. --}} @props(['petani']) @use('App\Enums\StatusDataPetani') @use('App\Services\Produktivitas\KelengkapanPetani') @php $kelengkapan = KelengkapanPetani::untuk($petani); $hitung = $kelengkapan->hitungIsian(); $wajibKosong = $kelengkapan->jumlahWajibKosong(); $status = $petani->status ?? StatusDataPetani::DRAFT; $bisaTandai = $petani->bisaDitandaiOleh(auth()->user()); @endphp @php // Rincian dipindah ke tooltip supaya kartu Profil tetap pendek (sejajar kartu ringkasan di kanan). $rincian = collect([ "{$hitung['terisi']} dari {$hitung['total']} isian terisi", $hitung['tidak_berlaku'] ? "{$hitung['tidak_berlaku']} isian tidak berlaku untuk petani ini" : null, $wajibKosong ? "{$wajibKosong} isian wajib masih kosong" : 'Semua isian wajib sudah terisi', match (true) { $bisaTandai => null, $status === StatusDataPetani::DRAFT => 'Hanya enumerator penginput yang dapat menandai lengkap', $status === StatusDataPetani::LENGKAP => 'Menunggu verifikasi koordinator', default => null, }, $bisaTandai && $status === StatusDataPetani::LENGKAP ? 'Mengubah data petani akan mengembalikan status ke Draf' : null, ])->filter()->implode(' · '); @endphp
Kelengkapan {{ $status->label() }} @if ($wajibKosong) {{ $wajibKosong }} wajib @endif {{ $hitung['terisi'] }}/{{ $hitung['total'] }} {{ $hitung['persen'] }}%
@if ($bisaTandai && $status === StatusDataPetani::DRAFT)
@csrf @method('PUT')
@elseif ($bisaTandai && $status === StatusDataPetani::LENGKAP)
@csrf @method('PUT')
@endif @once @push('scripts') @endpush @endonce