Files
e-cosplay/templates/artemis/intranet/customer/order.twig
Serreau Jovann 38d1fca150 feat(CustomerController): Ajoute création de devis client.
Ajoute la possibilité de créer des devis pour un client donné, avec
gestion des numéros de devis et des lignes de devis.
2025-07-24 10:08:51 +02:00

78 lines
3.7 KiB
Twig

<div class="flex justify-between items-center mb-6">
<h2 class="text-3xl font-semibold text-gray-800 dark:text-gray-200">Factures / Devis / Avis de Paiement</h2>
<div>
<a href="{{ path('artemis_intranet_customer_orderAdd',{id:customer.id}) }}" class="px-4 py-2 bg-blue-600 text-white font-medium rounded-md shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 dark:focus:ring-offset-gray-900">
+ Crée un devis / avis de paiement / facture
</a>
</div>
</div>
<!-- Barre de recherche + filtre type -->
<div class="bg-gray-800 rounded-lg shadow p-6 mb-6">
<form method="get" action="" class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>
<label for="searchInput" class="block mb-1 font-semibold">Rechercher :</label>
<input
type="search"
id="searchInput"
name="search"
placeholder="Nom ou numéro de document"
class="w-full px-4 py-2 rounded-md text-gray-900 focus:outline-none focus:ring-2 focus:ring-blue-500"
/>
</div>
<div>
<label for="typeFilter" class="block mb-1 font-semibold">Filtrer par type :</label>
<select
id="typeFilter"
name="type"
class="w-full px-4 py-2 rounded-md text-gray-900 focus:outline-none focus:ring-2 focus:ring-blue-500"
>
<option value="">Tous</option>
<option value="facture">Facture</option>
<option value="devis">Devis</option>
<option value="avis">Avis de paiement</option>
</select>
</div>
<div class="md:col-span-2">
<button
type="submit"
class="mt-3 bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded"
>
Filtrer
</button>
</div>
</form>
</div>
<!-- Tableau -->
<div class="overflow-x-auto bg-gray-800 rounded-lg shadow">
<table class="min-w-full divide-y divide-gray-700">
<thead class="bg-gray-700">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">Type</th>
<th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">N°</th>
<th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">Date</th>
<th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">Montant</th>
<th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">Statut</th>
<th class="px-6 py-3 text-center text-xs font-medium uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody>
{% for orderDevi in orderDevis %}
<tr class="hover:bg-gray-700">
<td class="px-6 py-4">DEVIS</td>
<td class="px-6 py-4">{{ orderDevi.numDevis }}</td>
<td class="px-6 py-4">{{ orderDevi.createAt|date('d/m/Y H:i') }}</td>
<td class="px-6 py-4">1 200,00 €</td>
<td class="px-6 py-4 text-green-400">Payé</td>
<td class="px-6 py-4 text-center">
<button class="bg-blue-600 hover:bg-blue-700 text-white px-3 py-1 rounded">Modifier</button>
<button class="bg-blue-600 hover:bg-blue-700 text-white px-3 py-1 rounded">Télécharger</button>
<button class="bg-blue-600 hover:bg-blue-700 text-white px-3 py-1 rounded">Annulée</button>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>