@extends('layouts.admin')
@section('page-title') Gestion des interventions @endsection
@section('page-subtitle') Vue d'ensemble des interventions @endsection
@section('styles')
@endsection
@section('scripts')
@endsection
@section('content')
@if(isset($interventions) && $interventions->count() > 0)
@foreach($interventions as $intervention)
@php
$content = $intervention['content'] ?? [];
$assignedClass = $content['assignedClass'] ?? '';
$status = $content['status'] ?? 'new';
$taskId = $content['task_id'] ?? '';
$clientInfo = $content['client'] ?? [];
$clientName = $content['client_name'] ?? 'Client';
// Utiliser directement les données de InterventionResource
$clientAddress = $content['client_address'] ?? 'Non connue';
$clientLogo = $clientInfo['client_logo'] ?? null;
$clientType = $clientInfo['client_type'] ?? 'particulier';
$clientFound = !empty($clientInfo) ? (object)$clientInfo : null;
// Récupérer la date d'intervention (déjà formatée par InterventionResource)
$interventionDate = $content['intervention_date'] ?? 'Non attribuée';
// La date est déjà formatée au format JJ/MM/AAAA par InterventionResource::formatDate()
// Pas besoin de re-formater pour éviter la confusion entre formats américain/français
// Ajouter le jour de la semaine devant la date si elle est valide
$interventionDateWithDay = $interventionDate;
if ($interventionDate !== 'Non attribuée' && isset($content['intervention_date_raw'])) {
try {
$dateObj = new \DateTime($content['intervention_date_raw']);
$dayNames = ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'];
$dayOfWeek = $dayNames[$dateObj->format('w')];
$interventionDateWithDay = $dayOfWeek . ' ' . $interventionDate;
} catch (\Exception $e) {
// En cas d'erreur, garder la date originale
$interventionDateWithDay = $interventionDate;
}
}
$address = $content['address'] ?? 'Non connue';
$title = $content['title'] ?? 'Intervention';
$description = !empty($content['description']) ? $content['description'] : 'Aucune description disponible';
$priority = $content['priority'] ?? 'normal';
$priorityClass = $content['priorityClass'] ?? 'badge--normal';
$deadline = $content['deadline'] ?? 'Non définie';
$statusBadgeClass = $content['statusBadgeClass'] ?? 'badge--non-assignee';
$statusText = $content['statusText'] ?? 'Non assignée';
$workerCount = $content['workerCount'] ?? 0;
$workerName = $content['workerName'] ?? 'Aucun ouvrier';
$commentsCount = $content['commentsCount'] ?? 0;
$commentsText = $content['commentsText'] ?? 'aucun commentaire';
$photosCount = $content['photosCount'] ?? 0;
$photosText = $content['photosText'] ?? 'aucune photo';
$createdBy = $content['created_by'] ?? 'Admin';
$createdAt = $content['created_at'] ?? now();
if (is_string($createdAt)) {
$createdAt = new DateTime($createdAt);
}
@endphp
value && isset($content['is_finished']) && $content['is_finished'] && isset($content['finished_at']))
data-finished-date="{{ \Carbon\Carbon::parse($content['finished_at'])->format('d/m/Y') }}"
@endif
id="intervention-{{ $intervention['id'] }}">
{{ $title }}
{!! nl2br(e($description)) !!}
Priorité
{{ ucfirst($priority) }}
Deadline
{{ $deadline }}
@php
$remainingDays = $content['remaining_days'] ?? null;
@endphp
@if($remainingDays && !in_array(strtolower($content['status'] ?? ''), ['completed', 'terminées', 'terminée']))
({{ $remainingDays }})
@endif
Assignation
{{ $statusText }}
Intervenants
{{ $workerName }}
@php
$assignedWorkers = $content['assigned_workers'] ?? [];
$assignedNames = collect($assignedWorkers)->pluck('worker_name')->filter()->values()->all();
if (count($assignedNames)) {
$tooltipText = implode("\n", $assignedNames);
} else {
$tooltipText = 'Aucun intervenant assigné';
}
@endphp
{{-- Affichage des informations de complétion pour les interventions terminées --}}
@if($status === \App\Enums\InterventionStatus::COMPLETED->value && isset($content['is_finished']) && $content['is_finished'] && isset($content['finished_at']) && isset($content['finished_by']))
Intervention terminée le {{ $content['finished_date_formatted'] ?? 'Date inconnue' }} à {{ $content['finished_time_formatted'] ?? 'Heure inconnue' }}
@if($content['finished_signature'])
par {{ $content['finished_signature'] }}
@else
par Utilisateur #{{ $content['finished_by'] }}
@endif
@endif
@endforeach
@else
@endif
Aucun résultat
Aucune intervention ne correspond aux critères de filtrage
Aucun résultat trouvé
Aucune intervention ne correspond à votre recherche dans le nom du client, le titre ou la description
Aucune intervention non attribuée
Aucune intervention avec le statut "Non attribuée" n'est disponible
Créer une intervention
Aucune intervention en cours
Aucune intervention avec le statut "En cours" n'est disponible
Aucune intervention en retard
Aucune intervention avec le statut "En retard" n'est disponible
Aucune intervention planifiée
Aucune intervention avec le statut "Planifiée" n'est disponible
Aucune intervention terminée
Aucune intervention avec le statut "Terminée" n'est disponible
@if(!isset($interventions) || $interventions->count() === 0)
@endif