- Délai commande → livraison:
+ Délai moyen:
{stats?.averageDeliveryTime?.toFixed(1) || '0'} jours
diff --git a/client/src/pages/Dashboard.tsx b/client/src/pages/Dashboard.tsx
index 3d62420..f89b5c3 100644
--- a/client/src/pages/Dashboard.tsx
+++ b/client/src/pages/Dashboard.tsx
@@ -41,6 +41,31 @@ export default function Dashboard() {
},
});
+ // Statistiques annuelles pour la carte de délai moyen
+ const { data: yearlyStats } = useQuery({
+ queryKey: ['/api/stats/yearly', selectedStoreId],
+ queryFn: async () => {
+ const currentDate = new Date();
+ const params = new URLSearchParams({
+ year: currentDate.getFullYear().toString(),
+ });
+
+ if (selectedStoreId && user?.role === 'admin') {
+ params.append('storeId', selectedStoreId.toString());
+ }
+
+ const response = await fetch(`/api/stats/yearly?${params.toString()}`, {
+ credentials: 'include'
+ });
+
+ if (!response.ok) {
+ throw new Error('Failed to fetch yearly stats');
+ }
+
+ return response.json();
+ },
+ });
+
// Construire les URLs pour récupérer toutes les données (pas de filtrage par date)
const ordersUrl = `/api/orders${selectedStoreId && user?.role === 'admin' ? `?storeId=${selectedStoreId}` : ''}`;
const deliveriesUrl = `/api/deliveries${selectedStoreId && user?.role === 'admin' ? `?storeId=${selectedStoreId}` : ''}`;
@@ -247,7 +272,7 @@ export default function Dashboard() {
// Calculs pour les statistiques
const pendingOrdersCount = Array.isArray(allOrders) ? allOrders.filter((order: any) => order.status === 'pending').length : 0;
- const averageDeliveryTime = Math.round(stats?.averageDeliveryTime || 0);
+ const averageDeliveryTime = Math.round(yearlyStats?.averageDeliveryTime || 0);
const deliveredThisMonth = Array.isArray(allDeliveries) ? allDeliveries.filter((delivery: any) => {
const deliveryDate = safeDate(delivery.deliveredDate || delivery.createdAt);
if (!deliveryDate) return false;
@@ -405,8 +430,8 @@ export default function Dashboard() {
-
Délai moyen (jours)
-
{averageDeliveryTime}
+
Délai commande → livraison
+
{averageDeliveryTime} jours