{{-- Tabla de órdenes de compra con columnas dinámicas (JMetodos::SqlPOGeneral), compartida por el listado/búsqueda (Po.index) y el histórico (Po.historico). Layout nuevo con el kit ui-ctc, MigracionLayout.MD L3. Parámetros: $po (paginador de filas stdClass), $columname, $ocultas (columnas que no se pintan), $conAnular (bool), $leyenda (estados con color_fondo, opcional). Los colores de fila y de estado vienen de la base (configuración del cliente). --}} @php $ocultas = $ocultas ?? ['id', 'COLOR', 'COLORCON', 'numped', 'STATUSCON', 'NUM_DO', 'NUM DO']; $conAnular = $conAnular ?? false; $leyenda = $leyenda ?? collect(); $columnas = collect($columname)->reject(fn ($c) => in_array($c, $ocultas, true)); $hex = fn ($v) => $v && preg_match('/^#?[0-9A-Fa-f]{3,8}$/', trim($v)) ? '#' . ltrim(trim($v), '#') : null; $vacio = '—'; @endphp

{{ number_format($po->total(), 0, ',', '.') }} órdenes de compra

@if ($leyenda->count()) {{-- Convención de colores de estado: configuración del cliente --}}
@foreach ($leyenda as $estado) @continue(empty($estado->color_fondo)) {{ $estado->titulo }} @endforeach
@endif
@foreach ($columnas as $columna) @endforeach @if ($conAnular)@endif @forelse ($po as $fila) @php // Convención de colores del cliente (leyenda de arriba): COLOR es el color del estado de la fila // y COLORCON, el de la condición especial cuando el cliente la tiene configurada (manda sobre COLOR). // La fila completa queda marcada: barra a la izquierda y un fondo suave del mismo color. El fondo se // mezcla con la superficie (opaco) para que la columna fija de acciones lo tenga igual. $colorEstado = $hex($fila->COLOR ?? null); $colorFila = $hex($fila->COLORCON ?? null) ?: $colorEstado; $fondo = $colorFila ? "background-color: color-mix(in srgb, $colorFila 22%, var(--superficie));" : ''; @endphp @foreach ($fila as $nombre => $valor) @continue(in_array($nombre, $ocultas, true)) @if ($nombre === 'STATUS' && $colorEstado) @elseif ($valor === null || $valor === '') @else @endif @endforeach @if ($conAnular) @endif @empty @endforelse
Acciones{{ $columna }}Anular
@livewire('po.facturacion', ['id_po' => $fila->id], key('fac-' . $fila->id))
{{ $valor }}{!! $vacio !!}{{ $valor }}
@csrf

No hay órdenes de compra con los filtros aplicados.

@if ($po->hasPages())
{{ $po->links('vendor.pagination.ctc') }}
@endif
@once @push('scripts') @endpush @endonce