Ajoute la possibilité de créer des devis pour un client donné, avec gestion des numéros de devis et des lignes de devis.
78 lines
3.7 KiB
Twig
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>
|