ultimatepos/Modules/AssetExchange/Resources/views/inquiries/index.blade.php

120 lines
6.3 KiB
PHP

@extends('layouts.app')
@section('title', __('assetexchange::lang.price_inquiries'))
@section('content')
@include('assetexchange::layouts.nav')
<section class="content mt-page">
<div class="mt-page-header">
<h1><i class="fas fa-envelope-open-text"></i> @lang('assetexchange::lang.price_inquiries')</h1>
@can('aex.inquiries.create')
<a href="{{ action([\Modules\AssetExchange\Http\Controllers\PriceInquiryController::class, 'create']) }}" class="btn btn-primary"><i class="fa fa-plus"></i> @lang('assetexchange::lang.new_inquiry')</a>
@endcan
</div>
@php
$urgentTotal = ($slaSnapshot['inquiry_breached'] ?? 0) + ($slaSnapshot['inquiry_warning'] ?? 0) + ($slaSnapshot['inquiry_overdue_due'] ?? 0);
@endphp
<div class="row" style="margin-bottom:16px;">
<div class="col-md-3">
<div class="mt-kpi-card" style="border-right:4px solid #dc3545;">
<div class="kpi-label">@lang('assetexchange::lang.sla_breached')</div>
<div class="kpi-value text-danger">{{ $slaSnapshot['inquiry_breached'] ?? 0 }}</div>
</div>
</div>
<div class="col-md-3">
<div class="mt-kpi-card" style="border-right:4px solid #ffc107;">
<div class="kpi-label">@lang('assetexchange::lang.sla_warning')</div>
<div class="kpi-value text-warning">{{ $slaSnapshot['inquiry_warning'] ?? 0 }}</div>
</div>
</div>
<div class="col-md-3">
<div class="mt-kpi-card" style="border-right:4px solid #fd7e14;">
<div class="kpi-label">@lang('assetexchange::lang.sla_overdue_due')</div>
<div class="kpi-value" style="color:#fd7e14;">{{ $slaSnapshot['inquiry_overdue_due'] ?? 0 }}</div>
</div>
</div>
<div class="col-md-3">
<div class="mt-kpi-card" style="border-right:4px solid #6f42c1;">
<div class="kpi-label">@lang('assetexchange::lang.research_overdue')</div>
<div class="kpi-value" style="color:#6f42c1;">{{ $slaSnapshot['research_overdue'] ?? 0 }}</div>
</div>
</div>
</div>
<div class="mt-card" style="margin-bottom:16px;">
<div class="mt-card-body">
<form method="get" class="form-inline">
<div class="form-group" style="margin-left:8px;">
<label>@lang('assetexchange::lang.status'):</label>
<select name="status" class="form-control input-sm" onchange="this.form.submit()">
<option value="">@lang('assetexchange::lang.all')</option>
@foreach($statuses as $key => $label)
<option value="{{ $key }}" @selected($activeStatus === $key)>{{ $label }}</option>
@endforeach
</select>
</div>
<div class="form-group" style="margin-left:12px;">
<a href="{{ action([\Modules\AssetExchange\Http\Controllers\PriceInquiryController::class, 'index'], ['filter' => 'urgent']) }}"
class="btn btn-sm {{ $activeFilter === 'urgent' ? 'btn-danger' : 'btn-default' }}">
<i class="fas fa-exclamation-triangle"></i> @lang('assetexchange::lang.filter_urgent')
@if($urgentTotal > 0)<span class="badge">{{ $urgentTotal }}</span>@endif
</a>
@if($activeFilter || $activeStatus)
<a href="{{ action([\Modules\AssetExchange\Http\Controllers\PriceInquiryController::class, 'index']) }}" class="btn btn-sm btn-link">@lang('assetexchange::lang.clear_filters')</a>
@endif
</div>
</form>
<p class="text-muted" style="margin-top:8px;margin-bottom:0;">
@lang('assetexchange::lang.sla_hint', ['hours' => $sla['inquiry_sla_hours'] ?? 48])
</p>
</div>
</div>
<div class="mt-card"><div class="mt-card-body">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>@lang('assetexchange::lang.inquiry_code')</th>
<th>@lang('assetexchange::lang.title')</th>
<th>@lang('assetexchange::lang.listing')</th>
<th>@lang('assetexchange::lang.status')</th>
<th>@lang('assetexchange::lang.sla_status')</th>
<th></th>
</tr>
</thead>
<tbody>
@forelse($inquiries as $inq)
@php $slaStatus = $slaMap[$inq->id] ?? 'na'; @endphp
<tr class="@if(in_array($slaStatus, ['breached', 'overdue'])) danger @elseif($slaStatus === 'warning') warning @endif">
<td>{{ $inq->inquiry_code }}</td>
<td>{{ $inq->title }}</td>
<td>{{ $inq->listing?->title }}</td>
<td>{{ $aexUtil->statusLabel($inq->status) }}</td>
<td>
@if($slaStatus === 'breached')
<span class="label label-danger">@lang('assetexchange::lang.sla_breached')</span>
@elseif($slaStatus === 'overdue')
<span class="label label-danger">@lang('assetexchange::lang.sla_overdue_due')</span>
@elseif($slaStatus === 'warning')
<span class="label label-warning">@lang('assetexchange::lang.sla_warning')</span>
@elseif($slaStatus === 'ok')
<span class="label label-success">@lang('assetexchange::lang.sla_ok')</span>
@else
<span class="text-muted"></span>
@endif
</td>
<td><a href="{{ action([\Modules\AssetExchange\Http\Controllers\PriceInquiryController::class, 'show'], [$inq->id]) }}" class="btn btn-xs btn-info">@lang('assetexchange::lang.view')</a></td>
</tr>
@empty
<tr><td colspan="6" class="text-center text-muted">@lang('assetexchange::lang.no_records')</td></tr>
@endforelse
</tbody>
</table>
{{ $inquiries->links() }}
</div></div>
</section>
@endsection