| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- @extends('layouts.app')
- @section('content')
- <div class="row mb-3 align-items-center">
- <div class="col-md-5"><h3 class="mb-0">Склад</h3></div>
- <div class="col-md-7">
- <form method="GET" action="{{ route('stock.index') }}" class="d-flex flex-wrap gap-2 justify-content-md-end">
- <input type="search" name="search" value="{{ $search }}" class="form-control form-control-sm"
- style="max-width: 280px" placeholder="Артикул, наименование или вид">
- <select name="kind" class="form-select form-select-sm" style="max-width: 210px">
- <option value="">Все виды</option>
- @foreach($kinds as $kindOption)<option value="{{ $kindOption }}" @selected($kind === $kindOption)>{{ $kindOption }}</option>@endforeach
- </select>
- <select name="status" class="form-select form-select-sm" style="max-width: 150px">
- <option value="">Все статусы</option>
- @foreach($statuses as $value => $label)<option value="{{ $value }}" @selected($status === $value)>{{ $label }}</option>@endforeach
- </select>
- <button class="btn btn-sm btn-outline-primary" type="submit"><i class="bi bi-search"></i> Найти</button>
- @if($search !== '' || $kind !== '' || $status !== '')
- <a class="btn btn-sm btn-outline-secondary" href="{{ route('stock.index') }}">Сбросить</a>
- @endif
- </form>
- </div>
- </div>
- <ul class="nav nav-tabs mb-3">
- <li class="nav-item"><a class="nav-link active" href="{{ route('stock.index') }}">Наличие</a></li>
- @if(hasPermission('stock.orders.view'))
- <li class="nav-item"><a class="nav-link" href="{{ route('stock.orders') }}">Заказы</a></li>
- @endif
- </ul>
- <div class="table-responsive">
- <table class="table table-sm table-hover table-bordered align-middle">
- <thead class="table-light">
- <tr>
- <th>Картинка</th>
- <th>Артикул</th>
- <th>Наименование</th>
- <th>Характеристики</th>
- <th>Ед.</th>
- <th class="text-end">На складе</th>
- <th class="text-end">Забронировано</th>
- <th class="text-end">Остаток</th>
- <th class="text-end">Заказано</th>
- <th>Примечание</th>
- </tr>
- </thead>
- <tbody>
- @forelse($items as $item)
- @php
- $physical = (int) ($item->physical_quantity ?? 0);
- $reserved = (int) ($item->reserved_quantity ?? 0);
- @endphp
- <tr role="button" ondblclick="window.location='{{ route('stock.show', $item) }}'"
- title="Двойной клик — открыть карточку">
- <td style="width: 72px">
- @if($item->imageFile)
- <a href="{{ $item->imageFile->link }}" data-toggle="lightbox" data-gallery="stock">
- <img src="{{ $item->imageFile->thumbnail_link }}" alt="{{ $item->article }}"
- class="img-thumbnail" style="width: 56px; height: 56px; object-fit: contain">
- </a>
- @else
- <span class="text-muted"><i class="bi bi-image"></i></span>
- @endif
- </td>
- <td>{{ $item->article }}</td>
- <td>{{ $item->calculator_name }}</td>
- <td>
- {{ $item->kind }}
- @if($item->dimensions)<div class="small text-muted">{{ $item->dimensions }}</div>@endif
- </td>
- <td>{{ $item->unit }}</td>
- <td class="text-end">{{ $physical }}</td>
- <td class="text-end">{{ $reserved }}</td>
- <td class="text-end fw-semibold">{{ max(0, $physical - $reserved) }}</td>
- <td class="text-end">{{ (int) ($item->ordered_stock_quantity ?? 0) }}</td>
- <td>{{ $item->latestStockOrder?->note }}</td>
- </tr>
- @empty
- <tr><td colspan="10" class="text-center text-muted py-4">Складские позиции не найдены.</td></tr>
- @endforelse
- </tbody>
- </table>
- </div>
- @include('partials.pagination', ['items' => $items])
- @endsection
|