Correção do função de editar

This commit is contained in:
2026-07-21 16:33:21 -03:00
parent faa5226e95
commit 033e083ec5

View File

@@ -258,11 +258,25 @@
renderPeriodo(data.periodo, data.falhas);
// Só veio o card pronto quando a NF tem um lançamento único; com mais de
// um, o ADM escolhe na lista antes de abrir qualquer coisa.
if (data.visita) { abrirCard(data.visita); } else { visita = null; renderOcorrencias(); }
if (!data.visita && !ocorrencias.length) mostrarErroBusca('Nenhum lançamento localizado para esta NF no período consultado.');
} catch (e) {
if (data.visita) {
abrirCard(data.visita);
} else {
visita = null;
renderOcorrencias();
mostrarErroBusca('Erro de conexão ao buscar a NF.');
// Tela em branco é pior que erro: se não há card E a lista ficou
// escondida, o ADM precisa saber por quê em vez de achar que a NF
// não existe.
if (ocEl.classList.contains('hidden')) {
mostrarErroBusca(ocorrencias.length
? 'O lançamento foi localizado mas não pôde ser aberto — veja os avisos acima.'
: 'Nenhum lançamento localizado para esta NF no período consultado.');
}
}
} catch (e) {
// Mostra o erro real: "Erro de conexão" genérico escondeu uma exceção de
// renderização e deixou a tela muda.
console.error('[edicao-lancamento] falha na busca', e);
mostrarErroBusca('Falha ao processar a busca: ' + ((e && e.message) || e));
} finally {
loadEl.classList.add('hidden');
}
@@ -306,10 +320,16 @@
const ocCont = document.getElementById('oc-contador');
const ocDica = document.getElementById('oc-dica');
// ⚠️ NÃO usar new Date('2026-07-15') para data pura: o JS lê como meia-noite
// UTC e o toLocale em UTC-3 devolve o DIA ANTERIOR. Data planejada não é um
// instante — formata direto do texto ISO.
const fmtData = v => {
if (!v) return '—';
const d = new Date(v);
return isNaN(d) ? String(v).slice(0, 10) : d.toLocaleDateString('pt-BR');
const s = String(v);
const iso = s.match(/^(\d{4})-(\d{2})-(\d{2})/);
if (iso) return iso[3] + '/' + iso[2] + '/' + iso[1];
const d = new Date(s);
return isNaN(d) ? s.slice(0, 10) : d.toLocaleDateString('pt-BR');
};
const fmtHora = v => {
if (!v) return null;
@@ -325,6 +345,9 @@
ocEl.classList.add('hidden'); ocLista.innerHTML = ''; return;
}
// O bloco nasce com `hidden` no ERB — sem tirar a classe aqui, a lista é
// montada e fica invisível (a tela parecia não ter achado nada).
ocEl.classList.remove('hidden');
ocCont.textContent = n + (n === 1 ? ' lançamento' : ' lançamentos');
ocDica.textContent = n > 1 ? 'para esta NF — escolha qual quer editar.' : 'para esta NF.';
ocLista.innerHTML = ocorrencias.map((o, i) => {