@extends('layouts.app') @section('title', $mission->title) @section('content') @include('maintenance::layouts.nav') @php $util = app(\Modules\Maintenance\Utils\MaintenanceUtil::class); @endphp

{{ $mission->mission_number }} — {{ $mission->title }} {{ $statuses[$mission->status] ?? $mission->status }}

@if($can_issue && in_array($mission->status, ['draft', 'planned']))
@csrf
@endif @if($can_manage && $mission->activeMission())
@csrf
@endif @lang('maintenance::lang.back')

@lang('maintenance::lang.basic_info')

@lang('maintenance::lang.status'){{ $statuses[$mission->status] ?? $mission->status }}
@lang('maintenance::lang.fm_mission_type'){{ $mission_types[$mission->mission_type] ?? $mission->mission_type }}
@lang('maintenance::lang.equipment'){{ $mission->equipment?->name ?? '—' }}
@lang('maintenance::lang.fm_lead'){{ $mission->leadUser ? trim($mission->leadUser->first_name.' '.($mission->leadUser->last_name ?? '')) : '—' }}
@lang('maintenance::lang.fm_destination'){{ $mission->destinationLocation?->name ?? $mission->destination_site ?? '—' }}
@lang('maintenance::lang.fm_planned_departure'){{ $util->formatDateTime($mission->planned_departure_at) ?? '—' }}
@lang('maintenance::lang.fm_planned_return'){{ $util->formatDateTime($mission->planned_return_at) ?? '—' }}
@lang('maintenance::lang.fm_actual_departure'){{ $util->formatDateTime($mission->actual_departure_at) ?? '—' }}
@lang('maintenance::lang.fm_actual_return'){{ $util->formatDateTime($mission->actual_return_at) ?? '—' }}
@lang('maintenance::lang.fm_total_cost'){{ $util->formatMoney($mission->total_cost) }}
@if($mission->description)

@lang('maintenance::lang.description'): {{ $mission->description }}

@endif
@includeIf('maintenance::field_missions.partial.tms_shipment')

@lang('maintenance::lang.fm_tab_crew')

@forelse($mission->crewMembers as $member) @empty @endforelse
@lang('maintenance::lang.name') @lang('maintenance::lang.fm_role') @lang('maintenance::lang.fm_labor_hours') @lang('maintenance::lang.fm_hourly_rate') @lang('maintenance::lang.fm_per_diem')
{{ $member->displayName() }} @if($member->is_lead)@lang('maintenance::lang.fm_lead')@endif {{ $role_labels[$member->role] ?? $member->role }} {{ $member->labor_hours }} {{ $util->formatMoney($member->hourly_rate) }} {{ $util->formatMoney($member->per_diem) }} @if($can_manage && $mission->activeMission())
@csrf @method('DELETE')
@endif
@if($can_manage && $mission->activeMission()) {!! Form::open(['url' => action([\Modules\Maintenance\Http\Controllers\FieldMissionController::class, 'storeCrew'], [$mission->id]), 'method' => 'post']) !!}
{!! Form::select('user_id', $users, null, ['class' => 'form-control select2', 'placeholder' => __('maintenance::lang.linked_user'), 'style' => 'width:100%']) !!}
{!! Form::text('person_name', null, ['class' => 'form-control', 'placeholder' => __('maintenance::lang.fm_person_name')]) !!}
{!! Form::select('role', $role_labels, 'technician', ['class' => 'form-control']) !!}
{!! Form::number('labor_hours', 0, ['class' => 'form-control', 'min' => 0, 'step' => '0.5', 'placeholder' => __('maintenance::lang.fm_labor_hours')]) !!}
{!! Form::number('hourly_rate', 0, ['class' => 'form-control', 'min' => 0, 'placeholder' => __('maintenance::lang.fm_hourly_rate')]) !!}
{!! Form::number('per_diem', 0, ['class' => 'form-control', 'min' => 0, 'placeholder' => __('maintenance::lang.fm_per_diem')]) !!}
{!! Form::close() !!} @endif

@lang('maintenance::lang.fm_tab_items')

@forelse($mission->items as $item) @empty @endforelse
@lang('maintenance::lang.name') @lang('maintenance::lang.fm_qty_issued') @lang('maintenance::lang.fm_qty_returned') @lang('maintenance::lang.fm_qty_lost') @lang('maintenance::lang.status')
{{ $item->displayName() }} {{ $item->quantity_issued }} {{ $item->quantity_returned }} {{ $item->quantity_lost }} {{ $item->status }} @if($can_issue && !$item->stock_deducted && $mission->activeMission())
@csrf @method('DELETE')
@endif
@if($can_issue && $mission->activeMission() && in_array($mission->status, ['draft', 'planned'])) {!! Form::open(['url' => action([\Modules\Maintenance\Http\Controllers\FieldMissionController::class, 'storeItem'], [$mission->id]), 'method' => 'post', 'id' => 'fm_show_item_form']) !!}
{!! Form::select('item_type', ['spare_part' => __('maintenance::lang.fm_item_spare_part'), 'tool' => __('maintenance::lang.fm_item_tool')], 'spare_part', ['class' => 'form-control', 'id' => 'fm_show_item_type']) !!}
{!! Form::select('spare_part_id', $spare_parts, null, ['class' => 'form-control select2', 'placeholder' => __('maintenance::lang.select_spare_part'), 'style' => 'width:100%']) !!}
{!! Form::select('location_id', $locations->pluck('name', 'id'), null, ['class' => 'form-control select2', 'placeholder' => __('maintenance::lang.select'), 'style' => 'width:100%']) !!}
{!! Form::number('quantity_issued', 1, ['class' => 'form-control', 'min' => '0.001', 'step' => '0.001']) !!}
{!! Form::close() !!} @endif @if($can_issue && in_array($mission->status, ['dispatched', 'on_site', 'returning']) && $mission->items->isNotEmpty())

@lang('maintenance::lang.fm_record_returns')

{!! Form::open(['url' => action([\Modules\Maintenance\Http\Controllers\FieldMissionController::class, 'recordReturns'], [$mission->id]), 'method' => 'post']) !!} @foreach($mission->items as $idx => $item)
{{ $item->displayName() }} ({{ __('maintenance::lang.fm_qty_issued') }}: {{ $item->quantity_issued }})
{!! Form::hidden("lines[{$idx}][item_id]", $item->id) !!} {!! Form::number("lines[{$idx}][quantity_returned]", $item->quantity_returned, ['class' => 'form-control', 'min' => 0, 'step' => '0.001', 'placeholder' => __('maintenance::lang.fm_qty_returned')]) !!}
{!! Form::number("lines[{$idx}][quantity_lost]", $item->quantity_lost, ['class' => 'form-control', 'min' => 0, 'step' => '0.001', 'placeholder' => __('maintenance::lang.fm_qty_lost')]) !!}
@endforeach {!! Form::close() !!} @endif

@lang('maintenance::lang.fm_tab_expenses')

@lang('maintenance::lang.fm_total_labor'): {{ $util->formatMoney($mission->total_labor_cost) }}
@lang('maintenance::lang.fm_total_expenses'): {{ $util->formatMoney($mission->total_expense_cost) }}
@lang('maintenance::lang.fm_total_cost'): {{ $util->formatMoney($mission->total_cost) }}

    @foreach($mission->expenses as $expense)
  • {{ $expense_types[$expense->expense_type] ?? $expense->expense_type }} — {{ $util->formatMoney($expense->amount) }} @if($expense->description)
    {{ $expense->description }}@endif @if($can_expense && $mission->activeMission())
    @csrf @method('DELETE')
    @endif
  • @endforeach
@if($can_expense && $mission->activeMission()) {!! Form::open(['url' => action([\Modules\Maintenance\Http\Controllers\FieldMissionController::class, 'storeExpense'], [$mission->id]), 'method' => 'post']) !!}
{!! Form::select('expense_type', $expense_types, 'transport', ['class' => 'form-control']) !!}
{!! Form::text('description', null, ['class' => 'form-control', 'placeholder' => __('maintenance::lang.description')]) !!}
{!! Form::number('amount', null, ['class' => 'form-control', 'min' => 0, 'required', 'placeholder' => __('maintenance::lang.fm_amount')]) !!}
{!! Form::text('expense_date', null, ['class' => 'form-control', 'placeholder' => __('maintenance::lang.fm_expense_date')]) !!}
{!! Form::text('vendor_name', null, ['class' => 'form-control', 'placeholder' => __('maintenance::lang.fm_vendor')]) !!}
{!! Form::select('paid_by', ['company' => __('maintenance::lang.fm_paid_company'), 'employee' => __('maintenance::lang.fm_paid_employee')], 'company', ['class' => 'form-control']) !!}
{!! Form::close() !!} @endif
@endsection @section('javascript') @endsection