Implementacion de modulo de pedidos

This commit is contained in:
Guillermo Gutierrez
2024-03-30 08:18:49 -07:00
parent f0341c3a61
commit e0b8ecb1f2
43 changed files with 3262 additions and 57 deletions

View File

@@ -7,3 +7,112 @@ window.Alpine = Alpine;
Alpine.plugin(focus);
Alpine.start();
document.addEventListener("DOMContentLoaded", ()=> {
//estados
let inputs = document.querySelectorAll('.input-enter');
let inputsProduct = document.querySelectorAll('.input-product');
let btnAdd = document.querySelector('#btn-add');
init();
function init()
{
inputEnterInit();
inputProductsEvent();
addKeyListener();
}
function inputEnterInit() {
inputs.forEach(function(input, index) {
input.addEventListener('keydown', function(event) {
if (event.key === 'Enter' || event.keyCode === 13) {
event.preventDefault();
let nextIndex = index + 1;
if (nextIndex < inputs.length) {
inputs[nextIndex].focus();
}
}
});
});
}
function addKeyListener()
{
const keysPressed = ['F6','F7','F8','F9'];
document.addEventListener('keydown',function(event){
if(!keysPressed.includes(event.key)) return;
event.preventDefault();
if(event.key === 'F8' && document.querySelector('#modal-1').checked)
{
event.preventDefault();
Livewire.emit('agregar');
}
else if(event.key === 'F9' && document.querySelector('#modal-1').checked)
{
Livewire.emit('save');
}
else if(event.key === 'F6' && document.querySelector('#modal-2').checked)
{
event.preventDefault();
Livewire.emit('agregar');
}
else if(event.key === 'F7')
{
Livewire.emit('cerrarVenta' && document.querySelector('#modal-2').checked);
}
else if(event.key === 'F8' && document.querySelector('#modal-2').checked)
{
Livewire.emit('entregarVenta');
}
else if(event.key === 'F9' && document.querySelector('#modal-2').checked)
{
Livewire.emit('saveArrivo');
}
})
}
function inputProductsEvent() {
inputsProduct.forEach(function(inputProduct, index) {
inputProduct.addEventListener('keydown', function(event) {
if (event.key === 'Enter' || event.keyCode === 13) {
event.preventDefault();
let nextIndex = index + 1;
console.log(`nextIndex:${nextIndex} | Length: ${inputs.length}`);
if (nextIndex < inputsProduct.length) {
inputsProduct[nextIndex].focus();
}
if( (nextIndex == inputsProduct.length))
{
btnAdd.click();
updateProductsDOM();
}
}
});
});
}
function updateListProducts()
{
inputsProduct[inputsProduct.length-6]?.focus();
}
Livewire.on('addProductEvent',function(){
updateProductsDOM();
updateListProducts();
});
async function updateProductsDOM()
{
inputsProduct = document.querySelectorAll('.input-product');
inputProductsEvent();
}
});

View File

@@ -0,0 +1,52 @@
<table class="table table-hover table-zebra">
<thead>
<tr class="text-neutral">
<th>Orden</th>
<th>Fecha</th>
<th>Cuenta</th>
<th>Telefono</th>
<th>Liquidado por</th>
<th>Creado por</th>
<th>Entregado por</th>
<th>Cerrado por</th>
<th>Comentarios</th>
<th>Codigo</th>
<th>Linea</th>
<th>Descripcion</th>
<th>Almacen</th>
<th>Cantidad</th>
<th>¿Recibido?</th>
</tr>
</thead>
<tbody>
@foreach ($pedidos as $pedido)
<tr>
<td>{{ $pedido->pedido }}</td>
<td>{{ $pedido->created_at->format('Y-m-d') }}</td>
<td>{{ $pedido->cuenta }}</td>
<td>{{ $pedido->telefono }}</td>
<td>{{ $pedido->ultimaVentaBy()?->user->name ?? "No Liquidado" }}</td>
<td>{{ $pedido->user->name }}</td>
<td>{{ $pedido->ventaEntregadaUser?->name ?? "No Entregado" }}</td>
<td>{{ $pedido->ventaCerradaUser?->name ?? "No Cerrado" }}</td>
<td>{{ $pedido->comentarios }}</td>
<td>
<table class="table table-hover table-zebra">
<tr></tr>
@foreach ($pedido->productos as $producto)
<tr>
<td>{{ $producto->codigo }}</td>
<td>{{ $producto->linea }}</td>
<td>{{ $producto->descripcion }}</td>
<td>{{ $producto->prefijo }}</td>
<td>{{ $producto->pivot->unidades }}</td>
<td>{{ $producto->pivot->is_arrivo?"Recibido":"No Recibido" }}</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endforeach
</tbody>
</table>

View File

@@ -0,0 +1,129 @@
<div>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Impresora') }}
</h2>
</x-slot>
<section class="container max-w-7xl mx-auto grid grid-cols-6 my-10 gap-5">
<article class="col-span-2">
<h2 class="font-bold">Mi impresora</h2>
<p>Selecciona una impresora para utilizar en tu perfil.</p>
</article>
<article class="bg-white col-span-4 p-3 rounded-lg">
@if (session()->has('messageImpresora'))
<div class="alert alert-success my-2">
<svg xmlns="http://www.w3.org/2000/svg" class="stroke-current shrink-0 h-6 w-6" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
<span>{{ session('messageImpresora') }}</span>
</div>
@endif
<div class="flex justify-center items-center gap-2">
<label class="font-bold" for="seleccionar-impresora">Seleciona impresora:</label>
<select wire:model="impresoraUser" id="seleccionar-impresora" class="select">
<option value="null">Selecciona una opción</option>
@foreach ($impresoras as $impresora)
<option value="{{$impresora->id }}">{{$impresora->estacion}}:{{$impresora->nombre_impresora}}</option>
@endforeach
</select>
<button wire:click="saveImpresora()" class="btn btn-primary">Guardar Impresora</button>
</div>
</article>
<article class="col-span-2">
<h2 class="font-bold">Agrega una impresora</h2>
<p>Puedes agregar una impresora de tu estación local, solo recuerda que para agregar una impresora debes tener la impresora compartida desde la computadora.</p>
</article>
<article class="bg-white col-span-4 p-3 rounded-lg">
<div class="mb-3 flex justify-between">
<button wire:click="create()" class="btn btn-sm btn-primary">Agregar Impresora</button>
</div>
@if (session()->has('message'))
<div class="alert alert-success my-2">
<svg xmlns="http://www.w3.org/2000/svg" class="stroke-current shrink-0 h-6 w-6" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
<span>{{ session('message') }}</span>
</div>
@endif
@if (session()->has('error'))
<div class="alert alert-error my-2">
<svg class="h-8 w-8" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M24 4C12.96 4 4 12.96 4 24C4 35.04 12.96 44 24 44C35.04 44 44 35.04 44 24C44 12.96 35.04 4 24 4ZM24 26C22.9 26 22 25.1 22 24V16C22 14.9 22.9 14 24 14C25.1 14 26 14.9 26 16V24C26 25.1 25.1 26 24 26ZM26 34H22V30H26V34Z" fill="#E92C2C" />
</svg>
<span>{{ session('error') }}</span>
</div>
@endif
<div class="bg-white text-neutral overflow-hidden sm:rounded-lg p-3">
<div class="overflow-x-auto">
<table class="table table-hover table-zebra">
<thead>
<tr class="text-neutral">
<th>Estacion / IP</th>
<th>Nombre Impresora / Puerto</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
@forelse ($impresoras as $impresora)
<th>{{ $impresora->estacion }}</th>
<th>{{ $impresora->nombre_impresora }}</th>
@role('admin')
<th class="flex gap-2">
<svg wire:click="imprimir({{$impresora->id}})" xmlns="http://www.w3.org/2000/svg" class="text-sky-600 cursor-pointer w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.829c-.24.03-.48.062-.72.096m.72-.096a42.415 42.415 0 0110.56 0m-10.56 0L6.34 18m10.94-4.171c.24.03.48.062.72.096m-.72-.096L17.66 18m0 0l.229 2.523a1.125 1.125 0 01-1.12 1.227H7.231c-.662 0-1.18-.568-1.12-1.227L6.34 18m11.318 0h1.091A2.25 2.25 0 0021 15.75V9.456c0-1.081-.768-2.015-1.837-2.175a48.055 48.055 0 00-1.913-.247M6.34 18H5.25A2.25 2.25 0 013 15.75V9.456c0-1.081.768-2.015 1.837-2.175a48.041 48.041 0 011.913-.247m10.5 0a48.536 48.536 0 00-10.5 0m10.5 0V3.375c0-.621-.504-1.125-1.125-1.125h-8.25c-.621 0-1.125.504-1.125 1.125v3.659M18 10.5h.008v.008H18V10.5zm-3 0h.008v.008H15V10.5z" />
</svg>
<svg wire:click="delete({{ $impresora->id }})" xmlns="http://www.w3.org/2000/svg" class="text-error cursor-pointer w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
</svg>
</th>
@endrole
</tr>
@empty
<div class="alert alert-info my-4 max-w-3xl mx-auto">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="stroke-current shrink-0 w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span>No hay impresoras registradas en el sistema.</span>
</div>
@endforelse
</tbody>
</table>
{{$impresoras->links()}}
</div>
</div>
</article>
</section>
<input class="modal-state" wire:model.defer="modal" id="modal-1" type="checkbox" />
<div class="modal">
<label class="modal-overlay" for="modal-1"></label>
<div class="modal-content flex flex-col gap-5 max-w-md w-1/2">
<label for="modal-1" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Agregar Impresora</h3>
<div class="form-group">
<div class="form-field">
<label for="codigo" class="form-label font-bold">Nombre Estación / IP de Impresora:</label>
<input id="codigo" wire:model="impresora.estacion" type="text" placeholder="Nombre de la computadora (con la impresora)" class="input max-w-full" />
</div>
</div>
@error('impresora.estacion')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="form-group">
<div class="form-field">
<label for="codigo" class="form-label font-bold">Nombre Impresora / Puerto de Impresora:</label>
<input id="codigo" wire:model="impresora.nombre_impresora" type="text" placeholder="Nombre de la impresora" class="input max-w-full" />
</div>
</div>
@error('impresora.nombre_impresora')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div>
<label class="flex cursor-pointer gap-2">
<input type="checkbox" class="checkbox" wire:model="impresora.is_compartida" />
<span>¿Es impresora compartida?</span>
</label>
</div>
<div class="flex gap-3">
<button wire:click="save()" class="btn btn-success btn-block">Guardar</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,3 @@
<div>
{{-- A good traveler has no fixed plans and is not intent upon arriving. --}}
</div>

View File

@@ -12,7 +12,8 @@
</div>
<!-- Navigation Links -->
<div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex">
<div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex items-center">
@role('usuario|admin')
<x-nav-link href="{{ route('dashboard') }}" :active="request()->routeIs('dashboard')">
{{ __('Dashboard') }}
</x-nav-link>
@@ -25,10 +26,25 @@
<x-nav-link href="{{ route('cancelacion') }}" :active="request()->routeIs('cancelacion')">
{{ __('Cancelacion') }}
</x-nav-link>
@role('admin')
<x-nav-link href="{{ route('reporte') }}" :active="request()->routeIs('reporte')">
{{ __('Reporte') }}
@endrole
<x-nav-link href="{{ route('pedido') }}" :active="request()->routeIs('pedido')">
{{ __('Pedido') }}
</x-nav-link>
@role('admin')
<x-nav-link href="{{ route('rutas') }}" :active="request()->routeIs('rutas')">
{{ __('Rutas') }}
</x-nav-link>
@endrole
@role('admin|compras')
<div class="dropdown dropdown-hover">
<label class="items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out" tabindex="0">Reportes</label>
<div class="dropdown-menu dropdown-menu-bottom-right">
@role('admin')<a href="{{ route('reporte-ventas') }}" class="dropdown-item text-sm {{request()->routeIs('reporte-ventas')?"dropdown-active":""}}">Ventas</a>@endrole
<a href="{{ route('reporte-pedidos') }}" tabindex="-1" class="dropdown-item text-sm {{request()->routeIs('reporte-pedidos')?"dropdown-active":""}}">Pedidos</a>
</div>
</div>
@endrole
@role('admin')
<x-nav-link href="{{ route('usuarios') }}" :active="request()->routeIs('usuarios')">
{{ __('Usuarios') }}
</x-nav-link>
@@ -68,6 +84,10 @@
{{ __('Profile') }}
</x-dropdown-link>
<x-dropdown-link href="{{ route('impresora') }}">
{{ __('Impresora') }}
</x-dropdown-link>
@if (Laravel\Jetstream\Jetstream::hasApiFeatures())
<x-dropdown-link href="{{ route('api-tokens.index') }}">
{{ __('API Tokens') }}

View File

@@ -0,0 +1,484 @@
<div>
<x-slot name="header">
<div class="flex justify-between">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Pedidos') }}
</h2>
<h3 class="font-bold">Impresora: <span class="font-normal">{{auth()->user()?->impresora?->estacion ?? "Sin Asignar"}}:{{auth()->user()?->impresora?->nombre_impresora}}</span></h3>
</div>
</x-slot>
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="mb-3 flex justify-between">
<button wire:click="create()" class="btn btn-sm btn-primary">Registrar pedido</button>
<div class="form-group max-w-md">
<div class="form-field flex flex-row items-center">
<label for="buscador" class="form-label font-bold">Buscar:</label>
<input id="buscador" wire:model="buscador" type="" placeholder="Buscar por pedido" class="input max-w-full" />
</div>
</div>
</div>
@if (session()->has('message'))
<div class="alert alert-success my-2">
<svg xmlns="http://www.w3.org/2000/svg" class="stroke-current shrink-0 h-6 w-6" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
<span>{{ session('message') }}</span>
</div>
@endif
@if (session()->has('error'))
<div class="alert alert-error my-2">
<svg xmlns="http://www.w3.org/2000/svg" class="stroke-current shrink-0 h-6 w-6" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
<span>{{ session('error') }}</span>
</div>
@endif
<div class="bg-white text-neutral overflow-hidden shadow-xl sm:rounded-lg">
<div class="overflow-x-auto">
<table class="table table-hover table-zebra">
<thead>
<tr class="text-neutral">
<th>Pedido</th>
<th>Cuenta</th>
<th>Recibidos</th>
<th>Registrado por</th>
<th>Entregado por</th>
<th>Cerrado por</th>
<th>Fecha</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
@forelse ($pedidos as $pedido)
<th>{{ $pedido->pedido }}</th>
<th>{{ $pedido->cuenta }}</th>
{{-- <th>{{ $pedido->folio_proveedor?$pedido->folio_proveedor:"No asignado" }}</th> --}}
{{-- <th>{{ $pedido->year }} {{ $pedido->marca }} {{ $pedido->modelo }}</th> --}}
<th>{{ $pedido->productos->where('pivot.is_arrivo', 1)->count()." de ".$pedido->productos->count()." Productos";}}</th>
<th>{{ $pedido->user->name }}</th>
<th>{{ $pedido->ventaEntregadaUser?->name ?? "Sin Entregar" }}</th>
<th>{{ $pedido->ventaCerradaUser?->name ?? "Sin Cerrar" }}</th>
<th>{{ $pedido->created_at }}</th>
<th class="flex gap-2">
<svg wire:click="show({{$pedido->id}})" xmlns="http://www.w3.org/2000/svg" class="cursor-pointer w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
</svg>
<svg wire:click="imprimirTicket({{$pedido->id}},false)" xmlns="http://www.w3.org/2000/svg" class="text-sky-600 cursor-pointer w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.829c-.24.03-.48.062-.72.096m.72-.096a42.415 42.415 0 0110.56 0m-10.56 0L6.34 18m10.94-4.171c.24.03.48.062.72.096m-.72-.096L17.66 18m0 0l.229 2.523a1.125 1.125 0 01-1.12 1.227H7.231c-.662 0-1.18-.568-1.12-1.227L6.34 18m11.318 0h1.091A2.25 2.25 0 0021 15.75V9.456c0-1.081-.768-2.015-1.837-2.175a48.055 48.055 0 00-1.913-.247M6.34 18H5.25A2.25 2.25 0 013 15.75V9.456c0-1.081.768-2.015 1.837-2.175a48.041 48.041 0 011.913-.247m10.5 0a48.536 48.536 0 00-10.5 0m10.5 0V3.375c0-.621-.504-1.125-1.125-1.125h-8.25c-.621 0-1.125.504-1.125 1.125v3.659M18 10.5h.008v.008H18V10.5zm-3 0h.008v.008H15V10.5z" />
</svg>
@role('admin')
<svg wire:click="delete({{ $pedido->id }})" xmlns="http://www.w3.org/2000/svg" class="text-error cursor-pointer w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
</svg>
</th>
@endrole
</tr>
@empty
<div class="alert alert-info my-4 max-w-3xl mx-auto">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="stroke-current shrink-0 w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span>No hay pedidos registrados en el sistema.</span>
</div>
@endforelse
</tbody>
</table>
{{$pedidos->links()}}
</div>
</div>
</div>
</div>
<input class="modal-state" wire:model.defer="modal" id="modal-1" type="checkbox" />
<div class="modal w-screen">
<label class="modal-overlay" for="modal-1"></label>
<div class="modal-content flex flex-col gap-2 max-w-5xl">
<label for="modal-1" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Registrar Pedido</h3>
<h4>Datos del cliente</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-2 gap-2">
<div class="form-group">
<div class="form-field">
<label for="cuenta" class="form-label font-bold">Cuenta:</label>
<input id="cuenta" wire:model="pedido.cuenta" type="text" placeholder="Cuenta usuario" class="input max-w-full input-enter" />
</div>
@error('pedido.cuenta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="telefono" class="form-label font-bold">Telefono:</label>
<input id="telefono" wire:model="pedido.telefono" type="text" maxlength="10" placeholder="Numero de telefono" class="input max-w-full input-enter" />
</div>
@error('pedido.cuenta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<h4>Datos del vehiculo</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-4 gap-2">
<div class="form-group">
<div class="form-field">
<label for="year" class="form-label font-bold">Año:</label>
<input id="year" wire:model="pedido.year" type="number" maxlength="4" placeholder="Año del vehiculo" class="input max-w-full input-enter" />
</div>
@error('pedido.year')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="marca" class="form-label font-bold">Marca:</label>
<input id="marca" wire:model="pedido.marca" type="text" placeholder="Marca del vehiculo" class="input max-w-full input-enter" />
</div>
@error('pedido.marca')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="modelo" class="form-label font-bold">Modelo:</label>
<input id="modelo" wire:model="pedido.modelo" type="text" placeholder="Modelo del vehiculo" class="input max-w-full input-enter" />
@error('pedido.modelo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="motor" class="form-label font-bold">Motor:</label>
<input id="motor" wire:model="pedido.motor" type="text" placeholder="Tamaño del motor" class="input max-w-full input-enter" />
@error('pedido.motor')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="comentarios" class="form-label font-bold">Comentarios:</label>
<textarea id="comentarios" wire:model="pedido.comentarios" type="text" placeholder="Registra el historial del pedido." class="textarea max-w-full input-enter" ></textarea>
</div>
</div>
<div class="flex flex-col justify-between gap-1">
<h4>Productos a cotizar</h4>
<div class="">
<div class="dropdown dropdown-open w-full">
<input class="input input-block input-enter" wire:model="buscadorProducto" placeholder="Buscar pieza" />
@if ($buscadorProducto!="")
<div class="dropdown-menu w-full">
@forelse ($productosList as $producto)
<button class="dropdown-item text-sm" wire:click="agregar({{$producto->id}})">Codigo: {{$producto->codigo}} | Descripcion: {{$producto->descripcion}}</button>
@empty
<button class="dropdown-item text-sm">No se encontraron coincidencias.</button>
@endforelse
</div>
@endif
</div>
</div>
</div>
<div class="border-b border-gray-400 w-full"></div>
<div>
@foreach ($productos as $key => $producto)
<div class="flex gap-2 items-center">
<div class="form-group">
<div class="form-field">
<label for="codigo-{{$key}}" class="form-label font-bold">Codigo:</label>
<input id="codigo-{{$key}}" wire:model="productos.{{$key}}.codigo" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.codigo")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group col-span-3">
<div class="form-field">
<label for="descripcion-{{$key}}" class="form-label font-bold">Descripcion:</label>
<input id="descripcion-{{$key}}" wire:model="productos.{{$key}}.descripcion" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.descripcion")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="linea-{{$key}}" class="form-label font-bold">Linea:</label>
<input id="linea-{{$key}}" wire:model="productos.{{$key}}.linea" type="text" maxlength="4" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.linea")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
{{-- <div class="form-group">
<div class="form-field">
<label for="prefijo-{{$key}}" class="form-label font-bold">Prefijo:</label>
<input id="prefijo-{{$key}}" maxlength="8" wire:model="productos.{{$key}}.prefijo" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.prefijo")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div> --}}
<div class="form-group gap-1">
<label for="cantidad-{{$key}}" class="form-label font-bold">Ruta:</label>
<select class="select" wire:model="productos.{{$key}}.ruta_id">
<option selected value="">- Ruta -</option>
@foreach ($rutas as $ruta)
<option value="{{$ruta->id}}">{{$ruta->prefijo}} - {{ $ruta->ruta }}</option>
@endforeach
</select>
@error("productos.{$key}.ruta_id")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="cantidad-{{$key}}" class="form-label font-bold">Cantidad:</label>
<input id="cantidad-{{$key}}" maxlength="4" wire:model="productos.{{$key}}.cantidad" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.cantidad")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group col-span-2">
<div class="form-field">
<label for="precio_unitario-{{$key}}" class="form-label font-bold">Precio Unitario:</label>
<input id="precio_unitario-{{$key}}" maxlength="6" wire:model="productos.{{$key}}.precio_unitario" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.precio_unitario")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="total-{{$key}}" class="form-label font-bold">Total:</label>
<input id="total-{{$key}}" wire:model="totals.{{$key}}" type="text" disabled class="input max-w-full" />
</div>
</div>
<div>
<label class="form-label invisible">btn</label>
<svg wire:click="eliminarProducto({{$key}})" xmlns="http://www.w3.org/2000/svg" class="text-error cursor-pointer" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
</svg>
</div>
</div>
@endforeach
<p class="font-bold text-lg text-right my-2 mx-2">SubTotal: <span class="font-normal">{{round($totalPagar - $IVA,2)}}</span></p>
<p class="font-bold text-lg text-right my-2 mx-2">IVA 8%: <span class="font-normal">{{round($IVA,2)}}</span></p>
<p class="font-bold text-lg text-right my-2 mx-2">Total a Pagar: <span class="font-normal">{{round($totalPagar,2)}}</span></p>
</div>
<h4>Deposito del producto</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-5 gap-2">
<div class="form-group">
<div class="form-field">
<label for="efectivo" class="form-label font-bold">Efectivo:</label>
<input id="efectivo" wire:model="ventaEspecial.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full input-enter" />
</div>
@error('ventaEspecial.pago_efectivo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="tarjeta" class="form-label font-bold">Tarjeta:</label>
<input id="tarjeta" wire:model="ventaEspecial.pago_tarjeta" type="number" step="any" placeholder="Pago con tarjeta" class="input max-w-full input-enter" />
</div>
@error('ventaEspecial.pago_tarjeta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="pago_transferencia" class="form-label font-bold">Transferencia:</label>
<input id="pago_transferencia" wire:model="ventaEspecial.pago_transferencia" type="number" step="any" placeholder="Pago con transferencia" class="input max-w-full input-enter" />
@error('ventaEspecial.pago_transferencia')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Tarjeta Vales:</label>
<input id="vales" wire:model="ventaEspecial.pago_vales" type="number" step="any" placeholder="Pago con tarjeta de vales" class="input max-w-full input-enter" />
@error('ventaEspecial.pago_vales')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="nota_credito" class="form-label font-bold">Nota Credito:</label>
<input id="nota_credito" wire:model="ventaEspecial.nota_credito" type="number" step="any" placeholder="Pago con nota de credito" class="input max-w-full input-enter" />
@error('ventaEspecial.nota_credito')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
</div>
<div class="flex gap-3 mt-2">
<button id="btn-add" wire:click='agregar()' class="btn btn-primary btn-block">Agregar producto [F8]</button>
<button wire:click="save()" class="btn btn-success btn-block">Guardar [F9]</button>
</div>
</div>
</div>
<input class="modal-state" wire:model.defer="modalPedido" id="modal-2" type="checkbox" />
<div class="modal w-screen">
<label class="modal-overlay" for="modal-2"></label>
<div class="modal-content flex flex-col gap-2 max-w-5xl">
<label for="modal-2" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Registrar Pedido</h3>
<h4>Datos del cliente</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-2 gap-2">
<div class="form-group">
<div class="form-field">
<label for="cuenta-pedido" class="form-label font-bold">Cuenta:</label>
<input id="cuenta-pedido" wire:model="pedido.cuenta" type="text" placeholder="Cuenta usuario" class="input max-w-full" />
</div>
@error('pedido.cuenta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="telefono-pedido" class="form-label font-bold">Telefono:</label>
<input id="telefono-pedido" wire:model="pedido.telefono" type="text" maxlength="10" placeholder="Numero de telefono" class="input max-w-full" />
</div>
@error('pedido.cuenta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="grid grid-cols-2 gap-2">
<div class="form-group">
<div class="form-field">
<label for="folio_proveedor" class="form-label font-bold">Folio Proveedor:</label>
<input id="folio_proveedor" wire:model="pedido.folio_proveedor" type="text" placeholder="Folio Proveedor" class="input max-w-full input-enter" />
</div>
@error('pedido.folio_proveedor')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="numero_remision" class="form-label font-bold">Numero Remisión:</label>
<input id="numero_remision" wire:model="pedido.numero_remision" type="text" placeholder="Numero Remision" class="input max-w-full input-enter" />
</div>
@error('pedido.numero_remision')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<h4>Datos del vehiculo</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-4 gap-2">
<div class="form-group">
<div class="form-field">
<label for="year-pedido" class="form-label font-bold">Año:</label>
<input id="year-pedido" wire:model="pedido.year" type="number" maxlength="4" placeholder="Año del vehiculo" class="input max-w-full" disabled />
</div>
@error('pedido.year')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="marca-pedido" class="form-label font-bold">Marca:</label>
<input id="marca-pedido" wire:model="pedido.marca" type="text" placeholder="Marca del vehiculo" class="input max-w-full" disabled />
</div>
@error('pedido.marca')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="modelo-pedido" class="form-label font-bold">Modelo:</label>
<input id="modelo-pedido" wire:model="pedido.modelo" type="text" placeholder="Modelo del vehiculo" class="input max-w-full" disabled/>
@error('pedido.modelo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="motor-pedido" class="form-label font-bold">Motor:</label>
<input id="motor-pedido" wire:model="pedido.motor" type="text" placeholder="Tamaño del motor" class="input max-w-full" disabled/>
@error('pedido.motor')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="comentarios" class="form-label font-bold">Comentarios:</label>
<textarea id="comentarios" wire:model="pedido.comentarios" type="text" placeholder="Registra el historial del pedido." class="textarea max-w-full input-enter" ></textarea>
</div>
</div>
<h4>Pedido</h4>
<div class="border-b border-gray-400 w-full"></div>
<div>
@isset($this->pedido)
@foreach ($this->pedido->productos as $key => $producto)
<div class="flex gap-2 items-center">
<div class="form-group">
<div class="form-field">
<label for="codigo-{{$key}}-pedido" class="form-label font-bold">Codigo:</label>
<input id="codigo-{{$key}}-pedido" value="{{$producto->codigo}}" type="text" placeholder="" class="input max-w-full" disabled/>
</div>
</div>
<div class="form-group col-span-3">
<div class="form-field">
<label for="descripcion-{{$key}}-pedido" class="form-label font-bold">Descripcion:</label>
<input id="descripcion-{{$key}}-pedido" value="{{$producto->descripcion}}" type="text" placeholder="" class="input max-w-full" disabled/>
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="linea-{{$key}}-pedido" class="form-label font-bold">Linea:</label>
<input id="linea-{{$key}}-pedido" value="{{$producto->linea}}" type="text" maxlength="4" placeholder="" class="input max-w-full" disabled/>
</div>
</div>
<div class="form-group">
{{-- <div class="form-field">
<label for="prefijo-{{$key}}-pedido" class="form-label font-bold">Prefijo:</label>
<input id="prefijo-{{$key}}-pedido" value="{{$producto->prefijo}}" type="text" placeholder="" class="input max-w-full" disabled/>
</div> --}}
<div class="form-field">
<label for="prefijo-{{$key}}-pedido" class="form-label font-bold">Ruta:</label>
<input id="prefijo-{{$key}}-pedido" value="{{$producto->ruta->id}}" type="text" placeholder="" class="input max-w-full" disabled/>
</div>
{{-- <div class="form-group gap-1">
<label for="cantidad-{{$key}}" class="form-label font-bold">Ruta:</label>
<select class="select" wire:model="productos.{{$key}}.ruta_id">
<option value="">- Ruta -</option>
@foreach ($rutas as $ruta)
<option {{$ruta->id== $productos[$key]['ruta_id'] ?"selected":""}} value="{{$ruta->id}}">{{$ruta->prefijo}} - {{ $ruta->ruta }}</option>
@endforeach
</select>
@error("productos.{$key}.ruta_id")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div> --}}
</div>
<div class="form-group">
<div class="form-field">
<label for="cantidad-{{$key}}-pedido" class="form-label font-bold">Cantidad:</label>
<input id="cantidad-{{$key}}-pedido" value="{{$producto->pivot->unidades}}" type="text" placeholder="" class="input max-w-full" disabled />
</div>
</div>
<div class="form-group col-span-2">
<div class="form-field">
<label for="precio_unitario-{{$key}}-pedido" class="form-label font-bold">Precio Unitario:</label>
<input id="precio_unitario-{{$key}}-pedido" value="{{$producto->pivot->precio_unitario}}" type="text" placeholder="" class="input max-w-full" disabled />
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="arrivo-{{$key}}-pedido" class="form-label font-bold">¿Arrivo Producto?:</label>
<input id="arrivo-{{$key}}-pedido" wire:model="productos.{{$key}}.is_arrivo" type="checkbox" class="checkbox checkbox-primary checkbox-bordered-primary mx-auto max-w-full"/>
</div>
</div>
</div>
@endforeach
@endisset
<p class="font-bold text-lg text-right my-2 mx-2">SubTotal: <span class="font-normal">{{round($this->totalPagar - $this->IVA,2)}}</span></p>
<p class="font-bold text-lg text-right my-2 mx-2">IVA 8%: <span class="font-normal">{{round($this->IVA,2)}}</span></p>
<p class="font-bold text-lg text-right my-2 mx-2">Total a Pagar: <span class="font-normal">{{round($this->totalPagar,2)}}</span></p>
</div>
<div class="flex gap-3 mt-2">
@if (!$this->pedido?->is_venta_cerrada)
<button wire:click="cerrarVenta()" class="btn btn-primary btn-block">Cerrar Pedido [F7]</button>
@endif
@if (!$this->pedido?->is_venta_entregada)
<button wire:click="entregarVenta()" class="btn btn-secondary btn-block">Entregar Pedido [F8]</button>
@endif
<button wire:click="saveArrivo()" class="btn btn-success btn-block">Guardar Pedido [F9]</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,517 @@
<div>
<x-slot name="header">
<div class="flex justify-between">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Pedidos') }}
</h2>
<h3 class="font-bold">Impresora: <span class="font-normal">{{auth()->user()?->impresora?->estacion ?? "Sin Asignar"}}:{{auth()->user()?->impresora?->nombre_impresora}}</span></h3>
</div>
</x-slot>
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="mb-3 flex justify-between">
<button wire:click="create()" class="btn btn-sm btn-primary">Registrar pedido</button>
<div class="form-group max-w-md">
<div class="form-field flex flex-row items-center">
<label for="buscador" class="form-label font-bold">Buscar:</label>
<input id="buscador" wire:model="buscador" type="" placeholder="Buscar por pedido" class="input max-w-full" />
</div>
</div>
</div>
@if (session()->has('message'))
<div class="alert alert-success my-2">
<svg xmlns="http://www.w3.org/2000/svg" class="stroke-current shrink-0 h-6 w-6" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
<span>{{ session('message') }}</span>
</div>
@endif
@if (session()->has('error'))
<div class="alert alert-error my-2">
<svg xmlns="http://www.w3.org/2000/svg" class="stroke-current shrink-0 h-6 w-6" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
<span>{{ session('error') }}</span>
</div>
@endif
<div class="bg-white text-neutral overflow-hidden shadow-xl sm:rounded-lg">
<div class="overflow-x-auto">
<table class="table table-hover table-zebra">
<thead>
<tr class="text-neutral">
<th>Pedido</th>
<th>Cuenta</th>
<th>Recibidos</th>
<th>Registrado por</th>
<th>Entregado por</th>
<th>Cerrado por</th>
<th>Fecha</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
@forelse ($pedidos as $pedido)
<th>{{ $pedido->pedido }}</th>
<th>{{ $pedido->cuenta }}</th>
{{-- <th>{{ $pedido->folio_proveedor?$pedido->folio_proveedor:"No asignado" }}</th> --}}
{{-- <th>{{ $pedido->year }} {{ $pedido->marca }} {{ $pedido->modelo }}</th> --}}
<th><span class="badge {{($pedido->productos->where('pivot.is_arrivo',1)->count() == $pedido->productos->count()) ? "badge-success":""}}">{{ $pedido->productos->where('pivot.is_arrivo', 1)->count()." de ".$pedido->productos->count()." Productos";}}</span></th>
<th>{{ $pedido->user->name }}</th>
<th>{{ $pedido->ventaEntregadaUser?->name ?? "Sin Entregar" }}</span></th>
<th><span class="badge {{!$pedido->is_venta_cerrada?"badge-error":""}}">{{ $pedido->ventaCerradaUser?->name ?? "Sin Cerrar" }}</span></th>
<th>{{ $pedido->created_at }}</th>
<th class="flex gap-2">
<svg wire:click="show({{$pedido->id}})" xmlns="http://www.w3.org/2000/svg" class="cursor-pointer w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
</svg>
<svg wire:click="imprimirTicket({{$pedido->id}},false)" xmlns="http://www.w3.org/2000/svg" class="text-sky-600 cursor-pointer w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.829c-.24.03-.48.062-.72.096m.72-.096a42.415 42.415 0 0110.56 0m-10.56 0L6.34 18m10.94-4.171c.24.03.48.062.72.096m-.72-.096L17.66 18m0 0l.229 2.523a1.125 1.125 0 01-1.12 1.227H7.231c-.662 0-1.18-.568-1.12-1.227L6.34 18m11.318 0h1.091A2.25 2.25 0 0021 15.75V9.456c0-1.081-.768-2.015-1.837-2.175a48.055 48.055 0 00-1.913-.247M6.34 18H5.25A2.25 2.25 0 013 15.75V9.456c0-1.081.768-2.015 1.837-2.175a48.041 48.041 0 011.913-.247m10.5 0a48.536 48.536 0 00-10.5 0m10.5 0V3.375c0-.621-.504-1.125-1.125-1.125h-8.25c-.621 0-1.125.504-1.125 1.125v3.659M18 10.5h.008v.008H18V10.5zm-3 0h.008v.008H15V10.5z" />
</svg>
<svg wire:click="imprimirTicket({{$pedido->id}},true)" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="text-sky-600 cursor-pointer w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z" />
</svg>
@role('admin')
<svg wire:click="delete({{ $pedido->id }})" xmlns="http://www.w3.org/2000/svg" class="text-error cursor-pointer w-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
</svg>
</th>
@endrole
</tr>
@empty
<div class="alert alert-info my-4 max-w-3xl mx-auto">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="stroke-current shrink-0 w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span>No hay pedidos registrados en el sistema.</span>
</div>
@endforelse
</tbody>
</table>
{{$pedidos->links()}}
</div>
</div>
</div>
</div>
<input class="modal-state" wire:model.defer="modal" id="modal-1" type="checkbox" />
<div class="modal w-screen">
<label class="modal-overlay" for="modal-1"></label>
<div class="modal-content flex flex-col gap-2 max-w-5xl">
<label for="modal-1" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Registrar Pedido</h3>
<h4>Datos del cliente</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-2 gap-2">
<div class="form-group">
<div class="form-field">
<label for="cuenta" class="form-label font-bold">Cuenta:</label>
<input id="cuenta" wire:model="pedido.cuenta" type="text" placeholder="Cuenta usuario" class="input max-w-full input-enter" />
</div>
@error('pedido.cuenta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="telefono" class="form-label font-bold">Telefono:</label>
<input id="telefono" wire:model="pedido.telefono" type="text" maxlength="10" placeholder="Numero de telefono" class="input max-w-full input-enter" />
</div>
@error('pedido.cuenta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<h4>Datos del vehiculo</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-4 gap-2">
<div class="form-group">
<div class="form-field">
<label for="year" class="form-label font-bold">Año:</label>
<input id="year" wire:model="pedido.year" type="number" maxlength="4" placeholder="Año del vehiculo" class="input max-w-full input-enter" />
</div>
@error('pedido.year')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="marca" class="form-label font-bold">Marca:</label>
<input id="marca" wire:model="pedido.marca" type="text" placeholder="Marca del vehiculo" class="input max-w-full input-enter" />
</div>
@error('pedido.marca')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="modelo" class="form-label font-bold">Modelo:</label>
<input id="modelo" wire:model="pedido.modelo" type="text" placeholder="Modelo del vehiculo" class="input max-w-full input-enter" />
@error('pedido.modelo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="motor" class="form-label font-bold">Motor:</label>
<input id="motor" wire:model="pedido.motor" type="text" placeholder="Tamaño del motor" class="input max-w-full input-enter" />
@error('pedido.motor')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="comentarios" class="form-label font-bold">Comentarios:</label>
<textarea id="comentarios" wire:model="pedido.comentarios" type="text" placeholder="Registra el historial del pedido." class="textarea max-w-full input-enter" ></textarea>
</div>
</div>
<div class="flex flex-col justify-between gap-1">
<h4>Productos a cotizar</h4>
<div class="">
<div class="dropdown dropdown-open w-full">
<input class="input input-block input-enter" wire:model="buscadorProducto" placeholder="Buscar pieza" />
@if ($buscadorProducto!="")
<div class="dropdown-menu w-full">
@forelse ($productosList as $producto)
<button class="dropdown-item text-sm" wire:click="agregar({{$producto->id}})">Codigo: {{$producto->codigo}} | Linea: {{$producto->linea}} | Descripcion: {{$producto->descripcion}}</button>
@empty
<button class="dropdown-item text-sm">No se encontraron coincidencias.</button>
@endforelse
</div>
@endif
</div>
</div>
</div>
<div class="border-b border-gray-400 w-full"></div>
<div>
@foreach ($productos as $key => $producto)
<div class="flex gap-2 items-center">
<div class="form-group">
<div class="form-field">
<label for="codigo-{{$key}}" class="form-label font-bold">Codigo:</label>
<input id="codigo-{{$key}}" wire:model="productos.{{$key}}.codigo" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.codigo")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group col-span-3">
<div class="form-field">
<label for="descripcion-{{$key}}" class="form-label font-bold">Descripcion:</label>
<input id="descripcion-{{$key}}" wire:model="productos.{{$key}}.descripcion" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.descripcion")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="linea-{{$key}}" class="form-label font-bold">Linea:</label>
<input id="linea-{{$key}}" wire:model="productos.{{$key}}.linea" type="text" maxlength="4" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.linea")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group gap-1">
<label for="cantidad-{{$key}}" class="form-label font-bold">Ruta:</label>
<select class="select input-product" wire:model="productos.{{$key}}.ruta_id">
<option selected value="">- Ruta -</option>
@foreach ($rutas as $ruta)
<option value="{{$ruta->id}}">{{$ruta->prefijo}} - {{ $ruta->ruta }}</option>
@endforeach
</select>
@error("productos.{$key}.ruta_id")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="cantidad-{{$key}}" class="form-label font-bold">Cantidad:</label>
<input id="cantidad-{{$key}}" maxlength="4" wire:model="productos.{{$key}}.cantidad" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.cantidad")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group col-span-2">
<div class="form-field">
<label for="precio_unitario-{{$key}}" class="form-label font-bold">Precio Unitario:</label>
<input id="precio_unitario-{{$key}}" maxlength="6" wire:model="productos.{{$key}}.precio_unitario" type="text" placeholder="" class="input max-w-full input-product" />
</div>
@error("productos.{$key}.precio_unitario")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="total-{{$key}}" class="form-label font-bold">Total:</label>
<input id="total-{{$key}}" wire:model="totals.{{$key}}" type="text" disabled class="input max-w-full" />
</div>
</div>
<div>
<label class="form-label invisible">btn</label>
<svg wire:click="eliminarProducto({{$key}})" xmlns="http://www.w3.org/2000/svg" class="text-error cursor-pointer" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
</svg>
</div>
</div>
@endforeach
<p class="font-bold text-lg text-right my-2 mx-2">SubTotal: <span class="font-normal">{{round($totalPagar - $IVA,2)}}</span></p>
<p class="font-bold text-lg text-right my-2 mx-2">IVA 8%: <span class="font-normal">{{round($IVA,2)}}</span></p>
<p class="font-bold text-lg text-right my-2 mx-2">Total a Pagar: <span class="font-normal">{{round($totalPagar,2)}}</span></p>
</div>
<h4>Deposito del producto</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-5 gap-2">
<div class="form-group">
<div class="form-field">
<label for="efectivo" class="form-label font-bold">Efectivo:</label>
<input id="efectivo" wire:model="ventaEspecial.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full input-enter" />
</div>
@error('ventaEspecial.pago_efectivo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="tarjeta" class="form-label font-bold">Tarjeta:</label>
<input id="tarjeta" wire:model="ventaEspecial.pago_tarjeta" type="number" step="any" placeholder="Pago con tarjeta" class="input max-w-full input-enter" />
</div>
@error('ventaEspecial.pago_tarjeta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="pago_transferencia" class="form-label font-bold">Transferencia:</label>
<input id="pago_transferencia" wire:model="ventaEspecial.pago_transferencia" type="number" step="any" placeholder="Pago con transferencia" class="input max-w-full input-enter" />
@error('ventaEspecial.pago_transferencia')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Tarjeta Vales:</label>
<input id="vales" wire:model="ventaEspecial.pago_vales" type="number" step="any" placeholder="Pago con tarjeta de vales" class="input max-w-full input-enter" />
@error('ventaEspecial.pago_vales')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="nota_credito" class="form-label font-bold">Nota Credito:</label>
<input id="nota_credito" wire:model="ventaEspecial.nota_credito" type="number" step="any" placeholder="Pago con nota de credito" class="input max-w-full input-enter" />
@error('ventaEspecial.nota_credito')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="pago_efectivo" class="form-label font-bold">Cliente Pago en Efectivo:</label>
<input id="pago_efectivo" wire:model="pago_efectivo" type="number" step="any" placeholder="Pago con nota de credito" class="input max-w-full input-enter" />
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="cambio" class="form-label font-bold">Cambio:</label>
<input id="cambio" wire:model="cambio" type="number" step="any" disabled placeholder="" class="input max-w-full input-enter" />
</div>
</div>
</div>
<div class="flex gap-3 mt-2">
<button id="btn-add" wire:click='agregar()' class="btn btn-primary btn-block">Agregar producto [F8]</button>
<button wire:click="save()" class="btn btn-success btn-block">Guardar [F9]</button>
</div>
</div>
</div>
<input class="modal-state" wire:model.defer="modalPedido" id="modal-2" type="checkbox" />
<div class="modal w-screen">
<label class="modal-overlay" for="modal-2"></label>
<div class="modal-content flex flex-col gap-2 max-w-5xl">
<label for="modal-2" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Registrar Pedido</h3>
<h4>Datos del cliente</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-2 gap-2">
<div class="form-group">
<div class="form-field">
<label for="cuenta-pedido" class="form-label font-bold">Cuenta:</label>
<input id="cuenta-pedido" wire:model="pedido.cuenta" type="text" placeholder="Cuenta usuario" class="input max-w-full" />
</div>
@error('pedido.cuenta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="telefono-pedido" class="form-label font-bold">Telefono:</label>
<input id="telefono-pedido" wire:model="pedido.telefono" type="text" maxlength="10" placeholder="Numero de telefono" class="input max-w-full" />
</div>
@error('pedido.cuenta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="grid grid-cols-2 gap-2">
<div class="form-group">
<div class="form-field">
<label for="folio_proveedor" class="form-label font-bold">Folio Proveedor:</label>
<input id="folio_proveedor" wire:model="pedido.folio_proveedor" type="text" placeholder="Folio Proveedor" class="input max-w-full input-enter" />
</div>
@error('pedido.folio_proveedor')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="numero_remision" class="form-label font-bold">Numero Remisión:</label>
<input id="numero_remision" wire:model="pedido.numero_remision" type="text" placeholder="Numero Remision" class="input max-w-full input-enter" />
</div>
@error('pedido.numero_remision')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<h4>Datos del vehiculo</h4>
<div class="border-b border-gray-400 w-full"></div>
<div class="grid grid-cols-4 gap-2">
<div class="form-group">
<div class="form-field">
<label for="year-pedido" class="form-label font-bold">Año:</label>
<input id="year-pedido" wire:model="pedido.year" type="number" maxlength="4" placeholder="Año del vehiculo" class="input max-w-full" disabled />
</div>
@error('pedido.year')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="marca-pedido" class="form-label font-bold">Marca:</label>
<input id="marca-pedido" wire:model="pedido.marca" type="text" placeholder="Marca del vehiculo" class="input max-w-full" disabled />
</div>
@error('pedido.marca')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="modelo-pedido" class="form-label font-bold">Modelo:</label>
<input id="modelo-pedido" wire:model="pedido.modelo" type="text" placeholder="Modelo del vehiculo" class="input max-w-full" disabled/>
@error('pedido.modelo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="motor-pedido" class="form-label font-bold">Motor:</label>
<input id="motor-pedido" wire:model="pedido.motor" type="text" placeholder="Tamaño del motor" class="input max-w-full" disabled/>
@error('pedido.motor')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
</div>
</div>
<div class="form-group">
<div class="form-field">
<label for="comentarios" class="form-label font-bold">Comentarios:</label>
<textarea id="comentarios" wire:model="pedido.comentarios" type="text" placeholder="Registra el historial del pedido." class="textarea max-w-full input-enter" ></textarea>
</div>
</div>
@role('admin')
<div class="flex flex-col justify-between gap-1">
<h4>Productos a cotizar</h4>
<div class="">
<div class="dropdown dropdown-open w-full">
<input class="input input-block input-enter" wire:model="buscadorProducto" placeholder="Buscar pieza" />
@if ($buscadorProducto!="")
<div class="dropdown-menu w-full">
@forelse ($productosList as $producto)
<button class="dropdown-item text-sm" wire:click="agregar({{$producto->id}})">Codigo: {{$producto->codigo}} | Linea: {{$producto->linea}} | Descripcion: {{$producto->descripcion}}</button>
@empty
<button class="dropdown-item text-sm">No se encontraron coincidencias.</button>
@endforelse
</div>
@endif
</div>
</div>
</div>
@endrole
<h4>Pedido</h4>
<div class="border-b border-gray-400 w-full"></div>
<div>
@isset($this->pedido)
@foreach ($this->productos as $key => $producto)
<div class="flex gap-2 items-center">
<div class="form-group">
<div class="form-field">
<label for="codigo-{{$key}}" class="form-label font-bold">Codigo:</label>
<input id="codigo-{{$key}}" wire:model="productos.{{$key}}.codigo" type="text" placeholder="" class="input max-w-full input-product" @role('compras'){{"disabled"}}@endrole />
</div>
@error("productos.{$key}.codigo")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group col-span-3">
<div class="form-field">
<label for="descripcion-{{$key}}" class="form-label font-bold">Descripcion:</label>
<input id="descripcion-{{$key}}" wire:model="productos.{{$key}}.descripcion" type="text" placeholder="" class="input max-w-full input-product" @role('compras'){{"disabled"}}@endrole />
</div>
@error("productos.{$key}.descripcion")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="linea-{{$key}}" class="form-label font-bold">Linea:</label>
<input id="linea-{{$key}}" wire:model="productos.{{$key}}.linea" type="text" maxlength="4" placeholder="" class="input max-w-full input-product" @role('compras'){{"disabled"}}@endrole />
</div>
@error("productos.{$key}.linea")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group gap-1">
<label for="cantidad-{{$key}}" class="form-label font-bold">Ruta:</label>
<select class="select input-product" wire:model="productos.{{$key}}.ruta_id" @role('compras'){{"disabled"}}@endrole>
<option selected value="">- Ruta -</option>
@foreach ($rutas as $ruta)
<option value="{{$ruta->id}}">{{$ruta->prefijo}} - {{ $ruta->ruta }}</option>
@endforeach
</select>
@error("productos.{$key}.ruta_id")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="cantidad-{{$key}}" class="form-label font-bold">Cantidad:</label>
<input id="cantidad-{{$key}}" maxlength="4" wire:model="productos.{{$key}}.unidades" type="text" placeholder="" class="input max-w-full input-product" @role('compras'){{"disabled"}}@endrole />
</div>
@error("productos.{$key}.unidades")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group col-span-2">
<div class="form-field">
<label for="precio_unitario-{{$key}}" class="form-label font-bold">Precio Unitario:</label>
<input id="precio_unitario-{{$key}}" maxlength="6" wire:model="productos.{{$key}}.precio_unitario" type="text" placeholder="" class="input max-w-full input-product" @role('compras'){{"disabled"}}@endrole />
</div>
@error("productos.{$key}.precio_unitario")<span class="block text-xs mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field">
<label for="arrivo-{{$key}}-pedido" class="form-label font-bold">¿Arrivo Producto?:</label>
<input id="arrivo-{{$key}}-pedido" wire:model="productos.{{$key}}.is_arrivo" type="checkbox" class="checkbox checkbox-primary checkbox-bordered-primary mx-auto max-w-full"/>
</div>
</div>
@role('admin')
<div>
<label class="form-label invisible">btn</label>
<svg wire:click="eliminarProducto({{$key}})" xmlns="http://www.w3.org/2000/svg" class="text-error cursor-pointer" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
</svg>
</div>
@endrole
</div>
@endforeach
@endisset
<p class="font-bold text-lg text-right my-2 mx-2">SubTotal: <span class="font-normal">{{round($this->totalPagar - $this->IVA,2)}}</span></p>
<p class="font-bold text-lg text-right my-2 mx-2">IVA 8%: <span class="font-normal">{{round($this->IVA,2)}}</span></p>
<p class="font-bold text-lg text-right my-2 mx-2">Total a Pagar: <span class="font-normal">{{round($this->totalPagar,2)}}</span></p>
</div>
<div class="flex gap-3 mt-2">
@role('admin')
<button id="btn-add" wire:click='agregarProductoArrivo()' class="btn btn-primary btn-block">Agregar producto [F6]</button>
@endrole
@if (!$this->pedido?->is_venta_cerrada)
<button wire:click="cerrarVenta()" class="btn btn-primary btn-block">Cerrar Pedido [F7]</button>
@endif
@if (!$this->pedido?->is_venta_entregada)
<button wire:click="entregarVenta()" class="btn btn-secondary btn-block">Entregar Pedido [F8]</button>
@endif
<button wire:click="saveArrivo()" class="btn btn-success btn-block">Guardar Pedido [F9]</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,100 @@
<div>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Reporte Pedido') }}
</h2>
</x-slot>
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="mb-3 flex items-start gap-2">
<div class="grid grid-cols-2 gap-3">
<div class="form-group">
<div class="form-field items-center flex-row">
<label for="fecha_inicio" class="form-label font-bold w-36">Fecha Inicial:</label>
<input id="fecha_inicio" wire:model="fecha_inicio" type="date" placeholder="Codigo de venta o folio" class="input max-w-full" />
</div>
@error('fecha_inicio')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<div class="form-group">
<div class="form-field items-center flex-row">
<label for="fecha_final" class="form-label font-bold w-32">Fecha Final:</label>
<input id="fecha_final" wire:model="fecha_final" type="date" placeholder="Codigo de venta o folio" class="input max-w-full" />
</div>
@error('fecha_final')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
</div>
<select wire:model="is_venta_cerrada" class="select">
<option value="">¿Venta Cerrada?</option>
<option value="1">Si</option>
<option value="false">No</option>
</select>
<select wire:model="is_venta_entregada" class="select">
<option value="">¿Venta Entregada?</option>
<option value="1">Si</option>
<option value="false">No</option>
</select>
</div>
<button wire:click="export()" class="btn btn-sm btn-primary">Generar Reporte</button>
</div>
<div class="bg-white text-neutral overflow-hidden shadow-xl sm:rounded-lg">
<div class="overflow-x-auto">
<table class="table table-hover table-zebra">
<thead>
<tr class="text-neutral">
<th>Orden</th>
<th>Fecha</th>
<th>Cuenta</th>
<th>Telefono</th>
<th>Liquidado por</th>
<th>Creado por</th>
<th>Entregado por</th>
<th>Cerrado por</th>
<th>Comentarios</th>
<th>Productos</th>
</tr>
</thead>
<tbody>
@foreach ($pedidos as $pedido)
<tr>
<td>{{ $pedido->pedido }}</td>
<td>{{ $pedido->created_at->format('Y-m-d') }}</td>
<td>{{ $pedido->cuenta }}</td>
<td>{{ $pedido->telefono }}</td>
<td>{{ $pedido->ultimaVentaBy()?->user->name ?? "No Liquidado" }}</td>
<td>{{ $pedido->user->name }}</td>
<td>{{ $pedido->ventaEntregadaUser?->name ?? "No Entregado" }}</td>
<td>{{ $pedido->ventaCerradaUser?->name ?? "No Cerrado" }}</td>
<td>{{ $pedido->comentarios }}</td>
<td>
<table class="table">
<tr>
<th>Codigo</th>
<th>Linea</th>
<th>Descripcion</th>
<th>Almacen</th>
<th>Cantidad</th>
<th>¿Recibido?</th>
</tr>
@foreach ($pedido->productos as $producto)
<tr>
<td>{{ $producto->codigo }}</td>
<td>{{ $producto->linea }}</td>
<td>{{ $producto->descripcion }}</td>
<td>{{ $producto->prefijo }}</td>
<td>{{ $producto->pivot->unidades }}</td>
<td>{{ $producto->pivot->is_arrivo?"Recibido":"No Recibido" }}</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,95 @@
<div>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Rutas') }}
</h2>
</x-slot>
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="mb-3 flex justify-between">
<button wire:click="create()" class="btn btn-sm btn-primary">Registrar ruta</button>
<div class="form-group max-w-md">
<div class="form-field flex flex-row items-center">
<label for="buscador" class="form-label font-bold">Buscar:</label>
<input id="buscador" wire:model="buscador" type="" placeholder="Buscar por codigo" class="input max-w-full" />
</div>
</div>
</div>
@if (session()->has('message'))
<div class="alert alert-success my-2">
<svg xmlns="http://www.w3.org/2000/svg" class="stroke-current shrink-0 h-6 w-6" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
<span>{{ session('message') }}</span>
</div>
@endif
<div class="bg-white text-neutral overflow-hidden shadow-xl sm:rounded-lg">
<div class="overflow-x-auto">
<table class="table table-hover table-zebra">
<thead>
<tr class="text-neutral">
<th>Nombre Ruta</th>
<th>Prefijo</th>
<th>Fecha</th>
@role('admin')<th>Acciones</th>@endrole
</tr>
</thead>
<tbody>
@forelse ($rutas as $ruta)
<th>{{ $ruta->ruta }}</th>
<th>{{ $ruta->prefijo }}</th>
<th>{{ $ruta->created_at }}</th>
@role('admin')
<th>
<button wire:click="edit({{ $ruta->id }})" class="btn btn-sm btn-primary">Editar</button>
<button wire:click="delete({{ $ruta->id }})" class="btn btn-sm btn-error">Eliminar</button>
</th>
@endrole
</tr>
@empty
{{$rutas->links()}}
<div class="alert alert-info my-4 max-w-3xl mx-auto">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="stroke-current shrink-0 w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span>No hay rutas registradas en el sistema.</span>
</div>
@endforelse
</tbody>
</table>
{{$rutas->links()}}
</div>
</div>
</div>
</div>
<input class="modal-state" wire:model.defer="modal" id="modal-1" type="checkbox" />
<div class="modal">
<label class="modal-overlay" for="modal-1"></label>
<div class="modal-content flex flex-col gap-5 max-w-md w-1/2">
<label for="modal-1" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Registrar Ruta</h3>
<div class="form-group">
<div class="form-field">
<label for="ruta" class="form-label font-bold">Nombre Ruta:</label>
<input id="ruta" wire:model="ruta.ruta" type="text" placeholder="Ingresa nombre de la ruta" class="input max-w-full input-enter" />
</div>
</div>
@error('ruta.ruta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="form-group">
<div class="form-field">
<label for="ruta" class="form-label font-bold">Prefijo:</label>
<input id="ruta" wire:model="ruta.prefijo" type="text" placeholder="Ingresa prefijo de la ruta" class="input max-w-full input-enter" />
</div>
</div>
@error('ruta.prefijo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="flex gap-3">
<button wire:click="save()" class="btn btn-success btn-block input-enter">Guardar</button>
</div>
</div>
</div>
</div>

View File

@@ -44,7 +44,12 @@
<th>{{$cancelacion->motivo}}</th>
<th>{{$cancelacion->user->name}}</th>
<th>{{$cancelacion->created_at}}</th>
@role('admin') <th><button wire:click="delete({{ $cancelacion->id }})" class="btn btn-sm btn-error">Eliminar</button></th> @endrole
@role('admin')
<th>
<button wire:click="editDate({{ $cancelacion->id }})" class="btn btn-sm btn-primary">Editar Fecha</button>
<button wire:click="delete({{ $cancelacion->id }})" class="btn btn-sm btn-error">Eliminar</button>
</th>
@endrole
</tr>
@empty
<div class="alert alert-info my-4 max-w-3xl mx-auto">
@@ -72,7 +77,7 @@
<div class="form-group">
<div class="form-field">
<label for="codigo" class="form-label font-bold">Codigo:</label>
<input id="codigo" wire:model="cancelacion.codigo" type="text" placeholder="Codigo de venta o folio" class="input max-w-full" />
<input id="codigo" wire:model="cancelacion.codigo" type="text" placeholder="Codigo de venta o folio" class="input max-w-full input-enter" />
</div>
</div>
@error('cancelacion.codigo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -80,7 +85,7 @@
<div class="form-group">
<div class="form-field">
<label for="efectivo" class="form-label font-bold">Efectivo:</label>
<input id="efectivo" wire:model="cancelacion.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full" />
<input id="efectivo" wire:model="cancelacion.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full input-enter" />
</div>
</div>
@error('cancelacion.pago_efectivo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -89,7 +94,7 @@
<div class="form-field">
<label for="motivo" class="form-label font-bold">Motivo:</label>
{{-- <input id="motivo" wire:model="cancelacion.motivo" type="text" placeholder="Motivo de cancelacion" class="input max-w-full" /> --}}
<textarea id="motivo" wire:model="cancelacion.motivo" class="textarea-block textarea" placeholder="Motivo de cancelacion" ></textarea>
<textarea id="motivo" wire:model="cancelacion.motivo" class="textarea-block textarea input-enter" placeholder="Motivo de cancelacion" ></textarea>
</div>
</div>
@error('cancelacion.motivo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -99,4 +104,26 @@
</div>
</div>
</div>
<input class="modal-state" wire:model.defer="modalDate" id="modal-2" type="checkbox" />
<div class="modal">
<label class="modal-overlay" for="modal-2"></label>
<div class="modal-content flex flex-col gap-5 max-w-md w-1/2">
<label for="modal-2" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Cambiar Fecha de Cancelacion</h3>
<div class="form-group">
<div class="form-field">
<label for="fecha" class="form-label font-bold">Fecha Cancelacion:</label>
<input id="fecha" wire:model="created_at" type="datetime-local" placeholder="Fecha Cancelacion" class="input max-w-full input-enter" />
</div>
</div>
@error('created_at')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="flex gap-3">
<button wire:click="saveDate()" class="btn btn-success btn-block input-enter">Guardar</button>
</div>
</div>
</div>
</div>

View File

@@ -33,6 +33,7 @@
<th>Pago Efectivo</th>
<th>Pago Tarjeta</th>
<th>Pago Tarjeta Vales</th>
<th>Pago Nota Credito</th>
<th>Pago Transferencia</th>
<th>Total a pagar</th>
<th>Registrado por</th>
@@ -46,6 +47,7 @@
<th>{{ $venta->pago_efectivo }}</th>
<th>{{ $venta->pago_tarjeta }}</th>
<th>{{ $venta->pago_vales }}</th>
<th>{{ $venta->nota_credito }}</th>
<th>{{ $venta->pago_transferencia }}</th>
<th>{{ $venta->precio_venta }}</th>
<th>{{ $venta->user->name }}</th>
@@ -56,7 +58,10 @@
@else
<button wire:click="liquidar({{ $venta->id }})" class="btn btn-sm btn-secondary">Liquidar</button>
@endif
@role('admin') <button wire:click="delete({{ $venta->id }})" class="btn btn-sm btn-error">Eliminar</button> @endrole
@role('admin')
<button wire:click="editDate({{ $venta->id }})" class="btn btn-sm btn-primary">Editar Fecha</button>
<button wire:click="delete({{ $venta->id }})" class="btn btn-sm btn-error">Eliminar</button>
@endrole
</th>
</tr>
@@ -86,7 +91,7 @@
<div class="form-group">
<div class="form-field">
<label for="codigo" class="form-label font-bold">Codigo:</label>
<input id="codigo" wire:model="ventaEspecial.codigo" type="text" placeholder="Codigo de venta o folio" class="input max-w-full" />
<input id="codigo" wire:model="ventaEspecial.codigo" type="text" placeholder="Codigo de venta o folio" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.codigo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -94,7 +99,7 @@
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Precio Total:</label>
<input id="vales" wire:model="ventaEspecial.precio_venta" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full" />
<input id="vales" wire:model="ventaEspecial.precio_venta" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.precio_venta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -102,7 +107,7 @@
<div class="form-group">
<div class="form-field">
<label for="efectivo" class="form-label font-bold">Efectivo:</label>
<input id="efectivo" wire:model="ventaEspecial.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full" />
<input id="efectivo" wire:model="ventaEspecial.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.pago_efectivo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -110,7 +115,7 @@
<div class="form-group">
<div class="form-field">
<label for="tarjeta" class="form-label font-bold">Tarjeta:</label>
<input id="tarjeta" wire:model="ventaEspecial.pago_tarjeta" type="number" step="any" placeholder="Pago con tarjeta de debito" class="input max-w-full" />
<input id="tarjeta" wire:model="ventaEspecial.pago_tarjeta" type="number" step="any" placeholder="Pago con tarjeta de debito" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.pago_tarjeta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -118,7 +123,7 @@
<div class="form-group">
<div class="form-field">
<label for="pago_transferencia" class="form-label font-bold">Transferencia:</label>
<input id="pago_transferencia" wire:model="ventaEspecial.pago_transferencia" type="number" step="any" placeholder="Pago con transferencia" class="input max-w-full" />
<input id="pago_transferencia" wire:model="ventaEspecial.pago_transferencia" type="number" step="any" placeholder="Pago con transferencia" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.pago_transferencia')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -126,11 +131,19 @@
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Tarjeta Vales:</label>
<input id="vales" wire:model="ventaEspecial.pago_vales" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full" />
<input id="vales" wire:model="ventaEspecial.pago_vales" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.pago_vales')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Nota Credito:</label>
<input id="vales" wire:model="ventaEspecial.nota_credito" type="number" step="any" placeholder="Pago con nota de credito" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.nota_credito')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="flex gap-3">
<button wire:click="save()" class="btn btn-success btn-block">Guardar</button>
</div>
@@ -157,7 +170,7 @@
<div class="form-group">
<div class="form-field">
<label for="codigo" class="form-label font-bold">Codigo:</label>
<input disabled id="codigo" wire:model="ventaEspecial.codigo" type="text" placeholder="Codigo de venta o folio" class="input max-w-full" />
<input disabled id="codigo" wire:model="ventaEspecial.codigo" type="text" placeholder="Codigo de venta o folio" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.codigo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -165,7 +178,7 @@
<div class="form-group">
<div class="form-field">
<label for="efectivo" class="form-label font-bold">Efectivo:</label>
<input id="efectivo" wire:model="ventaEspecial.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full" />
<input id="efectivo" wire:model="ventaEspecial.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.pago_efectivo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -173,7 +186,7 @@
<div class="form-group">
<div class="form-field">
<label for="tarjeta" class="form-label font-bold">Tarjeta:</label>
<input id="tarjeta" wire:model="ventaEspecial.pago_tarjeta" type="number" step="any" placeholder="Pago con tarjeta" class="input max-w-full" />
<input id="tarjeta" wire:model="ventaEspecial.pago_tarjeta" type="number" step="any" placeholder="Pago con tarjeta" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.pago_tarjeta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -181,7 +194,7 @@
<div class="form-group">
<div class="form-field">
<label for="pago_transferencia" class="form-label font-bold">Transferencia:</label>
<input id="pago_transferencia" wire:model="ventaEspecial.pago_transferencia" type="number" step="any" placeholder="Pago con transferencia" class="input max-w-full" />
<input id="pago_transferencia" wire:model="ventaEspecial.pago_transferencia" type="number" step="any" placeholder="Pago con transferencia" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.pago_transferencia')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -189,15 +202,23 @@
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Tarjeta Vales:</label>
<input id="vales" wire:model="ventaEspecial.pago_vales" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full" />
<input id="vales" wire:model="ventaEspecial.pago_vales" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.pago_vales')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="form-group">
<div class="form-field">
<label for="n-credito" class="form-label font-bold">Nota Credito:</label>
<input id="n-credito" wire:model="ventaEspecial.nota_credito" type="number" step="any" placeholder="Pago con nota de credito" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.nota_credito')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Precio Total:</label>
<input id="vales" disabled wire:model="ventaEspecial.precio_venta" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full" />
<input id="vales" disabled wire:model="ventaEspecial.precio_venta" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full input-enter" />
</div>
</div>
@error('ventaEspecial.precio_venta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -213,4 +234,25 @@
</div>
</div>
<input class="modal-state" wire:model.defer="modalDate" id="modal-3" type="checkbox" />
<div class="modal">
<label class="modal-overlay" for="modal-3"></label>
<div class="modal-content flex flex-col gap-5 max-w-md w-1/2">
<label for="modal-3" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Cambiar Fecha de Venta Especial</h3>
<div class="form-group">
<div class="form-field">
<label for="fecha" class="form-label font-bold">Fecha Venta Especial:</label>
<input id="fecha" wire:model="created_at" type="datetime-local" placeholder="Fecha venta especial" class="input max-w-full input-enter" />
</div>
</div>
@error('created_at')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="flex gap-3">
<button wire:click="saveDate()" class="btn btn-success btn-block input-enter">Guardar</button>
</div>
</div>
</div>
</div>

View File

@@ -32,6 +32,7 @@
<th>Pago Efectivo</th>
<th>Pago Tarjeta</th>
<th>Pago Tarjeta Vales</th>
<th>Pago Nota Credito</th>
<th>Pago Transferencia</th>
<th>Total Venta</th>
<th>Registrado por</th>
@@ -45,11 +46,17 @@
<th>{{ $venta->pago_efectivo }}</th>
<th>{{ $venta->pago_tarjeta }}</th>
<th>{{ $venta->pago_vales }}</th>
<th>{{ $venta->nota_credito }}</th>
<th>{{ $venta->pago_transferencia }}</th>
<th>{{ $venta->precio_venta }}</th>
<th>{{ $venta->user->name }}</th>
<th>{{ $venta->created_at }}</th>
@role('admin') <th><button wire:click="delete({{ $venta->id }})" class="btn btn-sm btn-error">Eliminar</button></th> @endrole
@role('admin')
<th>
<button wire:click="editDate({{ $venta->id }})" class="btn btn-sm btn-primary">Editar Fecha</button>
<button wire:click="delete({{ $venta->id }})" class="btn btn-sm btn-error">Eliminar</button>
</th>
@endrole
</tr>
@empty
{{$ventas->links()}}
@@ -82,7 +89,7 @@
<div class="form-group">
<div class="form-field">
<label for="codigo" class="form-label font-bold">Codigo:</label>
<input id="codigo" wire:model="venta.codigo" type="text" placeholder="Codigo de venta o folio" class="input max-w-full" />
<input id="codigo" wire:model="venta.codigo" type="text" placeholder="Codigo de venta o folio" class="input max-w-full input-enter" />
</div>
</div>
@error('venta.codigo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -90,7 +97,7 @@
<div class="form-group">
<div class="form-field">
<label for="precio_venta" class="form-label font-bold">Precio Venta:</label>
<input id="precio_venta" wire:model="venta.precio_venta" type="number" step="any" placeholder="Pago total de los productos" class="input max-w-full" />
<input id="precio_venta" wire:model="venta.precio_venta" type="number" step="any" placeholder="Pago total de los productos" class="input max-w-full input-enter" />
</div>
</div>
@error('venta.precio_venta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -98,7 +105,7 @@
<div class="form-group">
<div class="form-field">
<label for="efectivo" class="form-label font-bold">Efectivo:</label>
<input id="efectivo" wire:model="venta.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full" />
<input id="efectivo" wire:model="venta.pago_efectivo" type="number" step="any" placeholder="Pago en efectivo" class="input max-w-full input-enter" />
</div>
</div>
@error('venta.pago_efectivo')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -106,7 +113,7 @@
<div class="form-group">
<div class="form-field">
<label for="tarjeta" class="form-label font-bold">Tarjeta:</label>
<input id="tarjeta" wire:model="venta.pago_tarjeta" type="number" step="any" placeholder="Pago con tarjeta de credito o debito" class="input max-w-full" />
<input id="tarjeta" wire:model="venta.pago_tarjeta" type="number" step="any" placeholder="Pago con tarjeta de credito o debito" class="input max-w-full input-enter" />
</div>
</div>
@error('venta.pago_tarjeta')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -114,7 +121,7 @@
<div class="form-group">
<div class="form-field">
<label for="pago_transferencia" class="form-label font-bold">Transferencia:</label>
<input id="pago_transferencia" wire:model="venta.pago_transferencia" type="number" step="any" placeholder="Pago con transferencia" class="input max-w-full" />
<input id="pago_transferencia" wire:model="venta.pago_transferencia" type="number" step="any" placeholder="Pago con transferencia" class="input max-w-full input-enter" />
</div>
</div>
@error('venta.pago_transferencia')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@@ -122,18 +129,49 @@
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Tarjeta Vales:</label>
<input id="vales" wire:model="venta.pago_vales" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full" />
<input id="vales" wire:model="venta.pago_vales" type="number" step="any" placeholder="Pago con tarjeta de credito" class="input max-w-full input-enter" />
</div>
</div>
@error('venta.pago_vales')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="form-group">
<div class="form-field">
<label for="vales" class="form-label font-bold">Nota Credito:</label>
<input id="vales" wire:model="venta.nota_credito" type="number" step="any" placeholder="Pago con nota de credito" class="input max-w-full input-enter" />
</div>
</div>
@error('venta.nota_credito')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
@if (session()->has('error'))
<span class="block text-lg mx-auto text-error">{{ session('error') }}</span>
@endif
<div class="flex gap-3">
<button wire:click="save()" class="btn btn-success btn-block">Guardar</button>
<button wire:click="save()" class="btn btn-success btn-block input-enter">Guardar</button>
</div>
</div>
</div>
<input class="modal-state" wire:model.defer="modalDate" id="modal-2" type="checkbox" />
<div class="modal">
<label class="modal-overlay" for="modal-2"></label>
<div class="modal-content flex flex-col gap-5 max-w-md w-1/2">
<label for="modal-2" class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></label>
<h3 class="font-bold text-lg">Cambiar Fecha de Venta</h3>
<div class="form-group">
<div class="form-field">
<label for="fecha" class="form-label font-bold">Fecha Venta:</label>
<input id="fecha" wire:model="created_at" type="datetime-local" placeholder="Fecha venta especial" class="input max-w-full input-enter" />
</div>
</div>
@error('created_at')<span class="block text-sm mx-2 text-error">{{ $message }}</span>@enderror
<div class="flex gap-3">
<button wire:click="saveDate()" class="btn btn-success btn-block input-enter">Guardar</button>
</div>
</div>
</div>
</div>