tr.nested-fields td id="item_id" = f.hidden_field :item_id, value: f.object.item_id p = "#{f.object.item.try(:descricao).try(:upcase)} (#{f.object.item.try(:unidade_de_medida).try(:descricao).try(:upcase)})" td id="item_quantidade" = f.object.try(:saldo_disponivel_na_origem_da_compra).to_f.try(:contabil) /- if @ordem_de_compra.empenho.try(:contrato).try(:projeto).try(:pedido).try(:possui_periodicidade_nos_itens?) /td id="item_periodicidade" /= f.object.try(:periodicidade_do_item) td - if f.object.marca_editavel?(f.object.item_id, f.object.empenho.pessoa_id) = f.text_field :marca, class: "form-control" = error_for f.object, :marca - else = f.text_field :marca, class: "form-control", value: f.object.marca_do_item(f.object.item_id, f.object.empenho.pessoa_id), disabled: true = f.hidden_field :marca, value: f.object.marca_do_item(f.object.item_id, f.object.empenho.pessoa_id) td#valor_unitario = f.object.valor_unico.to_f.valor_financeiro = f.hidden_field :valor_unitario, value: f.object.valor_unico.to_f.valor_financeiro, data: { autonumeric: true, 'a-sep'=> '.', 'a-dec'=>',', 'a-sign'=> 'R$ ' }, class: "valor-unitario" td = f.qtd_itens_field :quantidade, scale: 6, class: "form-control quantidade" = error_for f.object, :quantidade td = f.monetary_field :total, scale: 4, class: "total" = error_for f.object, :total = f.hidden_field :ordem_de_compra_id, value: @ordem_de_compra.id td align="right" = link_to_remove_association " Remover", f, class: "btn btn-sm btn-danger icone-anular" - content_for :js do javascript: $(function () { $('.moeda').autoNumeric('init', { 'aSep': '.', 'aDec': ',', 'aPad': 2, 'vMin': 0, 'aSign': 'R$ ' }); $('.quantidade').autoNumeric('init', { 'aSep': '.', 'aDec': ',', 'aPad': 2, 'vMin': 0 }); $(document).ready(function(){ var list_qtd = $('.quantidade'); list_qtd.change(function() { atualiza_quantidade($(this)); new Totalizando(); }); }); function atualiza_quantidade(field){ var quantidade = parseFloat( field.autoNumeric('get') || 0 ); var valor_unitario = parseFloat($('#valor_unitario', field.closest("tr")).text().replace(/\./g,'').replace(',', '.').replace('R$ ', '') || 0); $('.total-item', field.closest("tr")).autoNumeric('set',quantidade*valor_unitario); }; $('.quantidade').each(function(index) { var quantidade = parseFloat( $(this).autoNumeric('get') || 0 ); if (quantidade != 0){ atualiza_quantidade($(this)); } }).promise().done( function(){ setTimeout(function() { new Totalizando(); }, 100)} ); $('form').on('cocoon:before-remove', function(e, removedItem) { $('input[data-autonumeric]', removedItem).val('0'); $('input[type="hidden"][id$="_val"]', removedItem).val('0'); new Totalizando(); }); });