Compare commits
2 Commits
v1.4.13-fix
...
v1.5.1
| Author | SHA1 | Date | |
|---|---|---|---|
| 5641de21f8 | |||
| d77ad55fbd |
+44
-4
@@ -2716,7 +2716,35 @@ window._recalcEditTotals = function() {
|
||||
if (el('tot-areceber')) el('tot-areceber').textContent = fmtTot(recv_tot);
|
||||
if (el('tot-sangrias')) el('tot-sangrias').textContent = fmtTot(sang_tot);
|
||||
if (el('tot-despesas')) el('tot-despesas').textContent = fmtTot(desp_tot);
|
||||
if (el('tot-cancel')) el('tot-cancel').textContent = fmtTot(canc_tot);
|
||||
if (el('tot-cancel')) el('tot-cancel').textContent = fmtTot(canc_tot);
|
||||
|
||||
// Atualiza campos readonly do saldo de caixa com totais calculados
|
||||
const setReadonly = (id, v) => { if (el(id)) el(id).value = fmtTot(v); };
|
||||
setReadonly('edit-sld-credito', cartCred_tot);
|
||||
setReadonly('edit-sld-debito', cartDeb_tot);
|
||||
setReadonly('edit-sld-alimentacao', cartAli_tot);
|
||||
setReadonly('edit-sld-vales', vales_tot);
|
||||
setReadonly('edit-sld-pixcnpj', pixcnpj_tot);
|
||||
setReadonly('edit-sld-areceber', recv_tot);
|
||||
setReadonly('edit-sld-pixcartao', cartPix_tot);
|
||||
|
||||
// Calcula Saldo Caixa e Diferença em tempo real
|
||||
const trocoVal = parseNum(el('edit-troco')?.value || '0');
|
||||
const esperadoVal = parseNum(el('edit-esperado')?.value || '0');
|
||||
const saldoCaixa = trocoVal + cartCred_tot + cartDeb_tot + cartAli_tot + cartPix_tot + pixcnpj_tot + vales_tot + recv_tot;
|
||||
const diferenca = saldoCaixa - esperadoVal - canc_tot;
|
||||
|
||||
if (el('edit-saldo-caixa')) {
|
||||
el('edit-saldo-caixa').textContent = saldoCaixa > 0 ? fmtTot(saldoCaixa) : 'R$ 0,00';
|
||||
}
|
||||
if (el('edit-diferenca')) {
|
||||
const fmtDif = v => v >= 0 ? `R$ ${v.toLocaleString('pt-BR', { minimumFractionDigits: 2 })}` : `-R$ ${Math.abs(v).toLocaleString('pt-BR', { minimumFractionDigits: 2 })}`;
|
||||
el('edit-diferenca').textContent = fmtDif(diferenca);
|
||||
// Alerta visual se diferença != 0
|
||||
if (el('edit-diferenca-box')) {
|
||||
el('edit-diferenca-box').style.background = diferenca === 0 ? '#e8f5e9' : diferenca > 0 ? '#fff3e0' : '#ffebee';
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Modal de edição completo com todas as grades
|
||||
@@ -2935,7 +2963,8 @@ function openEditModal(full) {
|
||||
<div style="margin-bottom:12px;background:#f5f5f5;border-radius:6px;padding:8px">
|
||||
<strong style="font-size:12px;color:#333;margin-bottom:4px;display:block">💰 Saldo de Caixa <span style="font-size:10px;color:#888">(apenas Troco é editável)</span></strong>
|
||||
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:6px">
|
||||
<div><label style="font-size:10px;color:#555">Troco:</label><input type="text" id="edit-troco" value="${fmtMR(full.saldo_troco)}" style="width:100%;padding:5px;border:1px solid #2e7d32;border-radius:4px;text-align:right" onblur="this.value=fmtBR(this)" /></div>
|
||||
<div><label style="font-size:10px;color:#555">Troco:</label><input type="text" id="edit-troco" value="${fmtMR(full.saldo_troco)}" style="width:100%;padding:5px;border:1px solid #2e7d32;border-radius:4px;text-align:right" oninput="window._recalcEditTotals()" onblur="this.value=fmtBR(this)" /></div>
|
||||
<div><label style="font-size:10px;color:#555">Saldo Esperado:</label><input type="text" id="edit-esperado" value="${fmtMR(full.saldo_esperado)}" style="width:100%;padding:5px;border:1px solid #e65100;border-radius:4px;text-align:right;font-weight:bold" oninput="window._recalcEditTotals()" onblur="this.value=fmtBR(this)" /></div>
|
||||
<div><label style="font-size:10px;color:#888">Crédito:</label><input type="text" id="edit-sld-credito" value="${fmtMR(full.saldo_credito)}" readonly tabindex="-1" style="width:100%;padding:5px;border:1px solid #ddd;border-radius:4px;text-align:right;background:#eee;color:#666" /></div>
|
||||
<div><label style="font-size:10px;color:#888">Débito:</label><input type="text" id="edit-sld-debito" value="${fmtMR(full.saldo_debito)}" readonly tabindex="-1" style="width:100%;padding:5px;border:1px solid #ddd;border-radius:4px;text-align:right;background:#eee;color:#666" /></div>
|
||||
<div><label style="font-size:10px;color:#888">Alimentação:</label><input type="text" id="edit-sld-alimentacao" value="${fmtMR(full.saldo_alimentacao)}" readonly tabindex="-1" style="width:100%;padding:5px;border:1px solid #ddd;border-radius:4px;text-align:right;background:#eee;color:#666" /></div>
|
||||
@@ -2944,14 +2973,23 @@ function openEditModal(full) {
|
||||
<div><label style="font-size:10px;color:#888">À Receber:</label><input type="text" id="edit-sld-areceber" value="${fmtMR(full.saldo_areceber)}" readonly tabindex="-1" style="width:100%;padding:5px;border:1px solid #ddd;border-radius:4px;text-align:right;background:#eee;color:#666" /></div>
|
||||
<div><label style="font-size:10px;color:#888">PIX Cartão:</label><input type="text" id="edit-sld-pixcartao" value="${fmtMR(full.total_cartao_pix)}" readonly tabindex="-1" style="width:100%;padding:5px;border:1px solid #ddd;border-radius:4px;text-align:right;background:#eee;color:#666" /></div>
|
||||
</div>
|
||||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px">
|
||||
<div style="background:#e3f2fd;border-radius:4px;padding:6px 8px;text-align:right">
|
||||
<span style="font-size:11px;color:#1565c0">SALDO CAIXA:</span>
|
||||
<span id="edit-saldo-caixa" style="font-size:16px;font-weight:bold;color:#1565c0;margin-left:8px">R$ 0,00</span>
|
||||
</div>
|
||||
<div id="edit-diferenca-box" style="background:#fff3e0;border-radius:4px;padding:6px 8px;text-align:right">
|
||||
<span style="font-size:11px;color:#e65100">DIFERENÇA:</span>
|
||||
<span id="edit-diferenca" style="font-size:16px;font-weight:bold;color:#e65100;margin-left:8px">R$ 0,00</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Contadores -->
|
||||
<div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:6px;margin-bottom:12px">
|
||||
<div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:12px">
|
||||
<div><label style="font-size:10px;color:#555">Clientes:</label><input type="number" id="edit-clientes" value="${dados.clientes||full.clientes||0}" min="0" style="width:100%;padding:5px;border:1px solid #ccc;border-radius:4px" /></div>
|
||||
<div><label style="font-size:10px;color:#555">Frango Assado:</label><input type="number" id="edit-frango" value="${dados.frango||full.frango||0}" min="0" style="width:100%;padding:5px;border:1px solid #ccc;border-radius:4px" /></div>
|
||||
<div><label style="font-size:10px;color:#555">Vendas (R$):</label><input type="text" id="edit-vendas" value="${fmtMR(dados.vendas||full.vendas||0)}" style="width:100%;padding:5px;border:1px solid #e65100;border-radius:4px;text-align:right;font-weight:bold" onblur="this.value=fmtBR(this)" /></div>
|
||||
<div><label style="font-size:10px;color:#555">Saldo Esperado:</label><input type="text" id="edit-esperado" value="${fmtMR(full.saldo_esperado)}" style="width:100%;padding:5px;border:1px solid #e65100;border-radius:4px;text-align:right;font-weight:bold" onblur="this.value=fmtBR(this)" /></div>
|
||||
</div>
|
||||
|
||||
<!-- Observações -->
|
||||
@@ -2967,6 +3005,8 @@ function openEditModal(full) {
|
||||
</div>`;
|
||||
|
||||
document.body.appendChild(overlay);
|
||||
// Calcula totais iniciais após renderizar o DOM
|
||||
setTimeout(() => window._recalcEditTotals(), 50);
|
||||
}
|
||||
|
||||
// Formata campo de dinheiro brasileiro
|
||||
|
||||
Reference in New Issue
Block a user