120 lines
6.3 KiB
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
|