%# app/views/admin/romaneios/_operacao.html.erb
Vínculo MANUAL da operação do mês, feito na própria tela do romaneio.
Por que aqui e não só na criação: é aqui que o operador descobre que a coluna
APARELHO saiu vazia. Mandar ele reimportar o plano (única saída até então)
depende da API do SimpliRoute responder ou de o .xlsx ainda estar em mãos.
Sem JavaScript de propósito: nativo + form comum. Este controle é o
conserto de um romaneio que já está errado — precisa funcionar mesmo quando o
Stimulus não carrega (foi exatamente esse o caso em 28/08/2026, com os assets
dando 404 no servidor e a tela inteira sem JS). %>
<% vinculada = @romaneio.operacao_tabela.present? %>
<%# O cabeçalho e o formulário ficam EMPILHADOS, não lado a lado: aberto, o
seletor + botão precisam da largura toda da caixa; espremidos numa coluna
lateral o rótulo do estado saía cortado justamente quando ele é a informação
que importa ("Nenhuma vinculada"). %>
Operação do mês
<%= vinculada ? @romaneio.operacao_label : 'Nenhuma vinculada — APARELHO não é preenchido sozinho' %>
É ela que diz quem é paciente NOVO, e quem é novo sempre leva aparelho.
<%# Já vinculada: fica fechado, para não convidar a trocar sem motivo. Sem
operação: abre sozinho, porque é a pendência da tela. %>
<%# group-open: aberto, o gatilho fica discreto. Aberto ele vira só o título do
painel — deixá-lo laranja poria DOIS botões laranja um sobre o outro e o
operador não saberia qual confirma. %>
>
<%# cor: nil e espaco: false — o fundo laranja apagaria o laranja da marca
e o container já tem gap-2. %>
<%= icone :operacao, cor: nil, espaco: false %>
<%= vinculada ? 'Trocar operação' : 'Vincular operação' %>
<%= form_with url: vincular_operacao_admin_romaneio_path(@romaneio), method: :patch,
class: 'mt-3 flex flex-col sm:flex-row gap-2 sm:items-center' do %>
<% end %>
Preenche APARELHO, TELEFONES e NOME pelas notas fiscais já importadas.
O que você digitou na tabela é mantido — só os campos sem edição são
atualizados.