@fleetbase/fleetops-engine 0.6.51 → 0.6.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/addon/components/cell/telematic-provider.hbs +16 -0
- package/addon/components/cell/telematic-provider.js +36 -0
- package/addon/components/cell/telematic-status.hbs +1 -0
- package/addon/components/cell/telematic-status.js +39 -0
- package/addon/components/device/manager.hbs +5 -6
- package/addon/components/device/manager.js +12 -15
- package/addon/components/driver/details.hbs +1 -1
- package/addon/components/fleet/vehicle-listing.js +1 -0
- package/addon/components/fuel-integration/form.hbs +200 -0
- package/addon/components/fuel-integration/form.js +242 -0
- package/addon/components/fuel-integration/hub.hbs +154 -0
- package/addon/components/fuel-integration/hub.js +165 -0
- package/addon/components/fuel-integration/matching-priority.hbs +76 -0
- package/addon/components/fuel-integration/matching-priority.js +145 -0
- package/addon/components/fuel-report/details.hbs +13 -1
- package/addon/components/issue/details.hbs +3 -57
- package/addon/components/issue/details.js +0 -96
- package/addon/components/layout/fleet-ops-sidebar.js +20 -2
- package/addon/components/map/drawer/device-event-listing.hbs +12 -2
- package/addon/components/map/drawer/driver-listing.hbs +14 -1
- package/addon/components/map/drawer/place-listing.hbs +14 -1
- package/addon/components/map/drawer/position-listing.hbs +12 -2
- package/addon/components/map/drawer/vehicle-listing.hbs +14 -1
- package/addon/components/modals/assigned-orders.hbs +40 -0
- package/addon/components/modals/attach-device.hbs +4 -3
- package/addon/components/modals/attach-telematic-device.hbs +25 -0
- package/addon/components/modals/attach-telematic-device.js +3 -0
- package/addon/components/modals/driver-assign-order.hbs +7 -58
- package/addon/components/modals/driver-assign-vehicle.hbs +10 -2
- package/addon/components/modals/fleet-assign-driver.hbs +18 -0
- package/addon/components/modals/fleet-assign-driver.js +3 -0
- package/addon/components/modals/fleet-assign-vehicle.hbs +18 -0
- package/addon/components/modals/fleet-assign-vehicle.js +3 -0
- package/addon/components/modals/telematic-connection-diagnostics.hbs +75 -0
- package/addon/components/modals/telematic-connection-diagnostics.js +287 -0
- package/addon/components/modals/vehicle-details.hbs +6 -1
- package/addon/components/modals/vehicle-form.hbs +8 -1
- package/addon/components/order/card.hbs +106 -0
- package/addon/components/order/card.js +257 -0
- package/addon/components/order/form/service-rate.hbs +2 -0
- package/addon/components/service-rate/form.hbs +3 -2
- package/addon/components/telematic/details.hbs +98 -87
- package/addon/components/telematic/details.js +230 -1
- package/addon/components/telematic/form.hbs +303 -72
- package/addon/components/telematic/form.js +519 -3
- package/addon/components/telematic/hub.hbs +149 -0
- package/addon/components/telematic/hub.js +142 -0
- package/addon/components/telematic/settings.hbs +152 -0
- package/addon/components/telematic/settings.js +45 -0
- package/addon/components/telematic/tab-empty-state.hbs +29 -0
- package/addon/components/telematic/tab-empty-state.js +33 -0
- package/addon/components/vehicle/details.hbs +6 -1
- package/addon/components/vehicle/form.hbs +2 -1
- package/addon/components/widget/fuel-providers.hbs +43 -0
- package/addon/components/widget/fuel-providers.js +27 -0
- package/addon/controllers/connectivity/devices/index/details.js +27 -1
- package/addon/controllers/connectivity/devices/index.js +14 -0
- package/addon/controllers/connectivity/fuel-providers/details/sync.js +18 -0
- package/addon/controllers/connectivity/fuel-providers/details/transactions.js +24 -0
- package/addon/controllers/connectivity/fuel-providers/details.js +69 -0
- package/addon/controllers/connectivity/fuel-providers/edit.js +24 -0
- package/addon/controllers/connectivity/fuel-providers/index.js +177 -0
- package/addon/controllers/connectivity/fuel-providers/new.js +37 -0
- package/addon/controllers/connectivity/telematics/details/attachments.js +247 -0
- package/addon/controllers/connectivity/telematics/details/devices.js +368 -0
- package/addon/controllers/connectivity/telematics/details/events.js +244 -0
- package/addon/controllers/connectivity/telematics/details/index.js +3 -0
- package/addon/controllers/connectivity/telematics/details/logs.js +43 -0
- package/addon/controllers/connectivity/telematics/details/sensors.js +270 -0
- package/addon/controllers/connectivity/telematics/details.js +149 -0
- package/addon/controllers/connectivity/telematics/{index/edit.js → edit.js} +15 -4
- package/addon/controllers/connectivity/telematics/index.js +25 -5
- package/addon/controllers/connectivity/telematics/{index/new.js → new.js} +8 -2
- package/addon/controllers/management/drivers/index/details.js +78 -1
- package/addon/controllers/management/drivers/index.js +39 -0
- package/addon/controllers/management/fleets/index/details.js +23 -1
- package/addon/controllers/management/fleets/index.js +6 -1
- package/addon/controllers/management/fuel-reports/index.js +37 -1
- package/addon/controllers/management/fuel-transactions/index/details.js +70 -0
- package/addon/controllers/management/fuel-transactions/index.js +240 -0
- package/addon/controllers/management/vehicles/index/details.js +32 -0
- package/addon/controllers/management/vehicles/index.js +26 -0
- package/addon/controllers/operations/orders/index.js +4 -0
- package/addon/controllers/settings/payments/index.js +5 -0
- package/addon/extension.js +10 -0
- package/addon/routes/connectivity/fuel-providers/details/index.js +7 -0
- package/addon/routes/connectivity/fuel-providers/details/matching.js +7 -0
- package/addon/routes/connectivity/fuel-providers/details/settings.js +7 -0
- package/addon/routes/connectivity/fuel-providers/details/sync.js +18 -0
- package/addon/routes/connectivity/fuel-providers/details/transactions.js +14 -0
- package/addon/routes/connectivity/fuel-providers/details.js +18 -0
- package/addon/routes/connectivity/fuel-providers/edit.js +18 -0
- package/addon/routes/connectivity/fuel-providers/index.js +20 -0
- package/addon/routes/connectivity/fuel-providers/new.js +3 -0
- package/addon/routes/connectivity/fuel-providers.js +3 -0
- package/addon/routes/connectivity/telematics/details/attachments.js +28 -0
- package/addon/routes/connectivity/telematics/details/devices.js +30 -0
- package/addon/routes/connectivity/telematics/details/events.js +33 -0
- package/addon/routes/connectivity/telematics/details/index.js +3 -0
- package/addon/routes/connectivity/telematics/details/logs.js +17 -0
- package/addon/routes/connectivity/telematics/details/sensors.js +29 -0
- package/addon/routes/connectivity/telematics/{index/details.js → details.js} +1 -1
- package/addon/routes/connectivity/telematics/{index/edit.js → edit.js} +1 -1
- package/addon/routes/connectivity/telematics/new.js +3 -0
- package/addon/routes/management/drivers/index/details/activity.js +3 -0
- package/addon/routes/management/fuel-reports/index.js +2 -0
- package/addon/routes/management/fuel-transactions/index/details.js +18 -0
- package/addon/routes/management/fuel-transactions/index.js +21 -0
- package/addon/routes/management/fuel-transactions.js +3 -0
- package/addon/routes.js +28 -9
- package/addon/services/device-actions.js +64 -1
- package/addon/services/device-event-actions.js +12 -1
- package/addon/services/driver-actions.js +147 -11
- package/addon/services/fleet-actions.js +66 -1
- package/addon/services/fuel-integration-actions.js +31 -0
- package/addon/services/issue-actions.js +1 -1
- package/addon/services/telematic-actions.js +9 -3
- package/addon/services/vehicle-actions.js +125 -0
- package/addon/styles/fleetops-engine.css +310 -34
- package/addon/templates/analytics/reports/index.hbs +19 -1
- package/addon/templates/connectivity/devices/index.hbs +19 -1
- package/addon/templates/connectivity/events/index.hbs +16 -1
- package/addon/templates/connectivity/fuel-providers/details/index.hbs +38 -0
- package/addon/templates/connectivity/fuel-providers/details/matching.hbs +13 -0
- package/addon/templates/connectivity/fuel-providers/details/settings.hbs +11 -0
- package/addon/templates/connectivity/fuel-providers/details/sync.hbs +48 -0
- package/addon/templates/connectivity/fuel-providers/details/transactions.hbs +21 -0
- package/addon/templates/connectivity/fuel-providers/details.hbs +51 -0
- package/addon/templates/connectivity/fuel-providers/edit.hbs +24 -0
- package/addon/templates/connectivity/fuel-providers/index.hbs +12 -0
- package/addon/templates/connectivity/fuel-providers/new.hbs +22 -0
- package/addon/templates/connectivity/fuel-providers.hbs +1 -0
- package/addon/templates/connectivity/sensors/index.hbs +19 -1
- package/addon/templates/connectivity/telematics/details/attachments.hbs +163 -0
- package/addon/templates/connectivity/telematics/details/devices.hbs +88 -0
- package/addon/templates/connectivity/telematics/details/events.hbs +101 -0
- package/addon/templates/connectivity/telematics/{index/details → details}/index.hbs +0 -1
- package/addon/templates/connectivity/telematics/details/logs.hbs +69 -0
- package/addon/templates/connectivity/telematics/details/sensors.hbs +88 -0
- package/addon/templates/connectivity/telematics/details.hbs +53 -0
- package/addon/templates/connectivity/telematics/edit.hbs +27 -0
- package/addon/templates/connectivity/telematics/index.hbs +6 -8
- package/addon/templates/connectivity/telematics/new.hbs +24 -0
- package/addon/templates/maintenance/equipment/index.hbs +19 -1
- package/addon/templates/maintenance/maintenances/index.hbs +15 -1
- package/addon/templates/maintenance/parts/index.hbs +19 -1
- package/addon/templates/maintenance/schedules/index.hbs +19 -1
- package/addon/templates/maintenance/work-orders/index.hbs +19 -1
- package/addon/templates/management/contacts/customers.hbs +15 -1
- package/addon/templates/management/contacts/index.hbs +19 -1
- package/addon/templates/management/drivers/index/details/activity.hbs +1 -0
- package/addon/templates/management/drivers/index.hbs +19 -1
- package/addon/templates/management/fleets/index.hbs +19 -1
- package/addon/templates/management/fuel-reports/index.hbs +19 -1
- package/addon/templates/management/fuel-transactions/index/details.hbs +73 -0
- package/addon/templates/management/fuel-transactions/index.hbs +58 -0
- package/addon/templates/management/fuel-transactions.hbs +1 -0
- package/addon/templates/management/issues/index.hbs +19 -1
- package/addon/templates/management/places/index.hbs +19 -1
- package/addon/templates/management/vehicles/index.hbs +19 -1
- package/addon/templates/management/vendors/index.hbs +19 -1
- package/addon/templates/management/vendors/integrated.hbs +13 -1
- package/addon/templates/operations/orders/index.hbs +19 -1
- package/addon/templates/operations/service-rates/index.hbs +19 -1
- package/addon/templates/settings/payments/index.hbs +15 -1
- package/addon/utils/fleet-ops-options.js +3 -0
- package/app/components/cell/telematic-provider.js +1 -0
- package/app/components/cell/telematic-status.js +1 -0
- package/app/components/fuel-integration/form.js +1 -0
- package/app/components/fuel-integration/hub.js +1 -0
- package/app/components/fuel-integration/matching-priority.js +1 -0
- package/app/components/modals/assigned-orders.js +1 -0
- package/app/components/modals/attach-telematic-device.js +1 -0
- package/app/components/modals/fleet-assign-driver.js +1 -0
- package/app/components/modals/fleet-assign-vehicle.js +1 -0
- package/app/components/modals/telematic-connection-diagnostics.js +1 -0
- package/app/components/order/card.js +1 -0
- package/app/components/telematic/hub.js +1 -0
- package/app/components/telematic/settings.js +1 -0
- package/app/components/telematic/tab-empty-state.js +1 -0
- package/app/components/widget/fuel-providers.js +1 -0
- package/app/controllers/connectivity/fuel-providers/details/sync.js +1 -0
- package/app/controllers/connectivity/{telematics/index/details/devices.js → fuel-providers/details/transactions.js} +1 -1
- package/app/controllers/connectivity/{telematics/index → fuel-providers}/details.js +1 -1
- package/app/controllers/connectivity/{telematics/index → fuel-providers}/edit.js +1 -1
- package/app/controllers/connectivity/{telematics/index/details → fuel-providers}/index.js +1 -1
- package/app/controllers/connectivity/{telematics/index → fuel-providers}/new.js +1 -1
- package/app/controllers/connectivity/telematics/details/attachments.js +1 -0
- package/app/controllers/connectivity/telematics/details/devices.js +1 -0
- package/app/controllers/connectivity/telematics/details/events.js +1 -0
- package/app/controllers/connectivity/telematics/details/index.js +1 -0
- package/app/controllers/connectivity/telematics/details/logs.js +1 -0
- package/app/controllers/connectivity/telematics/details/sensors.js +1 -0
- package/app/controllers/connectivity/telematics/details.js +1 -0
- package/app/controllers/connectivity/telematics/edit.js +1 -0
- package/app/controllers/connectivity/telematics/new.js +1 -0
- package/app/controllers/management/fuel-transactions/index/details.js +1 -0
- package/app/controllers/management/fuel-transactions/index.js +1 -0
- package/app/routes/connectivity/{telematics/index → fuel-providers}/details/index.js +1 -1
- package/app/routes/connectivity/{telematics/index/details/events.js → fuel-providers/details/matching.js} +1 -1
- package/app/routes/connectivity/fuel-providers/details/settings.js +1 -0
- package/app/routes/connectivity/fuel-providers/details/sync.js +1 -0
- package/app/routes/connectivity/{telematics/index/details/devices.js → fuel-providers/details/transactions.js} +1 -1
- package/app/routes/connectivity/{telematics/index → fuel-providers}/details.js +1 -1
- package/app/routes/connectivity/{telematics/index → fuel-providers}/edit.js +1 -1
- package/app/routes/connectivity/fuel-providers/index.js +1 -0
- package/app/routes/connectivity/{telematics/index → fuel-providers}/new.js +1 -1
- package/app/routes/connectivity/fuel-providers.js +1 -0
- package/app/routes/connectivity/telematics/details/attachments.js +1 -0
- package/app/routes/connectivity/telematics/details/devices.js +1 -0
- package/app/routes/connectivity/telematics/details/events.js +1 -0
- package/app/routes/connectivity/telematics/details/index.js +1 -0
- package/app/routes/connectivity/telematics/details/logs.js +1 -0
- package/app/routes/connectivity/telematics/details/sensors.js +1 -0
- package/app/routes/connectivity/telematics/details.js +1 -0
- package/app/routes/connectivity/telematics/edit.js +1 -0
- package/app/routes/connectivity/telematics/new.js +1 -0
- package/app/routes/management/drivers/index/details/activity.js +1 -0
- package/app/routes/management/fuel-transactions/index/details.js +1 -0
- package/app/routes/management/fuel-transactions/index.js +1 -0
- package/app/routes/management/fuel-transactions.js +1 -0
- package/app/services/fuel-integration-actions.js +1 -0
- package/app/templates/connectivity/{telematics/index → fuel-providers}/details/index.js +1 -1
- package/app/templates/connectivity/{telematics/index/details/events.js → fuel-providers/details/matching.js} +1 -1
- package/app/templates/connectivity/fuel-providers/details/settings.js +1 -0
- package/app/templates/connectivity/fuel-providers/details/sync.js +1 -0
- package/app/templates/connectivity/{telematics/index/details/devices.js → fuel-providers/details/transactions.js} +1 -1
- package/app/templates/connectivity/{telematics/index → fuel-providers}/details.js +1 -1
- package/app/templates/connectivity/{telematics/index → fuel-providers}/edit.js +1 -1
- package/app/templates/connectivity/fuel-providers/index.js +1 -0
- package/app/templates/connectivity/{telematics/index → fuel-providers}/new.js +1 -1
- package/app/templates/connectivity/fuel-providers.js +1 -0
- package/app/templates/connectivity/telematics/details/attachments.js +1 -0
- package/app/templates/connectivity/telematics/details/devices.js +1 -0
- package/app/templates/connectivity/telematics/details/events.js +1 -0
- package/app/templates/connectivity/telematics/details/index.js +1 -0
- package/app/templates/connectivity/telematics/details/logs.js +1 -0
- package/app/templates/connectivity/telematics/details/sensors.js +1 -0
- package/app/templates/connectivity/telematics/details.js +1 -0
- package/app/templates/connectivity/telematics/edit.js +1 -0
- package/app/templates/connectivity/telematics/new.js +1 -0
- package/app/templates/management/drivers/index/details/activity.js +1 -0
- package/app/templates/management/fuel-transactions/index/details.js +1 -0
- package/app/templates/management/fuel-transactions/index.js +1 -0
- package/app/templates/management/fuel-transactions.js +1 -0
- package/assets/images/telematics/providers/afaqy.webp +0 -0
- package/assets/images/telematics/providers/default.webp +0 -0
- package/assets/images/telematics/providers/flespi.webp +0 -0
- package/assets/images/telematics/providers/geotab.webp +0 -0
- package/assets/images/telematics/providers/safee.webp +0 -0
- package/assets/images/telematics/providers/samsara.webp +0 -0
- package/composer.json +1 -1
- package/extension.json +1 -1
- package/package.json +4 -4
- package/server/config/fuel-providers.php +42 -0
- package/server/config/telematics.php +139 -130
- package/server/migrations/2026_06_06_000001_harden_device_events_telematics_contract.php +59 -0
- package/server/migrations/2026_06_08_000001_create_fuel_provider_connections_table.php +37 -0
- package/server/migrations/2026_06_08_000002_create_fuel_provider_transactions_table.php +53 -0
- package/server/migrations/2026_06_08_000003_create_fuel_provider_sync_runs_table.php +40 -0
- package/server/migrations/2026_06_10_000001_add_fuel_card_number_to_vehicles_table.php +25 -0
- package/server/migrations/2026_06_10_000002_add_vehicle_identity_columns_to_fuel_provider_transactions_table.php +39 -0
- package/server/src/Contracts/FuelProvider.php +30 -0
- package/server/src/Contracts/TelematicProviderDescriptor.php +3 -1
- package/server/src/Events/FuelProviderTransactionImported.php +17 -0
- package/server/src/Events/FuelProviderTransactionMatched.php +17 -0
- package/server/src/Events/FuelProviderTransactionUnmatched.php +17 -0
- package/server/src/Events/FuelReportCreatedFromProvider.php +18 -0
- package/server/src/Http/Controllers/Internal/v1/AnalyticsController.php +6 -0
- package/server/src/Http/Controllers/Internal/v1/DeviceController.php +76 -2
- package/server/src/Http/Controllers/Internal/v1/DeviceEventController.php +44 -0
- package/server/src/Http/Controllers/Internal/v1/DriverController.php +158 -7
- package/server/src/Http/Controllers/Internal/v1/FuelProviderConnectionController.php +124 -0
- package/server/src/Http/Controllers/Internal/v1/FuelProviderSyncRunController.php +10 -0
- package/server/src/Http/Controllers/Internal/v1/FuelProviderTransactionController.php +76 -0
- package/server/src/Http/Controllers/Internal/v1/SensorController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/TelematicController.php +178 -15
- package/server/src/Http/Controllers/Internal/v1/VehicleController.php +165 -0
- package/server/src/Http/Controllers/TelematicWebhookController.php +103 -19
- package/server/src/Http/Filter/FuelProviderConnectionFilter.php +33 -0
- package/server/src/Http/Filter/FuelProviderSyncRunFilter.php +28 -0
- package/server/src/Http/Filter/FuelProviderTransactionFilter.php +59 -0
- package/server/src/Http/Filter/FuelReportFilter.php +10 -0
- package/server/src/Http/Resources/v1/Driver.php +15 -0
- package/server/src/Http/Resources/v1/FuelProviderConnection.php +30 -0
- package/server/src/Http/Resources/v1/FuelProviderSyncRun.php +36 -0
- package/server/src/Http/Resources/v1/FuelProviderTransaction.php +54 -0
- package/server/src/Http/Resources/v1/FuelReport.php +28 -22
- package/server/src/Http/Resources/v1/Index/Driver.php +26 -20
- package/server/src/Http/Resources/v1/Index/Vehicle.php +29 -22
- package/server/src/Http/Resources/v1/Vehicle.php +17 -0
- package/server/src/Http/Resources/v1/VehicleWithoutDriver.php +2 -0
- package/server/src/Jobs/SyncFuelProviderTransactionsJob.php +57 -0
- package/server/src/Jobs/SyncTelematicDevicesJob.php +36 -6
- package/server/src/Jobs/TestTelematicConnectionJob.php +9 -22
- package/server/src/Models/Asset.php +2 -1
- package/server/src/Models/Contact.php +2 -1
- package/server/src/Models/Device.php +27 -4
- package/server/src/Models/DeviceEvent.php +40 -3
- package/server/src/Models/Driver.php +2 -1
- package/server/src/Models/Equipment.php +2 -1
- package/server/src/Models/Fleet.php +2 -1
- package/server/src/Models/FuelProviderConnection.php +60 -0
- package/server/src/Models/FuelProviderSyncRun.php +58 -0
- package/server/src/Models/FuelProviderTransaction.php +119 -0
- package/server/src/Models/FuelReport.php +16 -1
- package/server/src/Models/Part.php +2 -1
- package/server/src/Models/Sensor.php +21 -4
- package/server/src/Models/ServiceRate.php +39 -2
- package/server/src/Models/Vehicle.php +14 -2
- package/server/src/Models/Vendor.php +2 -1
- package/server/src/Providers/FleetOpsServiceProvider.php +10 -0
- package/server/src/Support/Analytics/FuelProviderSummary.php +42 -0
- package/server/src/Support/FuelProviders/FuelProviderDescriptor.php +55 -0
- package/server/src/Support/FuelProviders/FuelProviderRegistry.php +75 -0
- package/server/src/Support/FuelProviders/FuelProviderService.php +447 -0
- package/server/src/Support/FuelProviders/Providers/AbstractFuelProvider.php +98 -0
- package/server/src/Support/FuelProviders/Providers/PetroAppFuelProvider.php +167 -0
- package/server/src/Support/Telematics/Providers/AbstractProvider.php +27 -6
- package/server/src/Support/Telematics/Providers/AfaqyProvider.php +55 -26
- package/server/src/Support/Telematics/Providers/FlespiProvider.php +1 -0
- package/server/src/Support/Telematics/Providers/GeotabProvider.php +1 -0
- package/server/src/Support/Telematics/Providers/SafeeProvider.php +32 -22
- package/server/src/Support/Telematics/Providers/SamsaraProvider.php +3 -1
- package/server/src/Support/Telematics/TelematicService.php +340 -21
- package/server/src/routes.php +41 -4
- package/server/tests/FuelProviderRegistryTest.php +416 -0
- package/server/tests/ServiceRateAlgorithmWeightVariablesTest.php +44 -0
- package/server/tests/TelematicsHardeningTest.php +268 -0
- package/server/tests/VehicleDriverAssignmentTest.php +51 -0
- package/translations/ar-ae.yml +22 -0
- package/translations/bg-bg.yaml +72 -0
- package/translations/en-us.yaml +83 -0
- package/translations/es-pa.yaml +72 -0
- package/translations/fr-fr.yaml +72 -0
- package/translations/mn-mn.yaml +72 -0
- package/translations/pt-br.yaml +72 -0
- package/translations/ru-ru.yaml +72 -0
- package/translations/vi-vn.yaml +97 -0
- package/addon/controllers/connectivity/telematics/index/details/devices.js +0 -3
- package/addon/controllers/connectivity/telematics/index/details/events.js +0 -3
- package/addon/controllers/connectivity/telematics/index/details/index.js +0 -3
- package/addon/controllers/connectivity/telematics/index/details/sensors.js +0 -3
- package/addon/controllers/connectivity/telematics/index/details.js +0 -24
- package/addon/routes/connectivity/telematics/index/details/devices.js +0 -3
- package/addon/routes/connectivity/telematics/index/details/events.js +0 -3
- package/addon/routes/connectivity/telematics/index/details/index.js +0 -3
- package/addon/routes/connectivity/telematics/index/details/sensors.js +0 -3
- package/addon/routes/connectivity/telematics/index/new.js +0 -3
- package/addon/templates/connectivity/telematics/index/details/devices.hbs +0 -1
- package/addon/templates/connectivity/telematics/index/details/events.hbs +0 -1
- package/addon/templates/connectivity/telematics/index/details/sensors.hbs +0 -1
- package/addon/templates/connectivity/telematics/index/details.hbs +0 -14
- package/addon/templates/connectivity/telematics/index/edit.hbs +0 -12
- package/addon/templates/connectivity/telematics/index/new.hbs +0 -12
- package/app/controllers/connectivity/telematics/index/details/events.js +0 -1
- package/app/controllers/connectivity/telematics/index/details/sensors.js +0 -1
- package/app/routes/connectivity/telematics/index/details/sensors.js +0 -1
- package/app/templates/connectivity/telematics/index/details/sensors.js +0 -1
|
@@ -11,5 +11,23 @@
|
|
|
11
11
|
@actionButtons={{this.actionButtons}}
|
|
12
12
|
@bulkActions={{this.bulkActions}}
|
|
13
13
|
@controller={{this}}
|
|
14
|
+
@emptyStateComponent={{component
|
|
15
|
+
"table/empty-state"
|
|
16
|
+
icon="gas-pump"
|
|
17
|
+
title="No fuel reports yet"
|
|
18
|
+
description="Create fuel reports to track vehicle fuel usage, cost, and supporting transaction records."
|
|
19
|
+
filteredTitle="No fuel reports match your filters"
|
|
20
|
+
filteredDescription="Adjust the search or filters to find another fuel report."
|
|
21
|
+
primaryText="New fuel report"
|
|
22
|
+
primaryIcon="plus"
|
|
23
|
+
primaryAction=this.fuelReportActions.transition.create
|
|
24
|
+
secondaryText="Import"
|
|
25
|
+
secondaryIcon="upload"
|
|
26
|
+
secondaryAction=this.fuelReportActions.import
|
|
27
|
+
docsSlug="fleet-ops/resources/fuel-reports/overview"
|
|
28
|
+
docsTitle="Fuel reports guide"
|
|
29
|
+
docsText="Fuel reports guide"
|
|
30
|
+
docsSource="fleet-ops-empty-fuel-reports"
|
|
31
|
+
}}
|
|
14
32
|
/>
|
|
15
|
-
{{outlet}}
|
|
33
|
+
{{outlet}}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<div class="flex h-full flex-col bg-gray-50 dark:bg-gray-900">
|
|
2
|
+
<section class="flex-shrink-0 border-b border-gray-200 bg-white px-4 py-4 shadow-sm dark:border-gray-700 dark:bg-gray-900 md:px-6">
|
|
3
|
+
<div class="flex flex-col gap-3 md:flex-row md:items-start md:justify-between">
|
|
4
|
+
<div class="min-w-0">
|
|
5
|
+
<div class="text-xs font-semibold uppercase text-gray-400 dark:text-gray-500">Fuel transaction review</div>
|
|
6
|
+
<h1 class="truncate text-lg font-bold text-gray-900 dark:text-gray-100">{{@model.provider_transaction_id}}</h1>
|
|
7
|
+
<div class="mt-2 flex flex-wrap gap-2 text-xs text-gray-500 dark:text-gray-300">
|
|
8
|
+
<Badge @status={{@model.sync_status}}>{{@model.sync_status}}</Badge>
|
|
9
|
+
<span>{{@model.provider}}</span>
|
|
10
|
+
<span>{{n-a (format-date-fns @model.transaction_at "dd MMM yyyy HH:mm")}}</span>
|
|
11
|
+
<span>{{n-a @model.station_name}}</span>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="flex flex-wrap items-center gap-2">
|
|
15
|
+
<Button @icon="arrow-left" @text="Back" @size="sm" @onClick={{transition-to "management.fuel-transactions.index"}} />
|
|
16
|
+
<Button @icon="rotate" @text="Reprocess" @type="primary" @size="sm" @isLoading={{this.reprocess.isRunning}} @onClick={{perform this.reprocess}} />
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</section>
|
|
20
|
+
|
|
21
|
+
<div class="min-h-0 flex-1 overflow-y-auto p-4 md:p-6">
|
|
22
|
+
<div class="mx-auto grid w-full max-w-7xl grid-cols-1 gap-4 lg:grid-cols-3">
|
|
23
|
+
<section class="rounded-md border border-gray-200 bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 lg:col-span-2">
|
|
24
|
+
<h2 class="text-sm font-bold text-gray-900 dark:text-gray-100">Provider Bill Data</h2>
|
|
25
|
+
<div class="mt-4 grid grid-cols-1 gap-3 md:grid-cols-3">
|
|
26
|
+
<div class="rounded-md border border-gray-200 p-3 dark:border-gray-700"><div class="text-xs text-gray-500">Vehicle/Card</div><div class="mt-1 font-semibold text-gray-900 dark:text-gray-100">{{n-a @model.vehicle_card_id}}</div></div>
|
|
27
|
+
<div class="rounded-md border border-gray-200 p-3 dark:border-gray-700"><div class="text-xs text-gray-500">Liters</div><div class="mt-1 font-semibold text-gray-900 dark:text-gray-100">{{n-a @model.volume}}</div></div>
|
|
28
|
+
<div class="rounded-md border border-gray-200 p-3 dark:border-gray-700"><div class="text-xs text-gray-500">Amount</div><div class="mt-1 font-semibold text-gray-900 dark:text-gray-100">{{n-a @model.amount}} {{@model.currency}}</div></div>
|
|
29
|
+
<div class="rounded-md border border-gray-200 p-3 dark:border-gray-700"><div class="text-xs text-gray-500">Vehicle</div><div class="mt-1 font-semibold text-gray-900 dark:text-gray-100">{{n-a @model.vehicle_name}}</div></div>
|
|
30
|
+
<div class="rounded-md border border-gray-200 p-3 dark:border-gray-700"><div class="text-xs text-gray-500">Trip</div><div class="mt-1 font-semibold text-gray-900 dark:text-gray-100">{{n-a @model.trip_number}}</div></div>
|
|
31
|
+
<div class="rounded-md border border-gray-200 p-3 dark:border-gray-700"><div class="text-xs text-gray-500">Fuel Report</div><div class="mt-1 font-semibold text-gray-900 dark:text-gray-100">{{n-a @model.fuel_report_id}}</div></div>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<div class="mt-4 grid grid-cols-1 gap-4 lg:grid-cols-2">
|
|
35
|
+
<div>
|
|
36
|
+
<h3 class="text-xs font-bold uppercase text-gray-400">Normalized Payload</h3>
|
|
37
|
+
<pre class="mt-2 max-h-80 overflow-auto rounded-md bg-gray-900 p-3 text-[11px] leading-5 text-gray-100">{{this.normalizedPayloadJson}}</pre>
|
|
38
|
+
</div>
|
|
39
|
+
<div>
|
|
40
|
+
<h3 class="text-xs font-bold uppercase text-gray-400">Raw Payload</h3>
|
|
41
|
+
<pre class="mt-2 max-h-80 overflow-auto rounded-md bg-gray-900 p-3 text-[11px] leading-5 text-gray-100">{{this.rawPayloadJson}}</pre>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</section>
|
|
45
|
+
|
|
46
|
+
<aside class="space-y-4">
|
|
47
|
+
<section class="rounded-md border border-gray-200 bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800">
|
|
48
|
+
<h2 class="text-sm font-bold text-gray-900 dark:text-gray-100">Manual Match</h2>
|
|
49
|
+
<p class="mt-1 text-xs leading-5 text-gray-500 dark:text-gray-300">Use a FleetOps UUID or public ID when automatic matching cannot identify the vehicle or order.</p>
|
|
50
|
+
<div class="mt-3 space-y-3 no-input-group-padding">
|
|
51
|
+
<InputGroup @name="Vehicle ID">
|
|
52
|
+
<Input class="form-input w-full" @value={{this.vehicleId}} {{on "input" this.setVehicleId}} />
|
|
53
|
+
</InputGroup>
|
|
54
|
+
<Button @icon="truck" @text="Match Vehicle" @type="primary" @size="sm" @isLoading={{this.matchVehicle.isRunning}} @disabled={{not this.vehicleId}} @onClick={{perform this.matchVehicle}} />
|
|
55
|
+
<InputGroup @name="Order / Trip ID">
|
|
56
|
+
<Input class="form-input w-full" @value={{this.orderId}} {{on "input" this.setOrderId}} />
|
|
57
|
+
</InputGroup>
|
|
58
|
+
<Button @icon="route" @text="Match Order" @size="sm" @isLoading={{this.matchOrder.isRunning}} @disabled={{not this.orderId}} @onClick={{perform this.matchOrder}} />
|
|
59
|
+
</div>
|
|
60
|
+
</section>
|
|
61
|
+
|
|
62
|
+
<section class="rounded-md border border-gray-200 bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800">
|
|
63
|
+
<h2 class="text-sm font-bold text-gray-900 dark:text-gray-100">Review State</h2>
|
|
64
|
+
<p class="mt-1 text-xs leading-5 text-gray-500 dark:text-gray-300">Mark noisy provider records as reviewed or ignored without deleting the audit ledger.</p>
|
|
65
|
+
<div class="mt-3 flex flex-wrap gap-2">
|
|
66
|
+
<Button @icon="check" @text="Mark Reviewed" @size="sm" @isLoading={{this.review.isRunning}} @onClick={{perform this.review "reviewed"}} />
|
|
67
|
+
<Button @icon="ban" @text="Ignore" @type="danger" @size="sm" @isLoading={{this.review.isRunning}} @onClick={{perform this.review "ignored"}} />
|
|
68
|
+
</div>
|
|
69
|
+
</section>
|
|
70
|
+
</aside>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<div class="flex h-full flex-col bg-gray-50 dark:bg-gray-900">
|
|
2
|
+
<section class="flex-shrink-0 border-b border-gray-200 bg-white px-4 py-4 shadow-sm dark:border-gray-700 dark:bg-gray-900 md:px-6">
|
|
3
|
+
<div class="flex flex-col gap-2 md:flex-row md:items-start md:justify-between">
|
|
4
|
+
<div>
|
|
5
|
+
<div class="text-xs font-semibold uppercase text-gray-400 dark:text-gray-500">Fuel transaction ledger</div>
|
|
6
|
+
<h1 class="text-lg font-bold text-gray-900 dark:text-gray-100">{{t "menu.fuel-transactions"}}</h1>
|
|
7
|
+
<p class="mt-1 max-w-4xl text-sm leading-5 text-gray-500 dark:text-gray-300">
|
|
8
|
+
Imported fuel card bills and provider purchase records are reviewed here before, during, and after they match to vehicles, trips, and linked Fuel Reports.
|
|
9
|
+
</p>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</section>
|
|
13
|
+
|
|
14
|
+
<div class="min-h-0 flex-1 overflow-y-auto p-4 md:p-6">
|
|
15
|
+
{{#if this.hasRecords}}
|
|
16
|
+
<Layout::Resource::Tabular
|
|
17
|
+
@resource="fuel-provider-transaction"
|
|
18
|
+
@title={{t "menu.fuel-transactions"}}
|
|
19
|
+
@searchQuery={{this.query}}
|
|
20
|
+
@data={{@model}}
|
|
21
|
+
@columns={{this.columns}}
|
|
22
|
+
@page={{this.page}}
|
|
23
|
+
@onPageChange={{fn (mut this.page)}}
|
|
24
|
+
@setupTable={{fn (mut this.table)}}
|
|
25
|
+
@actionButtons={{this.actionButtons}}
|
|
26
|
+
@bulkActions={{this.bulkActions}}
|
|
27
|
+
@controller={{this}}
|
|
28
|
+
@emptyStateComponent={{component
|
|
29
|
+
"table/empty-state"
|
|
30
|
+
icon="receipt"
|
|
31
|
+
title="No fuel transactions"
|
|
32
|
+
description="Imported fuel card bills and provider purchase records appear here after provider syncs complete."
|
|
33
|
+
filteredTitle="No transactions match your filters"
|
|
34
|
+
filteredDescription="Adjust the search or filters to review other imported transactions."
|
|
35
|
+
primaryText="Refresh"
|
|
36
|
+
primaryIcon="refresh"
|
|
37
|
+
primaryAction=this.refresh
|
|
38
|
+
docsSlug="fleet-ops/resources/fuel-reports/overview"
|
|
39
|
+
docsTitle="Fuel reports guide"
|
|
40
|
+
docsText="Fuel reports guide"
|
|
41
|
+
}}
|
|
42
|
+
/>
|
|
43
|
+
{{else}}
|
|
44
|
+
<section class="rounded-md border border-dashed border-gray-300 bg-white p-8 text-center shadow-sm dark:border-gray-700 dark:bg-gray-800">
|
|
45
|
+
<div class="mx-auto flex h-11 w-11 items-center justify-center rounded-md bg-blue-50 text-blue-600 dark:bg-blue-900/20 dark:text-blue-300">
|
|
46
|
+
<FaIcon @icon="receipt" />
|
|
47
|
+
</div>
|
|
48
|
+
<h2 class="mt-3 text-sm font-bold text-gray-900 dark:text-gray-100">{{this.emptyStateTitle}}</h2>
|
|
49
|
+
<p class="mx-auto mt-1 max-w-2xl text-xs leading-5 text-gray-500 dark:text-gray-300">{{this.emptyStateMessage}}</p>
|
|
50
|
+
<div class="mt-4 flex flex-wrap items-center justify-center gap-2">
|
|
51
|
+
<Button @icon="gas-pump" @text="Open Fuel Integrations" @type="primary" @size="sm" @onClick={{transition-to "connectivity.fuel-providers.index"}} />
|
|
52
|
+
<Button @icon="refresh" @text="Refresh" @size="sm" @onClick={{this.refresh}} />
|
|
53
|
+
</div>
|
|
54
|
+
</section>
|
|
55
|
+
{{/if}}
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
{{outlet}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{outlet}}
|
|
@@ -11,5 +11,23 @@
|
|
|
11
11
|
@actionButtons={{this.actionButtons}}
|
|
12
12
|
@bulkActions={{this.bulkActions}}
|
|
13
13
|
@controller={{this}}
|
|
14
|
+
@emptyStateComponent={{component
|
|
15
|
+
"table/empty-state"
|
|
16
|
+
icon="triangle-exclamation"
|
|
17
|
+
title="No issues reported"
|
|
18
|
+
description="Track vehicle, driver, facility, and service issues here so follow-up work stays visible."
|
|
19
|
+
filteredTitle="No issues match your filters"
|
|
20
|
+
filteredDescription="Clear the search or filters to review other reported issues."
|
|
21
|
+
primaryText="New issue"
|
|
22
|
+
primaryIcon="plus"
|
|
23
|
+
primaryAction=this.issueActions.transition.create
|
|
24
|
+
secondaryText="Import"
|
|
25
|
+
secondaryIcon="upload"
|
|
26
|
+
secondaryAction=this.issueActions.import
|
|
27
|
+
docsSlug="fleet-ops/resources/issues/overview"
|
|
28
|
+
docsTitle="Issues guide"
|
|
29
|
+
docsText="Issues guide"
|
|
30
|
+
docsSource="fleet-ops-empty-issues"
|
|
31
|
+
}}
|
|
14
32
|
/>
|
|
15
|
-
{{outlet}}
|
|
33
|
+
{{outlet}}
|
|
@@ -10,5 +10,23 @@
|
|
|
10
10
|
@actionButtons={{this.actionButtons}}
|
|
11
11
|
@bulkActions={{this.bulkActions}}
|
|
12
12
|
@controller={{this}}
|
|
13
|
+
@emptyStateComponent={{component
|
|
14
|
+
"table/empty-state"
|
|
15
|
+
icon="location-dot"
|
|
16
|
+
title="Add your first place"
|
|
17
|
+
description="Places keep frequent pickup, dropoff, facility, and service locations ready for orders and routing."
|
|
18
|
+
filteredTitle="No places match your filters"
|
|
19
|
+
filteredDescription="Adjust the search or filters to find another saved location."
|
|
20
|
+
primaryText="New place"
|
|
21
|
+
primaryIcon="plus"
|
|
22
|
+
primaryAction=this.placeActions.transition.create
|
|
23
|
+
secondaryText="Import"
|
|
24
|
+
secondaryIcon="upload"
|
|
25
|
+
secondaryAction=this.placeActions.import
|
|
26
|
+
docsSlug="fleet-ops/resources/places/overview"
|
|
27
|
+
docsTitle="Places guide"
|
|
28
|
+
docsText="Places guide"
|
|
29
|
+
docsSource="fleet-ops-empty-places"
|
|
30
|
+
}}
|
|
13
31
|
/>
|
|
14
|
-
{{outlet}}
|
|
32
|
+
{{outlet}}
|
|
@@ -12,6 +12,24 @@
|
|
|
12
12
|
@actionButtons={{this.actionButtons}}
|
|
13
13
|
@bulkActions={{this.bulkActions}}
|
|
14
14
|
@controller={{this}}
|
|
15
|
+
@emptyStateComponent={{component
|
|
16
|
+
"table/empty-state"
|
|
17
|
+
icon="truck"
|
|
18
|
+
title="Add your first vehicle"
|
|
19
|
+
description="Vehicles connect assignments, live tracking, fleet capacity, maintenance, and compliance history."
|
|
20
|
+
filteredTitle="No vehicles match your filters"
|
|
21
|
+
filteredDescription="Adjust the search or filters to find another vehicle."
|
|
22
|
+
primaryText="New vehicle"
|
|
23
|
+
primaryIcon="plus"
|
|
24
|
+
primaryAction=this.vehicleActions.transition.create
|
|
25
|
+
secondaryText="Import"
|
|
26
|
+
secondaryIcon="upload"
|
|
27
|
+
secondaryAction=this.vehicleActions.import
|
|
28
|
+
docsSlug="fleet-ops/resources/vehicles/overview"
|
|
29
|
+
docsTitle="Vehicles guide"
|
|
30
|
+
docsText="Vehicle guide"
|
|
31
|
+
docsSource="fleet-ops-empty-vehicles"
|
|
32
|
+
}}
|
|
15
33
|
/>
|
|
16
34
|
{{else}}
|
|
17
35
|
<Layout::Section::Header @title={{t "resource.vehicles"}} @actionsWrapperClass="space-x-1">
|
|
@@ -46,4 +64,4 @@
|
|
|
46
64
|
</Layout::Resource::CardsGrid>
|
|
47
65
|
</Layout::Section::Body>
|
|
48
66
|
{{/if}}
|
|
49
|
-
{{outlet}}
|
|
67
|
+
{{outlet}}
|
|
@@ -11,5 +11,23 @@
|
|
|
11
11
|
@actionButtons={{this.actionButtons}}
|
|
12
12
|
@bulkActions={{this.bulkActions}}
|
|
13
13
|
@controller={{this}}
|
|
14
|
+
@emptyStateComponent={{component
|
|
15
|
+
"table/empty-state"
|
|
16
|
+
icon="building"
|
|
17
|
+
title="Add your first vendor"
|
|
18
|
+
description="Vendors let your team manage external carriers, service providers, and operational partners."
|
|
19
|
+
filteredTitle="No vendors match your filters"
|
|
20
|
+
filteredDescription="Adjust the search or filters to find another vendor."
|
|
21
|
+
primaryText="New vendor"
|
|
22
|
+
primaryIcon="plus"
|
|
23
|
+
primaryAction=this.vendorActions.transition.create
|
|
24
|
+
secondaryText="Import"
|
|
25
|
+
secondaryIcon="upload"
|
|
26
|
+
secondaryAction=this.vendorActions.import
|
|
27
|
+
docsSlug="fleet-ops/resources/vendors/overview"
|
|
28
|
+
docsTitle="Vendors guide"
|
|
29
|
+
docsText="Vendor guide"
|
|
30
|
+
docsSource="fleet-ops-empty-vendors"
|
|
31
|
+
}}
|
|
14
32
|
/>
|
|
15
|
-
{{outlet}}
|
|
33
|
+
{{outlet}}
|
|
@@ -11,5 +11,17 @@
|
|
|
11
11
|
@actionButtons={{this.actionButtons}}
|
|
12
12
|
@bulkActions={{this.bulkActions}}
|
|
13
13
|
@controller={{this}}
|
|
14
|
+
@emptyStateComponent={{component
|
|
15
|
+
"table/empty-state"
|
|
16
|
+
icon="plug"
|
|
17
|
+
title="No integrated vendors yet"
|
|
18
|
+
description="Integrated vendor records appear here after vendor integrations are connected and synchronized."
|
|
19
|
+
filteredTitle="No integrated vendors match your filters"
|
|
20
|
+
filteredDescription="Adjust the search or filters to find another integrated vendor."
|
|
21
|
+
docsSlug="fleet-ops/resources/vendors/integrated-vendors"
|
|
22
|
+
docsTitle="Integrated vendors guide"
|
|
23
|
+
docsText="Integrated vendors guide"
|
|
24
|
+
docsSource="fleet-ops-empty-integrated-vendors"
|
|
25
|
+
}}
|
|
14
26
|
/>
|
|
15
|
-
{{outlet}}
|
|
27
|
+
{{outlet}}
|
|
@@ -47,6 +47,24 @@
|
|
|
47
47
|
@filterPickerGridCols="3"
|
|
48
48
|
@filterPickerWidth="700px"
|
|
49
49
|
@controller={{this}}
|
|
50
|
+
@emptyStateComponent={{component
|
|
51
|
+
"table/empty-state"
|
|
52
|
+
icon="paper-plane"
|
|
53
|
+
title="Create your first order"
|
|
54
|
+
description="Orders are the center of FleetOps: plan routes, assign drivers and vehicles, track progress, and collect proof."
|
|
55
|
+
filteredTitle="No orders match your filters"
|
|
56
|
+
filteredDescription="Adjust the search, bulk search, or filters to find another order."
|
|
57
|
+
primaryText="New order"
|
|
58
|
+
primaryIcon="plus"
|
|
59
|
+
primaryAction=this.orderActions.transition.create
|
|
60
|
+
secondaryText="Import"
|
|
61
|
+
secondaryIcon="upload"
|
|
62
|
+
secondaryAction=this.importOrders
|
|
63
|
+
docsSlug="fleet-ops/operations/orders/overview"
|
|
64
|
+
docsTitle="Orders guide"
|
|
65
|
+
docsText="Order guide"
|
|
66
|
+
docsSource="fleet-ops-empty-orders"
|
|
67
|
+
}}
|
|
50
68
|
@tfootVerticalOffset="7"
|
|
51
69
|
@tfootVerticalOffsetElements="#next-view-section-subheader,.next-table-wrapper > table > thead,.next-map-container-topbar"
|
|
52
70
|
/>
|
|
@@ -88,4 +106,4 @@
|
|
|
88
106
|
</Layout::Section::Body>
|
|
89
107
|
{{/if}}
|
|
90
108
|
|
|
91
|
-
{{outlet}}
|
|
109
|
+
{{outlet}}
|
|
@@ -10,5 +10,23 @@
|
|
|
10
10
|
@actionButtons={{this.actionButtons}}
|
|
11
11
|
@bulkActions={{this.bulkActions}}
|
|
12
12
|
@controller={{this}}
|
|
13
|
+
@emptyStateComponent={{component
|
|
14
|
+
"table/empty-state"
|
|
15
|
+
icon="route"
|
|
16
|
+
title="Set up your first service rate"
|
|
17
|
+
description="Service rates define how FleetOps prices routes, zones, distance, and other service rules."
|
|
18
|
+
filteredTitle="No service rates match your filters"
|
|
19
|
+
filteredDescription="Adjust the search or filters to find another service rate."
|
|
20
|
+
primaryText="New service rate"
|
|
21
|
+
primaryIcon="plus"
|
|
22
|
+
primaryAction=this.serviceRateActions.transition.create
|
|
23
|
+
secondaryText="Refresh"
|
|
24
|
+
secondaryIcon="refresh"
|
|
25
|
+
secondaryAction=this.serviceRateActions.refresh
|
|
26
|
+
docsSlug="fleet-ops/operations/service-rates/overview"
|
|
27
|
+
docsTitle="Service rates guide"
|
|
28
|
+
docsText="Service rates guide"
|
|
29
|
+
docsSource="fleet-ops-empty-service-rates"
|
|
30
|
+
}}
|
|
13
31
|
/>
|
|
14
|
-
{{outlet}}
|
|
32
|
+
{{outlet}}
|
|
@@ -28,6 +28,20 @@
|
|
|
28
28
|
@paginationMeta={{@model.meta}}
|
|
29
29
|
@page={{this.page}}
|
|
30
30
|
@onPageChange={{fn (mut this.page)}}
|
|
31
|
+
@emptyStateComponent={{component
|
|
32
|
+
"table/empty-state"
|
|
33
|
+
icon="credit-card"
|
|
34
|
+
title="No payment transactions yet"
|
|
35
|
+
description="Completed customer payments will appear here once Stripe starts sending transaction records."
|
|
36
|
+
filteredTitle="No payments match your filters"
|
|
37
|
+
filteredDescription="Adjust filters or refresh the page to review other payment transactions."
|
|
38
|
+
primaryText="Refresh"
|
|
39
|
+
primaryIcon="refresh"
|
|
40
|
+
primaryAction=this.refreshPayments
|
|
41
|
+
docsSlug="fleet-ops/settings/payments"
|
|
42
|
+
docsTitle="Payments guide"
|
|
43
|
+
docsText="Payments guide"
|
|
44
|
+
}}
|
|
31
45
|
/>
|
|
32
46
|
{{else}}
|
|
33
47
|
<div class="container">
|
|
@@ -62,4 +76,4 @@
|
|
|
62
76
|
</div>
|
|
63
77
|
{{/if}}
|
|
64
78
|
{{/if}}
|
|
65
|
-
</Layout::Section::Body>
|
|
79
|
+
</Layout::Section::Body>
|
|
@@ -495,10 +495,13 @@ export const sensorTypes = [
|
|
|
495
495
|
];
|
|
496
496
|
|
|
497
497
|
export const deviceStatuses = [
|
|
498
|
+
{ label: 'Never Connected', value: 'never_connected', description: 'Device has not reported a provider heartbeat yet.' },
|
|
498
499
|
{ label: 'Inactive', value: 'inactive', description: 'Device record exists but has not yet been activated or assigned.' },
|
|
499
500
|
{ label: 'Active', value: 'active', description: 'Device is online and actively communicating with the platform.' },
|
|
500
501
|
{ label: 'Online', value: 'online', description: 'Device is currently connected and transmitting live data.' },
|
|
502
|
+
{ label: 'Recently Offline', value: 'recently_offline', description: 'Device stopped reporting recently and may reconnect without intervention.' },
|
|
501
503
|
{ label: 'Offline', value: 'offline', description: 'Device is powered off or has not transmitted data within the expected interval.' },
|
|
504
|
+
{ label: 'Long Offline', value: 'long_offline', description: 'Device has not reported telemetry for more than a day.' },
|
|
502
505
|
{ label: 'Sleeping', value: 'sleeping', description: 'Device in low-power mode awaiting wake event or scheduled reporting interval.' },
|
|
503
506
|
{ label: 'Idle', value: 'idle', description: 'Device is powered and connected but not moving or transmitting new telemetry.' },
|
|
504
507
|
{ label: 'Maintenance', value: 'maintenance', description: 'Device is undergoing repair, firmware update, or service maintenance.' },
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/cell/telematic-provider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/cell/telematic-status';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/fuel-integration/form';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/fuel-integration/hub';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/fuel-integration/matching-priority';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/modals/assigned-orders';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/modals/attach-telematic-device';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/modals/fleet-assign-driver';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/modals/fleet-assign-vehicle';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/modals/telematic-connection-diagnostics';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/order/card';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/telematic/hub';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/telematic/settings';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/telematic/tab-empty-state';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/widget/fuel-providers';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/fuel-providers/details/sync';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/fuel-providers/details/transactions';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/fuel-providers/details';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/fuel-providers/edit';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/fuel-providers/index';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/fuel-providers/new';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/details/attachments';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/details/devices';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/details/events';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/details/index';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/details/logs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/details/sensors';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/details';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/edit';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/connectivity/telematics/new';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/management/fuel-transactions/index/details';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/controllers/management/fuel-transactions/index';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/details/index';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/details/matching';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/details/settings';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/details/sync';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/details/transactions';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/details';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/edit';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/index';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers/new';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/fuel-providers';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/details/attachments';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/details/devices';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/details/events';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/details/index';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/details/logs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/details/sensors';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/details';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/edit';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/connectivity/telematics/new';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/management/drivers/index/details/activity';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/management/fuel-transactions/index/details';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/management/fuel-transactions/index';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/routes/management/fuel-transactions';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/services/fuel-integration-actions';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/templates/connectivity/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/templates/connectivity/fuel-providers/details/index';
|