@extends('layouts.app') @section('title', 'Fuel Reports') @section('content') @php $money = fn ($v) => \App\Support\Fmt::money2($v); $litres1 = fn ($v) => number_format((float) $v, 1); $litres2 = fn ($v) => number_format((float) $v, 2); // Click-column sorting: same key toggles direction, a new key forces desc. $toggle = function (string $key) { $current = request()->query('sort', 'date'); $dir = request()->query('dir', 'desc') === 'asc' ? 'asc' : 'desc'; if ($current === $key) { return route('transport.reports', array_merge(request()->query(), [ 'sort' => $key, 'dir' => $dir === 'asc' ? 'desc' : 'asc', ])); } return route('transport.reports', array_merge(request()->query(), ['sort' => $key, 'dir' => 'desc'])); }; $arrow = function (string $key) use ($filters) { if ($filters['sort'] !== $key) { return '↕'; } return $filters['dir'] === 'asc' ? '↑' : '↓'; }; @endphp

Fuel consumption and cost summary by period and vehicle

Fuel Reports

@include('partials.flashes')
Clear
@foreach ([ ['label' => 'Total Fuel (L)', 'value' => $litres1($stats['Total Fuel (L)']).' L'], ['label' => 'Total Cost', 'value' => $money($stats['Total Cost'])], ['label' => 'Avg Cost/L', 'value' => $money($stats['Avg Cost/L'])], ['label' => 'Vehicles Fueled', 'value' => $stats['Vehicles Fueled']], ] as $stat)
{{ $stat['value'] }} {{ $stat['label'] }}
@endforeach
@forelse ($rows as $entry) @empty @endforelse
Date {{ $arrow('date') }} Vehicle Station Litres {{ $arrow('litres') }} Price/L {{ $arrow('price_per_litre') }} Amount {{ $arrow('amount') }} Odometer Notes
{{ \App\Support\Fmt::day($entry->isoDate()) }} {{ $entry->vehicle?->registration_no ?: '—' }} {{ $entry->station ?: '—' }} {{ $litres2($entry->litres) }} {{ $money($entry->price_per_litre) }} {{ $money($entry->amount) }} {{ $entry->odometer === null ? '—' : number_format((float) $entry->odometer) }} {{ $entry->notes ?: '—' }}
No fuel entries in the selected period.
{{ $summary['entries'] }} entries · {{ $litres1($summary['litres']) }} L · {{ $money($summary['cost']) }} {{ $rows->count() }} shown
@endsection