ソースを参照

(fix) station-entreprise

Brin AMONKONAN 1 年間 前
親
コミット
0ccad34457

+ 5 - 8
app_transport_front/src/components/VehicleModal.vue

@@ -16,10 +16,6 @@
         </div>
 
         <div class="form-row">
-          <div class="form-group">
-            <label>Marque <span class="required">*</span></label>
-            <input type="text" v-model="formData.brand" required>
-          </div>
           <div class="form-group">
             <label>Modèle <span class="required">*</span></label>
             <input type="text" v-model="formData.model" required>
@@ -103,7 +99,7 @@
 import { Role } from '@/Enum/Role'
 import { useUserCompanyStore } from '@/stores/useCompanyStore'
 import { useUserStore } from '@/stores/useUserStore'
-import { ref, watch, defineProps, defineEmits } from 'vue'
+import { ref, watch, defineProps, defineEmits, onMounted } from 'vue'
 
 interface Company {
   id: number | null
@@ -117,7 +113,6 @@ const companyAuth: Company = {
 
 interface VehicleData {
   id: number | null
-  brand: string
   model: string
   immatriculation: string
   year: number
@@ -150,7 +145,6 @@ const emit = defineEmits(['close', 'save'])
 const isEditing = ref(false)
 const formData = ref<VehicleData>({
   id: null,
-  brand: '',
   model: '',
   immatriculation: '',
   year: new Date().getFullYear(),
@@ -167,7 +161,6 @@ const resetForm = () => {
   if (!props.vehicle) {
     formData.value = {
       id: null,
-      brand: '',
       model: '',
       immatriculation: '',
       year: new Date().getFullYear(),
@@ -205,6 +198,10 @@ watch(() => props.show, (newShow) => {
   }
 })
 
+onMounted(async () => {
+ console.log('companyAuth', companyAuth.name)
+})
+
 const close = () => {
   emit('close')
 }

+ 6 - 5
app_transport_front/src/views/StationCompanyView.vue

@@ -244,7 +244,7 @@ watch(() => formData.companyId, async (newCompanyId) => {
   if (newCompanyId) {
     await loadEmployees(newCompanyId)
   } else {
-    employees.value = []
+    //employees.value = []
   }
   // Réinitialiser le chef de station quand l'entreprise change
   formData.stationChiefId = undefined
@@ -273,7 +273,7 @@ watch(() => formData.companyId, async (newCompanyId) => {
 const loadEmployees = async (companyId: number) => {
   try {
     const response = await CompanyService.getCompanyEmployees(companyId, 1, 100)
-    employees.value = response.employees
+    employees.value = response.data.data.filter(employe => employe.role !== Role.Driver)
   } catch (error) {
     console.error('Erreur lors du chargement des employés:', error)
     employees.value = []
@@ -377,10 +377,11 @@ const resetForm = () => {
 const initializeForm = async () => {
   resetForm()
   // Si l'utilisateur n'est pas admin, pré-remplir avec son entreprise
-  if (!isAdmin.value && userStore.decodedCompanyId) {
-    formData.companyId = userStore.decodedCompanyId
+  if (!isAdmin.value) {
+    console.log('userStore.decodedCompanyId:', userStore.decodedCompanyId)
+    formData.companyId = useUserCompanyStore().id as number
     // Charger les employés de l'entreprise
-    await loadEmployees(userStore.decodedCompanyId)
+    await loadEmployees(useUserCompanyStore().id as number)
   }
 }
 

+ 18 - 12
app_transport_front/src/views/VehicleView.vue

@@ -82,7 +82,7 @@
                 <th>Modèle</th>
                 <th>Immatriculation</th>
                 <th>Type</th>
-                <th>Entreprise</th>
+                <th v-if="useUserStore().userRole === Role.Admin">Entreprise</th>
                 <th>Statut</th>
                 <th>Actions</th>
               </tr>
@@ -95,7 +95,7 @@
                 <td>{{ vehicle.model }}</td>
                 <td>{{ vehicle.immatriculation }}</td>
                 <td>{{ getVehicleTypeName(vehicle.type) }}</td>
-                <td>{{ getCompanyName(vehicle.companyId) }}</td>
+                <td v-if="useUserStore().userRole === Role.Admin">{{ getCompanyName(vehicle.companyId) }}</td>
                 <td>
                   <span :class="['status-badge', getStatusClass(vehicle.status)]">
                     {{ getStatusName(vehicle.status) }}
@@ -245,6 +245,7 @@ import { useVehiculeStore, Vehicule } from '@/stores/useVehiculeStore'
 import VehiculeService from '@/services/VehiculeService'
 //import CompanyService from '@/services/CompanyService'
 import type { Vehicle, Company } from '@/types'
+import CompanyService from '@/services/CompanyService'
 
 // Variables réactives pour les données
 const vehicles = ref<Vehicle[]>([])
@@ -316,14 +317,17 @@ const loadVehicles = async () => {
   }
 }
 
-// const loadCompanies = async () => {
-//   try {
-//     const result = await CompanyService.getCompanies(1, 100) // Charger toutes les entreprises
-//     companies.value = result.companies
-//   } catch (error) {
-//     console.error('Erreur lors du chargement des entreprises:', error)
-//   }
-// }
+const loadCompanies = async () => {
+  if (useUserStore().userRole !== Role.Admin) {
+    return
+  }
+  try {
+    const result = await CompanyService.getCompanies(1, 100) // Charger toutes les entreprises
+    companies.value = result.companies
+  } catch (error) {
+    console.error('Erreur lors du chargement des entreprises:', error)
+  }
+}
 
 const createNewVehicle = async (vehicule: Vehicle) => {
 
@@ -375,7 +379,8 @@ const filteredVehicles = computed(() => {
 })
 
 // Méthodes utilitaires
-const getCompanyName = (companyId) => {
+const getCompanyName = (companyId: number) => {
+  console.log('companyId', companies.value)
   const company = companies.value.find(c => c.id === companyId)
   return company ? company.name : 'Inconnue'
 }
@@ -500,7 +505,8 @@ const deleteVehicle = async () => {
 onMounted(async () => {
   await Promise.all([
     loadVehicles(),
-    useVehiculeStore().fetchVehicles()
+    useVehiculeStore().fetchVehicles(),
+    loadCompanies()
   ])
 })