diff --git a/src/index.html b/src/index.html index df8bd11..38e9e11 100644 --- a/src/index.html +++ b/src/index.html @@ -1853,9 +1853,11 @@ function triggerWindowPrint() { window.print(); } -// ─── Recibo 80mm via Tauri (ESC/POS USB) ───────────────────────────────── -// ─── Recibo 80mm via Tauri (ESC/POS USB) ───────────────────────────────── -// Build data object shared by both ESC/POS and preview +// ─── buildReciboData — lê do FORMULÁRIO principal (não do estado carregado do BD) ─── +// Importante: quando editing, o estado estápopulado pelo abrirFechamentoEdicao, não do BD + +// ─── buildReciboData — lê do FORMULÁRIO principal ─────────────────────────── +// usado tanto para novo fechamento quanto para edição function buildReciboData() { const cartCred = estado.cartoes.credito.reduce((s,r) => s+(r.valor||0), 0); const cartDeb = estado.cartoes.debito.reduce((s,r) => s+(r.valor||0), 0); @@ -1876,6 +1878,7 @@ function buildReciboData() { return { uuid: estado.uuid, id_local: estado.id_local, + id: estado.id, loja: estado.loja, data: estado.data, operador: estado.operador, @@ -1899,7 +1902,7 @@ function buildReciboData() { vales: valesTotal, areceber: receberTotal, cancelamentos: cancelTotal, - // Full arrays for preview + // Full arrays for preview / Supabase despesas_arr: estado.despesas.map(r => ({ desc: r.desc||'', obs: r.obs||'', valor: r.valor||0 })), sangrias_arr: estado.sangrias.map(r => ({ hora: r.hora||'', retirada: parseNum(r.retirada)||0, gerente: r.gerente||'' })), pixcnpj_arr: estado.pixcnpj.map(r => ({ nome: r.nome||'', valor: r.valor||0 })), @@ -1910,10 +1913,22 @@ function buildReciboData() { cartoes_debito: estado.cartoes.debito.map(r => r.valor || 0), cartoes_alimentacao: estado.cartoes.alimentacao.map(r => r.valor || 0), cartoes_pix: estado.cartoes.pix.map(r => r.valor || 0), + total_cartao_credito: cartCred, + total_cartao_debito: cartDeb, + total_cartao_alimentacao: cartAli, + total_cartao_pix: cartPix, + total_pixcnpj: pixCnpjTotal, + total_sangrias: sangriasTotal, + total_despesas: despesasTotal, + total_vales: valesTotal, + total_areceber: receberTotal, + total_cancelamentos: cancelTotal, observacoes: estado.observacoes, clientes: estado.clientes, frango: estado.frango, vendas: estado.vendas || 0, + edited_at: new Date().toISOString(), + edited_by: config.admin_user || 'admin', sync_status: estado.sync_status, }; } @@ -2817,25 +2832,26 @@ function openEditModal(full) {