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

353 lines
10 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@extends('layouts.app', ['title' => 'Fechamento Mensal'])
@section('content')
<div class="mt-1">
<div class="row">
<div class="card">
<div class="card-body">
<div class="container-fluid">
<div class="row mb-3">
<div class="col-md-8">
<h4>Fechamento Mensal</h4>
<p class="text-muted mb-0">
Confira os dados e finalize o mês com segurança
</p>
</div>
<div class="col-md-2">
<label>Mês</label>
<input type="month" id="mes" class="form-control" data-mask="00/0000" value="{{ request('mes', now()->format('m/Y')) }}">
</div>
<div class="col-md-2 d-flex align-items-end">
<button class="btn btn-primary w-100" id="btnCarregar">
Carregar dados
</button>
</div>
</div>
{{-- PROGRESSO --}}
<div class="progress mb-3" style="height: 22px;">
<div id="progressFechamento" class="progress-bar bg-success" style="width: 2%">
0%
</div>
</div>
<div class="row g-3">
<!-- Total de Vendas -->
<div class="col-md-3">
<div class="card border-success h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-1">
<h6 class="text-muted mb-0">Total de Vendas</h6>
<i class="ri-shopping-cart-2-line text-success fs-4"></i>
</div>
<h4 class="fw-bold mb-1" id="totalVendas">R$ 0,00</h4>
<div class="small text-muted">
NFe: <strong id="totalNfe">R$ 0,00</strong><br>
NFCe: <strong id="totalNfce">R$ 0,00</strong>
</div>
<a id="buscar-vendas" class="small text-success text-decoration-none d-inline-block mt-2 d-none" href="javascript:void(0)">
Ver vendas
</a>
</div>
</div>
</div>
<!-- Total de Despesas -->
<div class="col-md-3">
<div class="card border-danger h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-1">
<h6 class="text-muted mb-0">Total de Despesas</h6>
<i class="ri-arrow-down-circle-line text-danger fs-4"></i>
</div>
<h4 class="fw-bold mb-1" id="totalDespesas">R$ 0,00</h4>
<div class="small text-muted">
Gastos operacionais do mês
</div>
<a id="buscar-despesas" class="small text-danger text-decoration-none d-inline-block mt-2 d-none" href="javascript:void(0)">
Ver despesas
</a>
</div>
</div>
</div>
<!-- Lucro Estimado -->
<div class="col-md-3">
<div class="card border-info h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-1">
<h6 class="text-muted mb-0">Lucro Estimado</h6>
<i class="ri-line-chart-line text-info fs-4"></i>
</div>
<h4 class="fw-bold mb-1" id="lucroEstimado">R$ 0,00</h4>
<div class="small text-muted">
Vendas Despesas
</div>
</div>
</div>
</div>
<!-- Ticket Médio -->
<div class="col-md-3">
<div class="card border-primary h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-1">
<h6 class="text-muted mb-0">Ticket Médio</h6>
<i class="ri-money-dollar-circle-line text-primary fs-4"></i>
</div>
<h4 class="fw-bold mb-1" id="ticketMedio">R$ 0,00</h4>
<div class="small text-muted">
Média por venda
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card border-warning h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-1">
<h6 class="text-muted mb-0">Estoque Atual</h6>
<i class="ri-archive-line text-secondary fs-4"></i>
</div>
<h5 class="fw-bold mb-1">Compra: <strong class="text-danger" id="estoqueCompra">R$ 0,00</strong></h5>
<h5 class="fw-bold mb-1">Venda: <strong class="text-success" id="estoqueVenda">R$ 0,00</strong></h5>
<div class="small text-muted">
Total de produtos cadastrados: <strong class="text-muted" id="totalProdutos">0</strong>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card border-warning h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-2">
<h6 class="text-muted mb-0">Atenções do Sistema</h6>
<i class="ri-alert-line text-warning fs-4"></i>
</div>
<ul class="list-unstyled small mb-3">
<!-- Produtos sem custo -->
<a target="_blank" href="{{ route('produtos.index', ['sem_custo' => 1]) }}"
class="d-flex justify-content-between align-items-center alert-item">
<li id="alertaSemCusto" class="mb-1 d-none fw-bold">
Produtos sem custo:
<strong class="text-danger">
<span id="qtdSemCusto">0</span>
</strong>
</li>
</a>
<a target="_blank" href="{{ route('produtos.index', ['parados_90' => 1]) }}"
class="d-flex justify-content-between align-items-center alert-item">
<li id="alertaParados" class="mb-1 d-none fw-bold">
Produtos parados +90 dias:
<strong class="text-warning">
<span id="qtdParados">0</span>
</strong>
</li>
</a>
<!-- Caixa aberto -->
<li id="alertaCaixa" class="mb-1 d-none fw-bold">
Caixas abertos
<strong class="text-danger">
<span id="qtdCaixas">0</span>
</strong>
</li>
<li id="alertaOk" class="text-success d-none">
<i class="ri-checkbox-circle-fill"></i> Nenhuma pendência encontrada
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card border-secondary h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-1">
<h6 class="text-muted mb-0">Recebimentos</h6>
<i class="ri-wallet-3-line text-secondary fs-4"></i>
</div>
<h5 class="fw-bold mb-1">
Recebido:
<strong class="text-success" id="totalRecebido">R$ 0,00</strong>
</h5>
<h6 class="fw-bold mb-1">
Em aberto:
<strong class="text-danger" id="totalAberto">R$ 0,00</strong>
</h6>
<div class="small text-muted">
Valores financeiros do mês
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card border-dark h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-1">
<h6 class="text-muted mb-0">Comparativo Mensal</h6>
<i class="ri-bar-chart-2-line text-dark fs-4"></i>
</div>
<h6 class="fw-bold mb-1">
Vendas:
<span id="compVendas" class="ms-1"></span>
</h6>
<h6 class="fw-bold mb-1">
Lucro:
<span id="compLucro" class="ms-1"></span>
</h6>
<div class="small text-muted">
Em relação ao mês anterior
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card border-primary h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-2">
<div>
<h6 class="text-muted mb-0">Top Clientes do Mês</h6>
<div class="small text-muted">Ranking por faturamento</div>
</div>
<i class="ri-trophy-line text-primary fs-4"></i>
</div>
<!-- Loading -->
<div id="loadingTopClientes" class="text-center py-4">
<div class="spinner-border text-primary spinner-border-sm"></div>
</div>
<div id="boxTopClientes" class="d-none">
<div class="table-responsive">
<table class="table table-sm align-middle mb-0">
<thead class="text-muted">
<tr>
<th style="width:40px;">#</th>
<th>Cliente</th>
<th class="text-center">Vendas</th>
<th class="text-end">Total</th>
</tr>
</thead>
<tbody id="tbodyTopClientes">
</tbody>
</table>
</div>
</div>
<!-- Vazio -->
<div id="topClientesVazio" class="alert alert-light border d-none mb-0">
Nenhuma venda encontrada no período.
</div>
</div>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-md-12">
<div class="card">
<div class="card-header">
✔️ Checklist de Conferência
</div>
<div class="card-body">
<div class="form-check">
<input class="form-check-input checklist" type="checkbox">
<label class="form-check-label">
Conferi as vendas do mês
</label>
</div>
<div class="form-check">
<input class="form-check-input checklist" type="checkbox">
<label class="form-check-label">
Conferi as despesas
</label>
</div>
<div class="form-check">
<input class="form-check-input checklist" type="checkbox">
<label class="form-check-label">
Conferi o caixa
</label>
</div>
<div class="form-check">
<input class="form-check-input checklist" type="checkbox">
<label class="form-check-label">
Conferi o estoque
</label>
</div>
</div>
</div>
</div>
</div>
{{-- AÇÕES --}}
<div class="row mt-4">
<div class="col-md-12 text-end">
<button class="btn btn-success px-5" id="btnFechar" disabled>
<i class="ri-checkbox-circle-fill"></i> Confirmar Fechamento
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@include('fechamento_mensal.partials.modal_vendas')
@include('fechamento_mensal.partials.modal_despesas')
@section('js')
<script type="text/javascript" src="js/fechamento_mensal.js"></script>
@endsection
@endsection