.alert.alert-warning[role="alert" id="alert-content" style="display: none;"] span#alert-message = form_for( @comissao, html: { class: "form-vertical" }, role: "form" ) do |f| fieldset legend strong = @comissao.new_record? ? 'Cadastrar' : 'Editar' ' comissão .form-group = f.hidden_field :orcamento_id, value: @comissao.orcamento_id .row - if @comissao.persisted? .col-sm-2 = f.label :numero, "Número", class: "control-label" p.form-control-static = @comissao.numero .col-sm-4 = f.label "Unidade Gestora*", class: "control-label" = f.select :unidade_gestora_id, options_from_collection_for_select( \ @unidades_gestoras, :id, :codigo_e_nome, @comissao.try(:unidade_gestora_id) \ ), { include_blank: "Selecione" }, class: "form-control s2", data: {value: @comissao.try(:unidade_gestora_id)} = error_for @comissao, :unidade_gestora_id .form-group .row .col-sm-3 = f.label "CEP", class: "control-label" = f.text_field :cep, class: "form-control cep" .col-sm-3 = f.label "Rua", class: "control-label" = f.text_field :rua, class: "form-control rua" .col-sm-3 = f.label "Bairro", class: "control-label" = f.text_field :bairro, class: "form-control bairro" .col-sm-3 = f.label "Número da rua", class: "control-label" = f.text_field :numero_da_rua, class: "form-control numero_da_rua" .form-group .row .col-sm-3 = f.label "Estado", class: "control-label" = f.select :estado_id, options_from_collection_for_select(::Base::Estado.all, :id, :codigo_uf, @comissao.estado_id), {include_blank: 'Selecione'}, class: 'form-control s2 estado' .col-sm-3 = f.label "Cidade", class: "control-label" = f.select :cidade_id, options_from_collection_for_select(@cidades, :id, :nome, @comissao.cidade_id), {include_blank: 'Selecione'}, class: "form-control s2 cidade" .col-sm-3 = f.label :data, "Data de Criação", class: "control-label" = f.calendar_field :data_de_criacao = error_for @comissao, :data_de_criacao .form-group .row .col-sm-3 = f.label "Nome da Comissão*", class: "control-label" = f.text_field :nome, class: "form-control" = error_for @comissao, :nome .col-sm-3 = f.label "Número da Portaria*", class: "control-label" = f.text_field :numero_da_portaria, class: "form-control" = error_for @comissao, :numero_da_portaria .col-sm-3 = f.label :data, "Data da Portaria", class: "control-label" = f.calendar_field :data_da_portaria = error_for @comissao, :data_da_portaria .col-sm-3 = f.label "Tipo de Comissão*", class: "control-label", for: "normal-field" = f.select :tipo_de_comissao, options_for_select(\ @tipos_de_comissoes.collect { |t| [ Licitacao::Comissao.localizar("tipo_de_comissao", t[0]), t[0]]}, \ @comissao.try(:tipo_de_comissao)\ ), {include_blank: "Selecione"}, class: 'form-control s2', data: { value: @comissao.try(:tipo_de_comissao) } = error_for @comissao, :tipo_de_comissao .form-group h6 ' (*) Campos Obrigatórios .form-actions .row .col-sm-12 = f.submit "Salvar", class: "btn btn-primary" = link_to "Cancelar", licitacao_comissoes_path, class: "btn btn-default" javascript: $(".cep").on('change', function(){ var cep = $(this).val(); $.getJSON(`https://viacep.com.br/ws/${cep}/json`, function(data){ $('.rua').val(data.logradouro); $('.bairro').val(data.bairro); $('.numero_da_rua').val(data.numero) var estado = $(".estado option").filter(function(){ return $(this).text() == data.uf }) estado.prop('selected', true); estado.change(); window.localidade = data.localidade }) }) $(".estado").on("change", function(){ limpaSelectBox(".cidade"); $.ajax({ type: "GET", url:`${root_url}/pesquisas/${$(this).val()}/cidade_por_estado`, beforeSend: function(){ LoadingInterface("Carregando Liquidações...") }, success: function(data, status, xhr){ if($.trim(data) != ""){ $.each(data, function (i, item) { option = new Option(item.nome, item.id, true, true); select_box.append(option); }); populaSelectBox(select_box); } var cidade = $(".cidade option").filter(function(){ return $(this).text() == window.localidade }) cidade.prop('selected', true); cidade.change(); } }) }) function limpaSelectBox(id){ $(id).empty().trigger('change') select_box = $(id).select2({ placeholder: "Selecione", allowClear: true }) return(select_box); } function populaSelectBox(select_box){ select_box.prepend(new Option('Selecione', '', true, true)); select_box.trigger('change'); }