= simple_form_for(@resto_a_pagar_cancelado) do |f| = f.error_notification = f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? fieldset legend strong = @resto_a_pagar_cancelado.new_record? ? 'Cadastrar' : 'Editar' ' Empenho Restos a Pagar Cancelado - if @resto_a_pagar_cancelado.cancelamento_de_resto_a_pagar.processado? - if @resto_a_pagar_cancelado.empenho.descriminacao_obrigatoria_de_itens? .form-group .row .col-sm-12 fieldset legend strong ' Liquidações .table-responsive table.table thead tr th width="70%" Liquidação th width="15%" Saldo th width="15%" Valor Cancelado tbody#liquidacoes_dos_rps_cancelados = f.fields_for :liquidacoes_dos_rps_cancelados do |liquidacao_do_rp_cancelado| = render 'liquidacao_do_rp_cancelado_fields', f: liquidacao_do_rp_cancelado - else .form-group .row .col-sm-12 fieldset legend strong ' Liquidações .table-responsive table.table.table-bordered.table-hover thead tr th width="70%" Liquidação th width="10%" Saldo th width="15%" Valor Cancelado tbody = f.fields_for :liquidacoes_dos_rps_cancelados do |liq_do_rp_cancelado| = liq_do_rp_cancelado.input :liquidacao_id, as: :hidden tr td = liq_do_rp_cancelado.object.liquidacao.numero_e_empenho_e_fornecedor td = liq_do_rp_cancelado.object.saldo_da_liquidacao_rp.try(:real_contabil) td = liq_do_rp_cancelado.input :valor_cancelado, label: false, input_html: { class: 'form-control' } - else - if @resto_a_pagar_cancelado.empenho.descriminacao_obrigatoria_de_itens? - @itens = f.object.empenho.itens .form-group .table-responsive table.table thead tr th width='70%' Empenho th.align-center Saldo Não Processado th.align-center Valor Cancelado tbody tr td = f.object.empenho.numero_e_fornecedor td.align-center = f.object.empenho.saldo_atual_nao_processado_a_liquidar.real_contabil td = f.input :valor_cancelado, label: false, as: :string, readonly: true, input_html: { class: 'form-control valor_cancelado_empenho'} tr td colspan='3' .table-responsive table.table.table-bordered.table-hover thead tr th width="40%" Item th Qtd Cancelada th Qtd a Cancelar th Valor Unitario th Total Cancelado th style="text-align: center;" Opções tbody#itens_dos_rps_cancelados = f.fields_for :itens_dos_rps_cancelados do |item_do_rp_cancelado| = render 'item_do_rp_cancelado_fields', f: item_do_rp_cancelado tfoot tr td.links colspan="6" align="right" ==< link_to_add_association ' Adicionar'.html_safe, f, :itens_dos_rps_cancelados, :"data-association-insertion-node" => "tbody#itens_dos_rps_cancelados", :"data-association-insertion-method" => "append", class: 'btn btn-primary btn-sm' - else .form-group .row .col-md-12 .table-responsive table.table thead tr th width='65%' Empenho th.align-center Saldo Não Processado th.align-center Valor Cancelado tbody tr td = f.object.empenho.numero_e_fornecedor td.align-center = f.object.empenho.saldo_atual_nao_processado_a_liquidar.real_contabil td = f.input :valor_cancelado, label: " ".html_safe, as: :string, input_html: { class: 'form-control valor_cancelado_empenho'} .form-group h6 ' (*) Campos Obrigatórios .form-actions .row .col-sm-12 = f.submit "Salvar", class: "btn btn-primary" = link_to "Cancelar", contabilidade_cancelamentos_de_restos_a_pagar_path(@resto_a_pagar_cancelado.cancelamento_de_resto_a_pagar), class: "btn btn-default" - content_for :js do javascript: $(document).ready(function(){ $(".valor_cancelado_empenho").autoNumeric('init', { 'aSep': '.', 'aDec': ',', 'aPad': true, 'vMin': 0.00, 'aSign': 'R$ ' }) }); $('form').on('cocoon:after-insert', function(e, insertedItem) { $('select.s2').select2(); $(".quantidade_cancelada").autoNumeric("init",{ 'aSep': '.', 'aDec': ',', 'vMin': 0, 'vMax': 999999999.99, }) $(".quantidade_disponivel_a_cancelar").autoNumeric("init",{ 'aSep': '.', 'aDec': ',', 'vMin': 0, 'vMax': 999999999.99, }) $(".valor_unitario_item").autoNumeric('init', { 'aSep': '.', 'aDec': ',', 'aPad': true, 'vMin': 0.00, 'aSign': 'R$ ' }) $(".total_cancelado_item").autoNumeric('init', { 'aSep': '.', 'aDec': ',', 'aPad': true, 'vMin': 0.00, 'aSign': 'R$ ' }) $(".valor_cancelado_liquidacao").autoNumeric('init', { 'aSep': '.', 'aDec': ',', 'aPad': true, 'vMin': 0.00, 'aSign': 'R$ ' }) $('.item_id').on("change", function(){ var item = $(this).val() var linha = $(this).closest('tr') var liquidacao_rp = $(".liquidacao_id", linha).val() var empenho_rp = $(".resto_a_pagar_cancelado_id", linha).val() if ($('.item_id').val() != "") { $.getJSON(ROOT_PATH + "contabilidade/restos_a_pagar_cancelados/retorna_valor_unitario_do_item_de_rp.json?item_id=" + item + "&resto_a_pagar_cancelado_id=" + empenho_rp + "&liquidacao_id=" + liquidacao_rp, function(data) { $('.valor_unitario_item', linha).autoNumeric('set', data[0]); $('.quantidade_disponivel_a_cancelar', linha).autoNumeric('set', data[1]); }); } }); $('.quantidade_cancelada').on("change", function(){ var linha = $(this).closest('tr') var quantidade = $(this).autoNumeric('get' || 0); var valor_unitario = $('.valor_unitario_item', linha).autoNumeric('get' || 0); var total = quantidade * valor_unitario $('.total_cancelado_item', linha).autoNumeric('set', total); $('.total_cancelado_item', linha).trigger('change'); }); $('.total_cancelado_item').on("change", function(){ var total_geral = 0 var linha = $(this).parent().parent().parent().parent().parent().parent().parent().parent().prev() var linha_empenho = $(this).parent().parent().parent().parent().parent().parent().parent().parent().prev() var outra_linha = linha.next() $('.total_cancelado_item', outra_linha).each(function(){ valor = parseFloat($(this).autoNumeric('get' || 0)); total_geral = total_geral + valor outra_linha = outra_linha.next() }); $('.valor_cancelado_liquidacao', linha).autoNumeric('set', total_geral); $('.valor_cancelado_empenho', linha_empenho).autoNumeric('set', total_geral); }); $('.remove-item').click(function(){ setTimeout(function() { $('.total_cancelado_item').each(function(){ $(this).val($(this).val()); console.log($(this)) $(this).trigger('change'); }); }, 100); }); }); $('form').on('submit', function() { $('.valor_cancelado_liquidacao').each(function() { var campo = $(this); var conteudo = parseFloat(campo.autoNumeric('get')); campo.autoNumeric('destroy'); campo.val(conteudo); }); $('.total_cancelado_item').each(function() { var campo = $(this); var conteudo = parseFloat(campo.autoNumeric('get')); campo.autoNumeric('destroy'); campo.val(conteudo); }); $('.quantidade_cancelada').each(function() { var campo = $(this); var conteudo = parseFloat(campo.autoNumeric('get')); campo.autoNumeric('destroy'); campo.val(conteudo); }); $('.valor_unitario_item').each(function() { var campo = $(this); var conteudo = parseFloat(campo.autoNumeric('get')); campo.autoNumeric('destroy'); campo.val(conteudo); }); $('.valor_cancelado_empenho').each(function() { var campo = $(this); var conteudo = parseFloat(campo.autoNumeric('get')); campo.autoNumeric('destroy'); campo.val(conteudo); }); });