@extends('layouts.layoutMaster') @section('title', 'Orçamentos de Locação') @section('page-style') @endsection @section('content') @php $podeCriarLocacao = \Perm::pode(auth()->user(), 'locacoes.criar'); $podeEditarLocacao = \Perm::pode(auth()->user(), 'locacoes.editar'); $podeContratoPdfLocacao = \Perm::pode(auth()->user(), 'locacoes.contrato-pdf'); $podeAssinaturaDigitalLocacao = \Perm::pode(auth()->user(), 'locacoes.assinatura-digital'); $podeAlterarStatusLocacao = \Perm::pode(auth()->user(), 'locacoes.alterar-status'); @endphp
{{ (int) ($resumoOrcamentos['quantidade_total'] ?? 0) }}
Registros conforme filtros aplicados
Total de Orçamentos
{{ (int) ($resumoOrcamentos['quantidade_mes_atual'] ?? 0) }}
Comparativo de volume atual
Criados no Mês
{{ (int) ($resumoOrcamentos['proximos_sete_dias'] ?? 0) }}
Prioridade de conversão
Início em até 7 dias
{{ (int) ($resumoOrcamentos['inicio_atrasado'] ?? 0) }}
Vale revisar prazo ou status
Com início passado
@if($podeCriarLocacao) Novo Orçamento @endif
Valor Total em Orçamentos
R$ {{ number_format((float) ($resumoOrcamentos['valor_total'] ?? 0), 2, ',', '.') }}
Ticket Médio
R$ {{ number_format((float) ($resumoOrcamentos['ticket_medio'] ?? 0), 2, ',', '.') }}
Conversão Potencial
@php $baseConversao = max(1, (int) ($resumoOrcamentos['quantidade_total'] ?? 0)); $valorConversao = ((int) ($resumoOrcamentos['proximos_sete_dias'] ?? 0) / $baseConversao) * 100; @endphp
{{ number_format($valorConversao, 2, ',', '.') }}%
Baseado nos inícios em até 7 dias
@forelse($locacoes as $locacao) @php $qtdPeriodo = (int) ($locacao->quantidade_dias ?? 0); $unidadePeriodo = 'dia(s)'; $dataInicioPeriodo = optional($locacao->data_inicio)->format('Y-m-d'); $dataFimPeriodo = optional($locacao->data_fim)->format('Y-m-d'); if ( $dataInicioPeriodo && $dataFimPeriodo && $dataInicioPeriodo === $dataFimPeriodo && !empty($locacao->hora_inicio) && !empty($locacao->hora_fim) ) { $inicioHora = \Carbon\Carbon::parse($dataInicioPeriodo . ' ' . $locacao->hora_inicio); $fimHora = \Carbon\Carbon::parse($dataFimPeriodo . ' ' . $locacao->hora_fim); if ($fimHora->gte($inicioHora)) { $qtdPeriodo = max(1, (int) ceil($inicioHora->diffInMinutes($fimHora) / 60)); $unidadePeriodo = 'hora(s)'; } } @endphp @empty @endforelse
Ações Editar Código Cliente Data início Qde período Data fim Valor total Status
@if($podeEditarLocacao) @else - @endif {{ $locacao->codigo_display }} {{ $locacao->cliente->nome ?? 'N/A' }} {{ optional($locacao->data_inicio)->format('d/m/Y') }} {{ $locacao->hora_inicio ? substr($locacao->hora_inicio,0,5) : '' }} {{ $qtdPeriodo }} {{ $unidadePeriodo }} {{ optional($locacao->data_fim)->format('d/m/Y') }} {{ $locacao->hora_fim ? substr($locacao->hora_fim,0,5) : '' }} R$ {{ number_format((float)($locacao->valor_total_listagem ?? 0), 2, ',', '.') }} Orçamento
Orçamento {{ $locacao->codigo_display }}
{{ $locacao->cliente->nome ?? 'N/A' }} • {{ optional($locacao->data_inicio)->format('d/m/Y') }} {{ $locacao->hora_inicio ? substr($locacao->hora_inicio,0,5) : '' }} até {{ optional($locacao->data_fim)->format('d/m/Y') }} {{ $locacao->hora_fim ? substr($locacao->hora_fim,0,5) : '' }}
@if($podeContratoPdfLocacao) @endif @if($podeAssinaturaDigitalLocacao) @endif @if($podeAlterarStatusLocacao) @endif
Nenhum orçamento encontrado.
@if(method_exists($locacoes, 'links') && $locacoes->total() > 0)
Mostrando {{ $locacoes->firstItem() }} até {{ $locacoes->lastItem() }} de {{ $locacoes->total() }} registros
{{ $locacoes->links() }}
@endif
@endsection @section('vendor-script') @endsection @section('page-script') @endsection