125 lines
7.8 KiB
PHP
125 lines
7.8 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('title', $dispatch->dispatch_number)
|
|
|
|
@section('content')
|
|
@include('maintenance::layouts.nav')
|
|
|
|
@php $util = app(\Modules\Maintenance\Utils\MaintenanceUtil::class); @endphp
|
|
|
|
<section class="content no-print mt-page">
|
|
<div class="mt-page-header">
|
|
<h1>
|
|
@lang('maintenance::lang.rd_dispatch_number'): <code>{{ $dispatch->dispatch_number }}</code>
|
|
<small class="text-muted">{{ $dispatch->materialLine?->displayName() }}</small>
|
|
</h1>
|
|
<div>
|
|
@if($can_manage && $next_action && !in_array($dispatch->status, ['received', 'cancelled']))
|
|
<button type="button" class="btn btn-success" data-toggle="modal" data-target="#rd_advance_modal">
|
|
<i class="fa fa-forward"></i> {{ $next_action }}
|
|
</button>
|
|
@endif
|
|
@if($can_manage && !in_array($dispatch->status, ['received', 'cancelled']))
|
|
<form method="post" action="{{ action([\Modules\Maintenance\Http\Controllers\RepairDispatchController::class, 'cancel'], [$dispatch->id]) }}" style="display:inline;" onsubmit="return confirm('{{ __('messages.are_you_sure') }}')">
|
|
@csrf
|
|
<button type="submit" class="btn btn-danger">@lang('maintenance::lang.rd_cancel')</button>
|
|
</form>
|
|
@endif
|
|
<a href="{{ action([\Modules\Maintenance\Http\Controllers\RepairDispatchController::class, 'index']) }}" class="btn btn-default">@lang('maintenance::lang.back')</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-8">
|
|
<div class="mt-card">
|
|
<div class="mt-card-header"><h3 class="mt-card-title">@lang('maintenance::lang.basic_info')</h3></div>
|
|
<div class="mt-card-body">
|
|
<table class="table table-bordered">
|
|
<tr><th width="200">@lang('maintenance::lang.status')</th><td>{{ $statuses[$dispatch->status] ?? $dispatch->status }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_route')</th><td>{{ $route_types[$dispatch->route_type] ?? $dispatch->route_type }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_destination')</th><td>{{ $dispatch->destinationLabel() }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.mat_qty_required')</th><td>{{ $dispatch->quantity }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_origin')</th><td>{{ $dispatch->originLocation?->name ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_sent_at')</th><td>{{ $util->formatDateTime($dispatch->sent_at) ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_expected_return')</th><td>{{ $util->formatDate($dispatch->expected_return_at) ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_repair_completed')</th><td>{{ $util->formatDateTime($dispatch->repair_completed_at) ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_return_dispatched')</th><td>{{ $util->formatDateTime($dispatch->return_dispatched_at) ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_received_at')</th><td>{{ $util->formatDateTime($dispatch->received_at) ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_tracking_out')</th><td>{{ $dispatch->tracking_number_out ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_tracking_return')</th><td>{{ $dispatch->tracking_number_return ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_carrier')</th><td>{{ $dispatch->carrier ?? '—' }}</td></tr>
|
|
<tr><th>@lang('maintenance::lang.rd_repair_cost')</th><td>{{ $util->formatMoney($dispatch->repair_cost) }}</td></tr>
|
|
</table>
|
|
@if($dispatch->send_notes)<p><strong>@lang('maintenance::lang.rd_send_notes'):</strong> {{ $dispatch->send_notes }}</p>@endif
|
|
@if($dispatch->repair_report)<p><strong>@lang('maintenance::lang.rd_repair_report'):</strong> {{ $dispatch->repair_report }}</p>@endif
|
|
@if($dispatch->receive_notes)<p><strong>@lang('maintenance::lang.rd_receive_notes'):</strong> {{ $dispatch->receive_notes }}</p>@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="mt-card">
|
|
<div class="mt-card-header"><h3 class="mt-card-title">@lang('maintenance::lang.rd_workflow_timeline')</h3></div>
|
|
<div class="mt-card-body">
|
|
<ul class="list-unstyled">
|
|
@foreach($dispatch->events as $event)
|
|
<li style="margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #eee;">
|
|
<strong>{{ $statuses[$event->status] ?? $event->status }}</strong>
|
|
<br><small class="text-muted">{{ $util->formatDateTime($event->created_at) }}</small>
|
|
@if($event->notes)<br><small>{{ $event->notes }}</small>@endif
|
|
</li>
|
|
@endforeach
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
@if($can_manage && $next_action)
|
|
<div class="modal fade" id="rd_advance_modal" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
{!! Form::open(['url' => action([\Modules\Maintenance\Http\Controllers\RepairDispatchController::class, 'advance'], [$dispatch->id]), 'method' => 'post']) !!}
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
<h4 class="modal-title">{{ $next_action }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="form-group">
|
|
{!! Form::label('notes', __('maintenance::lang.phase_notes') . ':') !!}
|
|
{!! Form::textarea('notes', null, ['class' => 'form-control', 'rows' => 2]) !!}
|
|
</div>
|
|
@if($dispatch->status === 'in_repair')
|
|
<div class="form-group">
|
|
{!! Form::label('repair_report', __('maintenance::lang.rd_repair_report') . ':') !!}
|
|
{!! Form::textarea('repair_report', null, ['class' => 'form-control', 'rows' => 3]) !!}
|
|
</div>
|
|
<div class="form-group">
|
|
{!! Form::label('repair_cost', __('maintenance::lang.rd_repair_cost') . ':') !!}
|
|
{!! Form::number('repair_cost', $dispatch->repair_cost, ['class' => 'form-control', 'min' => 0]) !!}
|
|
</div>
|
|
@endif
|
|
@if($dispatch->status === 'repair_done' && $dispatch->route_type === 'external')
|
|
<div class="form-group">
|
|
{!! Form::label('tracking_number_return', __('maintenance::lang.rd_tracking_return') . ':') !!}
|
|
{!! Form::text('tracking_number_return', null, ['class' => 'form-control']) !!}
|
|
</div>
|
|
@endif
|
|
@if($dispatch->status === 'returning' || ($dispatch->status === 'repair_done' && $dispatch->route_type === 'internal'))
|
|
<div class="form-group">
|
|
{!! Form::label('receive_notes', __('maintenance::lang.rd_receive_notes') . ':') !!}
|
|
{!! Form::textarea('receive_notes', null, ['class' => 'form-control', 'rows' => 2]) !!}
|
|
</div>
|
|
@endif
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">@lang('maintenance::lang.close')</button>
|
|
<button type="submit" class="btn btn-success">{{ $next_action }}</button>
|
|
</div>
|
|
{!! Form::close() !!}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@endsection
|