{{-- resources/views/superadmin/proactive/command/escalations.blade.php --}} @extends('layouts.superadmin') @section('title', 'ProActive — التصعيدات') @section('page-title', 'تصعيدات ProActive') @section('content') @php use Illuminate\Support\Facades\Route; // ✅ safe_route داخل نفس الـView if (!function_exists('safe_route')) { function safe_route(string $name, array $params = [], bool $absolute = true, string $fallback = '#'): string { try { return Route::has($name) ? route($name, $params, $absolute) : $fallback; } catch (\Throwable $e) { return $fallback; } } } $qs = request()->query(); $q = fn($k,$d=null) => request()->get($k,$d); $date = $date ?? $q('date', now()->toDateString()); $late = $late ?? collect(); $stuck = $stuck ?? collect(); $lateCount = ($late instanceof \Illuminate\Support\Collection) ? $late->count() : (is_array($late) ? count($late) : 0); $stuckCount = ($stuck instanceof \Illuminate\Support\Collection) ? $stuck->count() : (is_array($stuck) ? count($stuck) : 0); $rCommand = safe_route('superadmin.proactive.command', [], true, url('/superadmin/proactive/command')); $rEscalations = safe_route('superadmin.proactive.escalations', [], true, url()->current()); // ✅ مهم: Route حلّ التصعيد (Controller: resolveEscalation(Request $request, int $schedule)) // لازم يكون عندك route name مطابق، إذا مش موجود راح يرجع '#' $rResolve = fn($id) => safe_route('superadmin.proactive.escalations.resolve', ['schedule'=>$id], true, '#'); $chip = fn($cls) => "px-2.5 py-1 rounded-xl border text-[11px] font-extrabold $cls"; $typeBadge = fn($type) => $type==='plus' ? ['label'=>'PLUS','cls'=>'border-fuchsia-400/25 bg-fuchsia-500/10 text-fuchsia-100'] : ['label'=>'REG','cls'=>'border-emerald-400/25 bg-emerald-500/10 text-emerald-100']; $statusBadge = function($status){ $status = (string)$status; if($status==='active') return ['label'=>'ACTIVE','cls'=>'border-emerald-400/25 bg-emerald-500/10 text-emerald-100']; if($status==='finished') return ['label'=>'FINISHED','cls'=>'border-slate-400/20 bg-slate-500/10 text-slate-100']; if($status==='cancelled') return ['label'=>'CANCELLED','cls'=>'border-rose-400/25 bg-rose-500/10 text-rose-100']; return ['label'=>strtoupper($status ?: 'UPCOMING'),'cls'=>'border-amber-400/25 bg-amber-500/10 text-amber-100']; }; @endphp
هنا بنمسك كل شيء خطر: متأخر أو عالِق. التصعيد = قرار فوري أو توثيق واضح.