#modal_relatorios_do_contrato.modal.fade[role="dialog"] .modal-dialog[role="document"] .modal-content .modal-header button.close[type="button" data-dismiss="modal" aria-label="Close"] span[aria-hidden="false"] | × h4.modal-title | Gerar Relatório Contrato .modal-body = simple_form_for( Tableless::RelatorioDaLicitacao.new, url: url_for(controller: 'relatorios_da_licitacao', action: 'imprimir'), method: :get, role: "form", html: { target: "_blank", multipart: true, id: 'form_contrato' } ) do |f| .row .col-sm-6 = f.input :numero_do_processo, label: 'Número do Processo', input_html: {id: 'numero_processo_contrato'} .col-sm-6 = f.input :numero_do_contrato, label: 'Número do Contrato', input_html: {id: 'numero_contrato'} .row.informacao_aditivo(style="display: none;") .col-sm-6 .radio-group = f.check_box :informacoes_aditivo, { id: 'informacoes_aditivo_checkbox' } = f.label :informacoes_aditivo_checkbox, 'Sem informações do aditivo' .row .col-sm-6 = f.input :fornecedor, collection: @fornecedores, label_method: :nome_e_cpf_ou_cnpj, include_blank: 'Selecione', input_html: {class: 'form-control s2', id: 'fornecedor_contrato', style: 'width: 100%'} .col-sm-6 = f.input :unidade_gestora, collection: @unidades_gestoras, label_method: :codigo_e_nome, include_blank: 'Selecione', input_html: {class: 'form-control s2', id: 'unidade_gestora_contrato', style: 'width: 100%'} .col-sm-6.filtro_elemento_de_despesa = f.input :elemento_de_despesa, collection: @elementos_de_despesa, label_method: :codigo_e_descricao, include_blank: 'Selecione', input_html: {class: 'form-control s2', id:'elemento_de_despesa', style: 'width: 100%'} .row .col-sm-6 = f.input :data_inicial, label:"Data inicial*", as: :string, wrapper: :calendar_field, input_html: {class: 'date-picker', placeholder: Date.today, autocomplete: "off", id: 'data_inicial_contrato'} span.text-danger id="error_display_data_inicial_contrato" style="#{'display: none;'}" p.form-control-static.erro_data_inicial_contrato style="color: red" .col-sm-6 = f.input :data_final, label:"Data final*", as: :string, wrapper: :calendar_field, input_html: {class: 'date-picker', placeholder: Date.today, autocomplete: "off", id: 'data_final_contrato'} span.text-danger id="error_display_data_final_contrato" style="#{'display: none;'}" p.form-control-static.erro_data_final_contrato style="color: red" = f.hidden_field :relatorio, class: 'relatorio', id: 'relatorio_contrato' = f.hidden_field :button, id: 'button_contrato' .form-actions = f.button :button, 'PDF', type: 'button', name: "button", value: "pdf", class: "btn btn-primary submit-pdf-contrato" = f.button :button, 'EXCEL', type: 'submit', name: "button", value: "planilha", class: "btn btn-success submit-planilha-contrato" javascript: $(document).ready(function(){ $(".submit-pdf-contrato").on("click", function(){ if($("#data_inicial_contrato").val() != "" && $("#data_final_contrato").val() != ""){ $('#button_contrato').val('pdf') $('#form_contrato').submit(); } }); $(".submit-planilha-contrato").on("click", function(){ if($("#data_inicial_contrato").val() != "" && $("#data_final_contrato").val() != ""){ $('#button_contrato').val('planilha') $('#form_contrato').submit(); } }); }); $('.relatorio_do_contrato').on('click', function(e){ if ($(this).attr('value') == "relacao_contratos_por_vigencia"){ $('.filtro_elemento_de_despesa').show(); }else{ $('.filtro_elemento_de_despesa').hide(); } }) $('.relatorio_do_contrato').on('click', function(e) { if ($(this).attr('value') === "relacao_contratos_firmados") { $('.informacao_aditivo').show(); $('#informacoes_aditivo_checkbox, #label_informacoes').show(); $('#informacoes_aditivo_checkbox').prop('checked', true); // Marca o checkbox } else { $('.informacao_aditivo').hide(); $('#informacoes_aditivo_checkbox, #label_informacoes').hide(); $('#informacoes_aditivo_checkbox').prop('checked', false); // Desmarca o checkbox } }); $('.submit-pdf-contrato').on('click', function(e){ const dataInicial = $('#data_inicial_contrato') const dataInicialValor = $('#data_inicial_contrato').val() const campoErrorDataInicial = $('#error_display_data_inicial_contrato') const dataFinal = $('#data_final_contrato') const dataFinalValor = $('#data_final_contrato').val() const campoErrorDataFinal = $('#error_display_data_final_contrato') const dataInicialValida = dataValida(dataInicial, campoErrorDataInicial) const dataFinalValida = dataValida(dataFinal, campoErrorDataFinal) if(!dataInicialValida || !dataFinalValida){ return false; } if (dataInicialValor === "") { campoErrorDataInicial.text("O Campo data precisa ser preenchido").show(); return false; } if (dataFinalValor === ""){ campoErrorDataFinal.text("O Campo data precisa ser preenchido").show(); return false; } }) function dataValida(data, campoError){ const valorData = data.val(); if(valorData != '' && valorData != undefined){ const formatoData = /^\d{1,2}\/\d{1,2}\/\d{4}$/ const dataEhValida = formatoData.test(valorData) campoError.text('') if(!dataEhValida){ campoError.text('Formato inválido, formato correto dd/mm/aaaa') } return dataEhValida; }else{ return true; } }