Andrey Cunha a71f963e37 att
2026-05-11 21:54:49 -03:00

40 lines
1.5 KiB
JavaScript

/**
* compras.js
*
* Funções de controle da tabela de itens (tbItens) e cálculo de totais.
* As demais funções deste arquivo (modal de produtos, zoom handlers, activity manager)
* foram consolidadas em compras_digital.js e script.js.
*/
/* ========= Totais da tabela de itens ========= */
function atualizarTotais() {
// Percorre as linhas da tabela somando qtd * preço de referência
var totalGeral = 0;
$('#tbItens tbody tr.tableRow:not([detail=true])').each(function () {
var qtd = parseFloat($(this).find('input[name^="qtd___"]').val()) || 0;
var preco = brMoneyToFloat($(this).find('input[name^="Refpreco___"]').val());
var total = qtd * preco;
$(this).find('input[name^="totalValor___"]').val(floatToBRL(total));
totalGeral += total;
});
$('#totalGeral').val(floatToBRL(totalGeral));
$('#totalItens').val($('#tbItens tbody tr.tableRow:not([detail=true])').length);
}
/* ========= Recalcula o total de uma linha ========= */
function recalcLinha(el) {
var $linha = $(el).closest('tr');
var qtd = parseFloat($linha.find('input[name^="qtd___"]').val()) || 0;
var preco = brMoneyToFloat($linha.find('input[name^="Refpreco___"]').val());
$linha.find('input[name^="totalValor___"]').val(floatToBRL(qtd * preco));
atualizarTotais();
}
/* ========= Delegação de eventos de preço/quantidade ========= */
$(document).on('input', 'input[name^="qtd___"], input[name^="Refpreco___"]', function () {
recalcLinha(this);
});