diff --git a/Imagens para correção /Imagem colada (15).png b/Imagens para correção /Imagem colada (15).png new file mode 100644 index 0000000..4cf26c2 Binary files /dev/null and b/Imagens para correção /Imagem colada (15).png differ diff --git a/Imagens para implantação /Imagem colada (21).png b/Imagens para implantação /Imagem colada (21).png new file mode 100644 index 0000000..9c222bf Binary files /dev/null and b/Imagens para implantação /Imagem colada (21).png differ diff --git a/app/javascript/controllers/ferramentas_controller.js b/app/javascript/controllers/ferramentas_controller.js new file mode 100644 index 0000000..e7d70a0 --- /dev/null +++ b/app/javascript/controllers/ferramentas_controller.js @@ -0,0 +1,30 @@ +// app/javascript/controllers/ferramentas_controller.js +// Stimulus — "caixa de ferramentas": um botão que abre um menu suspenso com as +// ações de lançamento (registrar entrega manual, entrega de termo). Cada item do +// menu dispara o modal correspondente (controllers apontamento-manual / +// apontamento-termo, que vivem no mesmo elemento pai). + +import { Controller } from "@hotwired/stimulus" + +export default class extends Controller { + static targets = ["menu"] + + connect() { + // Fecha o menu ao clicar fora dele. + this._fora = (e) => { if (!this.element.contains(e.target)) this.fechar() } + document.addEventListener("click", this._fora) + } + + disconnect() { + document.removeEventListener("click", this._fora) + } + + toggle(event) { + event.stopPropagation() + this.menuTarget.classList.toggle("hidden") + } + + fechar() { + this.menuTarget.classList.add("hidden") + } +} diff --git a/app/views/consolidacao_entregas/validar.html.erb b/app/views/consolidacao_entregas/validar.html.erb index 4e833b8..26eb535 100644 --- a/app/views/consolidacao_entregas/validar.html.erb +++ b/app/views/consolidacao_entregas/validar.html.erb @@ -116,19 +116,38 @@ - <%# Apontamento 100% manual — entrega que NÃO está na base de rastreio - (ex.: motorista foi ao local mas a NF ficou com outro no rastreio). %> + <%# Caixa de ferramentas — concentra os lançamentos avulsos (registro manual de + entrega e entrega de termo) num único botão com menu suspenso. Os modais e + controllers existentes são reaproveitados; só o gatilho mudou. %> <% unless @consolidacao.finalizada? && current_user.operador? %> -
- - <%# Modal %> + + + <%# Modal — registro manual de entrega %> -
- <%# Entrega de termo — entrega SEM nota fiscal nem código; só motorista + quantidade. %> -
- - - <%# Modal %> + <%# Modal — entrega de termo %>