= simple_form_for(@cancelamento_de_resto_a_pagar) do |f| = f.error_notification = f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? fieldset legend strong = @cancelamento_de_resto_a_pagar.new_record? ? 'Cadastrar' : 'Editar' ' Cancelamento de Restos a Pagar .form-group .row .col-sm-4 = f.input :data, label: "Data do Cancelamento", as: :string, wrapper: :calendar_field, input_html: { class: 'date-picker', autocomplete: false } .col-sm-4 = f.input :decreto, label: "Decreto" .form-group .row - if @cancelamento_de_resto_a_pagar.persisted? .col-sm-3 p Restos a Pagar: ==< f.object.tipo_i18n .col-sm-3 p Motivo: ==< f.object.motivo_i18n .col-sm-3 p Unidade Orçamentária: ==< f.object.unidade_orcamentaria.codigo_e_nome - else .col-sm-12 .alert.alert-info.alert-sm span.fw-bold Informações! p ==< "Para o Restos a Pagar do tipo Processado os motivos devem ser 1. Por Valores e/ou Inscrições Indevidas ou 2. Outros Cancelamentos".html_safe p ==< "Para o Restos a Pagar do tipo Não Processado os motivos devem ser 1. Insuficiência de Saldo Financeiro ou 2. Outros Cancelamentos".html_safe .col-sm-3 = f.input :tipo, label: "Restos a Pagar", collection: @tipos_do_cancelamento, value_method: :second, label_method: :first, include_blank: 'Selecione', input_html: { class: 'form-control s2', id: 'tipo_de_restos_a_pagar' } .col-sm-3 = f.input :motivo, label: "Motivo", collection: @motivos_do_cancelamento, include_blank: 'Selecione', input_html: { class: 'form-control s2' } .col-sm-3 = f.input :unidade_orcamentaria_id, label: "Unidade Orçamentária", collection: @unidades_orcamentarias, label_method: :codigo_e_nome, include_blank: 'Selecione', input_html: { class: 'form-control s2', id: 'unidade_orcamentaria' } span.help-block ' Selecione uma unidade orçamentária para filtrar os empenhos. .col-sm-3 = f.input :orcamento_dos_empenhos_id, label: 'Orcamento', collection: @orcamentos, label_method: :exercicio, include_blank: 'Selecione', input_html: { class: 'form-control s2', id: 'orcamento_dos_empenhos' } span.help-block ' Selecione um orcamento para filtrar os empenhos. .form-group - if !@cancelamento_de_resto_a_pagar.persisted? .row .col-sm-4 = f.input :classificacao, label: "Classificação", collection: @classificacoes_do_cancelamento, value_method: :second, label_method: :first, include_blank: 'Selecione', input_html: { class: 'form-control s2', id: 'classificacao' } .col-sm-6#valores_intervalo_de_valor = f.label :valor_minimo, "Intervalo de Valor Mínimo e Máximo", class: "control-label", for: "normal-field" .input-group = f.monetary_field :valor_minimo, id:'valor_minimo', class: 'form-control' span.input-group-addon .input-group-text a = f.monetary_field :valor_maximo, id:'valor_maximo', class: 'form-control' = error_for f.object, :valor_maximo, :valor_minimo span.help-block ' Selecione um intervalo de valores para filtrar os empenhos de restos a pagar. .col-sm-6#fontes_de_recursos = f.input :fonte_de_recurso_id, label: "Fonte de Recursos", collection: @fontes_de_recursos, label_method: :codigo_completo_e_descricao, include_blank: 'Selecione', input_html: { class_name: 'form-control s2', id: 'fonte_de_recurso_id' } span.help-block ' Selecione uma fonte para filtrar os empenhos de resto a pagar. .col-sm-5#fornecedores = f.input :fornecedor_id, label: "Fornecedor", collection: @fornecedores, label_method: :nome_e_cpf_ou_cnpj, include_blank: 'Selecione', input_html: { class: 'form-control s2' } span.help-block ' Selecione um fornecedor para filtrar os empenhos de resto a pagar. .div = f.button :button, type: 'submit', name: 'adicionar_todos', value: 'true', class: "btn btn-primary" i.icone-detalhar span.text Buscar Empenhos - if @empenhos.present? .form-group .row .col-sm-12 fieldset legend strong ' Restos a Pagar .table-responsive table.table.table-bordered.table-hover thead tr th width="70%" Restos a Pagar th Saldo th style="text-align: center;" Opções tbody#restos_a_pagar_cancelados = f.fields_for :restos_a_pagar_cancelados do |resto_a_pagar| = render 'resto_a_pagar_cancelado_fields', f: resto_a_pagar tfoot tr td.links colspan="3" align="right" ==< link_to_add_association ' Adicionar'.html_safe, f, :restos_a_pagar_cancelados, :"data-association-insertion-node" => "tbody#restos_a_pagar_cancelados", :"data-association-insertion-method" => "append", class: 'btn btn-primary btn-sm' .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, class: "btn btn-default" - content_for :js do javascript: $(document).ready(function() { ShowOrHideBasedOnClassificacao(); }); $('form').on('cocoon:after-insert', function(e, insertedItem) { $('select.s2').select2(); $('.empenho_id').on("change", function(){ var empenho = $(this).val() var linha = $(this).closest("tr"); if ($('.empenho_id').val() != "") { $.getJSON(ROOT_PATH + "empenhos/" + empenho + "/retorna_dados_do_empenho.json", function(data) { if ($("#tipo_de_restos_a_pagar").val() == "processado" || "#{@cancelamento_de_resto_a_pagar.tipo rescue nil}" == "processado"){ $('.saldo_original', linha).val(data.saldo_atual_processado); } else if ($("#tipo_de_restos_a_pagar").val() == 'nao_processado' || "#{@cancelamento_de_resto_a_pagar.tipo rescue nil}" == "nao_processado"){ $('.saldo_original', linha).val(data.saldo_atual_nao_processado_a_liquidar); } }); } }); }); $("#classificacao").change(function() { ShowOrHideBasedOnClassificacao(); $("#fonte_de_recurso_id").select2(); $(".select2-container").width("100%"); }); $("#orcamento_dos_empenhos").change(function() { var fontes = $("#fonte_de_recurso_id") if ($("#orcamento_dos_empenhos").val() != "") { $.getJSON(ROOT_PATH + "pesquisas/" + $("#orcamento_dos_empenhos").val() + "/fontes_de_recursos_por_orcamento.json", function(dados) { $.each(dados, function (key, entry) { fontes.append($('').attr('value', entry.id).text(entry.codigo_e_descricao)); }); fontes.trigger("change"); }); } }); function ShowOrHideBasedOnClassificacao(){ $("#valores_intervalo_de_valor").hide(); $("#fontes_de_recursos").hide(); $("#fornecedores").hide(); if ($("#classificacao").val() == "intervalo_de_valor") { $("#valores_intervalo_de_valor").show(); } else if ($("#classificacao").val() == "fonte_de_recurso") { $("#fontes_de_recursos").show(); } else if ($("#classificacao").val() == "fornecedor") { $("#fornecedores").show(); } };