{{-- v1.14.0 — la fiche d'un client du cabinet : avancement, pièces et leur vérification, échéance, coordonnées. --}} @php use App\Services\Portail\ValidationPieces; $libelles = \App\Support\Domiciliation::typesPiece(); $prochaine = $ouvertes->first(); $suivies = $pieces->whereIn('type', \App\Models\ClientDocument::RUBRIQUE_PIECES)->values(); $aReprendre = ValidationPieces::aReprendre($client, $suivies); $resume = ValidationPieces::resume($client, $suivies); $onglets = ['resume' => 'Résumé', 'pieces' => 'Pièces', 'echeances' => 'Échéances', 'documents' => 'Documents', 'courrier' => 'Courrier']; $nombres = ['documents' => $documents->count() + $factures->count(), 'echeances' => $ouvertes->count(), 'courrier' => $plis->count()]; $actif = in_array($onglet, ['paiement', 'resiliation'], true) ? null : $onglet; $typeChoisi = old('type', $ajouter ?: $aReprendre->first()?->type); $remplacer = fn ($doc) => route('portail.cabinet.client', ['client' => $client->id, 'onglet' => 'pieces', 'ajouter' => $doc->type]).'#depot'; $clos = in_array($client->statut, ['resilie', 'annule'], true); @endphp Mes clients
{{ \App\Services\Portail\EspaceCabinet::initiales($client->raison_sociale) }}

{{ $client->raison_sociale }} {{ $frise['titre'] ?? $puce['puce'] }}

{{ collect([$client->rep_nom, ucfirst((string) \App\Services\Portail\EspaceCabinet::periodicite($client)), $frise ? 'demande du '.$client->created_at?->format('d/m/Y') : ($contrat?->date_debut ? 'contrat du '.$contrat->date_debut->format('d/m/Y') : null)])->filter()->implode(' · ') }}

@php // Les erreurs des formulaires de la fiche se lisent sous leur champ ; les autres, ici. $ailleurs = collect($errors->keys())->diff(['rep_email', 'rep_telephone', 'rep_adresse', 'montant', 'date_paiement', 'recu', 'motif', 'lettre', 'type', 'fichier', 'rc', 'rc_ville']); @endphp @if ($ailleurs->isNotEmpty()) @endif @switch($onglet) @case('paiement')
@csrf

Déclarer un paiement

MOBDIE l'enregistre après rapprochement avec son relevé. La facture reste au nom du client, que le client ou le cabinet ait payé.

DH
@error('montant')

{{ $message }}

@enderror
@error('date_paiement')

{{ $message }}

@enderror
Mode
@foreach (['Virement', 'Versement', 'Chèque', 'Espèces'] as $m) @endforeach
@break @case('resiliation')
@csrf

Demander une résiliation

La demande arrive chez MOBDIE, qui prononce la résiliation. Rien n'est résilié d'ici.

@foreach ($demandes as $dem)
Demande du {{ $dem->created_at->format('d/m/Y') }} : {{ ['a_traiter' => 'en cours de traitement', 'traitee' => 'traitée', 'refusee' => 'refusée'][$dem->statut] }}{{ $dem->reponse ? ' — '.$dem->reponse : '' }}
@endforeach
@error('motif')

{{ $message }}

@enderror
@break @case('documents')
@foreach ($documents as $doc)
{{ $doc->type === 'contrat' ? 'Contrat légalisé' : ($libelles[$doc->type] ?? $doc->libelle) }}
{{ $doc->created_at?->format('d/m/Y') }}
@include('portail.partiels.sortie', ['url' => $espace->lien('cabinet', 'document', $doc->public_id), 'titre' => $doc->nom_lisible])
@endforeach @foreach ($factures as $facture)
Facture {{ $facture->numero }}
Au nom de {{ $client->raison_sociale }} · {{ dh($facture->total_ttc) }}{{ $facture->estPayee() ? ' · payée' : '' }}
@include('portail.partiels.sortie', ['url' => $espace->lien('cabinet', 'facture', $facture->id), 'titre' => 'Facture '.$facture->numero])
@endforeach @if ($documents->isEmpty() && $factures->isEmpty())
Aucun document pour le moment.
@endif
@break @case('echeances')
@foreach ($ouvertes as $e) @php $echue = $e->date_echeance?->lt(today()); @endphp
$echue])>
Échéance du {{ $e->date_echeance?->format('d/m/Y') }}
$echue])>{{ $echue ? 'Échue depuis '.\App\Services\Portail\EspaceCabinet::jours($e->date_echeance).' jours'.($e->nb_relances ? ' · '.$e->nb_relances.' rappel(s) envoyé(s), copie au cabinet' : '') : 'À venir' }}
{{ dh($e->montant_ttc) }}
@endforeach @foreach ($payees as $e)
Échéance du {{ $e->date_echeance?->format('d/m/Y') }}
Payée{{ $e->invoice?->numero ? ' · facture '.$e->invoice->numero : '' }}
{{ dh($e->montant_ttc) }}
@endforeach @if ($ouvertes->isEmpty() && $payees->isEmpty())
Aucune échéance pour le moment.
@endif
@break @case('courrier')
@forelse ($plis as $pli) @php [$etiquette, $ton, $detail] = $espace->etatDuPli($pli); @endphp
{{ $pli->expediteur ?: 'Expéditeur non précisé' }}
Arrivé le {{ $pli->date_reception?->format('d/m/Y') }} · {{ \App\Services\Portail\EspaceClient::natureDuPli($pli->nature) }} · {{ $detail }}{{ $pli->scan_envoye_le ? ' · scan envoyé au client par e-mail' : '' }}
{{ $etiquette }}
@empty
Aucun pli reçu.
@endforelse
@break @case('pieces') @foreach ($aReprendre as $refusee) @endforeach
@include('portail.cabinet._pieces')
@include('portail.partiels.depot-piece', ['action' => route('portail.cabinet.piece', $client->id), 'typeChoisi' => $typeChoisi])
@break @default
@if ($frise)

Avancement

Étape {{ $frise['etape'] }} sur 4
    @foreach ($frise['jalons'] as $i => $jalon)
  1. $jalon['etat'] === 'fait', 'en' => $jalon['etat'] === 'en', 'a' => $jalon['etat'] === 'a'])>@if ($jalon['etat'] === 'fait')@else{{ $i + 1 }}@endif {{ $jalon['libelle'] }}{{ $jalon['detail'] }}
  2. @endforeach
@else

{{ $etat['libelle'] }}{{ $du['echu']['nombre'] > 0 ? ' · '.$du['echu']['nombre'].' échéance'.($du['echu']['nombre'] > 1 ? 's' : '').' à régler' : '' }}

@include('portail.partiels.progression', $progression)
@endif @include('portail.cabinet._pieces')
@endswitch