= 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();
}
};