@extends('layouts.app') @section('title', 'Puskodal 110') @section('content') @push('styles') @endpush @php $stats = $stats ?? []; if (empty($stats)) { $stats = [ 'total_complaints' => 1287, 'processing_complaints' => 24, 'active_officers' => 342, 'average_response' => '3m 47s', ]; } $recentComplaints = $recentComplaints ?? collect(); if ($recentComplaints->isEmpty()) { $recentComplaints = collect([ (object)[ 'ticket_number' => 'ADU-20250101-XF91', 'location' => (object)['address' => 'Jl. MH Thamrin, Jakarta Pusat'], 'category' => 'emergency_police', 'dispatches' => collect([(object)['unit_type' => 'Patroli Sabhara']]), 'status' => 'processing', ], (object)[ 'ticket_number' => 'ADU-20250101-YZ12', 'location' => (object)['address' => 'Jl. Raya Bogor KM 25'], 'category' => 'emergency_fire', 'dispatches' => collect([(object)['unit_type' => 'Damkar']]), 'status' => 'dispatched', ], (object)[ 'ticket_number' => 'ADU-20250101-ZP77', 'location' => (object)['address' => 'Jl. Sudirman, Bandung'], 'category' => 'emergency_medical', 'dispatches' => collect([(object)['unit_type' => 'Ambulans PSC']]), 'status' => 'pending', ], ]); } $heatmapData = $heatmapData ?? [ [ 'lat' => -6.2088, 'lng' => 106.8456, 'count' => 32, 'category' => 'emergency_police', 'icon' => 'flame', 'label' => 'Kebakaran Gedung', 'description' => 'Jl. Sudirman No. 45 (Zone B2)', 'status' => 'Critical • ETA 2m', 'color' => 'red', ], [ 'lat' => -6.1380, 'lng' => 106.8317, 'count' => 18, 'category' => 'panic_button', 'icon' => 'bell-ring', 'label' => 'Panic Button Bank', 'description' => 'Bank BCA Mangga Dua', 'status' => 'Verifikasi CCTV', 'color' => 'amber', ], [ 'lat' => -6.2000, 'lng' => 106.9167, 'count' => 12, 'category' => 'patrol_unit', 'icon' => 'car', 'label' => 'Unit 801', 'description' => 'Patroli Sabhara - Rute Thamrin', 'status' => 'On Scene', 'color' => 'blue', ], ]; $incomingAlerts = [ [ 'label' => 'Call 110 • Darurat', 'type' => 'phone', 'icon' => 'phone-call', 'icon_color' => 'text-red-400', 'level' => 'critical', 'desc' => 'Suara teriakan, indikasi KDRT atau penganiayaan.', 'location' => 'Tanah Abang, Jakpus', 'time' => 'Baru saja', ], [ 'label' => 'Panic Button • Bank', 'type' => 'panic', 'icon' => 'alert-triangle', 'icon_color' => 'text-amber-400', 'level' => 'warning', 'desc' => 'BCA KCP Mangga Dua. Tombol Teller 2.', 'location' => 'Mangga Dua, Jakut', 'time' => '2m lalu', ], [ 'label' => 'WhatsApp Official', 'type' => 'chat', 'icon' => 'message-square', 'icon_color' => 'text-green-400', 'level' => 'info', 'desc' => 'Laporan kemacetan akibat pohon tumbang.', 'location' => 'Jl. Ahmad Yani', 'time' => '5m lalu', ], ]; @endphp
Nasional • Polda → Polres → Polsek
{{ number_format($stats['total_complaints'] ?? 0) }}
Total aduan (24 jam)
{{ $stats['processing_complaints'] ?? 0 }}
Insiden kritis aktif
{{ $stats['active_officers'] ?? 0 }}
Personil on-duty
{{ $stats['average_response'] ?? '4m 12s' }}
Rata-rata respon
Live feed akan tampil di sini
Klik untuk lihat semua CCTV
Monitor performa Polda/Polres/Polsek
Kelola rules & notifikasi
Kirim peringatan darurat
Analisis & prediksi kriminal
| Ticket | Lokasi | Kategori | Unit | Status |
|---|---|---|---|---|
| {{ $complaint->ticket_number }} | {{ $complaint->location->address ?? '-' }} | {{ ucfirst(str_replace('_', ' ', $complaint->category)) }} | {{ $complaint->dispatches->first()->unit_type ?? '-' }} | {{ ucfirst($complaint->status) }} |