@extends('layouts.app')
@section('title', 'Detalle de Venta')
@section('content')
{{-- Estilos para la impresión --}}
{{-- Botón de impresión que se oculta al imprimir --}}
{{-- Título que se mostrará en la impresión --}}
Detalle de Venta #{{ $venta->id }}
@php
$totalSinDescuento = $venta->detalles->sum(fn($detalle) => $detalle->cantidad * $detalle->precio);
$totalFinal = $venta->total;
$primerDetalle = $venta->detalles->first();
$metodoPago = $primerDetalle->metodo_pago ?? '-';
$pagaCon = $primerDetalle->paga_con ?? null;
$vuelto = $primerDetalle->vuelto ?? null;
@endphp
Vendedor: {{ $venta->user->name ?? '-' }}
Fecha: {{ $venta->created_at->format('d/m/Y H:i') }}
Método de Pago: {{ $metodoPago }}
@if($metodoPago === 'Cash' && $pagaCon)
Paga con: ${{ number_format($pagaCon, 2) }}
Vuelto: ${{ number_format($vuelto, 2) }}
@endif
Total sin descuento: ${{ number_format($totalSinDescuento, 2) }}
Total con descuento general: ${{ number_format($totalFinal, 2) }}
Productos vendidos:
Producto |
Código |
Cantidad |
Precio Unitario |
Descuento |
{{-- Nueva columna para la devolución, oculta en la impresión. Ahora visible para todos los usuarios autenticados --}}
@if(Auth::check())
Devolver |
@endif
@foreach($venta->detalles as $detalle)
@php
$subtotal = $detalle->cantidad * $detalle->precio;
$descuento = $detalle->descuento_individual ?? 0;
$tipo = $detalle->tipo_descuento_individual ?? 'fijo';
@endphp
{{ $detalle->producto->nombre ?? '-' }} |
{{ $detalle->producto->codigo ?? '-' }} |
{{ $detalle->cantidad }} |
${{ number_format($detalle->precio, 2) }} |
${{ number_format($detalle->descuento, 2) }} |
{{-- Formulario para la devolución, visible para cualquier usuario autenticado --}}
@if(Auth::check())
|
@endif
@endforeach
@php
$infoDescuentos = json_decode($venta->descuentos, true);
$descuentoGeneral = $infoDescuentos['general']['monto'] ?? 0;
$tipoDescuentoGeneral = $infoDescuentos['general']['tipo'] ?? 'fijo';
@endphp
@if($descuentoGeneral > 0)
Descuento General Aplicado:
@if($tipoDescuentoGeneral === 'porcentaje' && $totalSinDescuento > 0)
{{ number_format(($descuentoGeneral / $totalSinDescuento) * 100, 2) }} %
@else
${{ number_format($descuentoGeneral, 2) }}
@endif
@endif
{{-- Botón para volver que no se mostrará en la impresión --}}