{{-- resources/views/providers/index.blade.php --}} @extends('layouts.app') @section('content') @php $user_role = session('user')['rol'] ?? 'invitado'; // Lógica para preparar datos para los filtros $unique_estados = []; $todos_los_conceptos_por_medio = []; if (!empty($providers)) { $all_estados = array_unique(array_map(fn($p) => $p->estado, $providers)); sort($all_estados); $unique_estados = $all_estados; foreach ($providers as $provider) { if (!isset($todos_los_conceptos_por_medio[$provider->medio])) { $todos_los_conceptos_por_medio[$provider->medio] = []; } if (!in_array($provider->tipo, $todos_los_conceptos_por_medio[$provider->medio])) { $todos_los_conceptos_por_medio[$provider->medio][] = $provider->tipo; } } } @endphp
@if (empty($providers))

No hay proveedores registrados todavía.

@else
@foreach ($providers as $provider) @php $displayPrice = 'N/A'; $priceKeys = ['precio', 'costo', 'precio_pactado_mensual', 'precio_pactado', 'precio_por_millar', 'precio_por_m2']; if (isset($provider->detalles)) { foreach ($priceKeys as $key) { if (!empty($provider->detalles[$key])) { $displayPrice = '$' . number_format((float)$provider->detalles[$key], 2); break; } } } $observaciones = $provider->detalles['observaciones'] ?? ''; if (strlen($observaciones) > 50) $observaciones = substr($observaciones, 0, 50) . '...'; @endphp @endforeach
MedioConceptoEstado (Lugar)ActivoNombrePrecioObservacionesAcciones
{{ $provider->medio }} {{ $provider->tipo }} {{ $provider->estado }} {{ !$provider->veto ? 'Sí' : 'No' }} {{ $provider->nombre }} {{ $displayPrice }} {{ $observaciones }} @if ($user_role === 'admin') Editar
@csrf
@endif
@endif @endsection @push('scripts') @endpush