feat: calculateur de frais de déplacement - backend et modèles Flutter

- Cloud Function travel.js : autocomplete Google Places + calcul itinéraires
  via Google Routes API avec péages Ulys /legs (precision=6) + /rate
- Modèles : VehicleModel, DepotModel, RouteResultModel + FuelPrices
- Services : VehicleService, TravelService (Firestore CRUD + API calls)
- Gestion des données : 3 nouveaux onglets (Dépôts, Véhicules, Prix carburants)
- Autocomplétion adresse dans le formulaire événement
- Dialog calcul frais : config + carte flutter_map OSM + sélection itinéraire
- Injection option FRAIS_KM dans l'événement à la sélection
- flutter_map 7.0.2 + latlong2 0.9.1 ajoutés
- npm: csv-parser + @mapbox/polyline installés dans functions
This commit is contained in:
ElPoyo
2026-06-04 14:28:22 +02:00
parent bc93f3fa9a
commit e14b333a67
22 changed files with 3940 additions and 24 deletions
+11
View File
@@ -248,6 +248,17 @@ class _EventAddEditPageState extends State<EventAddEditPage> {
contactPhoneController: controller.contactPhoneController,
isMobile: isMobile,
onAnyFieldChanged: () {}, // Géré automatiquement par le contrôleur
onTravelCostSelected: (price) {
controller.addTravelCostOption(price);
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
'Frais de déplacement ajoutés : ${price.toStringAsFixed(2)}'),
backgroundColor: Colors.green,
duration: const Duration(seconds: 3),
),
);
},
),
EventStaffAndDocumentsSection(
allUsers: controller.allUsers,