- if @empenho.new_record? - metodo = :post - acao = 'create' - else - metodo = :patch - acao = 'atualiza_subconta_do_empenho' = form_for( @empenho, url: url_for( controller: 'empenhos', action: acao ), method: metodo, html: { class: "form-vertical" }, role: "form" ) do |f| fieldset legend strong = @empenho.new_record? ? 'Cadastrar' : 'Atualizar e Confirmar' ' Subconta PCASP do Empenho .form-group .row .col-sm-6 = f.label :sub_conta_pcasp_id, "Sub Conta do PCASP*", class: "control-label" = f.select :sub_conta_pcasp_id, options_from_collection_for_select(@sub_contas, :id, :codigo_e_descricao, f.object.sub_conta_pcasp_id), { include_blank: 'Selecione' }, class: 'form-control s2', id:"sub_conta_pcasp" = error_for @empenho, :sub_conta_pcasp_id .col-sm-6 //Esse campo vai aparecer com as contas e setar a ultima movimentação do plano de contas feita com aquela conta //pois a principio o sistema tinah sido feito com essas movimentações, mas estava complicado pros usuarios fazer a conexão //foi mudado só a visualização do usuario a respeito do campo, mas internamente é a mesma ligação com movimentação do planod e contas = f.label :movimentacao_do_plano_de_contas_id, "Conta PCASP Passivo*", class: "control-label" = f.select :movimentacao_do_plano_de_contas_id, options_from_collection_for_select(@movimentacoes_do_plano_de_contas, :id, :conta_pcasp_passivo, f.object.movimentacao_do_plano_de_contas_id), { include_blank: 'Selecione' }, class: 'form-control s2', id:"movimentacoes_do_plano_de_contas" = error_for @empenho, :movimentacao_do_plano_de_contas_id = f.hidden_field :empenho_id, id: "empenho_id", value: @empenho.id = f.hidden_field :elemento_de_despesa_por_subacao, id:"elemento_de_despesa_por_subacao", value: @empenho.elemento_de_despesa_por_subacao.elemento_de_despesa.codigo = f.hidden_field :subacao_id, id:"subacao_id", value: @empenho.elemento_de_despesa_por_subacao.subacao.id .form-group h6 ' (*) Campos Obrigatórios - if @empenho.confirmado? || @empenho.anulado? h6 style="color: red" Empenho está confirmado/anulado e não pode ser alterado. .form-actions .row .col-sm-12 - unless @empenho.empenho_de_obra_e_falta_dados? || @empenho.confirmado? || @empenho.anulado? = f.submit "Salvar", class: "btn btn-primary" = link_to "Cancelar", empenho_path(@empenho), class: "btn btn-default" - content_for :js do javascript: $(function(){ $("#sub_conta_pcasp").on("change", function () { limpaSelectBox('#movimentacoes_do_plano_de_contas') if ($("#sub_conta_pcasp").val() != '') { pesquisa_lancamentos_de_precatorio_ou_obrigacoes() } }) function pesquisa_lancamentos_de_precatorio_ou_obrigacoes() { $.getJSON(urlMovimentacaoDePrecatorioOuObrigacoes(), function (data) { $.each(data, function (i, item) { option = new Option(item.conta_pcasp_passivo, item.id, true, true); select_box.append(option); }); }); }; function urlMovimentacaoDePrecatorioOuObrigacoes() { elementos_precatorios = ['67', '91'] elementos_obrigacoes = ['71', '72', '73', '74', '75', '76', '77'] if (elementos_precatorios.includes($("#elemento_de_despesa_por_subacao").val().substring(4, 6))) { var lancamento_manual = 'q%5Blancamento_manual_eq%5D=3&q%5Bcodigo_da_conta_start%5D=21&busca_movimentacoes_do_orcamento=true'; } else if (elementos_obrigacoes.includes($("#elemento_de_despesa_por_subacao").val().substring(4, 6))) { var lancamento_manual = 'q%5Blancamento_manual_in%5D%5B%5D=9&q%5Blancamento_manual_in%5D%5B%5D=7&q%5Bcodigo_da_conta_start%5D=21&q%5Blancamento_manual_in%5D%5B%5D=999&busca_movimentacoes_do_orcamento=true'; }else{ var lancamento_manual = '' } var subacao = $('#subacao_id').val(); var url = `${root_url}contabilidade/movimentacoes_do_plano_de_contas/` var queryParams = `/?${lancamento_manual}&q%5Bsub_conta_pcasp_id_eq%5D=${$('#sub_conta_pcasp').val()}&subacao_id=${subacao}`; return `${url}${queryParams}` }; function populaSelectBox(select_box){ select_box.prepend(new Option('Selecione', '', true, true)); select_box.trigger('change'); } function limpaSelectBox(id){ $(id).empty().trigger('change') select_box = $(id).select2({ placeholder: "Selecione", allowClear: true }) return(select_box); } });