/ = stylesheet_link_tag "gestao_de_estoque/consumos/tabela" / = javascript_include_tag 'gestao_de_estoque/consumos/itens_do_consumo' ol.breadcrumb li = link_to "#{@escola.nome}", gestao_de_estoque_consumo_path(@consumo), class: "link_breadcrumb" .widget .widget-body = simple_form_for( @consumo, url: gestao_de_estoque_atualizar_itens_por_escola_path(@consumo, @escola.id), method: :patch) do |f| = f.error_notification = f.error_notification message: f.object.errors.full_messages.join(', ') if f.object.errors.present? = hidden_field_tag :data_de_consumo, @consumo.data_de_consumo, id:"data_de_consumo" .form-group legend strong = @consumo.new_record? ? 'Cadastrar' : 'Editar' ' Itens da Escola = f.fields_for :escolas_por_consumo, @consumo.escolas_por_consumo do |escola_por_consumo| .nested-fields .panel.panel-default .panel-heading #{escola_por_consumo.object.escola.nome} .panel-body .div .row .col-md-12 div table.table.table-bordered.table-hover.table-responsive thead tr th.text-left style="width: 60%" Item th.text-left style="width: 10%" Unid. Medida th.text-center style="width: 10%" Quantidade Disponível th.text-center style="width: 10%" Quantidade th style="width: 10%" tbody#itens_do_consumo_por_escola_e_programas = escola_por_consumo.fields_for :itens_do_consumo_por_escola_e_programas, escola_por_consumo.object.itens_do_consumo_por_escola_e_programas do |item_do_consumo_por_escola_e_programa| = render 'item_do_consumo_por_escola_e_programas_fields', f: item_do_consumo_por_escola_e_programa tfoot tr td colspan="4" = link_to_add_association ' Adicionar'.html_safe, f, :itens_do_consumo_por_escola_e_programas, :"data-association-insertion-node" => "tbody#itens_do_consumo_por_escola_e_programas", :"data-association-insertion-method" => "append", class: 'btn btn-primary btn-sm', id: 'btn-add-itens-do-consumo-por-escola-e-programas' .form-group h6 ' (*) Campos Obrigatórios .form-actions .row .col-sm-12 = f.submit "Salvar", class: "btn btn-primary" = link_to "Cancelar", gestao_de_estoque_consumo_path(@consumo), class: "btn btn-default" - content_for :js do javascript: $(function(){ iniciaTela(); $('form').on('cocoon:after-insert', function(e, insertedItem) { $('select.s2', insertedItem).select2(); $('select.s2').on('select2:select', function (evt) { $(this).focus(); }); }); $('form').on('cocoon:before-remove', function(e, removedItem){ $('input[data-autonumeric]', removedItem).val('0'); $('input[type="hidden"][id$="_val"]', removedItem).val('0'); }); $(document).on('change', '.item', function(event){ var linha = this.closest(".referencia") var itemId = $(".item", linha).val() var data = $("#data_de_consumo").val() if(itemId != "" && itemId != undefined){ $.getJSON(root_url + "gestao_de_estoque/estoques/" + itemId + ".json?data=" + data, function(dados) { console.log(dados.unidade_de_medida_descricao) $(".unidade_de_medida" , linha).text(dados.unidade_de_medida_descricao) $(".quantidade_disponivel", linha).val(dados.quantidade_total_por_data) }) } }) $(document).on('click', '#setor', function(event){ var linha = this.closest(".referencia") var itemId = $(".item_do_consumo", linha).val() $.getJSON(root_url + "gestao_de_estoque/estoques/" + itemId, function(dados){ $(".texto_item", linha).text(dados.descricao_item) }) total = (parseFloat($("#quantidade", linha).val() || 0 )) - (parseFloat($("#qtd_setor", linha).val() || 0 )) $(".quantidade_disponivel_por_setor", linha).val(total) }) $(document).on('change', '#quantidade', function(event){ calcular_total_resultante(this) }) $(document).on('change', '#qtd_setor', function(event){ calcular_total_resultante(this) }) }); function calcular_total_resultante(objeto){ var linha = $(objeto).closest(".referencia"); var qtd = $('#quantidade', linha).val() if (qtd != ''){ total = (parseFloat($("#quantidade", linha).val() || 0 )) - (parseFloat($("#qtd_setor", linha).val() || 0 )) $(".quantidade_disponivel_por_setor", linha).val(total) } } function iniciaTela(){ $(".referencia").each(function(){ var linha = $(this).closest(".referencia"); var itemId = $('.item', linha).val() console.log(itemId) if (itemId != '' && itemId != undefined){ $.getJSON(root_url + "gestao_de_estoque/estoques/" + itemId, function(dados) { $(".unidade_de_medida" , linha).text(dados.unidade_de_medida_descricao) $(".quantidade_disponivel" , linha).val(dados.quantidade_total_saldo) }) $('select.s2').select2(); }else{ $(".quantidade_disponivel" , linha).val(0); $(".quantidade" , linha).val(0); } }); }