ultimatepos/Modules/Maintenance/Resources/views/work_orders/show.blade.php

107 lines
5.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@extends('layouts.app')
@section('title', $work_order->work_order_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>{{ $work_order->work_order_number }} <small class="text-muted">{{ $work_order->equipment?->name }}</small></h1>
<div>
@can('maintenance.work_orders.update')
<a href="{{ action([\Modules\Maintenance\Http\Controllers\WorkOrderController::class, 'edit'], [$work_order->id]) }}" class="btn btn-primary">@lang('maintenance::lang.edit')</a>
@endcan
<a href="{{ action([\Modules\Maintenance\Http\Controllers\WorkOrderController::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>@lang('maintenance::lang.status')</th><td>{{ $util->statusLabel($work_order->status) }}</td></tr>
<tr><th>@lang('maintenance::lang.priority')</th><td>{{ $util->priorityLabel($work_order->priority) }}</td></tr>
<tr><th>@lang('maintenance::lang.assigned_technician')</th><td>{{ $work_order->assignedTechnician ? trim($work_order->assignedTechnician->first_name.' '.($work_order->assignedTechnician->last_name ?? '')) : '—' }}</td></tr>
<tr><th>@lang('maintenance::lang.scheduled_at')</th><td>{{ $util->formatDateTime($work_order->scheduled_at) ?? '—' }}</td></tr>
<tr><th>@lang('maintenance::lang.completed_at')</th><td>{{ $util->formatDateTime($work_order->completed_at) ?? '—' }}</td></tr>
<tr><th>@lang('maintenance::lang.labor_hours')</th><td>{{ $work_order->labor_hours ?? '—' }}</td></tr>
<tr><th>@lang('maintenance::lang.cost')</th><td>{{ $util->formatMoney($work_order->cost) }}</td></tr>
@if($work_order->accounting_journal_mapping_id)
<tr><th>@lang('maintenance::lang.journal_entry')</th><td><span class="label label-success">@lang('maintenance::lang.journal_posted')</span> #{{ $work_order->accounting_journal_mapping_id }}</td></tr>
@endif
</table>
@if($work_order->description)<p><strong>@lang('maintenance::lang.description'):</strong> {{ $work_order->description }}</p>@endif
@if($work_order->completion_report)<p><strong>@lang('maintenance::lang.completion_report'):</strong> {{ $work_order->completion_report }}</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.spare_parts')</h3></div>
<div class="mt-card-body">
@forelse($work_order->parts as $part)
<div style="padding:8px 0;border-bottom:1px solid #eee;">
{{ $part->sparePart?->name ?? '—' }} × {{ $part->quantity ?? 1 }}
@if($part->total_cost)
<small class="text-muted">({{ $util->formatMoney($part->total_cost) }})</small>
@endif
</div>
@empty
<p class="text-muted">@lang('maintenance::lang.no_records')</p>
@endforelse
@can('maintenance.work_orders.update')
@if(!empty($spare_parts) && !in_array($work_order->status, ['completed', 'cancelled']))
<hr>
{!! Form::open(['url' => action([\Modules\Maintenance\Http\Controllers\WorkOrderController::class, 'consumePart'], [$work_order->id]), 'method' => 'post', 'class' => 'form-inline']) !!}
<div class="form-group" style="width:55%;margin-left:4px;">
{!! Form::select('spare_part_id', $spare_parts, null, ['class' => 'form-control select2', 'required', 'placeholder' => __('maintenance::lang.select_spare_part'), 'style' => 'width:100%']) !!}
</div>
<div class="form-group" style="width:20%;margin-left:4px;">
{!! Form::number('quantity', 1, ['class' => 'form-control', 'min' => '0.001', 'step' => '0.001', 'required']) !!}
</div>
<button type="submit" class="btn btn-sm btn-warning">@lang('maintenance::lang.consume_part')</button>
{!! Form::close() !!}
@endif
@endcan
</div>
</div>
</div>
</div>
@if(!empty($materialPanel))
<div class="row" style="margin-top:20px;">
<div class="col-md-12">
@include('maintenance::materials.panel', $materialPanel)
</div>
</div>
@endif
@if(!empty($missionPanel))
<div class="row" style="margin-top:20px;">
<div class="col-md-12">
@include('maintenance::field_missions.panel', $missionPanel)
</div>
</div>
@endif
</section>
@endsection
@section('javascript')
<script>
$(function(){
$('.select2').select2();
$('#fm_mission_panel .fm_item_type').on('change', function() {
var t = $(this).val();
$('#fm_mission_panel .fm_field_spare').toggle(t === 'spare_part');
$('#fm_mission_panel .fm_field_tool').toggle(t === 'tool');
});
});
</script>
@endsection