@extends('layouts.superadmin') @section('title','AI: إنذارات ومشاكل') @section('page-title','AI: إنذارات ومشاكل') @section('content') @php $view = $view ?? request('view','table'); if(!in_array($view,['table','cards'],true)) $view='table'; $q = $q ?? request('q',''); $level = $level ?? request('level',''); $userId = $userId ?? request('user_id','all'); $days = $days ?? (int)request('days',7); $from = $from ?? \Carbon\Carbon::parse(request('from', now()->subDays(max(1,$days)-1)->toDateString()))->startOfDay(); $to = $to ?? \Carbon\Carbon::parse(request('to', now()->toDateString()))->endOfDay(); $summary = $summary ?? ['high'=>0,'mid'=>0,'low'=>0,'total'=>0,'from'=>$from->toDateString(),'to'=>$to->toDateString()]; $rows = $rows ?? collect(); $lvlBadge = [ 'high' => ['t'=>'خطر عالي','c'=>'border-rose-400/30 bg-rose-500/15 text-rose-200','dot'=>'bg-rose-400'], 'mid' => ['t'=>'متوسط','c'=>'border-amber-400/30 bg-amber-500/15 text-amber-200','dot'=>'bg-amber-400'], 'low' => ['t'=>'منخفض','c'=>'border-emerald-400/30 bg-emerald-500/15 text-emerald-200','dot'=>'bg-emerald-400'], '' => ['t'=>'—','c'=>'border-white/10 bg-white/5 text-white/70','dot'=>'bg-slate-400'], ]; $riskBar = function(int $risk){ $risk = max(0, min(100, $risk)); $cls = $risk>=60 ? 'bg-rose-500/70' : ($risk>=30 ? 'bg-amber-500/70' : 'bg-emerald-500/70'); return [$risk, $cls]; }; @endphp
الفكرة: نجمع مؤشرات (نشاط/غياب/مخالفات/نقاط/جهاز+IP) ونطلع “Risk” واضح + أسباب.
@if(!empty($selectedUser))| عضو | الخطر | نشاط (د) | غياب | مخالفات | نقاط | جهاز/IP | تفاصيل |
|---|---|---|---|---|---|---|---|
|
{{ $r['name'] ?? '—' }}
{{ $r['username'] ?? '' }} • #{{ $r['id'] ?? '' }}
|
{{ (int)$rv }}
|
{{ (int)($r['minutes'] ?? 0) }} |
غير مبرر: {{ (int)($r['abs_un'] ?? 0) }}
مبرر: {{ (int)($r['abs_ex'] ?? 0) }}
|
{{ (int)($r['viol'] ?? 0) }} | {{ (int)($r['points'] ?? 0) }} | @if((int)($r['dev_flag'] ?? 0) === 1) 🚨 أجهزة: {{ (int)($r['devs'] ?? 0) }} • IPs: {{ (int)($r['ips'] ?? 0) }} @else طبيعي @endif | |
| لا يوجد إنذارات ضمن الفلاتر الحالية. | |||||||