{{-- v4.38.0 §2 — LA FICHE D'UN MARCHÉ VUE PAR L'INVESTISSEUR : tout ce que montre la fiche du gérant (identité, position HT, coût complet par source et par mois, décomptes, factures, cautions, heures, écritures, documents), lu dans les mêmes services, chaque bloc derrière SA case de visibilité. Aucun bouton d'action du gérant. --}} @php use App\Support\Money; use App\Services\Investisseurs\InvestorEarningService as M; use App\Models\Investisseurs\InvestorEarning as G; $p = $vue['position']; $s = $vue['sections']; $j = fn ($d) => $d ? \Illuminate\Support\Carbon::parse($d)->format('d/m/Y') : '—'; $voit = fn (string $section): bool => in_array($section, $s, true); @endphp {{ $p['mode_court'] }} {{-- Ma position : toujours visible, c'est la sienne. --}}
Ma mise
{{ Money::format($p['affecte']) }}
part {{ M::pct($p['part']) }} · taux {{ M::pct($p['taux']) }} · {{ $p['mode_libelle'] }}
@if ($p['mention_exclusions'])
{{ $p['mention_exclusions'] }}
@endif
Total engagé retenu
{{ Money::format($p['engage']['total']) }}
coût retenu à ce jour {{ Money::format($p['cout_retenu']) }}
@if ($p['engage']['provisoire'])Prévisionnel@endif
Gain estimé à terme
{{ Money::format($p['gain_estime']) }}
acquis {{ Money::format($p['gains_acquis']) }}
@if ($p['gain_estime_provisoire'])Prévisionnel@endif

Ma formule, avec les chiffres du jour

@foreach ($p['formule'] as $ligne)

{{ $ligne }}

@endforeach
@if ($voit('progress'))

Identité du marché

Code{{ $vue['identite']['code'] }}
Client{{ $vue['identite']['client'] ?? '—' }}
Type{{ $vue['identite']['type'] ?? '—' }}
Référence du marché{{ $vue['identite']['reference_marche'] ?: '—' }}
Référence de l'appel d'offres{{ $vue['identite']['reference_ao'] ?: '—' }}
Début{{ $j($vue['identite']['debut']) }}
Fin prévue{{ $j($vue['identite']['fin_prevue']) }}
Fin réelle{{ $j($vue['identite']['fin_reelle']) }}
Statut{{ $vue['identite']['statut'] }}
@if ($vue['identite']['pct_temps'] !== null)
Temps écoulé{{ number_format($vue['identite']['pct_temps'], 0, ',', ' ') }} %
@endif

{{ $vue['identite']['intitule'] }}

@endif
@if ($voit('revenue'))

Position financière (HT)

Contrat{{ Money::format($vue['chiffre']['contrat_ht']) }}
Facturé{{ Money::format($vue['chiffre']['facture_ht']) }}
Encaissé{{ Money::format($vue['chiffre']['encaisse_ht']) }}
Reste à facturer{{ Money::format($vue['chiffre']['reste_a_facturer_ht']) }}
Reste à encaisser{{ Money::format($vue['chiffre']['reste_a_encaisser_ht']) }}
@endif @if ($voit('margin'))

Marge

Marge dégagée (facturé − coût complet){{ $vue['marge']['degagee_lisible'] ? Money::format($vue['marge']['degagee']) : 'non lisible' }}
@unless ($vue['marge']['degagee_lisible'])

Non lisible tant que le marché n'est pas facturé. {{ $vue['marge']['phrase'] }}

@endunless
Ma marge de base (encaissé − coût retenu){{ $vue['marge']['de_base'] === null ? 'non lisible' : Money::format($vue['marge']['de_base']) }}
Marge estimée (contrat − total engagé){{ Money::format($vue['marge']['estimee']) }} Prévisionnel
@if ($p['mention_exclusions'])

{{ $p['mention_exclusions'] }}

@endif
@endif
@if ($voit('expenses'))

Coût complet par source (HT) — {{ Money::format($vue['depenses']['total']) }}

@foreach ($vue['depenses']['par_source'] as $src)
{{ $src['libelle'] }} @if ($src['exclue'])(exclu de mon calcul)@endif {{ Money::format($src['total']) }} · {{ number_format($src['part'], 1, ',', ' ') }} % @forelse ($src['lignes'] as $l)
{{ $l['date'] ?? $l['mois'] ?? '' }} — {{ $l['libelle'] ?? $l['nom'] ?? $l['categorie'] ?? $l['equipement'] ?? '' }}@if (! empty($l['cle'])) · {{ $l['cle'] }}@endif {{ Money::format($l['montant']) }}
@empty

Aucune ligne.

@endforelse
@endforeach
Coût retenu pour mon calcul{{ Money::format($vue['depenses']['retenu']) }}
@endif @if ($voit('expenses_by_month'))

Coût complet par mois (HT)

{!! $barres !!}

Barres : coût du mois · courbe : cumul.

@forelse ($vue['par_mois'] as $l) @empty @endforelse
MoisCoût du moisCumul
{{ substr($l['mois'], 5, 2) }}/{{ substr($l['mois'], 0, 4) }}{{ Money::format($l['total']) }}{{ Money::format($l['cumul']) }}
Aucune dépense encore.
@endif
@if ($voit('milestones'))

Décomptes

@forelse ($vue['decomptes'] as $d)
{{ $d['libelle'] }} — {{ $j($d['prevu_le']) }}{{ Money::format($d['montant_ht']) }} HT · {{ $d['statut'] }}@if ($d['encaisse_le']) le {{ $j($d['encaisse_le']) }}@endif
@empty

Aucun décompte prévu.

@endforelse
@endif @if ($voit('invoices'))

Factures

@forelse ($vue['factures'] as $f)
{{ $f['numero'] }} — {{ $j($f['date']) }}{{ Money::format($f['montant_ht']) }} HT · {{ $f['statut'] }}@if ($f['encaissee_le']) · encaissée le {{ $j($f['encaissee_le']) }}@endif
@empty

Aucune facture émise.

@endforelse
@endif
@if ($voit('guarantees'))

Cautions

@forelse ($vue['cautions'] as $c)
{{ $c['type'] }} — émise le {{ $j($c['emise_le']) }}@if ($c['retour_prevu']) · retour prévu {{ $j($c['retour_prevu']) }}@endif{{ Money::format($c['montant']) }} · {{ $c['statut'] }}
@empty

Aucune caution liée.

@endforelse
@endif @if ($voit('hours'))

Heures approuvées et coût réparti

@forelse ($vue['heures'] as $h)
{{ $h['nom'] }} · {{ $h['mode'] }}{{ number_format($h['heures'], 2, ',', ' ') }} h · {{ Money::format($h['cout']) }}
@empty

Aucune heure approuvée.

@endforelse
@endif
@if ($voit('entries'))

Écritures du marché

@forelse ($vue['ecritures'] as $e) @empty @endforelse
DateLibelléCatégorieMontant HT
{{ $e->date?->format('d/m/Y') }}{{ \Illuminate\Support\Str::limit((string) $e->label, 60) }}{{ $e->category?->name ?? '—' }} {{ ($e->direction?->value ?? $e->direction) === 'in' ? '+' : '−' }}{{ Money::format((float) ($e->amount_ht ?? $e->amount_ttc)) }}
Aucune écriture.
@if ($vue['ecritures']->hasPages()) @endif
@endif @if ($voit('documents'))

Documents du marché

@forelse ($vue['documents'] as $d)
{{ $d['titre'] }}{{ $j($d['date']) }}
@empty

Aucune pièce.

@endforelse
@endif @if ($voit('own_payouts'))
Gains acquis
{{ Money::format($vue['mes_gains_totaux']['acquis']) }}
capitalisés {{ Money::format($vue['mes_gains_totaux']['capitalises']) }} · versés {{ Money::format($vue['mes_gains_totaux']['verses']) }}
Estimé à terme
{{ Money::format($vue['mes_gains_totaux']['estime_a_terme']) }}
Prévisionnel
Mon mode · mes exclusions
{{ $p['mode_libelle'] }}
{{ $p['mention_exclusions'] ?? 'Toutes les charges comptent' }}

Mes gains sur ce marché

@forelse ($vue['mes_gains'] as $g)
{{ $g->event_date->format('d/m/Y') }} — {{ G::EVENEMENTS[$g->event_type] ?? $g->event_type }} · {{ G::STATUTS[$g->status] ?? $g->status }}{{ Money::format($g->amount) }}
@empty

Aucun gain acquis encore.

@endforelse

Historique de ma position

@foreach ($vue['historique'] as $h)
{{ $h->effective_at->format('d/m/Y') }} — {{ $h->reason }}{{ Money::format($h->amount) }} · {{ M::pct((float) $h->share_rate) }}
@endforeach
@endif