@php $title = 'Editar Proposta'; @endphp

Editar Proposta

Edite a proposta comercial de viagem
{{-- Indicador de Steps Moderno --}}
Informações
Dados básicos do projeto
Roteiro
Planeje sua jornada
Custo
Orçamento estimado
Resumo
Visão geral completa
@csrf {{-- STEP 1: Informações Básicas --}}
Informações da Proposta
{{-- Primeira Linha - Cliente (com autocomplete IGUAL ao de rotas) --}}
{{-- Lista de resultados --}}
{{-- Loading específico do autocomplete (FORA do input-group) --}}
Por favor, selecione um cliente.
{{-- Hidden field com ID do cliente --}} {{-- Dados para auto-inicialização em modo de edição --}} @if(isset($proposta) && $proposta->cliente) @if($proposta->coordenador) @endif @endif {{-- Cliente selecionado --}}
{{-- Segunda Linha - Status e Validade --}}
Por favor, selecione o status.
Por favor, selecione a validade.
{{-- Terceira Linha - Número de Alunos e Turmas --}}
Por favor, informe o número de alunos.
Por favor, selecione a turma.
{{-- Quarta Linha - Tipo e Coordenador (aparecem após selecionar cliente) --}}
Por favor, selecione o tipo.
{{-- Loading específico do tipo (FORA do select) --}}
{{-- STEP 2: Roteiro --}}
{{-- 1. Data Agendada --}}
Data Prevista da Viagem
{{-- Campos hidden para enviar ao backend --}}
{{-- 2. Destinos --}}
Destinos
{{-- Busca de Destino (Autocomplete) --}}
{{-- Lista de resultados --}}
{{-- Loading FORA do input-group --}}
Por favor, selecione pelo menos um destino.
{{-- Hidden field para controlar validação (igual ao cliente) --}}
{{-- Lista de Destinos Selecionados --}}
{{-- Hidden inputs para inicialização dos destinos existentes (modo edição) --}} @if(isset($proposta) && $proposta->destinos->count() > 0) @foreach($proposta->destinos as $index => $propostaDestino) @php $destinoData = [ 'id' => $propostaDestino->destino->id, 'nome_fantasia' => $propostaDestino->destino->nome_fantasia ?? '', 'razao_social' => $propostaDestino->destino->razao_social ?? '', 'endereco' => $propostaDestino->destino->endereco ?? '', 'numero' => $propostaDestino->destino->numero ?? '', 'cidade' => $propostaDestino->destino->cidade ?? '', 'estado' => $propostaDestino->destino->estado ?? '', 'telefone' => $propostaDestino->destino->telefone ?? '', 'ordem' => $propostaDestino->ordem ?? $index + 1 ]; @endphp @endforeach @else
Busque e selecione destinos para adicionar ao roteiro.
@endif
{{-- 3. Cronograma --}}
Cronograma de Atividades
{{-- Dados para auto-inicialização de cronogramas em modo de edição --}} @if(isset($proposta) && $proposta->cronogramas && $proposta->cronogramas->count() > 0) @foreach($proposta->cronogramas as $cronograma) @php $cronogramaData = [ 'id' => $cronograma->id, 'titulo' => $cronograma->titulo, 'ordem' => $cronograma->ordem, 'atividades' => $cronograma->atividades->map(function($atividade) { return [ 'id' => $atividade->id, 'horario' => substr($atividade->horario, 0, 5), 'descricao' => $atividade->descricao, 'ordem' => $atividade->ordem ]; })->toArray() ]; @endphp @endforeach @endif
{{-- Cronogramas serão adicionados aqui --}}
Nenhum cronograma adicionado. Clique em "Adicionar Cronograma" para começar.
{{-- 4. Alimentação --}}
Alimentação
incluso_alimentacao == 1 ? 'checked' : '' }}>
incluso_alimentacao == 0 ? 'checked' : (!isset($proposta) ? 'checked' : '') }}>
{{-- 5. Transporte --}}
Transporte
Por favor, selecione o tipo de veículo.
Por favor, informe o número mínimo de alunos.
Por favor, informe o número máximo de passageiros.
{{-- Card de Transporte Selecionado (REMOVIDO) --}}
{{-- STEP 3: Custos --}}
@php // Organizar custos por categoria e tipo para facilitar acesso $custosOrganizados = []; if (isset($proposta) && $proposta->custos) { foreach ($proposta->custos as $custo) { $key = strtolower($custo->categoria) . '_' . $custo->tipo; $custosOrganizados[$key] = $custo; } } // Helper function para buscar valor do custo $getCustoValor = function($categoria, $tipo) use ($custosOrganizados) { $key = strtolower($categoria) . '_' . $tipo; $valor = $custosOrganizados[$key]->valor ?? ''; // Formatar valor decimal para exibição no formato brasileiro (1234.56 → 1234,56) if ($valor !== '' && is_numeric($valor)) { return number_format((float)$valor, 2, ',', '.'); } return $valor; }; // Helper function para buscar observação do custo $getCustoObs = function($categoria, $tipo) use ($custosOrganizados) { $key = strtolower($categoria) . '_' . $tipo; return $custosOrganizados[$key]->observacao ?? ''; }; @endphp {{-- Informações Gerais --}}
Informações Gerais
Por favor, informe o Mark Up.
Por favor, informe o número de alunos.
{{-- Custos de Transporte --}}
Custos de Transporte
{{-- Filtros de Seleção --}}
{{-- Card de Melhores Opções --}}
{{-- Tabela de Custos --}}
{{-- Transporte (Ônibus/Micro/Van) --}} {{-- Transporte (Nota) --}} {{-- Transporte (Local) --}} {{-- Transporte (Despesas) --}} {{-- Motorista (Extra) --}} {{-- Motorista (Hospedagem) --}}
Custo Valor Observação
Transporte (Ônibus/Micro/Van)
R$
Transporte (Nota)
R$
Transporte (Local)
R$
Transporte (Despesas)
R$
Motorista (Extra)
R$
Motorista (Hospedagem)
R$
{{-- Custos Recursos Humanos --}}
Custos Recursos Humanos
@php $recreadores = isset($proposta) ? $proposta->custos->where('categoria', 'MONITOR')->where('tipo', 'recreador')->values() : collect(); @endphp
{{-- Coordenador --}} {{-- Recreadores (dinâmico) --}} @if($recreadores->count() > 0) @foreach($recreadores as $loop_index => $recreador) @endforeach {{-- Complementa até o mínimo de 2 linhas --}} @for($i = $recreadores->count(); $i < 2; $i++) @endfor @else @endif {{-- Socorrista --}} {{-- Pedagógico --}} {{-- Coruja --}} {{-- Educador (Refeição) --}} {{-- Educador (Ingresso) --}} {{-- Educador (Hospedagem) --}}
Coordenador
R$
Educador(a)
R$
Educador(a)
R$
Educador(a)
R$
Educador(a)
R$
Socorrista
R$
Pedagógico
R$
Coruja
R$
Educador (Refeição)
R$
Educador (Ingresso)
R$
Educador (Hospedagem)
R$
{{-- Custos Gerais --}}
Custos Gerais
@php $custosExtrasGeral = isset($proposta) ? $proposta->custos->where('categoria', 'GERAL')->where('tipo', 'extra')->values() : collect(); @endphp
@if($custosExtrasGeral->count() > 0) @foreach($custosExtrasGeral as $custoExtra) @endforeach @else @endif
Extra
R$
Extra
R$
{{-- Custos Adicionais por Aluno --}}
Custos Adicionais por Aluno
@php $custosAlunoExtras = isset($proposta) ? $proposta->custos->where('categoria', 'POR_ALUNO')->where('tipo', 'extra')->values() : collect(); @endphp {{-- Tabela de Pacotes do Destino (separada) --}}
Pacotes do Destino
{{-- Card de Pacotes do Destino --}} {{-- Tabela de Custos Adicionais --}}
{{-- Seguro --}} {{-- Investimento Aluno --}} {{-- Extra (dinâmico) --}} @if($custosAlunoExtras->count() > 0) @foreach($custosAlunoExtras as $custoAluno) @endforeach @else @endif
Seguro
R$
Investimento Aluno
R$
Extra
R$
Extra
R$
{{-- Botão Adicionar Custo Extra --}}
{{-- STEP 4: Resumo --}}
{{-- Card: Investimento por Aluno --}}
Investimento por Aluno
R$ 0,00 (Com Nota)
@if(isset($proposta) && $proposta->investimentos->count() > 0) @foreach($proposta->investimentos as $index => $investimento) @endforeach @else @endif
Valor Descrição Ações

{{-- Seção: Incluso na Viagem --}}
Incluso na Viagem
@if(isset($proposta) && $proposta->inclusos->count() > 0) @foreach($proposta->inclusos as $index => $incluso) @endforeach @else @endif
# Descrição Ações
{{ $index + 1 }}
1

{{-- Seção: Custos Totais --}}
Custos Totais
Custos Valores Unitário
Transporte + Motorista R$ 0,00 R$ 0,00
Monitores R$ 0,00 R$ 0,00
Despesas Gerais R$ 0,00 R$ 0,00
Despesas Individuais R$ 0,00 R$ 0,00
Custos Totais R$ 0,00 R$ 0,00
Mark Up (0'15%) R$ 0,00 R$ 0,00
Total R$ 0,00 R$ 0,00
Total (com nota) R$ 0,00 R$ 0,00

{{-- Seção: Lucros --}}
Lucros
Lucro Mínimo Lucro Estimado
R$ 0,00 R$ 0,00
{{-- Botões de Navegação --}}
@if($proposta->status->value === 'RASCUNHO') @endif