= javascript_include_tag 'administrativo/requisicoes_de_materiais/form_outras_saidas' = simple_form_for(@requisicao_de_material) do |f| = f.input :avulsa, as: :hidden, input_html: { value: false } = f.input :tipo_de_solicitacao, as: :hidden, input_html: { value: "solicitacao_requisicao" } fieldset legend strong = @requisicao_de_material.new_record? ? 'Cadastrar' : 'Editar' ' Outras Saída .form-group .row .col-sm-3 = f.label :data_da_requisicao, "Data de Transferência*", class: "control-label" = f.calendar_field :data_da_requisicao = error_for @requisicao_de_material, :data_da_requisicao .col-sm-3 = f.input :classificacao, label: "Classificação", collection: Administrativo::RequisicaoDeMaterial.classificacoes_i18n.reject { |k| k =="transferencia" || k == "remoto" }, include_blank: "Selecione", value_method: :second, label_method: :first, input_html: {class: "s2", id: "classificacao" } .col-sm-4 = f.input :responsavel_id, label: "Responsável", collection: @agentes, label_method: :cpf_e_nome, include_blank: "Selecione", input_html: {class: "s2"} .form-group fieldset legend strong Dados da Origem .row .col-sm-4 - if f.object.possui_recebimento_de_material? = f.input :unidade_orcamentaria_id, label: "Unidade Orçamentária", collection: @unidades_orcamentarias, label_method: :codigo_e_nome_e_exercicio, include_blank: "Selecione", disabled: true, input_html: { class: "s2" } = f.input :unidade_orcamentaria_id, as: :hidden, input_html: { value: f.object.try.unidade_orcamentaria_id } - else = f.input :unidade_orcamentaria_id, label: "Unidade Orçamentária", collection: @unidades_orcamentarias, label_method: :codigo_e_nome_e_exercicio, include_blank: "Selecione", input_html: { class: "s2", id:"unidade_orcamentaria" } .col-sm-4 - if f.object.possui_recebimento_de_material? = f.input :almoxarifado_id, label: "Almoxarifado Origem", collection: @almoxarifados, label_method: :codigo_e_nome, include_blank: "Selecione", disabled: true, input_html: { class: "s2", id:"almoxarifado" } = f.input :almoxarifado_id, as: :hidden, input_html: { value: f.object.try.almoxarifado_id } - else = f.input :almoxarifado_id, label: "Almoxarifado Origem", collection: @almoxarifados, label_method: :codigo_e_nome, include_blank: "Selecione", input_html: { class: "s2", id:"almoxarifado" } .col-sm-4 - if f.object.possui_recebimento_de_material? = f.input :almoxarifado_destino_id, label: "Almoxarifado Destino", collection: @almoxarifados, label_method: :codigo_e_nome, include_blank: "Selecione", disabled: true, input_html: { class: "s2", id:"almoxarifado_destino" } = f.input :almoxarifado_destino_id, as: :hidden, input_html: { value: f.object.try.almoxarifado_destino_id } - else = f.input :almoxarifado_destino_id, label: "Almoxarifado Destino", collection: @almoxarifados, label_method: :codigo_e_nome, include_blank: "Selecione", input_html: { class: "s2", id:"almoxarifado_destino" } = error_for @requisicao_de_material, :base_detalhamento #tabela_detalhamentos table.table.table-bordered.table-hover.table-responsive thead tr th.text-center width="30%" Tipo de Material th.text-center width="30%" Detalhamento th.text-center width="30%" Classificação th width="10%" tbody#detalhamentos_da_requisicao_de_material = f.fields_for :detalhamentos_da_requisicao_de_material, @requisicao_de_material.detalhamentos_da_requisicao_de_material do |detalhamento_da_requisicao| = render 'detalhamento_da_requisicao_de_material_fields', f: detalhamento_da_requisicao tfoot tr td.text-right colspan="4" = link_to_add_association ' Adicionar'.html_safe, f, :detalhamentos_da_requisicao_de_material, :"data-association-insertion-node" => "tbody#detalhamentos_da_requisicao_de_material", :"data-association-insertion-method" => "append", class: 'btn btn-primary btn-sm', id: 'btn-add-detalhamentos-da-requisicao_de_material' #section_beneficiado style="display: none;" legend strong ' Dados do Beneficiado .form-group .row .col-sm-8#beneficiado = f.label "Beneficiado*", class: "control-label" = popup_pesquisa_pessoa_com_id_button id: "busca_beneficiado", module: "administrativo_requisicao_de_material", field: "beneficiado_id", url: pesquisa_base_pessoas_path, show_value: @requisicao_de_material.beneficiado.try(:cpf_ou_cnpj_e_nome), hidden_value: @requisicao_de_material.beneficiado_id, title: "Pesquisar Beneficiado" = error_for @requisicao_de_material, :beneficiado_id #section_fornecedor style="display: none;" legend strong ' Dados do Fornecedor .form-group .row .col-sm-8#fornecedor = f.label "Fornecedor*", class: "control-label" = popup_pesquisa_pessoa_com_id_button id: "busca_fornecedor", module: "administrativo_requisicao_de_material", field: "fornecedor_id", url: pesquisa_base_pessoas_path, show_value: @requisicao_de_material.fornecedor.try(:cpf_ou_cnpj_e_nome), hidden_value: @requisicao_de_material.fornecedor_id, title: "Pesquisar Fornecedor" = error_for @requisicao_de_material, :fornecedor_id .form-group .row .col-sm-12 = f.input :historico, label: "Histórico", input_html: { id: "observacoes", cols: 10, rows: 5 } .form-group h6 ' (*) Campos Obrigatórios .form-actions .row .col-sm-12 - if @requisicao_de_material.new_record? = f.submit 'Salvar e ir para itens' , name: "ir_para_itens", value: "Salvar e ir para itens", class: "btn btn-success" = link_to "Cancelar", administrativo_requisicoes_de_materiais_path, class: "btn btn-default" - else = f.submit "Salvar", class: "btn btn-primary" = link_to "Cancelar", administrativo_requisicao_de_material_path(@requisicao_de_material), class: "btn btn-default" = popup_pesquisa_pessoa title: "Pesquisa Pessoa" - content_for :js do javascript: $(function(){ $('form').on('cocoon:after-insert', function(e, insertedItem) { $('select.s2', insertedItem).select2() $('select.s2').on('select2:select', function (evt) { $(this).focus() }) var linha = $(insertedItem).closest('tr'); $('.classificacao_do_detalhamento', linha).hide(); }) $('.nested-fields').each(function(){ var linha = $(this); var tipoDeMaterial = $('.tipo_de_material', linha).val(); var classificacao = $('.classificacao_do_detalhamento', linha); if(tipoDeMaterial == 'consumo_distribuicao_gratuita'){ $('.classificacao_do_detalhamento', linha).show(); }else{ $('.classificacao_do_detalhamento', linha).hide(); } }) }) $("body").on("change",".tipo_de_material", function(){ exibeClassificacaoDoDetalhamento($(this)); const linha = $(this).closest('tr') var url = root_url + "/pesquisas/" + $(this).val() + "/filtra_por_tipo_de_material" limpaSelectBox($("#sub_elemento_de_despesa", linha)); $.ajax({ url: url, type: 'GET', beforeSend: function() { LoadingInterface("Aguarde...") }, success: function(data,status,xhr){ if ($.trim(data) != ""){ $.each(data, function (i, item) { option = new Option(item.codigo_e_descricao, item.id, true, true); select_box.append(option); }); populaSelectBox(select_box); } } }) }) function exibeClassificacaoDoDetalhamento(tipoDeMaterial){ var linha = tipoDeMaterial.closest('tr'); if(tipoDeMaterial.val() == 'consumo_distribuicao_gratuita'){ $('.classificacao_do_detalhamento', linha).show(); }else{ $('.classificacao_do_detalhamento', linha).hide(); } } 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'); }