@extends('layouts.app') @section('page-title', 'Field Expense') @section('content') Back to Field Expenses @if(session('status'))
{{ session('status') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($errors->any())
@endif {{-- Header --}}

{{ $fieldExpense->title }}

@if($fieldExpense->description)

{{ $fieldExpense->description }}

@endif
{{ ucfirst(str_replace('_', ' ', $fieldExpense->status)) }}
Requested By
{{ trim(($fieldExpense->user->first_name ?? '') . ' ' . ($fieldExpense->user->last_name ?? '')) ?: '—' }}
Start Date
{{ optional($fieldExpense->start_date)->format('d M Y') }}
End Date
{{ optional($fieldExpense->end_date)->format('d M Y') }}
Submitted
{{ optional($fieldExpense->created_at)->format('d M Y') }}
@if($fieldExpense->status === 'paid')
Paid On
{{ optional($fieldExpense->paid_at)->format('d M Y') }}
@endif
Requested Amount
KES {{ number_format($fieldExpense->requested_amount, 2) }}
Approved Amount
{{ $fieldExpense->approved_amount !== null ? 'KES ' . number_format($fieldExpense->approved_amount, 2) : '—' }}
@if($fieldExpense->status === 'rejected' && $fieldExpense->rejected_reason)
Rejected {{ $fieldExpense->rejected_reason }}
@endif
{{-- Action panel: header-level approve/reject, or mark paid --}} @if($canAction || $canMarkPaid)
@if($canAction)
@csrf
Approving moves this request to the next level in the chain.
@csrf
@endif @if($canMarkPaid)
@csrf This request is fully approved and ready for disbursement.
@endif
@endif {{-- Approval timeline --}}
Approval Progress
@forelse($fieldExpense->approvals as $step)
@if($step->status === 'approved') @elseif($step->status === 'rejected') @else @endif
Level {{ $step->level }} · {{ str_replace('_', ' ', $step->approver_role) }}
@if($step->approver)
{{ trim($step->approver->first_name . ' ' . $step->approver->last_name) }} · {{ optional($step->acted_at)->format('d M Y, H:i') }}
@elseif($fieldExpense->current_level == $step->level)
Awaiting action
@else
Not yet reached
@endif @if($step->comment)
“{{ $step->comment }}”
@endif
@empty
No approval levels were required for this request — it was approved automatically.
@endforelse
{{-- Expense breakdown --}}
Expense Breakdown
@if($canAction) @endif @foreach($fieldExpense->items as $item) @if($canAction) @endif @if($canAction && $item->status === 'pending') @endif @endforeach
Type Amount Units Unit Type Description Total StatusAction
{{ $item->expense_type }} KES {{ number_format($item->amount, 2) }} {{ rtrim(rtrim(number_format($item->units, 2), '0'), '.') }} {{ $item->unit_type }} {{ $item->description ?: '—' }} KES {{ number_format($item->total_amount, 2) }} {{ $item->status }} @if($item->status === 'rejected' && $item->rejected_reason)
{{ $item->rejected_reason }}
@endif
@if($item->status === 'pending')
@csrf
@else — @endif
@endsection