section.widget .widget-body = simple_form_for(@fonte_da_cota_orcamentaria) do |f| = simple_form_for(@fonte_da_cota_orcamentaria, url: update_setorial_loa_fonte_da_cota_orcamentaria_path(@fonte_da_cota_orcamentaria)) do |f| fieldset legend strong ' Prencher Proposta Setorial - #{@fonte_da_cota_orcamentaria.cota_orcamentaria.unidade_orcamentaria.codigo_e_nome} - #{@fonte_da_cota_orcamentaria.fonte_de_recursos.codigo_e_descricao} = error_for @fonte_da_cota_orcamentaria, :base .row .col-md-4 .col-md-2 h5 Valor da Cota h3.valor_da_cota = @fonte_da_cota_orcamentaria.valor.to_f.real_contabil .col-md-2 h5 Valor Distribuido h3.valor_distribuido = @fonte_da_cota_orcamentaria.valor_distribuido.to_f.real_contabil .col-md-2 h5 Valor Distribuido (Setorial) h3.valor_setorial_distribuido = @fonte_da_cota_orcamentaria.valor_setorial_distribuido.to_f.real_contabil .col-md-2 h5 Saldo h3.saldo = @fonte_da_cota_orcamentaria.saldo_a_distribuir.to_f.real_contabil - @fonte_da_cota_orcamentaria.propostas_orcamentarias_setoriais.sort_by { |i| i.orcamento_da_despesa.elemento_de_despesa_por_subacao.subacao.acao.programa_de_governo.codigo }.group_by { |i| i.orcamento_da_despesa.elemento_de_despesa_por_subacao.subacao.acao.programa_de_governo }.each do |programa_de_governo, propostas_orcamentarias_setoriais_do_programa_de_governo| h3 style="padding-bottom: 10px;" = programa_de_governo.codigo_e_nome - propostas_orcamentarias_setoriais_do_programa_de_governo.sort_by { |i| i.orcamento_da_despesa.elemento_de_despesa_por_subacao.subacao.acao.codigo }.group_by { |i| i.orcamento_da_despesa.elemento_de_despesa_por_subacao.subacao.acao }.each do |acao, propostas_orcamentarias_setoriais| h4 = acao.codigo_e_nome .table-responsive table.table.table-bordered.table-hover thead tr th Elemento de Despesa th width="30%" Valor tbody#propostas_orcamentarias_setoriais = f.fields_for :propostas_orcamentarias_setoriais, propostas_orcamentarias_setoriais.sort_by { |i| i.orcamento_da_despesa.elemento_de_despesa_por_subacao.elemento_de_despesa.codigo } do |proposta_orcamentaria_setorial| = render 'propostas_orcamentarias_setoriais_fields', f: proposta_orcamentaria_setorial = error_for f.object, :propostas_orcamentarias_setoriais .form-actions .row .col-sm-12 = f.submit "Salvar", class: "btn btn-primary" = link_to "Cancelar", index_setorial_loa_cotas_orcamentarias_path, class: "btn btn-default" .aviso_inferior style="visibility: hidden;" | ATENÇÃO! O SALDO ESTÁ NEGATIVO. javascript: $(document).ready(function(){ var valor_da_cota = #{@fonte_da_cota_orcamentaria.valor.to_f}; var valor_distribuido_da_docc = #{@fonte_da_cota_orcamentaria.valor_distribuido.to_f}; $(document).on('change', '.valor', function() { var valor_setorial_distribuido = 0; $('.valor').each(function() { var valor = parseFloat($(this).autoNumeric('get') || 0); valor_setorial_distribuido += valor; }); $('.valor_setorial_distribuido').html("R$" + formataQuantidade(valor_setorial_distribuido)); saldo = valor_da_cota - valor_setorial_distribuido - valor_distribuido_da_docc; if (saldo < 0) { $('.saldo').html("(" + formataQuantidade(saldo).toString().replace('-', '') + ")"); $('.saldo').css("color", "red"); $('.aviso_inferior').css("visibility", "visible"); } else { $('.saldo').html("R$" + formataQuantidade( saldo )); $('.saldo').css("color", "inherit"); $('.aviso_inferior').css("visibility", "hidden"); } }); $(document).on('submit', function(event) { LoadingInterface("Aguarde..."); }); });