= javascript_include_tag 'loa/orcamentos_da_despesa/busca_dotacao' .form-group .row .col-sm-6 = f.label :subacao_id, "Ação*", class: "control-label" = f.select :subacao_id, options_from_collection_for_select( \ subacoes, :id, :acao_iniciativa, objeto.try(:subacao_id) \ ), { include_blank: "Selecione" }, class: "form-control s2", data: { value: objeto.try(:subacao_id) }, id: 'subacao_id' = error_for objeto, :subacao_id span.text-danger id="erro_movimentacao" style="#{'display: none;'}" p.form-control-static.erro_movimentacao .col-sm-6 = f.label :elemento_de_despesa_por_subacao_id, "Elemento de Despesa*", class: "control-label" = f.select :elemento_de_despesa_por_subacao_id, options_from_collection_for_select( \ elementos_de_despesa_por_subacao, :id, :codigo_e_descricao_elemento, objeto.try(:elemento_de_despesa_por_subacao_id) \ ), { include_blank: "Selecione uma ação" }, class: "form-control s2", data: { value: objeto.try(:elemento_de_despesa_por_subacao_id) }, id: 'elemento_de_despesa_por_subacao_id' = error_for objeto, :elemento_de_despesa_por_subacao_id .div_link_diaria p a.link_diaria target="_blank" Cadastrar Diária .form-group .row - unless session[:modulo] == 'alteracao_orcamentaria' .col-sm-6 = f.label :sub_elemento_de_despesa_id, "Sub Elemento de Despesa*", class: "control-label" = f.select :sub_elemento_de_despesa_id, options_from_collection_for_select( \ sub_elementos_de_despesa, :id, :codigo_e_descricao, objeto.try(:sub_elemento_de_despesa_id) \ ), { include_blank: "Selecione um elemento de despesa" }, class: "form-control s2", data: { value: objeto.try(:sub_elemento_de_despesa_id) }, id: 'sub_elemento_de_despesa_id' = error_for objeto, :sub_elemento_de_despesa_id - if @acao.nil? .col-sm-6 = f.label :fonte, "Fonte de Recurso*", class: "control-label" = f.select :orcamento_da_despesa_id, options_from_collection_for_select( \ orcamentos_da_despesa, :id, :codigo_e_descricao_fonte, objeto.orcamento_da_despesa_id \ ), { include_blank: "Selecione um elemento de despesa" }, class: "form-control s2", data: { value: objeto.orcamento_da_despesa_id }, id: 'orcamento_da_despesa_id' = error_for objeto, :orcamento_da_despesa_id .form-group .row#aviso_de_subelemento_nao_presente_no_contrato style="display: none;" .col-md-6 .alert.alert-danger.alert-sm span.fw-bold Atenção! ' O sub elemento selecionado não está presente no contrato - content_for :js do javascript: $(document).ready(function(){ let contrato_id = null $("select#licitacao_contrato_id").change(function () { contrato_id = $("select#licitacao_contrato_id").val() if (contrato_id != null && contrato_id != ""){ let sub_elementos_presentes_no_contrato = [] $.getJSON(ROOT_PATH + "contabilidade/contratos/" + contrato_id + ".json", function(dados) { $.each(dados, function(i, dotacoes_ativas_do_contrato) { if (dotacoes_ativas_do_contrato != "" && dotacoes_ativas_do_contrato != undefined){ sub_elementos_presentes_no_contrato.push(dotacoes_ativas_do_contrato.codigo_completo); } }); }); $("select#sub_elemento_de_despesa_id").change(function () { let sub_elemento_id = $("select#sub_elemento_de_despesa_id").val() if (sub_elemento_id != null && sub_elemento_id != ""){ $.ajax({ method: 'GET', url:root_url + 'pesquisas/' + sub_elemento_id + `/sub_elemento_de_despesas_filtrado?sub_elemento_de_despesas_id=${sub_elemento_id}`, dataType: 'json', success: function(data){ if (sub_elementos_presentes_no_contrato.includes(String(data))){ $('#aviso_de_subelemento_nao_presente_no_contrato').hide(); } else { $('#aviso_de_subelemento_nao_presente_no_contrato').show(); } }, error: function (xhr, ajaxOptions, thrownError) { console.log(xhr.status); console.log(thrownError) } }) } }) } }); })