176 lines
9.3 KiB
PHP
176 lines
9.3 KiB
PHP
@php
|
|
$dispatchService = app(\Modules\Maintenance\Services\RepairDispatchService::class);
|
|
@endphp
|
|
|
|
<div class="row" style="margin-bottom:10px;">
|
|
<div class="col-md-12">
|
|
<p class="text-muted">@lang('maintenance::lang.rd_tab_help')</p>
|
|
@if(!empty($can_repair_view))
|
|
<a href="{{ action([\Modules\Maintenance\Http\Controllers\RepairDispatchController::class, 'index']) }}" class="btn btn-default btn-sm">
|
|
<i class="fa fa-list"></i> @lang('maintenance::lang.rd_all_dispatches')
|
|
</a>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
<div class="table-responsive">
|
|
<table class="table table-bordered table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>@lang('maintenance::lang.spare_part')</th>
|
|
<th>@lang('maintenance::lang.mat_qty_required')</th>
|
|
<th>@lang('maintenance::lang.rd_route')</th>
|
|
<th>@lang('maintenance::lang.rd_destination')</th>
|
|
<th>@lang('maintenance::lang.status')</th>
|
|
<th>@lang('maintenance::lang.actions')</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@forelse($repair_lines ?? [] as $line)
|
|
@php $rd = $line->activeRepairDispatch; @endphp
|
|
<tr>
|
|
<td>
|
|
<strong>{{ $line->displayName() }}</strong>
|
|
@if($line->part_number)<br><small class="text-muted">{{ $line->part_number }}</small>@endif
|
|
</td>
|
|
<td>{{ $line->quantity_required }}</td>
|
|
<td>
|
|
@if($rd)
|
|
{{ $route_type_labels[$rd->route_type] ?? $rd->route_type }}
|
|
<br><small><code>{{ $rd->dispatch_number }}</code></small>
|
|
@else
|
|
<span class="text-muted">—</span>
|
|
@endif
|
|
</td>
|
|
<td>{{ $rd?->destinationLabel() ?? '—' }}</td>
|
|
<td>
|
|
@if($rd)
|
|
<span class="label label-info">{{ $repair_status_labels[$rd->status] ?? $rd->status }}</span>
|
|
@else
|
|
<span class="label label-default">@lang('maintenance::lang.rd_no_route')</span>
|
|
@endif
|
|
</td>
|
|
<td>
|
|
@if($rd && !empty($can_repair_view))
|
|
<a href="{{ action([\Modules\Maintenance\Http\Controllers\RepairDispatchController::class, 'show'], [$rd->id]) }}" class="btn btn-xs btn-info">
|
|
<i class="fa fa-eye"></i> @lang('maintenance::lang.view')
|
|
</a>
|
|
@elseif(empty($rd) && !empty($can_repair_dispatch))
|
|
<button type="button" class="btn btn-xs btn-warning mm_open_repair_route" data-line-id="{{ $line->id }}" data-part-name="{{ $line->displayName() }}">
|
|
<i class="fa fa-route"></i> @lang('maintenance::lang.rd_define_route')
|
|
</button>
|
|
@endif
|
|
@can('maintenance.materials.manage')
|
|
@if(! $rd)
|
|
<button type="button" class="btn btn-xs btn-danger mm_delete_line" data-line-id="{{ $line->id }}"><i class="fa fa-trash"></i></button>
|
|
@endif
|
|
@endcan
|
|
</td>
|
|
</tr>
|
|
@empty
|
|
<tr><td colspan="6" class="text-center text-muted">@lang('maintenance::lang.rd_no_repair_lines')</td></tr>
|
|
@endforelse
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
@if(!empty($repair_dispatches) && $repair_dispatches->isNotEmpty())
|
|
<h5>@lang('maintenance::lang.rd_recent_dispatches')</h5>
|
|
<div class="table-responsive">
|
|
<table class="table table-condensed table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>@lang('maintenance::lang.rd_dispatch_number')</th>
|
|
<th>@lang('maintenance::lang.spare_part')</th>
|
|
<th>@lang('maintenance::lang.rd_route')</th>
|
|
<th>@lang('maintenance::lang.status')</th>
|
|
<th>@lang('maintenance::lang.rd_sent_at')</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach($repair_dispatches->take(10) as $d)
|
|
<tr>
|
|
<td><a href="{{ action([\Modules\Maintenance\Http\Controllers\RepairDispatchController::class, 'show'], [$d->id]) }}">{{ $d->dispatch_number }}</a></td>
|
|
<td>{{ $d->materialLine?->displayName() }}</td>
|
|
<td>{{ $route_type_labels[$d->route_type] ?? $d->route_type }}</td>
|
|
<td>{{ $repair_status_labels[$d->status] ?? $d->status }}</td>
|
|
<td>{{ $util->formatDateTime($d->sent_at) ?? '—' }}</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
@endif
|
|
|
|
@if(!empty($can_repair_dispatch))
|
|
<div class="modal fade" id="mm_repair_route_modal" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
<h4 class="modal-title">@lang('maintenance::lang.rd_define_route')</h4>
|
|
</div>
|
|
{!! Form::open(['url' => '#', 'method' => 'post', 'id' => 'mm_repair_route_form']) !!}
|
|
<div class="modal-body">
|
|
<p><strong id="mm_repair_part_name"></strong></p>
|
|
<div class="form-group">
|
|
{!! Form::label('route_type', __('maintenance::lang.rd_route') . ':') !!}
|
|
{!! Form::select('route_type', $route_type_labels ?? [], 'internal', ['class' => 'form-control', 'id' => 'mm_route_type']) !!}
|
|
</div>
|
|
<div id="mm_route_internal_fields">
|
|
<div class="form-group">
|
|
{!! Form::label('holding_entity_id', __('maintenance::lang.rd_holding_unit') . ':') !!}
|
|
{!! Form::select('holding_entity_id', $holding_entities ?? [], null, ['class' => 'form-control select2', 'placeholder' => __('maintenance::lang.select'), 'style' => 'width:100%', 'id' => 'mm_holding_entity']) !!}
|
|
</div>
|
|
<div class="form-group">
|
|
{!! Form::label('org_unit_id', __('maintenance::lang.rd_workshop_unit') . ':') !!}
|
|
{!! Form::select('org_unit_id', [], null, ['class' => 'form-control select2', 'placeholder' => __('maintenance::lang.select'), 'style' => 'width:100%', 'id' => 'mm_org_unit']) !!}
|
|
</div>
|
|
</div>
|
|
<div id="mm_route_external_fields" style="display:none;">
|
|
<div class="form-group">
|
|
{!! Form::label('service_provider_id', __('maintenance::lang.service_provider') . ':') !!}
|
|
{!! Form::select('service_provider_id', $external_providers ?? [], null, ['class' => 'form-control select2', 'placeholder' => __('maintenance::lang.select'), 'style' => 'width:100%']) !!}
|
|
</div>
|
|
<div class="form-group">
|
|
{!! Form::label('external_party_name', __('maintenance::lang.rd_external_name') . ':') !!}
|
|
{!! Form::text('external_party_name', null, ['class' => 'form-control', 'placeholder' => __('maintenance::lang.rd_or_external_name')]) !!}
|
|
</div>
|
|
<div class="form-group">
|
|
{!! Form::label('external_address', __('maintenance::lang.rd_external_address') . ':') !!}
|
|
{!! Form::textarea('external_address', null, ['class' => 'form-control', 'rows' => 2]) !!}
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
{!! Form::label('expected_return_at', __('maintenance::lang.rd_expected_return') . ':') !!}
|
|
{!! Form::text('expected_return_at', null, ['class' => 'form-control holding-date-picker', 'autocomplete' => 'off']) !!}
|
|
</div>
|
|
<div class="form-group">
|
|
{!! Form::label('send_notes', __('maintenance::lang.rd_send_notes') . ':') !!}
|
|
{!! Form::textarea('send_notes', null, ['class' => 'form-control', 'rows' => 2]) !!}
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
{!! Form::label('tracking_number_out', __('maintenance::lang.rd_tracking_out') . ':') !!}
|
|
{!! Form::text('tracking_number_out', null, ['class' => 'form-control']) !!}
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
{!! Form::label('carrier', __('maintenance::lang.rd_carrier') . ':') !!}
|
|
{!! Form::text('carrier', null, ['class' => 'form-control']) !!}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</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-primary">@lang('maintenance::lang.rd_create_route')</button>
|
|
</div>
|
|
{!! Form::close() !!}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|