ol.breadcrumb li = link_to "Requisições Patrimoniais", patrimonio_requisicao_patrimonial_path(@requisicao_patrimonial), class: "link_breadcrumb" li.active Itens da Requisição .widget .widget-body = simple_form_for(@requisicao_patrimonial, url: patrimonio_atualiza_itens_da_requisicao_path(@requisicao_patrimonial), html: { class: "form-vertical" }) do |f| = f.error_notification message: f.object.errors.messages.values.join(" ") if f.object.errors.messages.present? fieldset legend strong ' Editar Itens da Requisição .row .col-sm-12 .alert.alert-warning.alerta_texto Atenção - É necessário digitar para pesquisar pelos itens .hidden#unidade_gestora_id = @requisicao_patrimonial.unidade_gestora_id .hidden#centro_de_custo_id = @requisicao_patrimonial.centro_de_custo_id .hidden#por_lote = @requisicao_patrimonial.tipo == "por_lote" ? 1 : 0 .table-responsive table.table.table-bordered.table-hover thead tr - if @requisicao_patrimonial.por_tombamento? th width="40%" Tombamento - else th width="30%" Item th.center width="14%" Quantidade Disponível th.center width="14%" Quantidade Solicitada th.center width="14%" Centro De Custo Destino th.center width="8%" Opções tbody#itens_da_requisicao_patrimonial = f.fields_for :itens_da_requisicao_patrimonial, @requisicao_patrimonial.itens_da_requisicao_patrimonial do |item_da_requisicao| = render 'item_da_requisicao_patrimonial_fields', f: item_da_requisicao tfoot tr td = link_to_add_association ' Adicionar'.html_safe, f, :itens_da_requisicao_patrimonial, :"data-association-insertion-node" => "tbody#itens_da_requisicao_patrimonial",:"data-association-insertion-method" => "append", class: 'btn btn-primary btn-sm', id: 'btn-add-item-da-requisicao' .form-group h6 ' (*) Campos Obrigatórios .form-actions .row .col-sm-12 = f.submit "Salvar", class: "btn btn-primary" = link_to "Cancelar", patrimonio_requisicao_patrimonial_path(@requisicao_patrimonial), class: "btn btn-default" javascript: $(document).ready(function() { iniciaBuscas(); $('.dado_anterior').each(function() { try { dados = JSON.parse($(this).text()); select_mais_proximo = $(this).siblings('select').first(); if (select_mais_proximo.length === 0) { select_mais_proximo = $(this).parent().find('select').first(); } select_mais_proximo.append(new Option(dados.text, dados.id, true, true)); select_mais_proximo.trigger('change'); } catch (e) {} }); $('form').on('cocoon:after-insert', iniciaBuscas); $('form').on('cocoon:before-remove', function (e, removedItem) { $('input[data-autonumeric]', removedItem).val('0'); $('input[type="hidden"][id$="_item_id"]', removedItem).val('0'); }); }); function buscaItemId() { var id = $(this).val() var linha = $(this).closest(".tombamento") if (id != undefined && id != '') { $.getJSON(root_url + "patrimonio/bens_patrimoniais/" + id + ".json", function (dados) { $(".item_bem_patrimonial", linha).val(dados.item_id); }) }else{ $(".item_bem_patrimonial", linha).val(""); }; } function buscaQuantidadePorItemId() { var id = $(this).val() var linha = $(this).closest('tr') if ($(this).val() != undefined && $(this).val() != '') { $.ajax({ dataType: "json", url: `${root_url}base/itens/${id}.json`, data: { unidade_gestora: $("#unid_origem").val(), centro_de_custos: $("#centro_origem").val() }, beforeSend: function () { LoadingInterface("Aguarde...") }, success: function(data) { $(".quantidade_disponivel", linha).val(data.quantidade_de_bens); }, error: function (xhr, ajaxOptions, thrownError) { console.log(xhr.status); console.log(thrownError); }, }); } else { $(".quantidade_disponivel", linha).val(''); }; } function teste(){ var linha = $(this).closest('tr') var quantidade = parseFloat($(this).val() || 0 ); var item_id = $('.item', linha).val() var clique = $('#btn-add-item-da-requisicao') for(i = 0; i < quantidade; i++) { clique.click(); } } function iniciaBuscas() { $('select.s2.bem_patrimonial, select.s2.item').select2({ ajax: { url: `${root_url}pesquisas/itens_patrimonio`, dataType: 'json', delay: 500, data: function(params) { return { item_ou_tombamento: params.term, page: params.page || 1, por_lote: $("#por_lote").text(), unidade_gestora_id: $("#unidade_gestora_id").text(), centro_de_custo_id: $("#centro_de_custo_id").text(), }; }, processResults: function(data) { return { results: data.results, pagination: { more: data.pagination.more } }; }, cache: true }, placeholder: 'Selecione', minimumInputLength: 0, language: { errorLoading: function () { return "Carregando..."; } } }); $('.bem_patrimonial').change(buscaItemId); $('.item').change(buscaQuantidadePorItemId); // $('.quantidade_solicitada').change(teste); } 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'); }