Analytics

Registre des irritants

Manquements/bloqueurs signalés par les opérateurs à la soumission de leur auto-évaluation.

Export CSV
{{-- Tendance hebdomadaire --}}
@if (array_sum($weeklyTrend['values']))
@endif
{{-- Note d'orientation §12 : irritants les plus fréquents, regroupés par topic --}} @if ($topics->isNotEmpty())

Irritants récurrents (regroupés par sujet)

@foreach ($topics as $group) @php $criticalityColor = ['low' => 'var(--np-green)', 'medium' => 'var(--np-amber)', 'high' => 'var(--np-red)'][$group['criticality']] ?? 'var(--np-ink-faint)'; @endphp

{{ $group['topic'] }}

{{ \App\Models\Irritant::CRITICALITY_LABELS[$group['criticality']] ?? $group['criticality'] }}

{{ $group['occurrences'] }} occurrence{{ $group['occurrences'] > 1 ? 's' : '' }} · {{ $group['operators_count'] }} opérateur{{ $group['operators_count'] > 1 ? 's' : '' }} concerné{{ $group['operators_count'] > 1 ? 's' : '' }} · {{ $group['open_count'] }} encore ouvert{{ $group['open_count'] > 1 ? 's' : '' }}

Du {{ \Carbon\Carbon::parse($group['first_seen'])->format('d/m/Y') }} au {{ \Carbon\Carbon::parse($group['last_seen'])->format('d/m/Y') }}

@endforeach
@endif {{-- Filtres --}}
{{-- Formulaire de résolution --}} @if ($resolvingIrritantId)
@error('resolutionNote')

{{ $message }}

@enderror
@endif {{-- Formulaire de triage (§12) --}} @if ($editingTriageId)

Triage de l'irritant

@endif {{-- Liste --}}
@forelse ($irritants as $irritant) @empty @endforelse
Opérateur Semaine Description / triage Statut Actions
{{ $irritant->weeklyEvaluation->user->full_name }} {{ \Carbon\Carbon::parse($irritant->weeklyEvaluation->week_start_date)->format('d/m/Y') }} {{ $irritant->description }} @if ($irritant->topic || $irritant->category || $irritant->assigned_to || $irritant->due_at)
@if ($irritant->topic) {{ $irritant->topic }} @endif @if ($irritant->categoryLabel()) {{ $irritant->categoryLabel() }} @endif @if ($irritant->assignedTo) → {{ $irritant->assignedTo->full_name }} @endif @if ($irritant->due_at) Échéance {{ $irritant->due_at->format('d/m/Y') }} @endif
@endif @if ($irritant->status === 'resolved' && $irritant->resolution_note)
Résolu par {{ $irritant->resolvedBy?->full_name ?? '—' }} : {{ $irritant->resolution_note }}
@endif
@php $statusClasses = ['open' => 'np-status-pending', 'in_progress' => 'np-status-submitted', 'resolved' => 'np-status-done']; $statusLabels = ['open' => 'Ouvert', 'in_progress' => 'En cours', 'resolved' => 'Résolu']; $criticalityColor = ['low' => 'var(--np-green)', 'medium' => 'var(--np-amber)', 'high' => 'var(--np-red)'][$irritant->criticality] ?? 'var(--np-ink-faint)'; @endphp {{ $statusLabels[$irritant->status] ?? $irritant->status }}
{{ $irritant->criticalityLabel() }}
@if ($irritant->status !== 'open') @endif @if ($irritant->status !== 'in_progress') @endif @if ($irritant->status !== 'resolved') @endif
Aucun irritant ne correspond à ces filtres.
{{ $irritants->links() }}