diff --git a/src/index.html b/src/index.html index 4d8b96a..6eff590 100644 --- a/src/index.html +++ b/src/index.html @@ -2516,12 +2516,16 @@ function askPassword() { // Monta HTML de uma grade editável dentro do modal function editTableHTML(id, headers, rows, numericCols) { + const fmtNum = v => { + const n = parseFloat(v); + return isNaN(n) ? '' : 'R$ ' + n.toLocaleString('pt-BR', { minimumFractionDigits: 2 }); + }; const hdr = headers.map((h,i) => `${h}`).join(''); const body = rows.map((row, ri) => { const cells = row.map((val, ci) => { const isNum = numericCols.includes(ci); const displayVal = (val !== null && val !== undefined && val !== '') - ? (isNum ? fmtMoney(val) : val) + ? (isNum ? fmtNum(val) : val) : ''; return ``; }).join(''); @@ -2595,15 +2599,7 @@ function openEditModal(full) { return 'R$ ' + n.toLocaleString('pt-BR', { minimumFractionDigits: 2 }); }; - // helper para fmt table cell - const fmtCell = (v, isNum) => { - if (v === null || v === undefined || v === '') return ''; - if (isNum) { - const n = parseFloat(v); - return isNaN(n) ? '' : 'R$ ' + n.toLocaleString('pt-BR', { minimumFractionDigits: 2 }); - } - return v; - }; + // helper inline para fmt table cell (já em editTableHTML) const editedInfo = full.edited_at ? `
@@ -2612,10 +2608,10 @@ function openEditModal(full) { : ''; // --- Cartões --- - const cartCred_rows = (dados.cartoes?.credito || full.cartoes_credito || []).map((r, i) => [fmtCell(typeof r === 'object' ? r.valor : r, true)]); - const cartDeb_rows = (dados.cartoes?.debito || full.cartoes_debito || []).map((r, i) => [fmtCell(typeof r === 'object' ? r.valor : r, true)]); - const cartAli_rows = (dados.cartoes?.alimentacao || full.cartoes_alimentacao || []).map((r, i) => [fmtCell(typeof r === 'object' ? r.valor : r, true)]); - const cartPix_rows = (dados.cartoes?.pix || full.cartoes_pix || []).map((r, i) => [fmtCell(typeof r === 'object' ? r.valor : r, true)]); + const cartCred_rows = (dados.cartoes?.credito || full.cartoes_credito || []).map(r => [typeof r === 'object' ? r.valor : r]); + const cartDeb_rows = (dados.cartoes?.debito || full.cartoes_debito || []).map(r => [typeof r === 'object' ? r.valor : r]); + const cartAli_rows = (dados.cartoes?.alimentacao || full.cartoes_alimentacao || []).map(r => [typeof r === 'object' ? r.valor : r]); + const cartPix_rows = (dados.cartoes?.pix || full.cartoes_pix || []).map(r => [typeof r === 'object' ? r.valor : r]); const cartCredHTML = editTableHTML('credito', ['Valor (R$)'], cartCred_rows.length ? cartCred_rows : [['']], [0]); const cartDebHTML = editTableHTML('debito', ['Valor (R$)'], cartDeb_rows.length ? cartDeb_rows : [['']], [0]); @@ -2623,27 +2619,27 @@ function openEditModal(full) { const cartPixHTML = editTableHTML('pix', ['Valor (R$)'], cartPix_rows.length ? cartPix_rows : [['']], [0]); // --- Vales --- - const vales_rows = (full.vales || []).map(r => [r.nome||r.Nome||'', fmtCell(r.valor, true), r.obs||r.Obs||'']); + const vales_rows = (full.vales || []).map(r => [r.nome||r.Nome||'', r.valor, r.obs||r.Obs||'']); const valesHTML = editTableHTML('vales', ['Nome', 'Valor (R$)', 'Obs'], vales_rows.length ? vales_rows : [['','','']], [1]); // --- Despesas --- - const despesas_rows = (full.despesas || []).map(r => [r.desc||r.Desc||'', r.obs||r.Obs||'', fmtCell(r.valor, true)]); + const despesas_rows = (full.despesas || []).map(r => [r.desc||r.Desc||'', r.obs||r.Obs||'', r.valor]); const despesasHTML = editTableHTML('despesas', ['Descrição', 'Obs', 'Valor (R$)'], despesas_rows.length ? despesas_rows : [['','','']], [2]); // --- Sangrias --- - const sangrias_rows = (full.sangrias || []).map(r => [r.hora||r.Hora||'', fmtCell(r.retirada, true), r.gerente||r.Gerente||'']); + const sangrias_rows = (full.sangrias || []).map(r => [r.hora||r.Hora||'', r.retirada, r.gerente||r.Gerente||'']); const sangriasHTML = editTableHTML('sangrias', ['Hora', 'Valor (R$)', 'Gerente'], sangrias_rows.length ? sangrias_rows : [['','','']], [1]); // --- Cancelamentos --- - const cancel_rows = (full.cancelamentos || []).map(r => [r.numero||r.Numero||'', fmtCell(r.valor, true), r.motivo||r.Motivo||'']); + const cancel_rows = (full.cancelamentos || []).map(r => [r.numero||r.Numero||'', r.valor, r.motivo||r.Motivo||'']); const cancelHTML = editTableHTML('cancelamentos', ['Número', 'Valor (R$)', 'Motivo'], cancel_rows.length ? cancel_rows : [['','','']], [1]); // --- PIX CNPJ --- - const pixcnpj_rows = (full.pixcnpj || []).map(r => [r.nome||r.Nome||'', fmtCell(r.valor, true)]); + const pixcnpj_rows = (full.pixcnpj || []).map(r => [r.nome||r.Nome||'', r.valor]); const pixcnpjHTML = editTableHTML('pixcnpj', ['Nome', 'Valor (R$)'], pixcnpj_rows.length ? pixcnpj_rows : [['','']], [1]); // --- A Receber --- - const receber_rows = (full.receber || []).map(r => [r.nome||r.Nome||'', fmtCell(r.valor, true)]); + const receber_rows = (full.receber || []).map(r => [r.nome||r.Nome||'', r.valor]); const receberHTML = editTableHTML('receber', ['Nome', 'Valor (R$)'], receber_rows.length ? receber_rows : [['','']], [1]); // --- Totais (só leitura formatado) ---