@php $title = __('orcamento.view_title'); $moedaSelecionada = $orcamento->moeda ?? 'BRL'; $categoriaServico = $orcamento->tipoServico?->categoriaServico; $observacoesPagamento = (string) ($orcamento->condicoesPagamento?->observacoes ?? ''); $parcelasVisualizacao = collect($parcelas ?? []); if ((string) ($categoriaServico?->id) === '2') { $prazoEntrega = $orcamento->prazo_entrega ?: __('orcamento.automatic_delivery_deadline_missing'); $observacoesOrcamento = __('orcamento.automatic_outsourcing_observations', ['deadline' => $prazoEntrega]); } else { $prazoEntrega = $orcamento->prazo_entrega ?: __('orcamento.automatic_delivery_deadline_missing'); $observacoesOrcamento = __('orcamento.automatic_delivery_deadline', ['deadline' => $prazoEntrega]); } if ($orcamento->condicoesPagamento) { $numeroParcelas = $orcamento->condicoesPagamento->numero_parcelas; $valorTotal = (float) ($orcamento->total_exibicao ?? $orcamento->total); $valorEntrada = (float) ($orcamento->condicoesPagamento->valor_entrada_exibicao ?? $orcamento->condicoesPagamento->valor_entrada); if ($numeroParcelas === 1) { $observacoesPagamento = __('orcamento.automatic_cash_payment', [ 'total' => \App\Helpers\MoneyHelper::formatarPorMoeda($valorTotal, $moedaSelecionada), ]); } else { $parcelasRegistradas = $parcelasVisualizacao ->where('numero_parcela', '>', 0) ->sortBy('numero_parcela') ->values(); $valorParcela = (float) ($parcelasRegistradas->first()->valor ?? 0); $valorUltimaParcela = (float) ($parcelasRegistradas->last()->valor ?? $valorParcela); $ajusteFinal = $valorUltimaParcela - $valorParcela; $observacoesPagamento = __('orcamento.automatic_installment_payment', [ 'entry' => \App\Helpers\MoneyHelper::formatarPorMoeda($valorEntrada, $moedaSelecionada), 'installments' => $numeroParcelas, 'installment' => \App\Helpers\MoneyHelper::formatarPorMoeda($valorParcela, $moedaSelecionada), ]); if (abs($ajusteFinal) >= 0.005) { $observacoesPagamento .= __('orcamento.automatic_final_installment_adjustment', [ 'sign' => $ajusteFinal > 0 ? '+' : '-', 'amount' => \App\Helpers\MoneyHelper::formatarPorMoeda(abs($ajusteFinal), $moedaSelecionada), ]); } } } @endphp @push('styles') @endpush
{{ $orcamento->codigo }}
{{ $orcamento->data_emissao ? $orcamento->data_emissao->format('d/m/Y') : '' }}
{{ $orcamento->data_validade ? $orcamento->data_validade->format('d/m/Y') : '' }}
@php $statusColor = match($orcamento->status) { 'Pendente' => 'warning', 'Aguardando Cliente' => 'info', 'Aprovado pelo Cliente' => 'primary', 'Convertido em Venda' => 'success', 'Cancelado pelo Cliente' => 'danger', default => 'secondary' }; @endphp {{ $orcamento->status }}
{{ $orcamento->cliente->razao_social }}
{{ $contatoPrincipal?->nome ?? '-' }}
{{ $contatoPrincipal->telefone ?? '-' }}
{{ $orcamento->tipoServico?->nome_exibicao ?? $orcamento->tipoServico?->nome ?? '-' }}
{{ $orcamento->prazo_entrega ?? '-' }}
{{ $observacoesOrcamento !== '' ? $observacoesOrcamento : '-' }}
| # | {{ __('orcamento.label_service_item') }} | {{ __('orcamento.label_description') }} | {{ __('orcamento.label_people_count') }} | {{ __('orcamento.label_quantity_short') }} | {{ __('orcamento.label_unit_short') }} | {{ __('orcamento.label_unit_price_short') }} | {{ __('orcamento.label_total_short') }} |
|---|---|---|---|---|---|---|---|
| {{ $index + 1 }} |
{{ $item->servico?->nome_exibicao ?? $item->servico?->nome ?? 'Serviço não definido' }}
|
{{ $item->descricao ?? '-' }} | {{ $item->pessoas ?? 1 }} | {{ $item->quantidade ?? '0' }} | {{ isset($item->unidade) ? ucfirst($item->unidade) : '-' }} | {{ $item->valor_unitario_formatado_exibicao ?? \App\Helpers\MoneyHelper::formatarPorMoeda($item->valor_unitario, $moedaSelecionada) }} | {{ $item->valor_total_formatado_exibicao ?? \App\Helpers\MoneyHelper::formatarPorMoeda($item->valor_total, $moedaSelecionada) }} |
Nenhum item cadastradoEste orçamento ainda não possui itens de serviço. |
|||||||
{{ $observacoesPagamento }}
Nenhuma informação adicional cadastrada para este orçamento.