@extends('layouts.app') @section('title',$document->reference) @section('page-title',$document->reference) @section('topbar-actions') @php $documentVerrouille = in_array($document->status, ['VALIDE','FACTURE','ANNULE'], true); @endphp Imprimer @if($documentVerrouille && $document->type_code === 'FAC' && $document->status !== 'ANNULE') Créer un avoir @endif {{-- Génération en chaîne (retour utilisateur INSTALL.md 17/08, point 13) --}} @if($document->type_code === 'FAC' && $document->status !== 'ANNULE')
@csrf
@endif @if($document->type_code === 'PRO' && $document->status !== 'ANNULE')
@csrf
@endif @if(!$documentVerrouille && (auth()->user()->isAdmin() || auth()->user()->isCommercial())) Modifier @endif @if(!$documentVerrouille && auth()->user()->isAdmin())
@csrf @method('DELETE')
@endif @if($documentVerrouille) 🔒 Immuable @endif @endsection @section('content')
{{ $document->documentType?->label ?? $document->type_code }} — {{ $document->reference }}
{{ $document->title }} @if($document->sale) · Générée depuis la vente {{ $document->sale->reference }} @endif
{{ $document->status_label }}
Client
{{ $document->client_nom }}
@if($document->client_adresse)
{{ $document->client_adresse }}
@endif @if($document->client_telephone)
📞 {{ $document->client_telephone }}
@endif @if($document->client_email)
✉ {{ $document->client_email }}
@endif
Dates
Document : {{ $document->date_document->format('d/m/Y') }}
@if($document->date_validite)
Validité : {{ $document->date_validite->format('d/m/Y') }}
@endif @if($document->date_livraison)
Livraison : {{ $document->date_livraison->format('d/m/Y') }}
@endif @if($document->correspondant)
Contact : {{ $document->correspondant }}
@endif
@php $isBL = $document->type_code === 'BL'; @endphp
@if($isBL) @else @endif @foreach($document->lines->sortBy('ligne_ordre') as $line) @if($isBL) @else @endif @endforeach @if(!$isBL) @if($document->remise_globale>0) @endif @if($document->tva_taux>0) @endif @endif
#DésignationQté commandéeQté livréeUnité
#DésignationQtéUnitéPU HTRemiseHT
{{ $line->ligne_ordre }}
{{ $line->designation }}
@if($line->reference_prod)
{{ $line->reference_prod }}
@endif @if($line->notes_ligne)
{{ $line->notes_ligne }}
@endif
{{ $line->quantite }} {{ $line->quantite_livree ?? $line->quantite }} {{ $line->unite ?? '—' }}{{ $line->quantite }} {{ $line->unite ?? '—' }} {{ number_format($line->prix_unitaire,0,',',' ') }} {{ $line->remise>0 ? $line->remise.'%' : '—' }} {{ number_format($line->montant_ht,0,',',' ') }}
Sous-total HT{{ number_format($document->sous_total,0,',',' ') }}
Remise ({{ $document->remise_globale }}%)-{{ number_format($document->remise_montant,0,',',' ') }}
IS ({{ $document->tva_taux }}%) — informatif, non inclus{{ number_format($document->tva_montant,0,',',' ') }}
TOTAL{{ number_format($document->total_ttc,0,',',' ') }} XAF
@if($document->conditions_paiement || $document->notes)
@if($document->conditions_paiement)
CONDITIONS DE PAIEMENT
{{ $document->conditions_paiement }}
@endif @if($document->notes)
NOTES
{{ $document->notes }}
@endif
@endif
{{-- Widget GED — attacher un fichier (ex. le PDF de cette facture) à ce document, via l'entité polymorphique déjà existante (EVOLUTION-design-flux.md étape 4) --}} @include('ged._widget', [ 'entiteType' => \App\Models\Document::class, 'entiteId' => $document->id, 'entiteNom' => $document->reference, ])
@if(auth()->user()->isAdmin())
Changer le statut
@csrf
@endif
Historique
@forelse($document->historique->sortByDesc('created_at') as $hist)
{{ $hist->action }} {{ $hist->created_at->format('d/m H:i') }}
@if($hist->ancien_statut || $hist->nouveau_statut)
{{ $hist->ancien_statut }} → {{ $hist->nouveau_statut }}
@endif @if($hist->commentaire)
{{ $hist->commentaire }}
@endif
{{ $hist->user_nom }}
@empty
Aucun historique
@endforelse
@endsection