{{-- Pestaña 1: Inventario & Stock Actual --}}
{{-- Buscador y Filtros --}}
{{-- Tabla de Productos --}}
| Imagen |
SKU / Código |
Producto |
Categoría |
Proveedor |
P. Compra |
P. Venta |
Stock Actual |
Estado |
Acción |
@forelse($products as $product)
@if($product->product_image)
 }})
@else
@endif
|
{{ $product->product_code }} |
{{ $product->product_name }}
|
{{ $product->category->name ?? 'Catálogo' }} |
{{ $product->supplier->name ?? 'Proveedor General' }} |
${{ number_format($product->buying_price, 0, ',', '.') }} |
${{ number_format($product->selling_price, 0, ',', '.') }} |
Mín: {{ $product->min_stock ?? 5 }}
|
@if($product->product_store <= 0)
🔴 Agotado
@elseif($product->product_store <= ($product->min_stock ?? 5))
🟡 Bajo (mín)
@else
🟢 Normal
@endif
|
|
@empty
| No se encontraron productos con los filtros ingresados. |
@endforelse
{{ $products->appends(request()->query())->links() }}
{{-- Pestaña 2: Proveedores --}}
Directiva de Proveedores
Registrar Proveedor
| Razón Social / Nombre |
Tipo |
Teléfono / Contacto |
Correo Electrónico |
Dirección |
Ciudad |
@forelse($suppliers as $sup)
|
{{ $sup->name }}
{{ $sup->shopname }}
|
{{ $sup->type ?? 'Distribuidor' }} |
{{ $sup->phone }} |
{{ $sup->email }} |
{{ $sup->address }} |
{{ $sup->city ?? 'Santiago' }} |
@empty
| No hay proveedores registrados. |
@endforelse
{{-- Pestaña 4: Reabastecimiento Sugerido --}}
Propuesta de Reabastecimiento
Lista de productos que están bajo el mínimo de stock de alerta sugeridos para reposición.
| Producto |
Categoría |
Proveedor Principal |
Stock Actual |
Stock Mínimo |
Sugerido a Pedir |
Costo Unit. |
Acción |
@forelse($suggestedReorders as $item)
@php
$suggestedQty = max(1, ($item->min_stock ?? 5) * 2 - intval($item->product_store));
@endphp
@if($item->product_image)

@else
@endif
{{ $item->product_name }}
SKU: {{ $item->product_code ?? 'Sin código' }}
|
{{ $item->category->name ?? 'Catálogo' }} |
{{ $item->supplier->name ?? 'Proveedor General' }}
|
|
{{ $item->min_stock ?? 5 }} uds |
|
${{ number_format($item->buying_price, 0, ',', '.') }} |
|
@empty
| Todo tu catálogo tiene stock saludable (sobre los mínimos de alerta). ¡Excelente! |
@endforelse
{{-- Pestaña 3: Pedidos a Proveedores --}}
Historial de Pedidos de Compras
| N° Pedido |
Fecha Emisión |
Proveedor |
Ítems |
Monto Total |
Estado |
Acciones |
@forelse($purchaseOrders as $po)
| {{ $po->order_number }} |
{{ \Carbon\Carbon::parse($po->order_date)->format('d/m/Y') }} |
{{ $po->supplier->name ?? 'N/A' }} |
{{ $po->items->count() }} producto(s) |
${{ number_format($po->total_amount, 0, ',', '.') }} |
@if($po->status === 'received')
🟢 Recibido (Stock Sumado)
@elseif($po->status === 'cancelled')
⚪ Cancelado
@else
🟡 Pendiente de Recepción
@endif
|
@if($po->status === 'pending')
@else
Concluso
@endif
|
@empty
| No se registran órdenes de compra a proveedores. |
@endforelse
{{-- Pestaña 4: Historial de Entradas, Salidas y Mermas --}}
Auditoría de Movimientos: Entradas, Ventas POS, Mermas y Ajustes
| Fecha y Hora |
Producto |
Tipo de Movimiento |
Variación |
Stock Resultante |
Referencia / Detalle |
Usuario |
@forelse($stockMovements as $mov)
| {{ $mov->created_at ? $mov->created_at->format('d/m/Y H:i') : 'N/A' }} |
{{ $mov->product->product_name ?? 'Producto Eliminado' }} |
@if($mov->type === 'purchase_order')
📦 Recepción de Pedido
@elseif($mov->type === 'spoilage')
🗑️ Merma / Consumo
@elseif($mov->type === 'venta_pos')
🛍️ Venta en POS
@elseif($mov->type === 'adjustment')
🔄 Conteo / Ajuste
@elseif($mov->type === 'ventor_mobile')
📱 Ventor Móvil
@else
📥 Ingreso Directo
@endif
|
{{ $mov->new_stock < $mov->old_stock ? '-' : '+' }}{{ $mov->quantity }} uds
|
{{ $mov->old_stock }} ➔ {{ $mov->new_stock }} uds |
{{ $mov->reference }}
@if($mov->notes)
{{ $mov->notes }}
@endif
|
{{ $mov->user->name ?? 'Sistema' }} |
@empty
| Sin movimientos de stock registrados. |
@endforelse