ultimatepos/Modules/ShopFloor/Resources/views/oee/index.blade.php

83 lines
4.3 KiB
PHP

@extends('layouts.app')
@section('title', __('shopfloor::lang.oee'))
@section('content')
@include('shopfloor::layouts.nav')
<section class="content">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">@lang('shopfloor::lang.oee') {{ $date }}</h3>
<div class="box-tools">
<form action="{{ action([\Modules\ShopFloor\Http\Controllers\OeeController::class, 'index']) }}" method="GET" class="form-inline" style="display:inline-block;">
<input type="date" name="date" class="form-control input-sm" value="{{ $date }}">
<button type="submit" class="btn btn-default btn-sm">@lang('shopfloor::lang.view')</button>
</form>
<form action="{{ action([\Modules\ShopFloor\Http\Controllers\OeeController::class, 'calculate']) }}" method="POST" style="display:inline-block;">
@csrf
<input type="hidden" name="date" value="{{ $date }}">
<button type="submit" class="btn btn-primary btn-sm">@lang('shopfloor::lang.calculate')</button>
</form>
</div>
</div>
<div class="box-body table-responsive">
<table class="table table-bordered table-striped">
<thead><tr>
<th>@lang('shopfloor::lang.work_center')</th>
<th>@lang('shopfloor::lang.oee_pct')</th>
<th>@lang('shopfloor::lang.availability_pct')</th>
<th>@lang('shopfloor::lang.performance_pct')</th>
<th>@lang('shopfloor::lang.quality_pct')</th>
<th>@lang('shopfloor::lang.planned_minutes')</th>
<th>@lang('shopfloor::lang.run_minutes')</th>
<th>@lang('shopfloor::lang.downtime_minutes')</th>
<th>@lang('shopfloor::lang.ideal_output')</th>
<th>@lang('shopfloor::lang.actual_output')</th>
<th>@lang('shopfloor::lang.good_output')</th>
</tr></thead>
<tbody>
@forelse($snapshots as $snap)
<tr>
<td>{{ $snap->workCenter?->name ?? '—' }}</td>
<td><strong>{{ number_format($snap->oee_pct, 2) }}%</strong></td>
<td>{{ number_format($snap->availability_pct, 2) }}%</td>
<td>{{ number_format($snap->performance_pct, 2) }}%</td>
<td>{{ number_format($snap->quality_pct, 2) }}%</td>
<td>{{ $snap->planned_minutes }}</td>
<td>{{ $snap->run_minutes }}</td>
<td>{{ $snap->downtime_minutes }}</td>
<td>{{ $snap->ideal_output }}</td>
<td>{{ $snap->actual_output }}</td>
<td>{{ $snap->good_output }}</td>
</tr>
@empty
<tr><td colspan="11" class="text-center"></td></tr>
@endforelse
</tbody>
</table>
</div>
</div>
<div class="box box-solid">
<div class="box-header"><h3 class="box-title">@lang('shopfloor::lang.calculate') @lang('shopfloor::lang.oee')</h3></div>
<form action="{{ action([\Modules\ShopFloor\Http\Controllers\OeeController::class, 'calculate']) }}" method="POST" class="box-body">
@csrf
<div class="row">
<div class="col-md-3 form-group">
<label>@lang('shopfloor::lang.snapshot_date')</label>
<input type="date" name="date" class="form-control" value="{{ $date }}">
</div>
<div class="col-md-4 form-group">
<label>@lang('shopfloor::lang.work_center') <small>(@lang('shopfloor::lang.all_work_centers'))</small></label>
<select name="work_center_id" class="form-control select2">
<option value=""></option>
@foreach($workCenters as $id => $label)
<option value="{{ $id }}">{{ $label }}</option>
@endforeach
</select>
</div>
</div>
<button type="submit" class="btn btn-primary">@lang('shopfloor::lang.calculate')</button>
</form>
</div>
</section>
@endsection