<%- include('../partials/header') %>
<div class="page-head">
  <h1>Fournisseurs</h1>
  <a class="btn btn-primary" href="<%= base %>/suppliers/new">+ Nouveau fournisseur</a>
</div>
<% if (!suppliers.length) { %>
<div class="card">
  <p>Aucun fournisseur pour l’instant. Créez-en un, puis importez son fichier de prix : les colonnes choisies seront mémorisées pour les prochains imports.</p>
</div>
<% } else { %>
<form method="post" action="<%= base %>/suppliers/margins" class="card">
  <input type="hidden" name="_csrf" value="<%= csrf %>">
  <div class="page-head">
    <h2>Marge par fournisseur</h2>
    <button class="btn btn-primary">Enregistrer les marges</button>
  </div>
  <p class="muted small">
    La marge d’un fournisseur s’applique à <strong>tous ses produits</strong> (sauf tranche ou coefficient forcé sur un produit).
    <strong>Coefficient</strong> : 3 = prix d’achat × 3. <strong>Marge %</strong> : 0,2 ou 20 = prix d’achat + 20 %.
    <strong>Taux de marque</strong> : 0,3 ou 30 = la marge représente 30 % du prix de vente HT.
  </p>
  <div class="scroll-x">
  <table class="table">
    <thead><tr><th>Nom</th><th>Type de calcul</th><th class="num">Valeur</th><th>Exemple (10 € d’achat)</th><th>Tranches</th><th class="num">Articles</th><th class="num">Achat moyen</th><th>Mis à jour</th><th></th></tr></thead>
    <tbody>
    <% suppliers.forEach(s => { %>
      <tr class="<%= s.active ? '' : 'dim' %>" data-margin-row>
        <td><a href="<%= base %>/suppliers/<%= s.id %>"><strong><%= s.name %></strong></a><%= s.active ? '' : ' (inactif)' %><br><span class="small muted">priorité <%= s.priority %></span></td>
        <td>
          <select name="mode_<%= s.id %>" data-margin-mode>
            <% Object.entries(MARGIN_MODES).forEach(([k, v]) => { %><option value="<%= k %>" <%= s.margin_mode === k ? 'selected' : '' %>><%= v %></option><% }) %>
          </select>
        </td>
        <td class="num"><input name="value_<%= s.id %>" value="<%= String(s.coefficient).replace('.', ',') %>" class="coef-input" inputmode="decimal" required data-margin-value></td>
        <td class="small" data-margin-example><%= s.example %></td>
        <td class="small"><%= s.tiersParsed.length ? s.tiersParsed.map(t => `≥${t.min} € : ${t.coef}`).join(', ') : '—' %></td>
        <td class="num"><a href="<%= base %>/suppliers/<%= s.id %>/items"><%= s.items || 0 %></a></td>
        <td class="num"><%= s.avg_purchase ? Number(s.avg_purchase).toFixed(2) + ' €' : '—' %></td>
        <td class="small"><%= s.last_update || '—' %></td>
        <td class="actions"><a class="btn btn-sm" href="<%= base %>/suppliers/<%= s.id %>/diagnostic">Diagnostic</a> <a class="btn btn-sm" href="<%= base %>/suppliers/<%= s.id %>#import">Importer</a></td>
      </tr>
    <% }) %>
    </tbody>
  </table>
  </div>
  <p class="small muted">L’exemple tient compte de l’arrondi choisi dans les Paramètres ; il est mis à jour après enregistrement.
    Ensuite : <a href="<%= base %>/prices?status=changed">contrôler les prix recalculés</a> puis les envoyer depuis <a href="<%= base %>/sync">Synchronisation</a>.</p>
</form>
<% } %>
<%- include('../partials/footer') %>
