.widget .widget-body = simple_form_for(@liquidacao, method: :patch, url: contabilidade_atualizar_liquidacoes_filhas_path(@liquidacao)) do |f| legend strong Cadastrar Notas Fiscais = error_for @liquidacao, :valor p Valor da Liquidação: #{@liquidacao.valor.to_f.real_contabil} p.saldo Saldo: R$ 0,00 .table-responsive table.table.table-bordered.table-hover thead tr - if @liquidacao.fatura? th width='45%' Número Fatura - else th width='45%' Número da Nota Fiscal th width='45%' Valor da Nota Fiscal th tbody#liquidacoes_filhas = f.fields_for :liquidacoes_filhas do |liquidacao_filha| = render 'liquidacoes_filha_fields', f: liquidacao_filha tfoot tr td td td.text-center = link_to_add_association ' Adicionar'.html_safe, f, :liquidacoes_filhas, :"data-association-insertion-node" => "tbody#liquidacoes_filhas",:"data-association-insertion-method" => "append", class: 'btn btn-primary btn-sm', id: 'btn-add-item-da-nota-fiscal' .row .col-sm-12 = f.submit 'Salvar', class: 'btn btn-primary' - unless @liquidacao.mae? = f.button :button, 'Salvar e cadastrar nota', type: 'submit', name: 'ir_para_nota', value: 'Salvar e ir para nota', class: 'btn btn-success', style: 'margin-left: 10px' = link_to 'Voltar', contabilidade_liquidacao_path(@liquidacao), class: 'btn btn-default', style: 'margin-left: 10px' javascript: let valor_da_liquidacao = #{@liquidacao.valor.to_f } let saldo = 0; $(document).ready(function() { calcular_saldo(); }); function calcular_saldo() { let valor = 0; $('.valor').each(function () { valor = valor + parseFloat($(this).autoNumeric('get')); console.log($(this).autoNumeric('get')); }); saldo = valor_da_liquidacao - valor; if (saldo < 0) { saldo = 0 } $('.saldo').text("Saldo: " + saldo.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); } $('form').on('cocoon:before-insert', function(e, insertedItem) { calcular_saldo(); }); $('form').on('cocoon:before-remove', function(e, removedItem) { var linha = $(removedItem).closest('tr'); $('.valor', linha).autoNumeric('set', 0); calcular_saldo(); }); $('form').on('cocoon:after-insert', function(e, insertedItem){ $("abbr").remove(); $('.valor').autoNumeric('init', { 'a-sep': '.', 'a-dec': ',', 'v-min': 0, 'a-sign': 'R$ ' }); $('.valor').focusout(function() { calcular_saldo(); }); var linha = $(insertedItem).closest('tr'); $('.valor', linha).autoNumeric('set', saldo); $('.numero_da_nota').focus(); calcular_saldo(); });