Total devis
24
Vue · CRM
Suivi des devis par statut (envoyé, accepté, expiré) avec totaux et taux d'acceptation.
Filtres par période via Select et DatePicker, alertes d'échéance
via Alert, indicateurs clés via KpiCard et table des montants
via DataTable + Badge. Un seul NodeSpec →
rendu identique en Svelte, React, Vue et Angular.
Utilisez les onglets pour basculer entre Svelte, React, Vue et Angular. Le rendu et le code copié reflètent le framework sélectionné.
Total devis
24
Montant total
1 248 500 €
Taux d'acceptation
62 %
Devis expirés
4
| DEV-2026-041 | Airbus Group SE | 210 000 € | [object Object] | 2026-06-30 |
| DEV-2026-038 | Orange Business | 87 500 € | [object Object] | 2026-07-15 |
| DEV-2026-035 | Société Générale | 320 000 € | [object Object] | 2026-07-02 |
| DEV-2026-031 | Capgemini France | 54 000 € | [object Object] | 2026-05-31 |
| DEV-2026-028 | Thales Group | 175 000 € | [object Object] | 2026-06-20 |
| DEV-2026-024 | Safran SA | 98 000 € | [object Object] | 2026-05-15 |
<div class="qt-shell">
<Alert tone="warning" title="2 devis expirent dans moins de 7 jours">DEV-2026-038 (Orange) et DEV-2026-035 (Société Générale) arrivent à échéance prochainement.</Alert>
<div class="qt-filters">
<Select
label="Période"
value="q2-2026"
options={[{"value":"q1-2026","label":"T1 2026"},{"value":"q2-2026","label":"T2 2026"},{"value":"q3-2026","label":"T3 2026"}]}
/>
<Select
label="Statut"
value="all"
options={[{"value":"all","label":"Tous"},{"value":"sent","label":"Envoyé"},{"value":"accepted","label":"Accepté"},{"value":"expired","label":"Expiré"}]}
/>
<DatePicker label="Du" value="2026-04-01" />
<DatePicker label="Au" value="2026-06-30" />
</div>
<div class="qt-kpis">
<KpiCard label="Total devis" value="24" trend="+3" tone="neutral" />
<KpiCard
label="Montant total"
value="1 248 500 €"
trend="+12 %"
tone="success"
/>
<KpiCard label="Taux d'acceptation" value="62 %" trend="+5 pt" tone="success" />
<KpiCard label="Devis expirés" value="4" trend="-1" tone="danger" />
</div>
<DataTable
caption="Liste des devis"
columns={[{"key":"id","label":"N° devis","sortable":true},{"key":"client","label":"Client","sortable":true},{"key":"amount","label":"Montant HT","sortable":true,"align":"end"},{"key":"status","label":"Statut","sortable":true},{"key":"expires","label":"Échéance","sortable":true}]}
rows={[{"id":"DEV-2026-041","client":"Airbus Group SE","amount":"210 000 €","status":{"comp":"Badge","props":{"tone":"success"},"children":["Accepté"]},"statusTone":"success","expires":"2026-06-30"},{"id":"DEV-2026-038","client":"Orange Business","amount":"87 500 €","status":{"comp":"Badge","props":{"tone":"info"},"children":["Envoyé"]},"statusTone":"info","expires":"2026-07-15"},{"id":"DEV-2026-035","client":"Société Générale","amount":"320 000 €","status":{"comp":"Badge","props":{"tone":"info"},"children":["Envoyé"]},"statusTone":"info","expires":"2026-07-02"},{"id":"DEV-2026-031","client":"Capgemini France","amount":"54 000 €","status":{"comp":"Badge","props":{"tone":"danger"},"children":["Expiré"]},"statusTone":"danger","expires":"2026-05-31"},{"id":"DEV-2026-028","client":"Thales Group","amount":"175 000 €","status":{"comp":"Badge","props":{"tone":"success"},"children":["Accepté"]},"statusTone":"success","expires":"2026-06-20"},{"id":"DEV-2026-024","client":"Safran SA","amount":"98 000 €","status":{"comp":"Badge","props":{"tone":"danger"},"children":["Expiré"]},"statusTone":"danger","expires":"2026-05-15"}]}
size="sm"
/>
<div class="qt-actions">
<Button variant="secondary" size="sm">Exporter CSV</Button>
<Button variant="primary" size="sm">Nouveau devis</Button>
</div>
</div>