diff --git a/src-tauri/src/plugins/supabase.rs b/src-tauri/src/plugins/supabase.rs index e08679a..59ef54b 100644 --- a/src-tauri/src/plugins/supabase.rs +++ b/src-tauri/src/plugins/supabase.rs @@ -312,7 +312,7 @@ impl SupabaseClient { pub fn listar_recentes(&self, loja: &str, limite: i64) -> Result, SupabaseError> { let loja_normalized = sem_acento(&loja.to_lowercase()); let url = format!( - "{}/rest/v1/fechamentos_web?loja=eq.{}&order=data.desc,atualizado_em.desc&limit={}&select=id,id_fechamento,data,operador,turno,saldo_troco,saldo_esperado,fechamento_dinheiro,fechamento_cartoes,fechamento_areceber,diferenca,status_diferenca,observacoes,atualizado_em,dados", + "{}/rest/v1/fechamentos_web?loja=eq.{}&order=data.desc,atualizado_em.desc&limit={}&select=id,id_fechamento,data,operador,turno,saldo_troco,saldo_credito,saldo_debito,saldo_alimentacao,saldo_vales,saldo_areceber,saldo_esperado,total_pixcnpj,total_cartao_credito,total_cartao_debito,total_cartao_alimentacao,total_cartao_pix,total_cancelamentos,fechamento_dinheiro,fechamento_cartoes,fechamento_areceber,diferenca,status_diferenca,observacoes,atualizado_em,dados", self.base_url, urlencoding::encode(&loja_normalized), limite, diff --git a/src/index.html b/src/index.html index 518496d..3d4e8ed 100644 --- a/src/index.html +++ b/src/index.html @@ -2229,16 +2229,25 @@ function buildConsultaModal(recentList) { } overlay.innerHTML = ` -
+

📅 Consultar Fechamentos

-
- +
+ De: + + Até: + +
-
+
Mostrando últimos 5 dias
@@ -2264,25 +2273,31 @@ function buildConsultaModal(recentList) { document.body.appendChild(overlay); - // Função de busca por data + // Função de busca por período window._filtrarConsulta = () => { - const dataBusca = document.getElementById('consulta-busca-data')?.value; + const de = document.getElementById('consulta-busca-de')?.value; + const ate = document.getElementById('consulta-busca-ate')?.value; + const turno = document.getElementById('consulta-busca-turno')?.value || ''; const tbody = document.getElementById('consulta-tbody'); const info = document.getElementById('consulta-info'); if (!tbody) return; - if (!dataBusca) { + let filtrados = [...recentList]; + if (de) filtrados = filtrados.filter(item => item.data >= de); + if (ate) filtrados = filtrados.filter(item => item.data <= ate); + if (turno) filtrados = filtrados.filter(item => (item.turno||'').toLowerCase() === turno); + if (de || ate || turno) { + tbody.innerHTML = renderRows(filtrados); + const label = `${filtrados.length} registro${filtrados.length!==1?'s':''}${de&&ate?` de ${fmtDate(de)} a ${fmtDate(ate)}`:de?` a partir de ${fmtDate(de)}`:ate?` até ${fmtDate(ate)}`:''}`; + if (info) info.textContent = label; + } else { tbody.innerHTML = renderRows(cincoDias); if (info) info.textContent = 'Mostrando últimos 5 dias'; - return; } - const filtrados = recentList.filter(item => item.data === dataBusca); - tbody.innerHTML = renderRows(filtrados); - if (info) info.textContent = filtrados.length ? `${filtrados.length} registro${filtrados.length!==1?'s':''} em ${fmtDate(dataBusca)}` : `Nenhum registro em ${fmtDate(dataBusca)}`; }; // Enter na busca - document.getElementById('consulta-busca-data')?.addEventListener('keydown', e => { - if (e.key === 'Enter') window._filtrarConsulta(); + ['consulta-busca-de','consulta-busca-ate'].forEach(id => { + document.getElementById(id)?.addEventListener('keydown', e => { if (e.key === 'Enter') window._filtrarConsulta(); }); }); window._recentList = recentList;