.modal.fade.bs-example id="#{relatorio}" tabindex='-1' role='dialog' aria-labelledby="Filtros" aria-hidden='true' .modal-dialog .modal-content .modal-header button.close type='button' data-dismiss='modal' span aria-hidden='true' × span.sr-only Close h4.modal-title = "Filtros" .modal-body = form_tag path, target: '_blank', id: "form-filtros", method: :get do - if form_inputs.any? {|f| f[:tipo] == 'modal_size'} .form-group .row - form_inputs.each do |form_input| - if form_input[:tipo] == "number_field" .col-sm-2 style="margin-bottom: 10px;" = label_tag "#{form_input[:tag]}", "#{form_input[:nome]}", class: "control-label" = number_field_tag "#{form_input[:tag]}", "", class: "form-control percentual", min:"#{form_input[:min]}", max:"#{form_input[:max]}" - elsif form_input[:tipo] == 'select' .col-sm-12 style="margin-bottom: 10px;" = label_tag "#{form_input[:tag]}", "#{form_input[:nome]}", class: "control-label" = select_tag "#{form_input[:tag]}", options_from_collection_for_select( form_input[:valores], form_input[:id], form_input[:descricao]), include_blank: '', class: 'form-control' - elsif form_input[:tipo] == 'message' .col-sm-12 style="margin-bottom: 10px;" .div * #{form_input[:message]} - else - form_inputs.each do |form_input| - if form_input[:tipo] == 'select' .form-group .row .col-sm-8 - if form_input[:tag] == "tipo_de_orcamento" - tipos = [{"nome": "Fiscal", "codigo": "F"}, {"nome": "Social", "codigo": "S"}] = label_tag "#{form_input[:tag]}", "#{form_input[:nome]}", class: "control-label" = select_tag "#{form_input[:tag]}", options_for_select(tipos.map {|tipo| [ tipo[:nome], tipo[:codigo] ] }), include_blank: 'Fiscal e Seguridade Social', class: 'form-control' - else = label_tag "#{form_input[:tag]}", "#{form_input[:nome]}", class: "control-label" = select_tag "#{form_input[:tag]}", options_from_collection_for_select( form_input[:valores], form_input[:id], form_input[:descricao]), include_blank: '', class: 'form-control' - elsif form_input[:tipo] == 'hidden' = hidden_field_tag "#{form_input[:tag]}", "#{form_input[:value]}" = hidden_field_tag "relatorio", relatorio, { id: "relatorio_para_impressao" } = submit_tag "Imprimir", class: "btn btn-primary imprime", value: "pdf" / = submit_tag "Imprimir p", class: "btn btn-primary imprime", value: "planilha" / = button class: "btn btn-success btn-sm", value: "planilha" do / i class="fa fa-file-excel-o" / ' Gerar Excel javascript: $(".imprime").click(function(e) { var sum = 0; $(".percentual").each(function() { var val = $.trim( $(this).val() ); if ( val ) { val = parseFloat( val.replace( /^\$/, "" ) ); sum += !isNaN( val ) ? val : 0; } }); if (sum != 100 && sum != 0){ e.preventDefault(); Messenger.options = { extraClasses: 'messenger-fixed messenger-on-top messenger-on-right alert', theme: 'flat' }; Messenger().post({message: "A soma dos percentuais deve ser 100", type: 'error'}); } });