@extends('layout.dashboard_layout') @section('content') {{-- ════════════════════════════════════════════════════════════ CUSTOM STYLES ════════════════════════════════════════════════════════════ --}}
{{-- ── TOPBAR ────────────────────────────────────────── --}}

Dashboard Spraying

Data per {{ now()->translatedFormat('d F Y') }}

Live
{{-- ── STAT CARDS ─────────────────────────────────────── --}}
Spraying Hari Ini
{{ $totalSprayingHariIni }}
🌿
Bulan Ini
{{ $totalSprayingBulanIni }}
📅
Sudah Verifikasi
{{ $totalSudahVerifikasi }}
Belum Verifikasi
{{ $totalBelumVerifikasi }}
Overdue Verifikasi
{{ $totalOverdue }}
Total Block
{{ $totalBlock }}
🗺
Pekerja Aktif
{{ $totalWorker }}
👷
{{-- ── ALERT MENDEKATI DUE DATE ─────────────────────── --}} @if ($mendekatiDueDate->count() > 0)
{{ $mendekatiDueDate->count() }} spraying mendekati batas verifikasi (≤ 7 hari)
@foreach ($mendekatiDueDate as $item)
{{ $item->block->block_name ?? '-' }} · {{ $item->jenis_semprot }} · Baris {{ $item->baris }}
Due {{ $item->verification_due_date->diffForHumans() }}
@endforeach
@endif {{-- ── MAIN GRID ────────────────────────────────────── --}}
{{-- LEFT: Spraying Terbaru --}}

Spraying Terbaru

Lihat semua →
@forelse($sprayingTerbaru as $spraying) @empty @endforelse
Tanggal Block Jenis Baris Mandor Status
{{ $spraying->spray_datetime->format('d/m/Y H:i') }} {{ $spraying->block->block_name ?? '-' }} {{ $spraying->block->afd ?? '' }} {{ $spraying->jenis_semprot }} {{ $spraying->baris }} {{ $spraying->creator->name ?? '-' }} @if ($spraying->verification) Terverifikasi @elseif($spraying->verification_due_date && $spraying->verification_due_date->isPast()) Overdue @else Pending @endif
Belum ada data spraying.
{{-- RIGHT: Sidebar --}}
{{-- Top 5 Pekerja --}}

Top Pekerja Bulan Ini

@forelse($topWorker as $i => $worker)
{{ $i + 1 }}

{{ $worker->nama_pekerja }}

{{ $worker->pekerja_code }}
{{ $worker->total_spraying_bulan_ini }}×
@empty
Belum ada data.
@endforelse
{{-- Jenis Semprot --}}

Jenis Semprot {{ \Carbon\Carbon::create()->month($filterBulan)->translatedFormat('M') }} {{ $filterTahun }}

@forelse($rekapJenisSemprot as $rekap) @php $pctJ = $rekapJenisSemprot->sum('total') > 0 ? round(($rekap->total / $rekapJenisSemprot->sum('total')) * 100) : 0; @endphp
{{ $rekap->jenis_semprot }} {{ $rekap->total }}
@empty
Belum ada data.
@endforelse
{{-- ── REKAP PER BLOCK ────────────────────────────── --}}

Rekap Per Block

@forelse($rekapPerBlock as $block) @php $pctB = $block->total_spraying > 0 ? round(($block->spraying_terverifikasi / $block->total_spraying) * 100) : 0; @endphp @empty @endforelse
AFD Block Total Terverifikasi Pending Progress
{{ $block->afd }} {{ $block->block_name }} {{ $block->total_spraying }} {{ $block->spraying_terverifikasi }} {{ $block->spraying_belum_verifikasi }}
{{ $pctB }}%
Belum ada data block.
{{-- ── TREND CHART ─────────────────────────────────── --}}

Trend Spraying 6 Bulan Terakhir

{{-- ── VERIFIKASI TERBARU ──────────────────────────── --}}

Verifikasi Terbaru

@forelse($verifikasiTerbaru as $ver)

{{ $ver->spraying->block->block_name ?? '-' }} · {{ $ver->spraying->jenis_semprot ?? '' }}

Oleh {{ $ver->verifier->name ?? '-' }} · {{ $ver->verified_at?->diffForHumans() }}

Pokok: {{ $ver->total_pokok }} Mati: {{ $ver->total_mati }} Hidup: {{ $ver->total_tidak_mati }}
@empty
Belum ada verifikasi.
@endforelse
{{-- ── CHART.JS ───────────────────────────────────────────── --}} @endsection