ultimatepos/Modules/Maintenance/Resources/views/repair_dispatches/show.blade.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">&times;</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