%# app/views/consolidacoes/wizard.html.erb — PASSO 1: Selecionar motorista %>
<% content_for :title, "Wizard — #{@consolidacao.nome}" %>
<%# Header do wizard %>
<%= link_to '← Voltar para consolidações', consolidacoes_path, class: 'text-gray-500 hover:text-orange-500 text-sm' %>
<%= @consolidacao.nome %>
📅 <%= l @consolidacao.data_inicio, format: :short %> → <%= l @consolidacao.data_fim, format: :short %>
· <%= badge_status(@consolidacao.status) %>
<%# Indicador de passos %>
1
Selecionar motorista
2
Validar entregas
3
Revisar
<%# Apontamento manual — adiciona entrega por fora (busca pela NF na rastreio) %>
<% unless @consolidacao.finalizada? && current_user.operador? %>
<%# Modal %>
Apontamento manual
Busque a nota pela base de rastreio e adicione ao fechamento do motorista correspondente.
<%# Busca da NF %>
<%# Resultados (preenchidos via JS) %>
<%# Confirmação — pilares (múltiplos) + adicionar (oculto até a busca retornar) %>
<% [['entrega_normal', '🚚 Entrega Normal', Configuracao.preco_entrega],
['retirada', '📦 Retirada', Configuracao.preco_retirada],
['bonus', '⭐ Bônus', Configuracao.preco_bonus],
['desconto', '⚠️ Desconto', Configuracao.preco_desconto],
['extraordinaria', '✨ Entrega Extraordinária', Configuracao.preco_extraordinaria]].each do |tipo, label, preco| %>
<% end %>
<% end %>
<%# Lista de motoristas %>
<% @motoristas.each do |m| %>
<%= link_to validar_consolidacao_consolidacao_entregas_path(@consolidacao, motorista: m[:registro].motorista_nome),
class: "block bg-[#1a1a1a] border rounded-xl p-5 transition-colors
#{m[:completo] ? 'border-green-600 hover:border-green-500' : 'border-[#2a2a2a] hover:border-orange-500'}" do %>
<%= m[:completo] ? '✓' : m[:registro].motorista_nome.first.upcase %>
<%= m[:registro].motorista_nome %>
<%= m[:total] %> entregas pagas no período
·
<%= m[:classificadas] %>/<%= m[:total] %> classificadas
<% if m[:apontamentos].positive? %>
· ➕ <%= m[:apontamentos] %> apontamento<%= 's' if m[:apontamentos] > 1 %>
<% end %>
<%= moeda(m[:registro].valor_total) %>
→
<% pct = m[:total].zero? ? 0 : (m[:classificadas] * 100 / m[:total]) %>
<% end %>
<% end %>
<%# Finalizar — só habilita se tudo classificado %>
<% tudo_completo = @motoristas.all? { |m| m[:completo] } && @motoristas.any? %>
Total da consolidação
<%= moeda(@consolidacao.valor_total) %>
<% if @consolidacao.rascunho? %>
<%= button_to 'Finalizar consolidação ✓', finalizar_consolidacao_path(@consolidacao),
method: :post,
disabled: !tudo_completo,
data: { turbo_confirm: 'Finalizar? Após finalizada, a consolidação não poderá ser editada por operadores.' },
class: "font-bold px-6 py-3.5 rounded-lg min-h-[48px] transition-colors
#{tudo_completo ? 'bg-green-600 hover:bg-green-500 text-white cursor-pointer' : 'bg-[#2a2a2a] text-gray-600 cursor-not-allowed'}" %>
<% end %>
<% unless tudo_completo %>
⚠️ Classifique todas as entregas de todos os motoristas para poder finalizar.
<% end %>