diff --git a/src-tauri/src/plugins/supabase.rs b/src-tauri/src/plugins/supabase.rs
index 1ed3130..2e580a1 100644
--- a/src-tauri/src/plugins/supabase.rs
+++ b/src-tauri/src/plugins/supabase.rs
@@ -140,6 +140,7 @@ impl SupabaseClient {
"observacoes": estado.get("observacoes").and_then(|v| v.as_str()).unwrap_or(""),
"clientes": estado.get("clientes").and_then(|v| v.as_i64()).unwrap_or(0),
"frango": estado.get("frango").and_then(|v| v.as_i64()).unwrap_or(0),
+ "vendas": estado.get("vendas").and_then(|v| v.as_f64()).unwrap_or(0.0),
});
// Primeiro tenta INSERT (upsert via Prefer)
diff --git a/src/index.html b/src/index.html
index f30a88a..b04b82a 100644
--- a/src/index.html
+++ b/src/index.html
@@ -427,6 +427,17 @@
+
+
@@ -593,7 +604,7 @@ let estado = {
despesas: [], sangrias: [], pixcnpj: [], vales: [], receber: [], cancelamentos: [],
cartoes: { credito: [], debito: [], alimentacao: [], pix: [] },
fechamento_contado: { dinheiro: 0, cartoes: 0, receber: 0 },
- clientes: 0, frango: 0, // contadores
+ clientes: 0, frango: 0, vendas: 0, // contadores
observacoes: '', id_local: null, sync_status: 'local'
};
@@ -1119,6 +1130,7 @@ function buildEstadoForBackend() {
observacoes: estado.observacoes,
clientes: estado.clientes,
frango: estado.frango,
+ vendas: estado.vendas,
sync_status: estado.sync_status,
};
}
@@ -1137,6 +1149,7 @@ function saveState() {
};
estado.clientes = parseInt(document.getElementById('f-clientes').value) || 0;
estado.frango = parseInt(document.getElementById('f-frango').value) || 0;
+ estado.vendas = parseFloat(document.getElementById('f-vendas').value) || 0;
estado.updatedAt = new Date().toISOString();
try { localStorage.setItem(LS_KEY, JSON.stringify(estado)); } catch(e) {}
}
@@ -1158,6 +1171,7 @@ function loadState() {
estado.observacoes = saved.observacoes || '';
estado.clientes = saved.clientes || 0;
estado.frango = saved.frango || 0;
+ estado.vendas = saved.vendas || 0;
estado.sync_status = saved.sync_status || 'local';
// Restore tables (always as arrays of objects)
estado.despesas = Array.isArray(saved.despesas) ? saved.despesas : [];
@@ -1741,6 +1755,7 @@ function buildReportHTML(data) {
👥 Clientes:${data.clientes || 0}
🍗 Frango Assado:${data.frango || 0}
+
💰 Vendas:${fmt(data.vendas || 0)}
ID: ${data.loja}_${data.data}_${data.operador}
@@ -1957,6 +1972,7 @@ function openConfirmModal() {
❌ Cancelamentos: ${fmt(cancelamentos)}
👥 Clientes: ${estado.clientes || 0}
🍗 Frango Assado: ${estado.frango || 0}
+
💰 Vendas: ${fmt(estado.vendas || 0)}
📋 Fechamento (contado): ${fmt(fechamento)}
🖥️ Total Sistema: ${fmt(sysTotal)}
@@ -2318,6 +2334,7 @@ function buildRelatorioModal(full) {
Total Despesas${fmtMoney(totalDespesas)}
Clientes${clientes}
Frango Assado${frango}
+
Vendas${fmtMoney(full.vendas || 0)}
@@ -2392,6 +2409,10 @@ function buildRelatorioModal(full) {
@@ -2406,7 +2427,7 @@ function buildRelatorioModal(full) {
-
+
@@ -2437,6 +2458,7 @@ window.abrirFechamentoEdicao = function(full) {
estado.turno = dados.turno || full.turno || '';
estado.clientes = dados.clientes ?? full.clientes ?? 0;
estado.frango = dados.frango ?? full.frango ?? 0;
+ estado.vendas = dados.vendas ?? full.vendas ?? 0;
estado.observacoes = dados.observacoes || full.observacoes || '';
estado.saldo_esperado = dados.saldo_esperado ?? full.saldo_esperado ?? 0;
@@ -2466,6 +2488,7 @@ window.abrirFechamentoEdicao = function(full) {
setVal('f-turno', estado.turno);
setVal('f-clientes', estado.clientes);
setVal('f-frango', estado.frango);
+ setVal('f-vendas', estado.vendas);
// Renderiza todas as tabelas com os dados restaurados
renderTable('tbl-sangrias', estado.sangrias);
@@ -2567,6 +2590,7 @@ window.salvarEdicaoConsulta = async function() {
total_despesas: p(inp('edit-despesas')),
clientes: parseInt(inp('edit-clientes') || '0'),
frango: parseInt(inp('edit-frango') || '0'),
+ vendas: p(inp('edit-vendas')),
saldo_esperado: p(inp('edit-esperado')),
observacoes: inp('edit-obs')
};