@extends('layouts.main') @section('content') @php $jabatan = auth()->user()->jabatan; $isKepalaSekolah = $jabatan === 'Kepala Sekolah'; $isTataUsaha = $jabatan === 'Tata Usaha'; @endphp

{{ $title }}

{{ $subtitle }}

{{-- Peringatan MoU/PKS yang hampir habis masa berlakunya --}} @include('admin.dashboard.partials.peringatan-mou')

Surat Hari Ini

{{ $suratHariIni }}

{{ $masukHariIni }} masuk · {{ $keluarHariIni }} keluar
@if($isKepalaSekolah)

Belum Disposisi

{{ $belumDisposisi }}

perlu tindak lanjut

Prioritas Tinggi

{{ $prioritasTinggi }}

sangat segera / rahasia
@elseif(!$isTataUsaha) {{-- Jabatan lain (Waka, Pembina OSIS, dst.). Tata Usaha tidak melihat kartu ini --}}

Disposisi Saya

{{ $disposisiSaya }}

ditujukan kepada saya
@endif
{{-- Tata Usaha tidak punya panel disposisi, jadi grafik dibuat selebar penuh --}}
Surat Masuk & Surat Keluar
Perbandingan volume surat 6 bulan terakhir
@if($isKepalaSekolah)
Disposisi Terbaru
Aktivitas disposisi terakhir
Lihat semua
@forelse($disposisiTerbaru as $d)
{{ strtoupper(substr($d->tujuan->name ?? '-', 0, 2)) }}

{{ $d->suratMasuk->perihal ?? '-' }}

Didisposisikan ke {{ $d->tujuan->jabatan ?? '-' }} ({{ $d->tujuan->name ?? '-' }}) {{ $d->created_at->diffForHumans() }}
@empty

Belum ada disposisi.

@endforelse
@elseif(!$isTataUsaha) {{-- Jabatan lain. Tata Usaha tidak melihat panel ini --}}
Disposisi Saya
Disposisi terbaru yang ditujukan kepada Anda
Lihat semua
@forelse($disposisiTerbaru as $d)
{{ strtoupper(substr($d->suratMasuk->perihal ?? '-', 0, 2)) }}

{{ $d->suratMasuk->perihal ?? '-' }}

{{ $d->instruksi ?? '-' }} {{ $d->created_at->diffForHumans() }}
@empty

Belum ada disposisi.

@endforelse
@endif
{{-- ========================================================= LAPORAN REKAP SURAT (Kepala Sekolah & Tata Usaha) ========================================================= --}} @if($laporan)
Laporan Rekap Surat
Periode {{ $laporanDari->translatedFormat('d M Y') }} – {{ $laporanSampai->translatedFormat('d M Y') }}
Cetak PDF
{{-- Filter periode --}}
@php $preset = [ 'Bulan ini' => [now()->startOfMonth(), now()], 'Bulan lalu' => [now()->subMonthNoOverflow()->startOfMonth(), now()->subMonthNoOverflow()->endOfMonth()], 'Tahun ini' => [now()->startOfYear(), now()], ]; @endphp @foreach($preset as $label => [$pDari, $pSampai]) {{ $label }} @endforeach
{{-- Angka ringkas --}}
Surat Masuk {{ $laporan['total_masuk'] }}
Surat Keluar {{ $laporan['total_keluar'] }}
Disposisi Selesai {{ $laporan['persen_selesai'] }}% dari surat masuk
Prioritas Tinggi {{ $laporan['prioritas_tinggi'] }} sangat segera / rahasia
{{-- Status surat masuk & keluar --}}

Status Surat Masuk

@foreach($laporan['masuk_per_status'] as $label => $jumlah) @php $persen = $laporan['total_masuk'] ? round($jumlah / $laporan['total_masuk'] * 100) : 0; @endphp
{{ $label }} {{ $jumlah }} surat
@endforeach

Status Surat Keluar

@foreach($laporan['keluar_per_status'] as $label => $jumlah) @php $persen = $laporan['total_keluar'] ? round($jumlah / $laporan['total_keluar'] * 100) : 0; @endphp
{{ $label }} {{ $jumlah }} surat
@endforeach
{{-- Rekap per bulan + pengirim terbanyak --}}

Rekap per Bulan

@foreach($laporan['per_bulan'] as $b) @endforeach
Bulan Masuk Keluar Total
{{ $b['label'] }} {{ $b['masuk'] }} {{ $b['keluar'] }} {{ $b['masuk'] + $b['keluar'] }}
Total {{ $laporan['total_masuk'] }} {{ $laporan['total_keluar'] }} {{ $laporan['total_masuk'] + $laporan['total_keluar'] }}

Pengirim Surat Masuk Terbanyak

@forelse($laporan['top_pengirim'] as $pengirim => $jumlah)
{{ $pengirim }} {{ $jumlah }} surat
@empty

Tidak ada surat masuk pada periode ini.

@endforelse
@endif
Surat Terbaru
8 surat masuk & keluar paling baru
Lihat semua
{{-- Kolom ini disembunyikan di mobile, infonya dipindah ke bawah Perihal --}} @forelse($suratTerbaru as $s) @empty @endforelse
TipeNomor Surat Pengirim / Tujuan Perihal Tanggal Status
@if($s['tipe'] === 'Masuk') Masuk @else Keluar @endif {{ $s['nomor_surat'] }} {{ $s['pihak'] }} {{ $s['perihal'] }} {{-- Info tambahan khusus tampilan mobile --}}
{{ $s['nomor_surat'] }} · {{ $s['pihak'] }}
{{ \Carbon\Carbon::parse($s['tanggal'])->format('d M Y') }}
{{ \Carbon\Carbon::parse($s['tanggal'])->format('d M Y') }} @php $badgeClass = match(true) { str_contains(strtolower($s['status']), 'selesai') => 'badge-selesai', str_contains(strtolower($s['status']), 'proses') => 'badge-diproses', default => 'badge-belum', }; @endphp {{ $s['status'] }}
Belum ada surat.
@endsection @push('scripts') @endpush