arcadiasuite/plus/resources/views/trocas/index.blade.php

291 lines
11 KiB
PHP

@extends('layouts.app', ['title' => 'Lista de Trocas'])
@section('css')
<style type="text/css">
#scroll-trocas thead th {
position: sticky;
top: 0;
z-index: 10;
background: #343a40; /* mesma cor da table-dark */
color: #fff;
}
</style>
@endsection
@section('content')
<div class="mt-1">
<div class="row">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12">
@can('troca_create')
<button class="btn btn-success btn-nova-troca" data-bs-toggle="modal" data-bs-target="#modal-nova-troca">
<i class="ri-add-circle-fill"></i>
Nova Troca/Devolução
</button>
@endcan
</div>
</div>
<hr class="mt-3">
<div class="col-lg-12">
{!!Form::open()->fill(request()->all())
->get()
!!}
<div class="row mt-3">
<div class="col-md-4">
{!!Form::select('cliente_id', 'Cliente')
->attrs(['class' => 'select2'])
!!}
</div>
<div class="col-md-2">
{!!Form::date('start_date', 'Data inicial')
!!}
</div>
<div class="col-md-2">
{!!Form::date('end_date', 'Data final')
!!}
</div>
<div class="col-md-4">
<br>
<button class="btn btn-primary" type="submit"> <i class="ri-search-line"></i>Pesquisar</button>
<a id="clear-filter" class="btn btn-danger" href="{{ route('trocas.index') }}"><i class="ri-eraser-fill"></i>Limpar</a>
</div>
</div>
{!!Form::close()!!}
</div>
<div class="col-lg-12 mt-4">
<div id="tabela-trocas" class="table-responsive">
<table class="table table-striped table-centered mb-0">
<thead class="table-dark">
<tr>
<th>#</th>
<th>Cliente</th>
<th>Código</th>
<th>Valor da troca</th>
<th>Valor da venda</th>
<th>Data da troca</th>
<th>Venda ID</th>
<th>Ações</th>
</tr>
</thead>
<tbody>
@forelse($data as $item)
<tr>
<td data-label="#">{{ $item->numero_sequencial }}</td>
<td data-label="Cliente">
<label style="width: 400px;">
@if($item->nfce)
{{ $item->nfce->cliente ? $item->nfce->cliente->razao_social : "--" }}
@else
{{ $item->nfe && $item->nfe->cliente ? $item->nfe->cliente->razao_social : "--" }}
@endif
</label>
</td>
<td data-label="Código">{{ $item->codigo }}</td>
<td data-label="Valor da troca">{{ number_format($item->valor_troca, 2, ',', '.') }}</td>
<td data-label="Valor da venda">{{ number_format($item->valor_original, 2, ',', '.') }}</td>
<td data-label="Data da troca">
<label style="width: 120px">{{ __data_pt($item->created_at) }}</label>
</td>
<td data-label="Venda ID">
{{ $item->nfce?->numero_sequencial ?? $item->nfe?->numero_sequencial }}
</td>
<td>
<form action="{{ route('trocas.destroy', $item->id) }}" method="post" id="form-{{$item->id}}" style="width: 320px">
@method('delete')
@csrf
@can('troca_delete')
<button type="button" class="btn btn-danger btn-sm btn-delete">
<i class="ri-delete-bin-line"></i>
</button>
@endcan
<a class="btn btn-ligth btn-sm" title="Detalhes" href="{{ route('trocas.show', $item->id) }}">
<i class="ri-eye-line"></i>
</a>
<a title="Imprimir" onclick="imprimir('{{$item->id}}')" class="btn btn-primary btn-sm">
<i class="ri-printer-line"></i>
</a>
</form>
</td>
</tr>
@empty
<tr>
<td colspan="8" class="text-center">Nada encontrado</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
<br>
{!! $data->appends(request()->all())->links() !!}
</div>
</div>
</div>
</div>
<div class="modal fade modal-troca" id="modal-nova-troca" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl">
<form method="get" action="{{ route('trocas.create') }}">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Nova Troca/Devolução</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-2">
{!!Form::date('start_date_aux', 'Data inicial')
!!}
</div>
<div class="col-md-2">
{!!Form::date('end_date_aux', 'Data final')
!!}
</div>
<div class="col-md-2">
{!!Form::tel('codigo_venda', 'Código da venda')
!!}
</div>
<div class="col-md-2">
{!!Form::tel('numero_documento', 'Número NFe/NFCe')
!!}
</div>
<div class="col-md-4">
<br>
<button id="btn-pesquisar-troca" class="btn btn-primary" type="button">
<i class="ri-search-line"></i> Pesquisar
</button>
</div>
</div>
<div id="scroll-trocas" class="table-responsive mt-2" style="max-height: 350px; overflow-y: auto;">
<table class="table table-striped table-centered mb-0">
<thead class="table-dark">
<tr>
<th>#</th>
<th>Cliente</th>
<th>Valor</th>
<th>Data</th>
<th> NFe/NFCe</th>
<th>Estado</th>
<th>Tipo</th>
<th>Ações</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light" data-bs-dismiss="modal">Fechar</button>
</div>
</div>
</form>
</div>
</div>
@section('js')
<script type="text/javascript">
let page = 1;
let loading = false;
let lastPage = false;
$('#btn-pesquisar-troca').on('click', function () {
page = 1;
lastPage = false;
$('#scroll-trocas tbody').html('');
carregarLinhas();
});
function carregarLinhas() {
if (loading || lastPage) return;
loading = true;
$.get(path_url + "api/vendas/filtro-troca", {
empresa_id: $('#empresa_id').val(),
start_date: $('#inp-start_date_aux').val(),
end_date: $('#inp-end_date_aux').val(),
codigo_venda: $('#inp-codigo_venda').val(),
numero_documento: $('#inp-numero_documento').val(),
page: page
})
.done((res) => {
$('#scroll-trocas tbody').append(res.html);
if (res.lastPage) {
lastPage = true;
} else {
page++;
}
loading = false;
})
.fail((err) => {
console.log("ERRO AJAX", err);
loading = false;
});
}
$('#scroll-trocas').on('scroll', function () {
let el = $(this);
if (el.scrollTop() + el.innerHeight() >= el[0].scrollHeight - 10) {
carregarLinhas();
}
});
$(document).on("click", ".btn-nova-troca", function () {
page = 1;
lastPage = false;
$('#scroll-trocas tbody').html('');
carregarLinhas();
})
function imprimir(id){
var disp_setting="toolbar=yes,location=no,";
disp_setting+="directories=yes,menubar=yes,";
disp_setting+="scrollbars=yes,width=850, height=600, left=100, top=25";
var docprint=window.open(path_url+"trocas/imprimir/"+id, "",disp_setting);
docprint.focus();
}
</script>
@endsection
@endsection