{{-- Seguimiento RIM V2 (rim/seguimiento-v2), kit ui-ctc. Funcionalidad: specs/SPEC_SeguimientoRIM_V2.MD sección 7. Indicadores por urgencia (filtran), búsqueda con filtros y etiquetas, lista agrupada (pestañas Vencimiento / Cliente) con las líneas de producto anidadas, y el panel de detalle de solo lectura. --}} @php $grupoKpi = [ 'vencido' => ['Vencidos', 'últimos ' . $ventana . ' días, sin reemplazo'], 'critico' => ['Críticos ≤ 7 días', 'con saldo disponible'], 'proximo' => ['Próximos ≤ 30 días', 'con saldo disponible'], 'vigente' => ['Vigentes', 'con saldo disponible'], 'agotado' => ['Sin saldo', $alertas['agotado'] > 0 ? $alertas['agotado'] . ' sin reemplazo' : 'listos para cierre'], ]; $hex = ['vencido' => '#c92f33', 'critico' => '#e54533', 'proximo' => '#e7b643', 'vigente' => '#57bc80', 'agotado' => '#8a847f']; $sumaKpi = array_sum(array_intersect_key($conteos, $grupoKpi)); $consumos = ['sin_usar' => 'Sin usar', 'parcial' => 'Consumido en parte', 'agotado' => 'Agotado']; $chips = []; if ($busqueda !== '') { $chips[] = ['Búsqueda', $busqueda, 'limpiarBusqueda']; } if ($filtroGrupo !== null) { $chips[] = ['Urgencia', $etiquetas[$filtroGrupo]['titulo'], "filtrarGrupo('" . $filtroGrupo . "')"]; } if ($filtroCompania !== null && $filtroCompania !== '') { $chips[] = ['Compañía', $companias[$filtroCompania] ?? $filtroCompania, "\$set('filtroCompania', null)"]; } if ($filtroConsumo !== null && $filtroConsumo !== '') { $chips[] = ['Consumo', $consumos[$filtroConsumo] ?? $filtroConsumo, "\$set('filtroConsumo', null)"]; } $titular = ($estado === 'ok' || $estado === 'vacio_filtro') ? ($accionSemana > 0 ? number_format($accionSemana, 0, ',', '.') . ($accionSemana == 1 ? ' registro exige' : ' registros exigen') . ' acción esta semana' : 'Ningún registro exige acción esta semana') : 'Seguimiento de registros de importación'; if ($alertas['agotado'] > 0) { $titular .= ', y ' . number_format($alertas['agotado'], 0, ',', '.') . ' sin saldo cuyos productos no tienen reemplazo vigente'; } $columnas = 6; @endphp
@if ($puedeExportar) Exportar Generando… @endif {{-- Indicadores por urgencia: clic filtra; otro clic en el activo quita el filtro --}}
@foreach ($grupoKpi as $grupo => [$titulo, $detalleKpi]) @endforeach
@if (count($companias) > 1) @foreach ($companias as $idWebsimex => $razonSocial)@endforeach @endif @if (count($chips)) @foreach ($chips as [$etiqueta, $valor, $accion]) @endforeach @endif
@foreach ($agrupaciones as $modo) @endforeach
@foreach (['vencido' => 'Vencido', 'critico' => 'Crítico ≤ 7 d', 'proximo' => 'Próximo ≤ 30 d', 'vigente' => 'Vigente', 'agotado' => 'Sin saldo'] as $g => $t) {{ $t }} @endforeach Consultando…
@if (in_array($estado, ['sin_companias', 'error', 'vacio', 'vacio_filtro'], true))
@if ($estado === 'sin_companias')

No hay compañías activas asociadas a este usuario.

Sin compañías no se puede consultar el ERP. Comuníquese con su ejecutivo de cuenta.

@elseif ($estado === 'error')

No se pudo consultar Websimex.

El ERP no respondió. Puede reintentar la consulta.

Reintentar @elseif ($estado === 'vacio')

Este cliente no tiene registros de importación aprobados en Websimex.

Cuando el ERP apruebe un RIM aparecerá aquí automáticamente.

@else

Ningún registro coincide con la búsqueda.

Quitar filtros @endif
@else
@foreach ($grupos as $datosGrupo) @include('livewire.rim.partials._grupo', ['datos' => $datosGrupo, 'columnas' => $columnas]) @endforeach
Líneas Registro Saldo disponible Vencimiento Prórrogas Acción
@endif
{{-- Panel de detalle (solo lectura) --}} @if ($detalle) @include('livewire.rim.partials._panel-detalle') @endif