Parcourir la source

(feat) ajustement de la date

Brin AMONKONAN il y a 1 an
Parent
commit
083e09521f
1 fichiers modifiés avec 24 ajouts et 69 suppressions
  1. 24 69
      app_transport_front/src/views/EmployeeDashboard.vue

+ 24 - 69
app_transport_front/src/views/EmployeeDashboard.vue

@@ -185,7 +185,7 @@
                             trip.registrationClosed ? 'text-gray-400' : 'text-gray-500'
                           ]"
                         >
-                          {{ formatTime(trip.departureTime) }} - {{ formatTime(trip.arrivalTime) }}
+                          {{ formatDateTime(trip.departureDateTime) }} - {{ formatDateTime(trip.arrivalDateTime) }}
                         </p>
                         <p v-if="trip.vehicule" 
                           :class="[
@@ -290,6 +290,7 @@ import EmployeeService, { type AssignedTrip } from '@/services/EmployeeService'
 import TripService from '@/services/TripService'
 import { useCompanies } from '@/composables/useCompanies'
 import { useUserCompanyStore } from '@/stores/useCompanyStore'
+import { formatDate } from '@vueuse/core'
 
 const router = useRouter()
 const userStore = useUserStore()
@@ -333,6 +334,7 @@ const tabs = computed(() => [
 
 // Computed
 const nextTripTime = computed(() => {
+  console.log('nextTripTime =>', todayTrips.value)
   if (todayTrips.value.length > 0) {
     return todayTrips.value[0].departureTime
   }
@@ -417,6 +419,8 @@ const loadCompanyTrips = async () => {
               hour: '2-digit', 
               minute: '2-digit' 
             }),
+            departureDateTime: trip.departAt, // Date complète de départ
+            arrivalDateTime: trip.arriveAt, // Date complète d'arrivée
             passengers: actualPassengers, // Nombre réel de réservations
             capacity: trip.vehicule?.number_places || 0,
             vehicule: trip.vehicule, // Ajouter l'objet véhicule complet
@@ -440,6 +444,8 @@ const loadCompanyTrips = async () => {
               hour: '2-digit', 
               minute: '2-digit' 
             }),
+            departureDateTime: trip.departAt, // Date complète de départ
+            arrivalDateTime: trip.arriveAt, // Date complète d'arrivée
             passengers: Math.max(0, (trip.vehicule?.number_places || 0) - trip.availableSeats),
             capacity: trip.vehicule?.number_places || 0,
             vehicule: trip.vehicule, // Ajouter l'objet véhicule complet
@@ -508,14 +514,18 @@ const loadTrips = async () => {
           return {
             ...trip,
             passengers: actualPassengers, // Remplacer par le nombre réel de réservations
-            registrationClosed: trip.registrationClosed || false // S'assurer que registrationClosed est présent
+            registrationClosed: trip.registrationClosed || false, // S'assurer que registrationClosed est présent
+            departureDateTime: trip.date + 'T' + trip.departureTime + ':00', // Construire la date complète de départ
+            arrivalDateTime: trip.date + 'T' + trip.arrivalTime + ':00' // Construire la date complète d'arrivée
           }
         } catch (error) {
           console.error(`Erreur lors de la récupération des passagers pour le trajet ${trip.id}:`, error)
           // Garder les données originales en cas d'erreur avec registrationClosed
           return {
             ...trip,
-            registrationClosed: trip.registrationClosed || false
+            registrationClosed: trip.registrationClosed || false,
+            departureDateTime: trip.date + 'T' + trip.departureTime + ':00', // Construire la date complète de départ
+            arrivalDateTime: trip.date + 'T' + trip.arrivalTime + ':00' // Construire la date complète d'arrivée
           }
         }
       })
@@ -526,7 +536,7 @@ const loadTrips = async () => {
     // Mettre à jour aussi allTrips pour la cohérence
     allTrips.value = [...tripsWithPassengers]
     
-    console.log('✅ Trajets assignés chargés:', tripsWithPassengers.length)
+    console.log('✅ Trajets assignés chargés:', tripsWithPassengers)
     console.log('📋 todayTrips.value:', todayTrips.value)
     
     // Si aucun trajet assigné, utiliser les trajets de l'entreprise comme fallback
@@ -535,71 +545,7 @@ const loadTrips = async () => {
       todayTrips.value = companyTrips.value
       allTrips.value = [...companyTrips.value]
     }
-    
-    // Ajouter temporairement des données de test avec registrationClosed pour démonstration
-    if (todayTrips.value.length === 0) {
-      console.log('🧪 Ajout de données de test avec registrationClosed')
-      todayTrips.value = [
-        {
-          id: 1,
-          departure: 'Abidjan',
-          arrival: 'Yamoussoukro',
-          departureTime: '08:00',
-          arrivalTime: '10:30',
-          passengers: 25,
-          capacity: 30,
-          registrationClosed: false,
-          vehicule: { type: 'Bus', immatriculation: 'AB-123-CI', number_places: 30 },
-          status: 'scheduled',
-          vehicle: { id: 1, licensePlate: 'AB-123-CI', model: 'Mercedes', capacity: 30 },
-          company: { id: 1, name: 'Transport Express' },
-          route: {
-            id: 1,
-            departureStation: { id: 1, name: 'Abidjan', city: 'Abidjan' },
-            arrivalStation: { id: 2, name: 'Yamoussoukro', city: 'Yamoussoukro' }
-          }
-        },
-        {
-          id: 2,
-          departure: 'Bouaké',
-          arrival: 'Korhogo',
-          departureTime: '14:00',
-          arrivalTime: '17:00',
-          passengers: 18,
-          capacity: 25,
-          registrationClosed: true, // Trajet avec enregistrement fermé
-          vehicule: { type: 'Minibus', immatriculation: 'BK-456-CI', number_places: 25 },
-          status: 'scheduled',
-          vehicle: { id: 2, licensePlate: 'BK-456-CI', model: 'Toyota', capacity: 25 },
-          company: { id: 1, name: 'Transport Express' },
-          route: {
-            id: 2,
-            departureStation: { id: 3, name: 'Bouaké', city: 'Bouaké' },
-            arrivalStation: { id: 4, name: 'Korhogo', city: 'Korhogo' }
-          }
-        },
-        {
-          id: 3,
-          departure: 'San Pedro',
-          arrival: 'Abidjan',
-          departureTime: '16:30',
-          arrivalTime: '19:45',
-          passengers: 12,
-          capacity: 20,
-          registrationClosed: true, // Autre trajet avec enregistrement fermé
-          vehicule: { type: 'Bus', immatriculation: 'SP-789-CI', number_places: 20 },
-          status: 'scheduled',
-          vehicle: { id: 3, licensePlate: 'SP-789-CI', model: 'Iveco', capacity: 20 },
-          company: { id: 1, name: 'Transport Express' },
-          route: {
-            id: 3,
-            departureStation: { id: 5, name: 'San Pedro', city: 'San Pedro' },
-            arrivalStation: { id: 1, name: 'Abidjan', city: 'Abidjan' }
-          }
-        }
-      ]
-      allTrips.value = [...todayTrips.value]
-    }
+
   } catch (error) {
     console.error('❌ Erreur lors du chargement des trajets:', error)
   }
@@ -660,6 +606,15 @@ const onTicketValidated = async (ticketData: any) => {
 const formatTime = (time: string) => {
   return time
 }
+
+const formatDateTime = (dateTime: string) => {
+  return new Date(dateTime).toLocaleString('fr-FR', {
+    hour: '2-digit',
+    minute: '2-digit',
+    day: '2-digit',
+    month: '2-digit',
+  })
+}
 // Lifecycle
 onMounted(() => {
   // Charger les données depuis l'API