@extends('layouts.app') @section('title', 'Envíos | Veltrix v2') @section('topbar_actions') @if (has_permission('envios.crear')) Nuevo envío @endif @endsection @push('styles') @endpush @section('content') @if (session('success')) @endif @php $tabItems = [ ['key' => '', 'label' => 'Todos'], ['key' => 'pendiente', 'label' => 'Pendiente'], ['key' => 'en_preparacion', 'label' => 'En preparación'], ['key' => 'listo_para_despacho','label' => 'Listo p/ despacho'], ['key' => 'despachado', 'label' => 'Despachado'], ['key' => 'en_transito', 'label' => 'En tránsito'], ['key' => 'entregado', 'label' => 'Entregado'], ['key' => 'devuelto', 'label' => 'Devuelto'], ]; $totalAll = array_sum(array_map(fn($v) => $v, $statCounts)); @endphp
{{-- ── Tabs de estado ──────────────────────────────────── --}}
@foreach ($tabItems as $tab) @php $isActive = ($estado === $tab['key']); $cnt = $tab['key'] === '' ? ($statCounts['__all'] ?? $totalAll) : ($statCounts[$tab['key']] ?? 0); $url = route('envios.index', array_filter(['q' => $q, 'estado' => $tab['key']])); @endphp {{ $tab['label'] }} @if ($cnt > 0 || $tab['key'] === '') {{ $cnt }} @endif @endforeach
{{-- ── Barra de búsqueda ────────────────────────────────── --}}
@if ($estado) @endif
@if ($q || $estado) Limpiar @endif {{ $envios->total() }} {{ $envios->total() === 1 ? 'envío' : 'envíos' }}
{{-- ── Tabla ────────────────────────────────────────────── --}}
@forelse ($envios as $envio) {{-- Nº Envío --}} {{-- Destinatario --}} {{-- Ciudad --}} {{-- Transportadora --}} {{-- Origen --}} {{-- Rótulos --}} {{-- Estado --}} {{-- Acciones --}} @empty @endforelse
Nº Envío Destinatario Ciudad Transportadora Origen Rótulos Estado Acciones
{{ $envio->numero_envio }}
{{ $envio->created_at->format('d/m/Y') }}
{{ strtoupper(mb_substr($envio->destinatario_nombre, 0, 2)) }}
{{ $envio->destinatario_nombre }}
@if ($envio->destinatario_telefono)
{{ $envio->destinatario_telefono }}
@endif
@if ($envio->destinatario_ciudad) {{ $envio->destinatario_ciudad }} @else Sin ciudad @endif @if ($envio->transportadora) {{ $envio->transportadora }} @if ($envio->numero_guia)
{{ $envio->numero_guia }}
@endif @else Por asignar @endif
@if ($envio->venta_id) POS @elseif ($envio->pedido_manychat_id) WA @else Manual @endif @php $cnt = $envio->rotulos_count ?? 0 @endphp @if ($cnt) {{ $cnt }} @else @endif {{ $envio->estadoLabel() }}
@if ($envio->estado === 'pendiente' && has_permission('envios.crear')) @endif @if (has_permission('envios.eliminar'))
@csrf @method('DELETE')
@endif

@if ($q || $estado) Sin resultados @else Aún no hay envíos @endif

@if ($q || $estado) Prueba con otros términos o limpia los filtros. @else Los envíos se crean automáticamente al completar ventas POS, o puedes crear uno manualmente. @endif

@if ($q || $estado) Limpiar filtros @elseif (has_permission('envios.crear')) Crear envío @endif
{{-- ── Paginación ───────────────────────────────────────── --}} @if ($envios->hasPages())
{{ $envios->firstItem() }}–{{ $envios->lastItem() }} de {{ $envios->total() }} envíos
{{ $envios->appends(['q' => $q, 'estado' => $estado])->links() }}
@endif
@endsection