Logo CEWEB.br Logo NIC.br Logo CGI.br
Home Sobre o projeto

Sites Pertecentes a (o) SP

Endereço Nota Erros Avisos

www.populina.sp.gov.br/portal/obras/4

87.23 3 144
Recomendações Avaliadas
2.2 Garantir que os objetos programáveis sejam acessíveis.

Recomendações

Número Descrição Quantidade Linhas Código Fonte
2.2.6 Presença do elemento SCRIPT sem o elemento NOSCRIPT 7 62 2602 3590 4267 4415 4427 4441
62 <![CDATA[<script> /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* GLOBAIS */ /* MAPA */ var leafLetMap; // MAPA var leafLetMapCenter; // CENTRO DO MAPA var markers = []; // ARRAY COM SO MARCADORES var markersAgrupados = {}; // ARRAY COM SO MARCADORES AGRUPADOS const cidadeLatLng = [-19.9422, -50.5375]; // LAT LNG DA CIDADE const zoomMax = 18; // ZOOM MAXIMO const zoomMin = 11; // ZOOM MINIMO /* MAPA */ /* OBRAS */ const seguirObra = false; /* OBRAS */ /* LAYOUT */ var divMenuObras; var botaoMenuDetalhes; // REFERENCIA GLOBAL DO BOTAO DETRALHES var botaoVerMapa = $("#btn_ver_mapa"); /* LAYOUT */ /* PAGINA */ var $document; var $window; var $body; /* PAGINA */ /* FILTROS */ var dadosExibir; // AUXILIAR PARA EXIBICAO DOS DADOS APOS A FILTRAGEM var formFiltrar; var inputPeriodoInicial; var inputPeriodoFinal; var inputsBairro; var inputsLogradouro; var inputsCategoria; var inputsSituacao; var inputPalavraChave; var selectRelatorioFiltroAno; var divsRelatorioInfo; var divRelatorioTotalExecutadas; var divRelatorioTotalConcluidas; var divRelatorioTotalEmAndamento; var divRelatorioTotalSuspensas; var divRelatorioTotalEmProjeto; var divRelatorioTotalAcompanhamentos; var divRelatorioTotalContratos; var divRelatorioTotalValor; var filtrosFormulario; /* FILTROS */ /* LISTAGEM */ var divAreaListagem; var divResultados; var spanQtdeResultado; var spanObrasEncontradas; var divListagemObras; /* LISTAGEM */ /* DETALHES */ var divAreaDetalhes; var btnSeguirObra; var btnAvaliarObra; var divCategoriaObra; var divLocalizacaoObra; var divEditalObra; var divContratoObra; var divEmpresaObra; var divFiscalObra; var divValorObra; var divValorPagoObra; var spanValorPago; var divDescricao; var divFonteRecurso; var divMotivoParalisacao; var divExecucaoObra; var divSituacao; var spanSituacao; var divDataInicio; var divDataFim; var divObraAtraso; var divAcompanhamentosObras; var divTotalAcompanhamentos; var spanTotalPorcentagem; var divFotosObra; var divContFotos; var divVideosObra; var divArquivosObra; var divSecretariasObra; var divValorContrato; var spanValorContrato; var divValorUtilizado; var spanValorPagoFinal; // var divPrazoEstimado; var divPrazoRealizacao; /* DETALHES */ /* PAGINACAO */ const qtdePorPagina = 100; var selectPagina; var divAvancaPagina; var divVoltaPagina; /* PAGINACAO */ /* MODELOS */ const htmlSecretariaModelo = '<a href="" class="obr_secretaria_modelo">'+ '<div class="obr_secretaria_vinculada">'+ '<div class="obr_area_img_secretaria"><img src="" alt=""></div>'+ '<div class="obr_area_info_secretaria">'+ '<div class="obr_nome_secretaria sw_lato_black"></div>'+ '</div>'+ '</div>'+ '</a>'; const secretariaModelo = $(htmlSecretariaModelo); const htmlArquivoMoldeo = '<a href="" class="obr_arquivo_modelo" target="_blank">'+ '<div class="sw_arquivo_download">'+ '<div class="sw_icone_arquivo_download"><img src="" alt=""></div>'+ '<div class="sw_info_arquivo_download">'+ '<div class="sw_data_arquivo_download sw_lato"></div>'+ '<div class="sw_nome_arquivo_download sw_lato_bold"></div>'+ '</div>'+ '</div>'+ '</a>'; const arquivoModelo = $(htmlArquivoMoldeo); const htmlVideoModelo = '<div class="obr_video_obra obr_video_modelo">'+ '<div class="obr_img_video">'+ '<img src="" alt="">'+ '<span class="swfa fas fa-play"></span>'+ '</div>'+ '<div class="obr_data_video"></div>'+ '<div class="obr_nome_video sw_lato_black"></div>'+ '<div class="obr_assistir_video sw_lato_medium">ASSISTIR</div>'+ '<input type="hidden" value="">'+ '</div>'; const videoModelo = $(htmlVideoModelo); const htmlFotoModelo = '<div class="vinc_cont_img_galeria_fotos obr_foto_modelo">'+ '<div class="vinc_img_galeria_fotos">'+ '<span class="swfa fas fa-search-plus" aria-hidden="true"></span>'+ '<img src="" alt="">'+ '</div>'+ '</div>'; const fotoModelo = $(htmlFotoModelo); const htmlAcompanhamentoModelo = '<div class="sw_linha_lista_detalhes obr_acompanhamento_info obr_acompanhamento_modelo" style="display: none;">'+ '<div class="obr_cont_acompanhamento_obra">'+ '<div class="obr_area_porcentagem_obra sw_lato_black">'+ '<div class="obr_barra_porcentagem_acompanhamento">'+ '<div class="obr_porcentagem_acompanhamento">'+ '<span style="min-width: 40%">40%</span>'+ '</div>'+ '</div>'+ '</div>'+ '<div class="obr_area_info_acompanhamento_obra">'+ '<div class="sw_lato_medium">'+ '<span class="obr_data_acompanhamento">10 jan 2020</span>'+ '<div class="obr_descricao_acompanhamento sw_lato_bold"></div>'+ '<span class="obr_situacao_acompanhamento"></span>'+ '<div class="obr_link_obra obr_link_ver_fotos"><span class="obr_txt_link_obra">ver fotos</span><span class="swfa fas fa-camera"></span></div>'+ '</div>'+ '</div>'+ '</div>'+ '</div>'; const acompanhamentoModelo = $(htmlAcompanhamentoModelo); const htmlItemListaObraModelo = '<div class="obr_item_listagem obr_item_listagem_modelo" data-id="">'+ '<div class="obr_area_titulo_obra">'+ '<div class="obr_categoria_obra sw_lato">'+ '<div class="obr_cont_categoria_obra">'+ '<span class="swfa fa"></span>'+ '<span class="obr_txt_categoria"></span>'+ '</div>'+ '</div>'+ '<div class="obr_titulo_obra sw_lato_black"></div>'+ '</div>'+ '<div class="obr_area_info_obra sw_lato">'+ '<div class="obr_info_obra obr_info_obra_situacao">'+ '<div class="obr_titulo_info sw_lato_black">Situação</div>'+ '<div class="obr_descricao_info"><span class="obr_situacao"></span></div>'+ '</div>'+ '<div class="obr_info_obra obr_info_obra_dt_inicio">'+ '<div class="obr_titulo_info sw_lato_black">Data Início</div>'+ '<div class="obr_descricao_info"></div>'+ '</div>'+ '<div class="obr_info_obra obr_info_obra_dt_fim">'+ '<div class="obr_titulo_info sw_lato_black">Data Fim</div>'+ '<div class="obr_descricao_info"></div>'+ '</div>'+ '<div class="obr_info_obra obr_info_obra_valor">'+ '<div class="obr_titulo_info sw_lato_black">Valor</div>'+ '<div class="obr_descricao_info"><span class="obr_valor_obra sw_lato_black"></span></div>'+ '</div>'+ '<div class="obr_info_obra obr_info_obra_contrato">'+ '<div class="obr_titulo_info sw_lato_black">Contrato</div>'+ '<div class="obr_descricao_info"></div>'+ '</div>'+ '<div class="obr_info_obra obr_info_obra_edital">'+ '<div class="obr_titulo_info sw_lato_black">Edital</div>'+ '<div class="obr_descricao_info"></div>'+ '</div>'+ '<div class="obr_area_link_obra_listagem">'+ '<div class="obr_link_obra obr_link_ver_obra"><span class="obr_txt_link_obra">ver obra</span><span class="swfa fas fa-search"></span></div>'+ '<div class="obr_link_obra obr_link_ver_fotos"><span class="obr_txt_link_obra">ver fotos</span><span class="swfa fas fa-camera"></span></div>'+ '</div>'+ '</div>'+ '</div>'; const itemListaObraModelo = $(htmlItemListaObraModelo); /* MODELOS */ /* INICIANDO VARIAVEIS */ $(document).ready(function(){ $document = $(document); $window = $(window); $body = $("body"); divMenuObras = $("#obr_menu"); botaoMenuDetalhes = $("button[data-menu=obr_content_detalhes]"); botaoVerMapa = $("#btn_ver_mapa"); formFiltrar = $("#obr_form_filtro"); inputPeriodoInicial = $("#obr_periodo_inicial"); inputPeriodoInicial.datepicker(); inputPeriodoInicial.mask("99/99/9999"); inputPeriodoFinal = $("#obr_periodo_final"); inputPeriodoFinal.datepicker(); inputPeriodoFinal.mask("99/99/9999"); inputsBairro = $(".obr_filtro_bairro"); inputsLogradouro = $(".obr_filtro_logradouro"); inputsCategoria = $(".obr_filtro_categoria"); inputsSituacao = $(".obr_filtro_situacao"); inputPalavraChave = $("#obr_palavra_chave"); selectRelatorioFiltroAno = $("#obr_filtro_ano"); divsRelatorioInfo = $(".obr_area_info_relatorio_obras"); divRelatorioTotalExecutadas = divsRelatorioInfo.find(".obr_total_executadas"); divRelatorioTotalConcluidas = divsRelatorioInfo.find(".obr_numero_info.obr_situacao.obr_situacao_concluida"); divRelatorioTotalEmAndamento = divsRelatorioInfo.find(".obr_numero_info.obr_situacao.obr_situacao_em_andamento"); divRelatorioTotalSuspensas = divsRelatorioInfo.find(".obr_numero_info.obr_situacao.obr_situacao_suspensa"); divRelatorioTotalEmProjeto = divsRelatorioInfo.find(".obr_numero_info.obr_situacao.obr_situacao_em_projeto"); divRelatorioTotalAcompanhamentos = divsRelatorioInfo.find(".obr_total_acompanhamentos"); divRelatorioTotalContratos = divsRelatorioInfo.find(".obr_total_contratos"); divRelatorioTotalValor = divsRelatorioInfo.find(".obr_valor_obra"); filtrosFormulario = divMenuObras.find(".obr_formulario_filtro:not(.obr_relatorio)"); divAreaListagem = $(".obr_area_listagem"); divResultados = $(".sw_area_info_resultado_busca"); spanQtdeResultado = $("#span_qtde_obras_encontradas"); spanObrasEncontradas = $("#span_obras_encontradas"); divListagemObras = $(".obr_info_listagem_obras"); divAreaDetalhes = $(".obr_area_detalhes_obra"); btnSeguirObra = divAreaDetalhes.find('#sw_btn_seguir_ferramenta'); btnAvaliarObra = divAreaDetalhes.find('#sw_btn_avaliar'); divCategoriaObra = divAreaDetalhes.find(".obr_categoria_obra"); divLocalizacaoObra = divAreaDetalhes.find(".obr_localizacao"); divEditalObra = divAreaDetalhes.find(".obr_edital"); divContratoObra = divAreaDetalhes.find(".obr_contrato"); divEmpresaObra = divAreaDetalhes.find(".obr_empresa"); divFiscalObra = divAreaDetalhes.find(".obr_fiscal"); divValorObra = divAreaDetalhes.find("div.obr_valor_obra"); divValorPagoObra = divAreaDetalhes.find("div.obr_valor_pago"); divDescricao = divAreaDetalhes.find("div.obr_descricao"); divFonteRecurso = divAreaDetalhes.find("div.obr_fonte_recurso"); divMotivoParalisacao = divAreaDetalhes.find("div.obr_motivo_paralisacao"); spanValorPago = divValorPagoObra.find("span"); divExecucaoObra = divAreaDetalhes.find(".obr_execucao"); divSituacao = divExecucaoObra.find(".obr_situacao_atual"); spanSituacao = divSituacao.find("span.obr_situacao"); divDataInicio = divExecucaoObra.find(".obr_data_inicio"); divDataFim = divExecucaoObra.find(".obr_data_fim"); divObraAtraso = divExecucaoObra.find(".obr_atraso"); divAcompanhamentosObras = divAreaDetalhes.find("div.obr_cont_detalhes.obr_acompanhamentos"); divTotalAcompanhamentos = divAreaDetalhes.find(".sw_linha_lista_detalhes.obr_total_acompanhamentos"); spanTotalPorcentagem = divTotalAcompanhamentos.find(".obra_porcentagem_concluida"); divFotosObra = divAreaDetalhes.find(".obr_obra_fotos"); divContFotos = divFotosObra.find('.vinc_cont_galeria_fotos_vinculada'); divVideosObra = divAreaDetalhes.find("div.obr_obra_videos div.obr_area_videos_obra"); divArquivosObra = divAreaDetalhes.find("div.obr_obra_arquivos"); divSecretariasObra = divAreaDetalhes.find(".obr_obra_secretarias"); divValorContrato = divAreaDetalhes.find("div.obr_cont_estatisticas_barra.obr_valor_contratado"); spanValorContrato = divValorContrato.find("span"); divValorUtilizado = divAreaDetalhes.find("div.obr_cont_estatisticas_barra.obr_valor_utilizado"); spanValorPagoFinal = divValorUtilizado.find("span"); // divPrazoEstimado = divAreaDetalhes.find("div.obr_cont_estatisticas_barra.obr_prazo_dias"); divPrazoRealizacao = divAreaDetalhes.find("div.obr_cont_estatisticas_barra.obr_total_dias"); selectPagina = $(".obr_select_paginacao_listagem"); divAvancaPagina = $(".obr_avanca_pagina"); divVoltaPagina = $(".obr_volta_pagina"); /* CAPTURA DADOS PARA O GRÁFICO DE CATEGORIAS */ var dados_grafico_categorias = $("#dados_grafico_categorias").val(); if(dados_grafico_categorias != undefined) { dados_grafico_categorias = decodeURIComponent(dados_grafico_categorias); dados_grafico_categorias = JSON.parse(dados_grafico_categorias); // GRÁFICO DE PIZZA -- RELAÇÃO DE OBRAS COM CATEGORIAS if(dados_grafico_categorias.length > 0) { Highcharts.chart('obr_grafico_categoria', { chart: { plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, type: 'pie' }, title: { text: '<span class="sw_lato_black" style="font-size:16px;">Obras por categorias</span>' }, plotOptions: { pie: { allowPointSelect: true, cursor: 'pointer', dataLabels: { enabled: false }, showInLegend: true } }, series: [{ name: 'Quantidade', colorByPoint: true, data: dados_grafico_categorias }], tooltip: { pointFormat: '{series.name}: <span style="padding:0"><strong>{point.y}</strong></span>' }, }); } } /* CAPTURA DADOS PARA O GRÁFICO DE FONTE DE RECURSO */ var dados_grafico_fonte_recurso = $("#dados_fonte_recurso").val(); if(dados_grafico_fonte_recurso != undefined) { dados_grafico_fonte_recurso = decodeURIComponent(dados_grafico_fonte_recurso); dados_grafico_fonte_recurso = JSON.parse(dados_grafico_fonte_recurso); // GRÁFICO DE PIZZA -- FONTE DE RECURSO if(dados_grafico_fonte_recurso.length > 0) { Highcharts.chart('obr_grafico_fonte_recurso', { chart: { plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, type: 'pie' }, title: { text: '<span class="sw_lato_black" style="font-size:16px;">Obras por fonte de recurso</span>' }, plotOptions: { pie: { allowPointSelect: true, cursor: 'pointer', dataLabels: { enabled: false }, showInLegend: true } }, series: [{ name: 'Quantidade', colorByPoint: true, data: dados_grafico_fonte_recurso }], tooltip: { pointFormat: '{series.name}: <span style="padding:0"><strong>{point.y}</strong></span>' }, }); } } /* CAPTURA DADOS PARA O GRÁFICO DOS MOTIVOS DE PARALISAÇÃO */ var dados_grafico_motivo_paralisacao = $("#dados_motivo_paralisacao").val(); if(dados_grafico_motivo_paralisacao != undefined) { dados_grafico_motivo_paralisacao = decodeURIComponent(dados_grafico_motivo_paralisacao); dados_grafico_motivo_paralisacao = JSON.parse(dados_grafico_motivo_paralisacao); // GRÁFICO DE PIZZA -- MOTIVOS DA PARALISAÇÃO if(dados_grafico_motivo_paralisacao.length > 0) { Highcharts.chart('obr_grafico_motivo_paralisacao', { chart: { plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, type: 'pie' }, title: { text: '<span class="sw_lato_black" style="font-size:16px;">Obras por motivos de paralisação</span>' }, plotOptions: { pie: { allowPointSelect: true, cursor: 'pointer', dataLabels: { enabled: false }, showInLegend: true } }, series: [{ name: 'Quantidade', colorByPoint: true, data: dados_grafico_motivo_paralisacao }], tooltip: { pointFormat: '{series.name}: <span style="padding:0"><strong>{point.y}</strong></span>' }, }); } } // ADAPTAÇÃO NO MÉTODO 'CONTAINS' DO JQUERY PARA FILTRAR CASE INSENSITIVE E REMOVER ACENTUAÇÃO jQuery.expr[':'].instarcontains = function(a, i, m) { return jQuery(a).text() .replace(/[áàãâä]/gi,"a") .replace(/[éèê]/gi,"e") .replace(/[íìïî]/gi,"i") .replace(/[óòöôõ]/gi,"o") .replace(/[úùüû]/gi, "u") .replace(/[ç]/gi, "c") .replace(/[ñ]/gi, "n") .replace(/[^a-zA-Z0-9]/g," ") .toUpperCase() .indexOf(m[3] .replace(/[áàãâä]/gi,"a") .replace(/[éèê]/gi,"e") .replace(/[íìïî]/gi,"i") .replace(/[óòöôõ]/gi,"o") .replace(/[úùüû]/gi, "u") .replace(/[ç]/gi, "c") .replace(/[ñ]/gi, "n") .replace(/[^a-zA-Z0-9]/g," ") .toUpperCase() ) >= 0; }; }); /* INICIANDO VARIAVEIS */ /* GLOBAIS */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* FUNCAO CRIA O MAPA */ function Mapa(idElementoMapa) { // DADOS var pontos = [{"seguir_acao":"seguir","seguir_class":"itn_btn_login disabled","seguir_txt":"Seguir","seguir_title":"Necessário estar logado para utilizar esta função.","latitude":"-19.9445761322934","longitude":"-50.53522287439561","icone":"check-square-o","cor_fundo_circulo":"rgba(0, 0, 0, 0.8)","cor_marcador":"#000000","cor_icone":"#ffffff","nome_categoria":"POPULINA","conteudo_popup":"\r\n <div class=\"sw_lista_detalhes flex obr_popup_leaflet\">\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Título<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\">Construção da Academia da Saúde<\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Categoria<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\">POPULINA<\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Situação<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\"><span class=\"obr_situacao obr_situacao_em_andamento\">Em Andamento<\/span><\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Bairro<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\">Centro<\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Logradouro<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\">Araraquara , nº 1215<\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes obr_cont_btn_ver_obra sw_lato\">\r\n <div class=\"obr_link_obra obr_link_ver_obra m_detalhes_click obr_link_ver_obra\" data-codigo=\"3\"><span class=\"obr_txt_link_obra\">ver obra<\/span><span class=\"swfa fas fa-search\"><\/span><\/div>\r\n <div class=\"obr_link_obra obr_link_ver_fotos\"><span class=\"obr_txt_link_obra\">ver fotos<\/span><span class=\"swfa fas fa-camera\"><\/span><\/div>\r\n <\/div>\r\n <\/div>","categoria":3,"situacao":"Em Andamento","bairro":"Centro","logradouro_completo":"Araraquara , nº 1215","logradouro":"Araraquara , nº 1215","dt_inicio":1586401200,"dt_inicio_string":"09\/04\/2020","dt_fim":0,"dt_fim_string":null,"valor":"110.718,10","valor_pago":null,"titulo":"Construção da Academia da Saúde","codigo":3,"acompanhamentos":[],"edital":false,"contrato":false,"fotos":{"544":{"arquivo":"\/fotos\/obras\/3\/6375003c71dbc87111b600785d6bcc5e.jpg","legenda":""},"545":{"arquivo":"\/fotos\/obras\/3\/9eb5b96970a3d0ffeeb9f4d88ff81bba.jpg","legenda":""},"546":{"arquivo":"\/fotos\/obras\/3\/e9cb36575622e6b9283d99f5aeb8ec0f.jpg","legenda":""},"442":{"arquivo":"\/fotos\/obras\/3\/4016da430c49229a28c186e61e465f07.jpg","legenda":""},"441":{"arquivo":"\/fotos\/obras\/3\/71ed4c5382db66b750548cabb79a4f4e.jpg","legenda":""},"443":{"arquivo":"\/fotos\/obras\/3\/56d75e96214d4797b62588caf891f1a2.jpg","legenda":""},"444":{"arquivo":"\/fotos\/obras\/3\/e03f7b51d3c9cf445b1490a8f1a901e8.jpg","legenda":""},"445":{"arquivo":"\/fotos\/obras\/3\/546189b2d79441f2d5eadfe3ed91e9f9.jpg","legenda":""}},"secretarias":[],"videos":[],"arquivos":[],"empresa":"","fiscal":"","descricao":null,"fonte_recurso":"","motivo_paralisacao":null},{"seguir_acao":"seguir","seguir_class":"itn_btn_login disabled","seguir_txt":"Seguir","seguir_title":"Necessário estar logado para utilizar esta função.","latitude":"-19.943642162845332","longitude":"-50.53847142590855","icone":"check-square-o","cor_fundo_circulo":"rgba(0, 0, 0, 0.8)","cor_marcador":"#000000","cor_icone":"#ffffff","nome_categoria":"POPULINA","conteudo_popup":"\r\n <div class=\"sw_lista_detalhes flex obr_popup_leaflet\">\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Título<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\">Reforma Praça <\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Categoria<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\">POPULINA<\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Situação<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\"><span class=\"obr_situacao obr_situacao_em_andamento\">Em Andamento<\/span><\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes\">\r\n <div class=\"sw_nome_detalhe sw_lato_bold\">Bairro<\/div>\r\n <div class=\"sw_descricao_detalhe sw_lato\">Centro<\/div>\r\n <\/div>\r\n <div class=\"sw_linha_lista_detalhes obr_cont_btn_ver_obra sw_lato\">\r\n <div class=\"obr_link_obra obr_link_ver_obra m_detalhes_click obr_link_ver_obra\" data-codigo=\"4\"><span class=\"obr_txt_link_obra\">ver obra<\/span><span class=\"swfa fas fa-search\"><\/span><\/div>\r\n <div class=\"obr_link_obra obr_link_ver_fotos\"><span class=\"obr_txt_link_obra\">ver fotos<\/span><span class=\"swfa fas fa-camera\"><\/span><\/div>\r\n <\/div>\r\n <\/div>","categoria":3,"situacao":"Em Andamento","bairro":"Centro","logradouro_completo":"","logradouro":"nao_informado","dt_inicio":0,"dt_inicio_string":null,"dt_fim":0,"dt_fim_string":null,"valor":null,"valor_pago":null,"titulo":"Reforma Praça ","codigo":4,"acompanhamentos":[],"edital":false,"contrato":false,"fotos":{"670":{"arquivo":"\/fotos\/obras\/4\/7678069eab359a9ad375bdbe97d786b1.jpg","legenda":""},"671":{"arquivo":"\/fotos\/obras\/4\/b02bd48eb331a1bb9a0ea42b39e38269.jpg","legenda":""},"672":{"arquivo":"\/fotos\/obras\/4\/0efb198d35162880efa7574f20d68ef9.jpg","legenda":""},"673":{"arquivo":"\/fotos\/obras\/4\/1939e1cd42eb7855cf853eeefea7ade0.jpg","legenda":""}},"secretarias":[],"videos":[],"arquivos":[],"empresa":"","fiscal":"","descricao":"","fonte_recurso":"","motivo_paralisacao":""}]; // CONSTANTES leafLetMapCenter = cidadeLatLng; // VARIAVEIS var elementoMapa; // VALIDANDO ELEMENTO PARA O MAPA elementoMapa = document.getElementById(idElementoMapa); if (!elementoMapa) { // ERRO return false; } elementoMapa = $(elementoMapa); // VERIFICANDO O NAVEGADOR if (L.Browser.ielt9) { elementoMapa.css({ "background-color": "#fff", "text-align": "center", "margin-bottom": "15px" }); elementoMapa.append('<span class="sw_lato_bold">Este navegador não é compatível com o mapa.</span>'); return false; } // TILE PROVIDER CONFIGURACAO OpenStreetMap const tileProvider = { // URLS COM AS IMAGENS DOS TILES urls : [ 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 'https://{s}.tile.osm.org/{z}/{x}/{y}.png', 'https://{s}.tile.openstreetmap.de/{z}/{x}/{y}.png', 'https://{s}.tile.openstreetmap.com/{z}/{x}/{y}.png' ], // FUNCAO QUE RETORNA A PROXIMA URL DISPONIVEL EM 'urls' getUrl: function(){ var activeUrl = ""+this.urls.shift(); this.urls = this.urls.concat(activeUrl); return activeUrl; }, // ATRIBUICAO DE DIREITOS // OBRIGATORIO attribution : 'Data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, <a href="https://osm.org/copyright">ODbL 1.0.</a>' }; // CRIANDO MAPA leafLetMap = L.map(elementoMapa.get(0) ,{ preferCanvas: true, // USA CANVAS > DESEMPENHO++ center: cidadeLatLng, // CENTRO DO MAPA zoom: zoomMin, // ZOOM ATUAL minZoom: zoomMin, // ZOOM MIN maxZoom: zoomMax, // ZOOM MAX doubleClickZoom: false // DESATIVA ZOOM DO CLICK DUPLO }); // TRAVANDO O MAPA leafLetMap.setMaxBounds(leafLetMap.getBounds()); // OBJETO TileLayer PARA O MAPA const tiles = L.tileLayer(tileProvider.getUrl(), { attribution: tileProvider.attribution, bounds: leafLetMap.getBounds(), tileSize: 256, minNativeZoom: zoomMin, maxNativeZoom: zoomMax, updateWhenZooming: false, updateWhenIdle: false, updateInterval: 1000, detectRetina: true, keepBuffer: 15 }); // TRATANDO ERRO AO REQUISITAR UM TILE // CASO ERRO >> CHAMA FUNCAO TileProvider.getUrl() tiles.on("tileerror", function(){ tiles.setUrl(tileProvider.getUrl()); }, tiles); tiles.addTo(leafLetMap); // PERCORRENDO PONTOS for(var indicePonto = 0; indicePonto < pontos.length; indicePonto++){ var ponto = pontos[indicePonto]; // } // pontos.forEach(function(ponto){ // CRIANDO MARCADOR var markerLeaflet = L.marker( [ponto.latitude, ponto.longitude], { icon: L.FontAwesomeMarker.icon({ icon: ponto.icone, markerColor: ponto.cor_marcador, iconColor: ponto.cor_icone, svgCircleColor: ponto.cor_fundo_circulo }) } ); // ADICIOANDO POPUP AO MARCADOR var markerPopup = $(ponto.conteudo_popup); var divVerFotosPopup = markerPopup.find(".obr_link_obra.obr_link_ver_fotos"); if (Object.values(ponto.fotos) && Object.values(ponto.fotos).length > 0) { divVerFotosPopup.css("display", "inline-block"); var fancyBoxSrc = []; var fancyBoxOptions = { buttons : [ 'slideShow', 'close' ], loop : true, arrows : true, slideShow : { autoStart : false, speed : 3500 } }; Object.values(ponto.fotos).forEach(function(foto){ var legenda = ""; if (foto.legenda && foto.legenda !== "null") { legenda = foto.legenda; } var src = { src: foto.arquivo, opts: { caption: legenda } }; fancyBoxSrc.push(src); }); divVerFotosPopup.click(function(mouseEvent){ $.fancybox.open(fancyBoxSrc, fancyBoxOptions); }); } else { divVerFotosPopup.hide(); } markerLeaflet.bindPopup(markerPopup.get(0), { autoPanPaddingTopLeft: L.point(0, 50), autoPanPaddingBottomRight: L.point(0, 0) }); // MARCADOR JS var marcador = { marker: markerLeaflet, // MARCADOR LEAFLET /* DADOS */ seguir_acao: ponto.seguir_acao, seguir_class: ponto.seguir_class, seguir_txt: ponto.seguir_txt, seguir_title: ponto.seguir_title, categoria: ponto.categoria, situacao: ponto.situacao, bairro: ponto.bairro, logradouro_completo: ponto.logradouro_completo, logradouro: ponto.logradouro, dt_inicio: ponto.dt_inicio, dt_inicio_string: ponto.dt_inicio_string, dt_fim: ponto.dt_fim, dt_fim_string: ponto.dt_fim_string, titulo: ponto.titulo, valor: ponto.valor, valor_pago: ponto.valor_pago, edital: ponto.edital, icone: ponto.icone, contrato: ponto.contrato, nome_categoria: ponto.nome_categoria, cor_marcador: ponto.cor_marcador, cor_icone: ponto.cor_icone, cor_fundo_circulo: ponto.cor_fundo_circulo, fotos: ponto.fotos, secretarias: ponto.secretarias, videos: ponto.videos, arquivos: ponto.arquivos, acompanhamentos: ponto.acompanhamentos, codigo: parseInt(ponto.codigo), empresa: ponto.empresa, fiscal: ponto.fiscal, descricao: ponto.descricao, fonte_recurso: ponto.fonte_recurso, motivo_paralisacao: ponto.motivo_paralisacao /* DADOS */ }; var latLong = [ponto.latitude, ponto.longitude]; if (!markersAgrupados.hasOwnProperty(latLong)){ markersAgrupados[latLong] = []; } markersAgrupados[latLong].push(marcador); markers.push(marcador); // }); } for(const chave of Object.keys(markersAgrupados)){ if (markersAgrupados[chave].length === 1){ markersAgrupados[chave].pop().marker.addTo(leafLetMap); } else { var markerGroup = L.markerClusterGroup({ spiderLegPolylineOptions: { color: "#000000" // ,opacity: "1" } }); for(var indicePonto = 0; indicePonto < markersAgrupados[chave].length; indicePonto++){ var ponto = markersAgrupados[chave][indicePonto]; markerGroup.addLayer(ponto.marker) } leafLetMap.addLayer(markerGroup); } } // GERA OS OPTIONS PARA O SELECT DO RELATORIO geraOptionsRelatorio(); selectRelatorioFiltroAno.trigger("change"); // DEFINE ZOOM leafLetMap.setZoom((zoomMin + 0.51)); markersAgrupados = {}; return leafLetMap; } /* FUNCAO CRIA O MAPA */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* FUNCAO QUE EXIBE OS DADOS DA FILTRAGEM */ function exibirDados(pagina) { // PADROES divResultados.hide(); divAreaListagem.hide(); spanQtdeResultado.html(0); divVoltaPagina.hide(); divAvancaPagina.hide(); selectPagina.hide(); // REVOMENDO TODOS OS MARCADORES DO MAPA markers.forEach(function(item){ item.marker.removeFrom(leafLetMap); }); // SE HA DADOS PARA EXIBIR if (dadosExibir) { // MOSTRANDO ALGUMAS DIVS divAreaListagem.show(); divResultados.show(); var paginacao = paginar(dadosExibir, pagina); dadosPaginacao = paginacao.dados; // TRATANDO QTDE DE REGISTROS E QTDE DE PAGINAS // APENAS PARA O FUNCIONAMENTO DOS BOTOES DE PAGINACAO if (dadosExibir.length > 1 && paginacao.paginas > pagina) { if (pagina === 1) { divVoltaPagina.attr("data-pagina", 0); divVoltaPagina.prop("disabled" , true) divAvancaPagina.attr("data-pagina", 2); divAvancaPagina.prop("disabled" , false); } else { divVoltaPagina.attr("data-pagina", (pagina - 1)); divVoltaPagina.prop("disabled" , false); divAvancaPagina.attr("data-pagina", (pagina + 1)); divAvancaPagina.prop("disabled" , false); } } else { divAvancaPagina.attr("data-pagina", 0); divAvancaPagina.prop("disabled" , true); divVoltaPagina.attr("data-pagina", (paginacao.paginas - 1)); divVoltaPagina.prop("disabled" , false); } selectPagina.find("option[value="+pagina+"]").prop("selected", true); // QTDE DE RESULTADO spanQtdeResultado.html(dadosExibir.length); if (dadosExibir.length === 1) { spanObrasEncontradas.text("obra encontrada"); spanObrasEncontradas.show(); divListagemObras.text("Listando 1 de 1"); divVoltaPagina.hide(); divAvancaPagina.hide(); selectPagina.hide(); } else { if (dadosExibir.length > 0) { spanObrasEncontradas.text("obras encontradas"); spanObrasEncontradas.show(); divListagemObras.text(""); divListagemObras.text("Listando "+dadosPaginacao.length+" de "+dadosExibir.length); if (dadosExibir.length > qtdePorPagina) { divVoltaPagina.show(); divAvancaPagina.show(); selectPagina.show(); } } else { spanObrasEncontradas.text("Nenhuma obra encontrada"); // spanObrasEncontradas.hide(); divListagemObras.text(""); // divListagemObras.hide(); divVoltaPagina.hide(); divAvancaPagina.hide(); selectPagina.hide(); } } // REMOVENDO ELEMENTOS QUE NAO SAO MODELO divAreaListagem.find(".obr_item_listagem.obr_item_listagem_modelo").remove(); // PERCORRENDO REGISTROS PAGINADOS dadosPaginacao.forEach(function(item){ // CLONANDO MODELO var cloneModelo = itemListaObraModelo.clone(); // DATA-ID cloneModelo.attr("data-id", item.codigo); /* PARA A CATEGORIA */ var divCategoria = cloneModelo.find(".obr_cont_categoria_obra"); var spansCategoria = divCategoria.find("span"); var spanCategoriaIcone = divCategoria.find("span").first(); var spanCategoriaNome = divCategoria.find("span").last(); // SETANDO ESTILOS divCategoria.attr("style", "background:"+item.cor_marcador+" !important"); spanCategoriaIcone.addClass("fa-"+item.icone); spanCategoriaIcone.attr("style", "background:"+item.cor_fundo_circulo+" !important; color:"+item.cor_icone+" !important; border-color:"+item.cor_marcador+" !important"); spanCategoriaNome.text(item.nome_categoria); spanCategoriaNome.attr("style", "background:"+item.cor_marcador+" !important; "+"color:"+item.cor_icone+" !important;"); /* FIM PARA A CATEGORIA */ // TITULO DA OBRA var divTituloObra = cloneModelo.find(".obr_titulo_obra"); divTituloObra.text(item.titulo); /* PARA O CONTRATO */ var divContrato = cloneModelo.find(".obr_info_obra_contrato"); if (item.contrato) { divContrato.find(".obr_descricao_info").html('<span>'+item.contrato.nome+'</span><a href="'+item.contrato.link+'" target="_blank"><span class="sw_link_acesso_facil sw_lato_medium">Ver Contrato ;<span class="swfa fas fa-search-plus"></span></span></a>'); } else { divContrato.hide(); } /* PARA O CONTRATO */ /* PARA O EDITAL */ var divEdital = cloneModelo.find(".obr_info_obra_edital"); if (item.edital) { divEdital.find(".obr_descricao_info").html('<span>'+item.edital.nome+'</span><a href="'+item.edital.link+'" target="_blank"><span class="sw_link_acesso_facil sw_lato_medium">Ver Edital ;<span class="swfa fas fa-search-plus"></span></span></a>'); } else { divEdital.hide(); } /* PARA O EDITAL */ /* PARA A SITUACAO */ var divSituacao = cloneModelo.find(".obr_info_obra_situacao"); // obr_situacao obr_situacao_suspensa var spanSituacao = divSituacao.find(".obr_situacao"); spanSituacao = $(spanSituacao); spanSituacao.text(item.situacao); if (item.situacao === "Suspensa") { spanSituacao.addClass("obr_situacao_suspensa"); } else if (item.situacao === "Concluído") { spanSituacao.addClass("obr_situacao_concluida"); } else if (item.situacao === "Em Andamento") { spanSituacao.addClass("obr_situacao_em_andamento"); } else if (item.situacao === "Em Projeto") { spanSituacao.addClass("obr_situacao_em_projeto"); } /* PARA A SITUACAO */ /* PARA AS DATAS */ var divDataInicio = cloneModelo.find(".obr_info_obra_dt_inicio"); if (item.dt_inicio > 0) { divDataInicio.find(".obr_descricao_info").text(item.dt_inicio_string); } else { divDataInicio.hide(); } var divDataFim = cloneModelo.find(".obr_info_obra_dt_fim"); if (item.dt_fim > 0) { divDataFim.find(".obr_descricao_info").text(item.dt_fim_string); } else { divDataFim.hide(); } /* PARA AS DATAS */ // PARA O VALOR DA OBRA var divValor = cloneModelo.find(".obr_info_obra_valor"); if (item.valor && parseFloat(item.valor) > 0) { divValor.find(".obr_descricao_info").text("R$ "+item.valor); } else { divValor.hide(); } /* PARA AS FOTOS */ var divVerFotos = cloneModelo.find(".obr_link_ver_fotos"); if (item.fotos.length <= 0) { divVerFotos.hide(); } else { var fancyBoxSrc = []; var fancyBoxOptions = { buttons : [ 'slideShow', 'close' ], loop : true, arrows : true, slideShow : { autoStart : false, speed : 3500 } }; Object.values(item.fotos).forEach(function(foto){ var legenda = ""; if (foto.legenda && foto.legenda !== "null") { legenda = foto.legenda; } var src = { src: foto.arquivo, opts: { caption: legenda } }; fancyBoxSrc.push(src); }); divVerFotos.click(function(){ $.fancybox.open(fancyBoxSrc, fancyBoxOptions); }); divVerFotos.show(); } /* PARA AS FOTOS */ // PARA O BOTAO DE VER DETALHES DA OBRA var divVerObra = cloneModelo.find(".obr_link_ver_obra"); divVerObra.attr("data-codigo", item.codigo); // ADICIONANDO MODELO NA LISTAGEM E EXIBINDO PONTO NO MAPA cloneModelo.insertBefore(divVoltaPagina); cloneModelo.show(); item.marker.addTo(leafLetMap); }); } else { spanObrasEncontradas.text("Nenhuma obra encontrada"); spanObrasEncontradas.show(); divResultados.show(); divAreaListagem.show(); divListagemObras.show(); } } /* FUNCAO QUE EXIBE OS DADOS DA FILTRAGEM */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* FUNCAO DA PAGINACAO >> RETORNA O ARRAY JA QUEBRADO E A QUANTIDADE DE PAGINAS */ function paginar(dados, pagina) { var indexComeco = (pagina - 1) * qtdePorPagina; var indexTermina = indexComeco + qtdePorPagina; var dadosSlice = dados.slice(indexComeco, indexTermina); var paginas = Math.ceil(dados.length / qtdePorPagina); if (selectPagina.children().length !== paginas) { selectPagina.empty(); for(var indexPagina = 1; indexPagina <= paginas; indexPagina++) { var optionPagina = document.createElement("option"); optionPagina = $(optionPagina); optionPagina.text(indexPagina); optionPagina.val(indexPagina); selectPagina.append(optionPagina); } } return {dados: dadosSlice, paginas: paginas}; } /* FUNCAO DA PAGINACAO >> RETORNA O ARRAY JA QUEBRADO E A QUANTIDADE DE PAGINAS */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* FUNCAO QUE GERA OS OPTIONS DO SELECT DO RELATORIO */ function geraOptionsRelatorio() { var anosOption = []; for(var indexMarker = 0; indexMarker < markers.length; indexMarker++) { var item = markers[indexMarker]; if (typeof item.dt_inicio_string === "string" && item.dt_inicio_string !== "null" && item.dt_inicio_string !== "31/12/1969") { var dataInicio = item.dt_inicio_string; dataInicio = dataInicio.split("/"); var ano = dataInicio[(dataInicio.length -1)]; ano = parseInt(ano); if (anosOption.indexOf(ano) === -1) { anosOption.push(ano); } } } if (anosOption.length > 0) { var anoAgora = new Date().getUTCFullYear(); var selecionou = false; anoAgora = parseInt(anoAgora); anosOption.sort(); anosOption.reverse(); for(var anoIndex = 0; anoIndex < anosOption.length; anoIndex++) { var ano = anosOption[anoIndex]; var optionAno = document.createElement("option"); optionAno = $(optionAno); optionAno.val(ano); optionAno.text(ano); if (selecionou === false && ano === anoAgora) { optionAno.prop("selected", true); selecionou = true; } selectRelatorioFiltroAno.append(optionAno); } if (selecionou === false) { selectRelatorioFiltroAno.find("option").first().prop("selected", true); } } else { selectRelatorioFiltroAno.prop("disabled", true); } } /* FUNCAO QUE GERA OS OPTIONS DO SELECT DO RELATORIO */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* FUNCAO LIMPA STRING */ function limpaStringJS(string) { if (string === "" || typeof string === typeof undefined) { return ""; } string = string.replace(/[áàãâä]/gi,"a"); // REMOVE ACENTOS string = string.replace(/[éèê]/gi,"e"); // REMOVE ACENTOS string = string.replace(/[íìïî]/gi,"i"); // REMOVE ACENTOS string = string.replace(/[óòöôõ]/gi,"o"); // REMOVE ACENTOS string = string.replace(/[úùüû]/gi, "u"); // REMOVE ACENTOS string = string.replace(/[ç]/gi, "c"); // REMOVE CEDILHA string = string.replace(/[ñ]/gi, "n"); // REMOVE ACENTOS string = string.replace(/[^a-zA-Z0-9]/g," "); // REMOVE TUDO QUE NAO E LETRA OU NUMERO return string; } /* FUNCAO LIMPA STRING */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* EVENTOS */ $(document).ready(function() { /* SUBMIT DO FORMULARIO DE FILTRAGEM */ formFiltrar.submit(function(formEvent){ // ESCONDE BOTAO DE DETALHES E NAO DEIXA O FORM COMPLETAR O SUBMIT botaoMenuDetalhes.prop("disabled", true); formEvent.preventDefault(); leafLetMap.setView(leafLetMapCenter, zoomMin); leafLetMap.closePopup(); /* VARIAVEIS */ var inputsBairroChecked = $(".obr_filtro_bairro:checked"); var inputsLogradouroChecked = $(".obr_filtro_logradouro:checked"); var inputsCategoriaChecked = $(".obr_filtro_categoria:checked"); var inputsSituacaoChecked = $(".obr_filtro_situacao:checked"); /* VARIAVEIS */ // ARRAY PARA OS REGISTROS ENCONTRADOS var encontrados = []; // PERCORRENDO MARCADORES(REGISTROS) markers.forEach(function(marker){ // REVOMENDO TODOS OS PONTOS DO MAPA marker.marker.removeFrom(leafLetMap); // ARRAY PARA AS FUNCOES DE FILTRAGEM var retornoFiltragem = []; /* BUSCA POR PALAVRA-CHAVE */ if (inputPalavraChave.val().trim()) { var palavraChave = limpaStringJS(inputPalavraChave.val()); palavraChave = palavraChave.toLowerCase(); var tituloMarcador = limpaStringJS(marker.titulo); tituloMarcador = tituloMarcador.toLowerCase(); retornoFiltragem.push((tituloMarcador.indexOf(palavraChave) > -1)); } /* FIM PALAVRA-CHAVE */ /* BUSCA POR PERIODO */ // OBS DIVIDIMOS O RETORNO DO datepicker POR 1000 POIS ELE RETORNAR DIFERENTE if (inputPeriodoInicial.val().trim() && inputPeriodoFinal.val().trim()) { // INICIAL E FINAL SELECIONADO var dataInicial = (inputPeriodoInicial.datepicker("getDate").getTime() / 1000); var dataFinal = (inputPeriodoFinal.datepicker("getDate").getTime() / 1000); var dataMarcador = new Date(marker.dt_inicio).getTime(); if (dataInicial && dataFinal) { retornoFiltragem.push((dataMarcador >= dataInicial && dataMarcador <= dataFinal)); } } else { if (inputPeriodoInicial.val().trim()) { // INICIAL var dataMarcador = new Date(marker.dt_inicio).getTime(); var dataInicial = (inputPeriodoInicial.datepicker("getDate").getTime() / 1000); retornoFiltragem.push((dataMarcador >= dataInicial)); } else if (inputPeriodoFinal.val().trim()) { // FINAL var dataMarcador = new Date(marker.dt_inicio).getTime(); var dataFinal = (inputPeriodoFinal.datepicker("getDate").getTime() / 1000); retornoFiltragem.push((dataMarcador <= dataFinal)); } } /* PERIODO */ /* BUSCA POR BAIRROS */ if (inputsBairroChecked.length > 0) { var arrayBairros = []; inputsBairroChecked.each(function(indice, bairro){ arrayBairros.push($(bairro).data("bairro")); }); retornoFiltragem.push((arrayBairros.indexOf(marker.bairro) >= 0)); } /* BUSCA POR BAIRROS */ /* BUSCA POR LOGRADOUROS */ if (inputsLogradouroChecked.length > 0) { var arrayLogradouros = []; inputsLogradouroChecked.each(function(indice, logradouro){ arrayLogradouros.push($(logradouro).data("logradouro")); }); retornoFiltragem.push((arrayLogradouros.indexOf(marker.logradouro) >= 0)); } /* BUSCA POR LOGRADOUROS */ /* BUSCA POR CATEGORIAS */ if (inputsCategoriaChecked.length > 0) { var arrayCategorias = []; inputsCategoriaChecked.each(function(indice, categoria){ arrayCategorias.push($(categoria).data("categoria")); }); retornoFiltragem.push((arrayCategorias.indexOf(marker.categoria) >= 0)); } /* BUSCA POR CATEGORIAS */ /* BUSCA POR SITUACOES */ if (inputsSituacaoChecked.length > 0) { var arraySituacoes = []; inputsSituacaoChecked.each(function(indice, situacao){ arraySituacoes.push($(situacao).data("situacao")); }); retornoFiltragem.push((arraySituacoes.indexOf(marker.situacao) >= 0)); } /* BUSCA POR SITUACOES */ if (retornoFiltragem.length === 0) { encontrados.push(marker); } else { var mostrar = true; for(var indexRetorno = 0; indexRetorno < retornoFiltragem.length; indexRetorno++) { var retorno = retornoFiltragem[indexRetorno]; if (retorno === false) { mostrar = false; break; } } if (mostrar) { encontrados.push(marker); } } }); // SE ARRAY TEM REGISTROS A EXIBIR if (encontrados.length > 0) { dadosExibir = encontrados; // ATRIBUICAO A VARIAVEL GLOBAL dadosExibir exibirDados(1); // FUNCAO QUE EXIBE OS REGISTROS } else { dadosExibir = false; exibirDados(0); } }); /* SUBMIT DO FORMULARIO DE FILTRAGEM */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* BOTAO AVANCA E VOLTA */ $([divAvancaPagina, divVoltaPagina]).each(function(){ $(this).click(function(event){ leafLetMap.setView(leafLetMapCenter, zoomMin); botaoMenuDetalhes.prop("disabled", true); var botao = $(this); var pagina = botao.attr("data-pagina"); pagina = parseInt(pagina); if (pagina > 0) { exibirDados(pagina); } }); }); /* BOTAO AVANCA E VOLTA */ /* SELECT CHANGE */ $(selectPagina).change(function(){ leafLetMap.setView(leafLetMapCenter, zoomMin); botaoMenuDetalhes.prop("disabled", true); var option = $(this).find(":selected"); var pagina = option.val(); pagina = parseInt(pagina); if (pagina > 0) { exibirDados(pagina); } }); /* SELECT CHANGE */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* BOTAO VER MAPA */ botaoVerMapa.click(function(){ // leafLetMap.setView(leafLetMapCenter, zoomMin); // RENDERIZA MAPA $(".obr_area_mapa").html('<div id="leaflet_map" class="obr_mapa"></div>'); leafLetMap = Mapa("leaflet_map"); leafLetMap.closePopup(); }); /* BOTAO VER MAPA */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* BOTOES DO MENU */ divMenuObras.find(".obr_btn_menu").click(function() { var botao = $(this); if (!botao.hasClass("ativo")) { // SETANDO CLASSE NOS BOTÕES divMenuObras.find(".obr_btn_menu").removeClass("ativo"); botao.addClass("ativo"); // FORÇAR MENU "FILTRO" ATIVADO QUANDO VIER DO BOTÃO "VOLTAR AO FILTRO" DO RELATÓRIO if(botao.attr('data-ativar-filtro') == "S") { $(".obr_btn_filtro").addClass('ativo'); } // ANALISANDO SE HÁ MENU A EXIBIR var data_menu = botao.data("menu"); if (data_menu == "obr_content_mapa") { // MOSTRANDO MENU SELECIONADO divMenuObras.find(".obr_btn_menu").addClass("disable"); setTimeout(function() { divMenuObras.find(".obr_content_menu").hide(); divMenuObras.find(".obr_btn_menu").removeClass("disable"); }, 400); // ABRINDO CONTEÚDO DO MENU divMenuObras.find(".obr_conteudo_menu").removeClass("show"); } else { var menu = $("#" + data_menu); if (menu.length) { // MOSTRANDO MENU SELECIONADO divMenuObras.find(".obr_content_menu").hide(); menu.show(); // ABRINDO CONTEÚDO DO MENU divMenuObras.find(".obr_conteudo_menu").addClass("show"); } } } }); /* BOTOES DO MENU */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* BOTAO FECHAR MENU */ divMenuObras.find(".obg_btn_fechar").click(function() { divMenuObras.find(".obr_btn_mapa").trigger("click"); }); /* BOTAO FECHAR MENU */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* FECHAR FORMULARIO */ function fecharFiltro() { filtrosFormulario.addClass("hide"); filtrosFormulario.find(".obr_cont_formulario").slideUp(400); // FECHANDO CHECKLIST filtrosFormulario.find(".obr_checklist").addClass("hide"); } /* FECHAR FORMULARIO */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ABRIR FORMULARIO */ function abrirFiltro() { filtrosFormulario.removeClass("hide"); filtrosFormulario.find(".obr_cont_formulario").slideDown(200); } /* ABRIR FORMULARIO */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ABRE E FECHA FILTROS */ filtrosFormulario.find("#obr_btn_toggle_filtro").click(function() { if (filtrosFormulario.hasClass("hide")) { abrirFiltro(); } else { fecharFiltro(); } }); /* ABRE E FECHA FILTROS */ /* CHECKLIST */ var checklist = filtrosFormulario.find(".obr_checklist"); divMenuObras.on("click", ".obr_titulo_checklist, obr_btn_toggle_checklist", function() { var this_checklist = $(this).closest(".obr_checklist"); if (this_checklist.hasClass("hide")) { checklist.addClass("hide"); this_checklist.removeClass("hide"); } else { checklist.addClass("hide"); } }); // CHECKAR TODOS checklist.find(".obr_checklist_todos").change(function() { checklist_todos = $(this); this_checklist = checklist_todos.closest(".obr_checklist"); // RESETANDO CHECKLIST if (checklist_todos.prop("checked") == true) { checklist_todos.siblings("label").attr("title", "Desmarcar todos") this_checklist.find("input[type='checkbox']").prop("checked", true); } else { checklist_todos.siblings("label").attr("title", "Marcar todos") this_checklist.find("input[type='checkbox']").prop("checked", false); } }); // ANALISANDO CHECAGEM INDIVIDUAL checklist.find(".obr_area_lista_checklist input[type='checkbox']").change(function() { var this_checkbox = $(this); var this_checklist = this_checkbox.closest(".obr_checklist"); // ANALISANDO SE TODOS ESTÃO CHECADOS if (this_checkbox.closest(".obr_area_lista_checklist").find("input[type='checkbox']:checked").length == 0) { this_checklist.find(".obr_checklist_todos").prop("checked", false); this_checklist.find(".obr_checklist_todos").siblings("label").attr("title", "Marcar todos"); } else { this_checklist.find(".obr_checklist_todos").prop("checked", true); this_checklist.find(".obr_checklist_todos").siblings("label").attr("title", "Desmarcar todos"); } }); // BUSCA NA CHECKLIST checklist.find(".obr_busca_checklist").on("keypress keyup keydown change", function() { var this_checklist = $(this) var valor = this_checklist.val(); if (valor != "") { this_checklist.closest(".obr_checklist").find(".obr_item_checklist").hide(); this_checklist.closest(".obr_checklist").find(".obr_item_checklist:instarcontains("+valor+")").show(); } else { this_checklist.closest(".obr_checklist").find(".obr_item_checklist").show(); } }); /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* SUBMISSÃO DO FORMULÁRIO DE FILTRO */ divMenuObras.find("#obr_form_filtro").submit(function(e) { e.preventDefault(); var filtrosFormulario = $(this) // EXIBINDO BOTÃO DE RESET filtrosFormulario.find(".obr_btn_limpar").fadeIn(200); setTimeout(function() { // RECOLHENDO FILTRO fecharFiltro(); }, 300); }); /* SUBMISSÃO DO FORMULÁRIO DE FILTRO */ /* BOTAO RESET DO FORMULARIO */ divMenuObras.find(".obr_btn_limpar").click(function() { botaoMenuDetalhes.prop("disabled", true); // RESETANDO CAMPOS divMenuObras.find(".obr_checklist").addClass("hide"); setTimeout(function() { divMenuObras.find(".obr_busca_checklist").val("").change(); }, 300); // OCULTANDO BOTÃO $(this).fadeOut(200); }); /* BOTAO RESET DO FORMULARIO */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* VIDEOS DA OBRA */ var modal_video = divMenuObras.find(".obr_player_video_modal"); $body.on("click", ".obr_video_obra", function() { var video = $(this); // CAPTURANDO INFO DO VÍDEO var elemento_video = video.find("input").val(); var data_video = video.find(".obr_data_video").text(); var nome_video = video.find(".obr_nome_video").text(); // SETANDO INFO NO IFRAME modal_video.find(".obr_data_video").text(data_video) modal_video.find(".obr_nome_video").text(nome_video) setTimeout(function() { modal_video.find(".obr_video").html(elemento_video) }, 1000); // ABRIR VÍDEO modal_video.addClass("show"); $window.on("keyup click", fecharModalVideo); }); // FECHAR VÍDEO var fecharModalVideo = function(e) { if ((e.keyCode === 27) || (e.target === modal_video.get(0) || e.target.id === "obr_btn_fechar_modal")) { modal_video.removeClass("show"); setTimeout(function() { modal_video.find(".obr_video").html("") }, 400); $window.off("keyup click", fecharModalVideo); } } /* VIDEOS DA OBRA */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* SELECT DO RELATORIO */ selectRelatorioFiltroAno.change(function(mouseEvent){ divsRelatorioInfo.hide(); var optionSelecionada = $(this).find(":selected"); var anoSelecionado = parseInt(optionSelecionada.val()); var totalObrasExecutadas = 0; var totalObrasConcluidas = 0; var totalObrasEmAndamento = 0; var totalObrasSuspensas = 0; var totalObrasEmProjeto = 0; var totalAcompanhamentos = 0; var totalContratos = 0; var totalValor = 0; if (anoSelecionado > 0) { for(var indexMarker = 0; indexMarker < markers.length; indexMarker++) { var item = markers[indexMarker]; if (item.dt_inicio > 0) { var dataInicio = item.dt_inicio_string; dataInicio = dataInicio.split("/"); var ano = dataInicio[(dataInicio.length -1)]; ano = parseInt(ano); if (ano === anoSelecionado) { totalObrasExecutadas++; if (item.situacao === "Concluído") { totalObrasConcluidas++; } else if (item.situacao === "Em Andamento") { totalObrasEmAndamento++; } else if (item.situacao === "Suspensa") { totalObrasSuspensas++; } else if (item.situacao === "Em Projeto") { totalObrasEmProjeto++; } if (item.contrato && item.contrato.nome) { totalContratos++; } if (item.acompanhamentos && item.acompanhamentos.length > 0) { totalAcompanhamentos = totalAcompanhamentos + item.acompanhamentos.length; } var valorObra = item.valor ? parseFloat(item.valor.replace(/\./g, "").replace(/,/g, ".")) : 0.0; if (valorObra > 0.0) { totalValor = totalValor + valorObra; } } } } } else { for(var indexMarker = 0; indexMarker < markers.length; indexMarker++) { var item = markers[indexMarker]; totalObrasExecutadas++; if (item.situacao === "Concluído") { totalObrasConcluidas++; } else if (item.situacao === "Em Andamento") { totalObrasEmAndamento++; } else if (item.situacao === "Suspensa") { totalObrasSuspensas++; } else if (item.situacao === "Em Projeto") { totalObrasEmProjeto++; } if (item.contrato && item.contrato.nome) { totalContratos++; } if (item.acompanhamentos && item.acompanhamentos.length > 0) { totalAcompanhamentos = totalAcompanhamentos + item.acompanhamentos.length; } var valorObra = item.valor ? parseFloat(item.valor.replace(/\./g, "").replace(/,/g, ".")) : 0.0; if (valorObra > 0.0) { totalValor = totalValor + valorObra; } } } divRelatorioTotalExecutadas.text("Obras executadas: "+totalObrasExecutadas); divRelatorioTotalConcluidas.text(totalObrasConcluidas); divRelatorioTotalEmAndamento.text(totalObrasEmAndamento); divRelatorioTotalSuspensas.text(totalObrasSuspensas); divRelatorioTotalEmProjeto.text(totalObrasEmProjeto); divRelatorioTotalAcompanhamentos.text("Acompanhamentos: "+totalAcompanhamentos); divRelatorioTotalContratos.text("Contratos: "+totalContratos); divRelatorioTotalValor.text("R$ "+totalValor.toLocaleString("pt-BR", { minimumFractionDigits: 2 })); divsRelatorioInfo.show(); }); /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* VISUALIZAR OBRA */ function visualizarObra(codigoObra) { var fancyBoxOptions = { buttons : [ 'slideShow', 'close' ], loop : true, arrows : true, slideShow : { autoStart : false, speed : 3500 } }; for(var indexMarker = 0; indexMarker < markers.length; indexMarker++) { var item = markers[indexMarker]; item.marker.removeFrom(leafLetMap); item.marker.closePopup(); if (item.codigo === codigoObra) { botaoMenuDetalhes.prop("disabled", false); item.marker.addTo(leafLetMap); item.marker.openPopup(); leafLetMap.setView(item.marker.getLatLng(), zoomMax); divCategoriaObra.css("background", item.cor_marcador); divCategoriaObra.css("color", item.cor_icone); divCategoriaObra.find(".obr_categoria_icone").removeClass().addClass("obr_categoria_icone"); divCategoriaObra.find(".obr_categoria_icone").addClass("swfa fa fa-"+item.icone); divCategoriaObra.find(".obr_categoria_icone").css("background", item.cor_fundo_circulo); divCategoriaObra.find(".obr_categoria_nome").text(item.nome_categoria); divCategoriaObra.parent().find(".obr_nome_obra").text(item.titulo); if (seguirObra) { btnSeguirObra.removeClass(); btnSeguirObra.addClass("sw_btn_seguir_ferramenta sw_lato_bold "+item.seguir_class); btnSeguirObra.attr("title", item.seguir_title); btnSeguirObra.attr("data-id", item.codigo); btnSeguirObra.attr("data-ferramenta", "obras"); btnSeguirObra.attr("data-seguir-acao", item.seguir_acao); $(btnSeguirObra.find("span")[1]).text(item.seguir_txt); } else { btnSeguirObra.hide(); } btnAvaliarObra.attr("data-id", item.codigo); /* BOTAO SEGUIR */ /* INFORMACOES GERIAS */ var logradouro_completo_exibir = ""; if(item.logradouro_completo != "" && item.logradouro_completo != null && item.logradouro_completo != "0") { logradouro_completo_exibir += item.logradouro_completo; } if(item.bairro != "" && item.bairro != null && item.bairro != "0" && item.bairro != "nao_informado") { logradouro_completo_exibir += item.bairro; } if(logradouro_completo_exibir) { divLocalizacaoObra.find(".sw_descricao_detalhe").text(logradouro_completo_exibir); divLocalizacaoObra.show(); } else { divLocalizacaoObra.hide(); } if (item.edital) { divEditalObra.find(".sw_descricao_detalhe").html('<div>'+item.edital.nome+'</div><a href="'+item.edital.link+'" target="_blank"><span class="sw_link_acesso_facil sw_lato_medium">Ver Edital ;<span class="swfa fas fa-search-plus"></span></span></a>'); divEditalObra.show(); } else { divEditalObra.hide(); } if (item.contrato) { divContratoObra.find(".sw_descricao_detalhe").html('<div>'+item.contrato.nome+'</div><a href="'+item.contrato.link+'" target="_blank"><span class="sw_link_acesso_facil sw_lato_medium">Ver Contrato ;<span class="swfa fas fa-search-plus"></span></span></a>'); divContratoObra.show(); } else { divContratoObra.hide(); } if (item.empresa && item.empresa !== "null") { divEmpresaObra.find(".sw_descricao_detalhe").text(item.empresa); divEmpresaObra.show(); } else { divEmpresaObra.hide(); } if (item.fiscal && item.fiscal !== "null") { divFiscalObra.find(".sw_descricao_detalhe").text(item.fiscal); divFiscalObra.show(); } else { divFiscalObra.hide(); } if (item.descricao && item.descricao !== "null") { divDescricao.find(".sw_descricao_detalhe").text(item.descricao); divDescricao.show(); } else { divDescricao.hide(); } if (item.valor && parseFloat(item.valor.replace(/\./g, "").replace(/,/g, ".")) > 0.0) { divValorObra.find("span").text("R$ "+item.valor); divValorObra.show(); } else { divValorObra.hide(); } var valorObra = item.valor ? parseFloat(item.valor.replace(/\./g, "").replace(/,/g, ".")) : 0.0; var valorPagoObra = item.valor_pago ? parseFloat(item.valor_pago.replace(/\./g, "").replace(/,/g, ".")) : 0.0; if (valorPagoObra > 0.0) { spanValorPago.text("R$ "+item.valor_pago); if (valorPagoObra > valorObra){ spanValorPago.addClass("obr_valor_superior"); } else if (valorPagoObra < valorObra){ spanValorPago.addClass("obr_valor_inferior"); } else { spanValorPago.addClass("obr_valor_obra"); } divValorPagoObra.show(); } else { divValorPagoObra.hide(); } /* INFORMACOES GERIAS */ /* EXECUCAO DA OBRA */ spanSituacao.text(item.situacao); if (item.situacao === "Em Andamento") { spanSituacao.addClass("obr_situacao_em_andamento"); } else if (item.situacao === "Suspensa") { spanSituacao.addClass("obr_situacao_suspensa"); } else if (item.situacao === "Concluída") { spanSituacao.addClass("obr_situacao_concluida"); } else if (item.situacao === "Em Projeto") { spanSituacao.addClass("obr_situacao_em_projeto"); } /* MOTIVO DA SUSPENSÃO */ if (item.motivo_paralisacao && item.motivo_paralisacao !== "null") { divMotivoParalisacao.find(".sw_descricao_detalhe").text(item.motivo_paralisacao); divMotivoParalisacao.show(); } else { divMotivoParalisacao.hide(); } /* FONTES DE RECURSO */ if (item.fonte_recurso && item.fonte_recurso !== "null") { var fontes_recursos = item.fonte_recurso.substr(0, item.fonte_recurso.length - 2); divFonteRecurso.find(".sw_descricao_detalhe").text(fontes_recursos); divFonteRecurso.show(); } else { divFonteRecurso.hide(); } if (item.dt_inicio) { divDataInicio.find(".sw_descricao_detalhe").text(item.dt_inicio_string); } else { divDataInicio.hide(); } if (item.dt_fim) { divDataFim.find(".sw_descricao_detalhe").text(item.dt_fim_string); } else { divDataFim.hide(); } if (item.dt_inicio && item.dt_fim) { var dataItemFim = item.dt_fim; var dataAgora = Date.now() / 1000; if (dataAgora > dataItemFim && ((dataAgora - dataItemFim) >= (24 * 60 * 60))) { var diferenca = dataAgora - dataItemFim; var diferencaDias = diferenca / (24 * 60 * 60); diferencaDias = ~~diferencaDias; divObraAtraso.find(".sw_descricao_detalhe").html('Esta obra está <strong>'+diferencaDias+' dias</strong> atrasada.'); divObraAtraso.find(".obr_execucao_atraso").show(); divDataFim.find(".sw_descricao_detalhe").append() divObraAtraso.show(); } else { divObraAtraso.hide(); } } else { divObraAtraso.hide(); divObraAtraso.find(".obr_execucao_atraso").hide(); } /* EXECUCAO DA OBRA */ /* ACOMPANHAMENTOS */ divAcompanhamentosObras.find(".sw_linha_lista_detalhes.obr_acompanhamento_info.obr_acompanhamento_modelo").remove(); if (item.acompanhamentos.length > 0) { var porcentagemConcluido = 0 item.acompanhamentos.forEach(function(acompanhamento){ var divAcompanhamentoModelo = acompanhamentoModelo.clone(); var spanPorcentagem = divAcompanhamentoModelo.find("div.obr_porcentagem_acompanhamento span"); spanPorcentagem.text(acompanhamento.porcentagem+"%"); spanPorcentagem.css("min-width", acompanhamento.porcentagem+"%"); var spanDtConclusao = divAcompanhamentoModelo.find(".obr_data_acompanhamento"); var spanSituacao = divAcompanhamentoModelo.find(".obr_situacao_acompanhamento"); spanSituacao.text(acompanhamento.situacao); var spanDescricao = divAcompanhamentoModelo.find(".obr_descricao_acompanhamento"); spanDescricao.text(acompanhamento.descricao); if (acompanhamento.situacao === "Concluído") { spanSituacao.addClass("obr_situacao_concluida"); spanSituacao.show(); spanDtConclusao.text(acompanhamento.dt_conclusao); spanDtConclusao.show(); porcentagemConcluido = porcentagemConcluido + parseInt(acompanhamento.porcentagem); } else { spanDtConclusao.hide(); } var divVerFotosAcompanhamento = divAcompanhamentoModelo.find(".obr_link_obra.obr_link_ver_fotos"); if (acompanhamento.fotos && Object.values(acompanhamento.fotos).length > 0) { var fancyBoxSrc = []; Object.values(acompanhamento.fotos).forEach(function(foto){ var legenda = ""; if (foto.legenda && foto.legenda !== "null") { legenda = foto.legenda; } var src = { src: foto.arquivo, opts: { caption: legenda } }; fancyBoxSrc.push(src); }); divVerFotosAcompanhamento.click(function(mouseEvent){ $.fancybox.open(fancyBoxSrc, fancyBoxOptions, 0); }); divVerFotosAcompanhamento.show(); } else { divVerFotosAcompanhamento.hide(); } divAcompanhamentoModelo.insertBefore(divTotalAcompanhamentos) divAcompanhamentoModelo.show(); }); if (porcentagemConcluido > 0) { spanTotalPorcentagem.css("min-width", porcentagemConcluido+"%"); spanTotalPorcentagem.text(porcentagemConcluido+"%"); divTotalAcompanhamentos.show(); } else { divTotalAcompanhamentos.hide(); } divAcompanhamentosObras.show(); } else { divAcompanhamentosObras.hide(); } /* ACOMPANHAMENTOS */ /* FOTOS */ if (Object.values(item.fotos).length > 0) { divFotosObra.find("div.vinc_cont_img_galeria_fotos.obr_foto_modelo").remove(); var dataIndex = -1; var fancyBoxSrc = []; Object.values(item.fotos).forEach(function(foto){ var divFotoModelo = fotoModelo.clone(); dataIndex = dataIndex + 1; var legenda = ""; var imgElemento = divFotoModelo.find("img"); imgElemento.attr("src", foto.arquivo); imgElemento.attr("data-index", dataIndex); if (foto.legenda && foto.legenda !== "null") { imgElemento.attr("alt", foto.legenda); legenda = foto.legenda; } else { imgElemento.attr("alt", ""); } // divFotoModelo.attr("data-fancybox", "gallery"+item.codigo); divContFotos.append(divFotoModelo); divFotoModelo.show(); var src = { src: foto.arquivo, opts: { caption: legenda } }; fancyBoxSrc.push(src); }); divContFotos.find("div.vinc_cont_img_galeria_fotos").click(function(mouseEvent){ var target = mouseEvent.target; target = $(target); var indexClick = 0; if (target.attr("data-index") >=0) { indexClick = target.attr("data-index"); } $.fancybox.open(fancyBoxSrc, fancyBoxOptions, indexClick); }); var fotosQtde = Object.values(item.fotos).length; var classeGaleriaFotos = ""; if(fotosQtde < 6) { classeGaleriaFotos = "vinc_cont_galeria_fotos_vinculada_l"+fotosQtde; } else if(fotosQtde % 6 == 5) { classeGaleriaFotos = "vinc_cont_galeria_fotos_vinculada_lr5"; } else if(fotosQtde % 6 == 4) { classeGaleriaFotos = "vinc_cont_galeria_fotos_vinculada_lr4"; } else if(fotosQtde % 6 == 3) { classeGaleriaFotos = "vinc_cont_galeria_fotos_vinculada_lr3"; } else if(fotosQtde % 6 == 2) { classeGaleriaFotos = "vinc_cont_galeria_fotos_vinculada_lr2"; } else if(fotosQtde % 6 == 1) { classeGaleriaFotos = "vinc_cont_galeria_fotos_vinculada_lr1"; } divFotosObra.find(".vinc_cont_galeria_fotos_vinculada").addClass(classeGaleriaFotos); divFotosObra.show(); } else { divFotosObra.hide(); } /* FOTOS */ /* VIDEOS */ divVideosObra.find("div.obr_video_obra.obr_video_modelo").remove(); if (Object.values(item.videos).length > 0) { Object.values(item.videos).forEach(function(video){ if (video.video && video.video !== "null") { var divVideoModelo = videoModelo.clone(); var divImg = divVideoModelo.find(".obr_img_video"); if (video.imagem && video.imagem !== "null") { var imgVideo = divImg.find("img"); imgVideo.attr("src", video.imagem); imgVideo.attr("alt", video.nome); divImg.show(); } else { divImg.hide(); } var divData = divVideoModelo.find(".obr_data_video"); if (video.data && video.data !== "null") { divData.text(video.data); divData.show(); } else { divData.hide(); } var divNome = divVideoModelo.find(".obr_nome_video"); if (video.nome && video.nome !== "null") { divNome.text(video.nome); } var inputHidden = divVideoModelo.find("input[type='hidden']"); inputHidden.val(video.video); divVideoModelo.show(); divVideosObra.append(divVideoModelo); } }); divVideosObra.parent().show(); } else { divVideosObra.parent().hide(); } /* VIDEOS */ /* ARQUIVOS */ divArquivosObra.find("a.obr_arquivo_modelo").remove(); if (Object.values(item.arquivos).length > 0) { Object.values(item.arquivos).forEach(function(arquivo){ var aModelo = arquivoModelo.clone(); aModelo.attr("href", arquivo.arquivo); var imgExtensao = aModelo.find("img"); imgExtensao.attr("src", arquivo.img_extensao); imgExtensao.attr("alt", arquivo.extensao); var divDataArquivo = aModelo.find(".sw_data_arquivo_download"); if (arquivo.data && arquivo.data !== "null") { divDataArquivo.text(arquivo.data); divDataArquivo.show(); } else { divDataArquivo.hide(); } var divNomeArquivo = aModelo.find(".sw_nome_arquivo_download"); if (arquivo.nome && arquivo.nome !== "null") { divNomeArquivo.text(arquivo.nome); divNomeArquivo.show(); } else { divNomeArquivo.hide(); } aModelo.show(); divArquivosObra.append(aModelo); }); divArquivosObra.show(); } else { divArquivosObra.hide(); } /* ARQUIVOS */ /* SECRETARIAS */ divSecretariasObra.find("a.obr_secretaria_modelo").remove(); if (Object.values(item.secretarias).length > 0) { Object.values(item.secretarias).forEach(function(secretaria){ var aSecretariaModelo = secretariaModelo.clone(); aSecretariaModelo.attr("href", secretaria.link) aSecretariaModelo.attr("target", secretaria.abertura); var imgModelo = aSecretariaModelo.find("img"); imgModelo.attr("src", secretaria.imagem); imgModelo.attr("alt", secretaria.nome); var divNomeSecretaria = aSecretariaModelo.find(".obr_nome_secretaria"); divNomeSecretaria.text(secretaria.nome); aSecretariaModelo.show(); divSecretariasObra.append(aSecretariaModelo); }); divSecretariasObra.show(); } else { divSecretariasObra.hide(); } /* SECRETARIAS */ /* VALORES E PRAZOS */ if (item.valor || item.valor_pago) { if (valorObra > 0.0 && valorPagoObra > 0.0) { spanValorContrato.text("R$ "+item.valor); spanValorPagoFinal.text("R$ "+item.valor_pago); if (valorObra >= valorPagoObra) { spanValorContrato.css("min-width", "100%"); spanValorPagoFinal.parent().addClass("obr_estatistica_positiva"); spanValorPagoFinal.css("min-width", ((valorPagoObra * 100) / valorObra)+"%"); } else if (valorObra < valorPagoObra) { spanValorPagoFinal.css("min-width", "100%"); spanValorPagoFinal.parent().addClass("obr_estatistica_negativa"); spanValorContrato.css("min-width", ((valorObra * 100) / valorPagoObra)+"%"); } divValorContrato.show(); divValorUtilizado.show(); } else { if (valorObra > 0.0) { spanValorContrato.text("R$ "+item.valor); spanValorContrato.css("min-width", "100%"); divValorContrato.show(); divValorUtilizado.hide(); } else if (valorPagoObra > 0.0) { spanValorPagoFinal.text("R$ "+item.valor_pago); spanValorPagoFinal.css("min-width", "100%"); divValorUtilizado.show(); divValorContrato.hide(); } else { divValorContrato.parent().hide(); } } divValorContrato.parent().show(); } else { divValorContrato.parent().hide(); } if (item.dt_inicio && item.dt_fim) { var dataInicio = item.dt_inicio; var dataFim = item.dt_fim; var dias = (dataFim - dataInicio) / (24 * 60 * 60); divPrazoRealizacao.find("span").text(dias+" dias"); divPrazoRealizacao.show(); } else { divPrazoRealizacao.parent().hide(); } /* VALORES E PRAZOS */ divAreaDetalhes.show(); $(".obr_btn_detalhes").trigger("click"); } } } $body.on("click", ".obr_link_ver_obra", function(){ botaoMenuDetalhes.prop("disabled", false); var codigoObra = $(this).data("codigo"); codigoObra = parseInt(codigoObra); if (codigoObra > 0) { visualizarObra(codigoObra); } }); /* VISUALIZAR OBRA */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* SEGUIR OBRA */ btnSeguirObra.click(function(mouseEvent){ if (seguirObra) { if (btnSeguirObra.hasClass("itn_btn_login")) { sw_popup("#itn_login", "S"); /* RECUPERAÇÃO DE SENHA */ $("#link_senha").click(function() { sw_abrir_janela("/portal/internautas/recuperar-senha", 450, 600) }); } else { // TRATANDO TEXTO/AÇÃO DO MODAL var seguirAcao = btnSeguirObra.attr("data-seguir-acao"); var textoModal = ""; if(seguirAcao == "seguir") { textoModal = "Ao seguir este item você receberá por e-mail todas suas atualizações em tempo real." } else if(seguirAcao == "deixar_seguir") { textoModal = "Ao deixar de seguir este item você deixará de receber por e-mail todas suas atualizações em tempo real."; } swal({ title: "Atenção!", text: textoModal, icon: "warning", buttons: ["Cancelar", "OK"], }) .then(function(acao) { if(acao === true) { var codigo = btnSeguirObra.attr("data-id"); codigo = parseInt(codigo); var ferramenta = btnSeguirObra.attr("data-ferramenta"); // ANALISANDO SE ESTÁ LOGADO if (!btnSeguirObra.hasClass("itn_btn_login")) { //ANALISANDO AÇÃO var acao; if (!btnSeguirObra.hasClass("sw_seguindo")) { acao = "cadastrar"; } else { acao = "remover"; } $.ajax({ url: "/seguir_acoes.php", type: "POST", data: "acao="+acao+"&ferramenta="+ferramenta+"&codigo="+codigo, async: false, beforeSend: function(){ sw_carregando_fs("show"); }, complete: function() { sw_carregando_fs("hide"); }, success: function(data) { data = JSON.parse(data); if(data.erro != "" && data.erro != undefined) { swal({ text: data.erro, icon: "error", }); } else { // ANALISANDO AÇÃO if (acao == "cadastrar") { btnSeguirObra.addClass("sw_seguindo").attr("title", "Clique para deixar de seguir ").find(".sw_txt_btn").text("Seguindo"); btnSeguirObra.attr("data-seguir-acao","deixar_seguir"); } else { btnSeguirObra.removeClass("sw_seguindo").attr("title", "Clique para seguir").find(".sw_txt_btn").text("Seguir"); btnSeguirObra.attr("data-seguir-acao","seguir"); } for(var indexMarcador = 0; indexMarcador < markers.length; indexMarcador++) { var item = markers[indexMarcador]; if (item.codigo === codigo) { if (acao === "cadastrar") { item.seguir_acao = "deixar_seguir"; item.seguir_class = "sw_seguindo btn_seguir_ferramenta"; item.seguir_txt = "Seguindo"; item.seguir_title = "Clique para deixar de seguir."; } else { item.seguir_acao = "seguir"; item.seguir_class = "btn_seguir_ferramenta disabled"; item.seguir_txt = "Seguir"; item.seguir_title = "Clique para seguir."; } break; } } } }, error: function(data) { swal({ text: "Algo de errado aconteceu, tente novamente!", icon: "error", }) .then(function() { location.reload(true); }); } }); } } }); } } }); /* SEGUIR OBRA */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ACESSIBILIDADE */ //BOTÃO DE CONTRASTE DE COR $("#obra_contraste").click(function () { if($("body").hasClass("contraste")) { $("body").removeClass("contraste"); $("body").css("background","#FFFFFF"); $("#logo_branca").hide(); $("#logo_mobile").show(); } else { $("body").addClass("contraste"); $("#logo_branca").show(); $("#logo_mobile").hide(); } }); /* ACESSIBILIDADE */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* CRIANDO MAPA */ leafLetMap = Mapa("leaflet_map"); /* CRIANDO MAPA */ var abrirRelatorio = false; var codigoObra = 4; if (abrirRelatorio) { var anoSelecionado = 0; if (anoSelecionado > 0) { selectRelatorioFiltroAno.find("option[value='"+anoSelecionado+"']").prop("selected", true); } divMenuObras.find("button[data-menu='obr_content_relatorio']").trigger("click"); } else { if (codigoObra > 0) { visualizarObra(codigoObra); } } /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ // ABRIR MODAL/ALERT CONFIRMAÇÃO $(".btn_modal_boletim").click(function() { swal({ title: "Atenção!", text: "Ao confirmar você será redirecionado para sua área de preferências para que possa gerenciador o Boletim Informativo.", icon: "warning", buttons: ["Cancelar", "OK"], }) .then(function(acao) { if(acao === true) { window.open("/portal/internautas/dados/preferencias/#boletim_informativo", "_blank"); } }); }); /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ /* ############################################################################################################################################################################################# */ }); </script>]]>
2602 <![CDATA[<script> /* ============================================================================================ FUNÇÃO PARA RETORNO DA VOTAÇÃO DA ENQUETE ============================================================================================ */ function retorna_enquete(data){ if(data != '') { $('#votar').hide(); $("#e_cont_enquete").html(data); } } /* ============================================================================================ POPUP ============================================================================================ */ // FUNÇÃO ABRIR PÁGINA function sw_abrir_janela(pagina, altura, largura) { var a = (screen.height/2)-(altura/2); var l = (screen.width/2)-(largura/2); window.open(pagina,'senha','width='+largura+',height='+altura+',top='+a+',left='+l+',scrollbars=1'); } // ABRIR POPUP function sw_abrir_popup(elemento) { elemento.fadeIn(200); elemento.find(".sw_popup").animate({"top": "+20px"}, "fast"); $("body").css("overflow", "hidden"); } // FECHAR POPUP function sw_fechar_popup(elemento) { elemento.fadeOut(200); elemento.find(".sw_popup").animate({"top": "-20px"}, "fast", function() { $(".sw_popup_modal:visible").last().find("input, button").first().focus(); }); // if ($(".sw_popup_modal").is(":hidden")) { setTimeout(function () { $("body").css("overflow", "auto"); }, 300); // } } // SW POPUP ( ".ELEMENTO / #ELEMENTO" , "SE MODAL PODE SER FECHADO OU NÃO") function sw_popup(elemento, fechar) { if (!fechar) { fechar = "S"; } var id_elemento = elemento.substr(1); // REMOVE O PRIMEIRO CARACTERE (# OU .) var elemento = $(elemento); // ABRIR POPUP sw_abrir_popup(elemento); // FECHAR POPUP elemento.find(".sw_btn_fechar_popup").click(function() { sw_fechar_popup(elemento); }); // ANALISANDO SE MODAL PODE SER FECHADO AO CLICAR FORA DA JANELA E AO TECLAR ESC if (fechar == "S") { elemento.addClass("keyupmodal") // FECHAR AO CLICAR NA TELA ESCURA elemento.click(function(e) { if (e.target.id == id_elemento) { sw_fechar_popup(elemento); } }); //elemento.click(function() { console.log("fechou!"); sw_fechar_popup(elemento); }); //elemento.find(".sw_popup").on("click", function() { event.stopPropagation(); }); // FECHAR AO CLICAR ESC $(document).on("keyup", function(e) { if (e.keyCode === 27) { if ($(".sw_popup_modal:visible").last().hasClass("keyupmodal")) { sw_fechar_popup($(".keyupmodal:visible").last()); } } }); } } /* ============================================================================================ ACESSIBILIDADE ============================================================================================ */ // SW ACESSIBILIDADE if (typeof sw_acessibilidade !== "function") { function sw_acessibilidade(param, callback) { // ANALISANDO PARÂMETROS if (typeof param === "undefined" || !param) { param = {} } if (typeof param.media === "undefined") { param.media = "desktop" } // ANALISANDO MEDIA if ( (param.media === "todas" || param.media === "all") || (param.media === "desktop" && window.innerWidth > 1000) || (param.media === "mobile" && window.innerWidth <= 1000) || (window.innerWidth <= param.media) ) { // ANALISANDO PARÂMETROS if (typeof param.layout === "undefined") { param.layout = "a1" } if (typeof param.caminho === "undefined") { param.caminho = "body" } // FUNÇÕES if (param.fonte !== false) { param.fonte = true; } if (param.contraste !== false) { param.contraste = true; } if (param.mapa !== false) { param.mapa = true; } if (param.vlibras !== false) { param.vlibras = true; } if (param.pagina !== false) { param.pagina = true; } if (param.transicoes !== false) { param.transicoes = true; } if (param.reset !== false) { param.reset = true; } if (param.irconteudo !== false) { param.irconteudo = true; } if (param.irmenu !== false) { param.irmenu = true; } if (param.irbusca !== false) { param.irbusca = true; } if (param.irrodape !== false) { param.irrodape = true; } // CRIANDO ELEMENTOS var sw_acessibilidade = $("#sw_acessibilidade"); if (!sw_acessibilidade.length) { sw_acessibilidade = $('<div id="sw_acessibilidade" />'); $(param.caminho).prepend(sw_acessibilidade); } sw_acessibilidade.addClass("sw_area_acessibilidade " + param.layout); // BOTÃO MENU ACESSIBILIDADE if (!sw_acessibilidade.find("#sw_btn_menu_acessibilidade").length) { var btn_menu_acessibilidade = $('<div id="sw_btn_menu_acessibilidade" class="sw_btn_menu_acessibilidade" />') // INSERINDO ÍCONE DE ACESSIBILIDADE E FECHAR btn_menu_acessibilidade.append('<div class="sw_icone_acessibilidade" />') .append('<div class="sw_icone_fechar" />'); // INSERINDO BOTÃO MENU sw_acessibilidade.append(btn_menu_acessibilidade); } // CLICK DO BOTÃO sw_acessibilidade.find("#sw_btn_menu_acessibilidade").on({ "click": function() { sw_acessibilidade.toggleClass("show"); } }); sw_acessibilidade.on({ "mouseenter": function() { if (window.innerWidth >= 1000) { sw_acessibilidade.addClass("show"); } }, "mouseleave": function() { if (window.innerWidth >= 1000) { sw_acessibilidade.removeClass("show"); } } }); // CONT ACESSIBILIDADE if (!sw_acessibilidade.find(".sw_cont_acessibilidade").length) { sw_acessibilidade.append('<div class="sw_cont_acessibilidade" />'); } // TÍTULO ACESSIBILIDADE if (!sw_acessibilidade.find(".sw_titulo_acessibilidade").length) { sw_acessibilidade.find(".sw_cont_acessibilidade").append('<div class="sw_titulo_acessibilidade"><span>Acessibilidade</span></div>'); } // ÁREA BOTÕES if (!sw_acessibilidade.find(".sw_area_botoes_acessibilidade").length) { sw_acessibilidade.find(".sw_cont_acessibilidade").append('<div class="sw_area_botoes_acessibilidade" />'); } // FUNÇÃO INSERE BOTÃO DE ACESSIBILIDADE function sw_insere_btn_acessibilidade(param_btn) { if (param_btn.seletor) { // ANALISANDO SE O ELEMENTO NÃO EXISTE PARA ENTÃO CRIAR if (!sw_acessibilidade.find(param_btn.seletor).length) { var item = $( '<a>'+ '<div></div>'+ '</a>' ).attr( param_btn.seletor.charAt(0) === '#' ? 'id' : 'class', param_btn.seletor.substring(1) ); // CLASSES if (param_btn.classes) { item.find("div").addClass(param_btn.classes); } // DESCRIÇÃO if (param_btn.descricao) { item.find(".sw_btn_acessibilidade").append('<span class="sw_txt_btn_acessibilidade">'+param_btn.descricao+'</span>'); item.attr("title", param_btn.descricao); } // ÍCONE if (param_btn.icone) { item.find(".sw_btn_acessibilidade").append('<span class="sw_icone_btn tamanho_fixo swfa '+param_btn.icone+'" />') } // LINK if (param_btn.link) { item.attr("href", param_btn.link); } // ACCESSKEY if (param_btn.accesskey) { item.attr("accesskey", param_btn.accesskey); // INSERINDO TECLADO NUMÉRICO window.addEventListener("keydown", function(e) { var keyCode = e.keyCode || e.which; if (e.altKey && keyCode === param_btn.accesskey+96) { if (param_btn.link) { window.location.href = param_btn.link; } else { item.trigger("click") } } }, false) } // INSERINDO ITEM sw_acessibilidade.find(".sw_area_botoes_acessibilidade").append(item); } } } // ============================================================= // BOTÃO AUMENTAR // ============================================================= if (param.fonte && !sw_acessibilidade.find("#sw_btn_aumentar_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_aumentar_acessibilidade", classes: "sw_btn_acessibilidade sw_btn_aumentar_acessibilidade", icone: "fas fa-plus", descricao: "Aumentar fonte" }); } // ATRIBUINDO FUNÇÃO sw_acessibilidade.find("#sw_btn_aumentar_acessibilidade").click(function() { // CARREGANDO FS sw_carregando_fs("show"); // ALTERANDO FONTS sw_altera_fonts(1); // REMOVE CARREGANDO FS setTimeout(function() { sw_carregando_fs("hide"); }, 400); }); // ============================================================= // BOTÃO DIMINUIR // ============================================================= if (param.fonte && !sw_acessibilidade.find("#sw_btn_diminuir_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_diminuir_acessibilidade", classes: "sw_btn_acessibilidade sw_btn_diminuir_acessibilidade", icone: "fas fa-minus", descricao: "Diminuir fonte" }); } // ATRIBUINDO FUNÇÃO sw_acessibilidade.find("#sw_btn_diminuir_acessibilidade").click(function() { // CARREGANDO FS sw_carregando_fs("show"); // ALTERANDO FONTS sw_altera_fonts(-1); // REMOVE CARREGANDO FS setTimeout(function() { sw_carregando_fs("hide"); }, 400); }); // ============================================================= // BOTÃO CONTRASTE // ============================================================= if (param.contraste && !sw_acessibilidade.find("#sw_btn_contraste_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_contraste_acessibilidade", classes: "sw_btn_acessibilidade sw_btn_contraste_acessibilidade", icone: "fas fa-adjust", descricao: "Alto contraste", accesskey: 5 }); } // ATRIBUINDO FUNÇÃO sw_acessibilidade.find("#sw_btn_contraste_acessibilidade").click(function() { var action_contraste = (localStorage.getItem("sw_acessibilidade_contraste") === "true") ? false : true; sw_contraste(action_contraste); }); // ============================================================= // BOTÃO VLIBRAS // ============================================================= if (param.vlibras && !sw_acessibilidade.find("#sw_btn_vlibras_acessibilidade").length && $("#vlibras_include img").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_vlibras_acessibilidade", classes: "sw_btn_acessibilidade sw_btn_vlibras_acessibilidade", icone: "fas fa-sign-language", descricao: "Habilitar VLibras", accesskey: 7 }); } // ATRIBUINDO FUNÇÃO sw_acessibilidade.find("#sw_btn_vlibras_acessibilidade").click(function() { var action_vlibras = (localStorage.getItem("sw_acessibilidade_vlibras") === "true") ? false : true; sw_vlibras(action_vlibras); }); var vlibras_include = $("#vlibras_include"); if (vlibras_include.length) { // BOTÃO ABRIR VLIBRAS vlibras_include.on("click", "div[vw-access-button]", function(e) { setTimeout(function() { sw_vlibras(true); }, 100); }); // BOTÃO FECHAR VLIBRAS vlibras_include.on("click", "img.vpw-settings-btn-close", function() { setTimeout(function() { sw_vlibras(false); }, 100); }); } // ============================================================= // BOTÃO TRANSIÇÕES // ============================================================= if (param.transicoes && !sw_acessibilidade.find("#sw_btn_transicoes_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_transicoes_acessibilidade", classes: "sw_btn_acessibilidade sw_btn_transicoes_acessibilidade", icone: "fab fa-delicious", descricao: "Ativar/Desativar transições" }); } // ATRIBUINDO FUNÇÃO sw_acessibilidade.find("#sw_btn_transicoes_acessibilidade").click(function() { // CARREGANDO FS sw_carregando_fs("show"); // ACIONANDO FUNÇÃO var action_transicoes = (localStorage.getItem("sw_acessibilidade_transicoes") === "true") ? false : true; sw_desativa_transicoes(action_transicoes); // REMOVE CARREGANDO FS setTimeout(function() { sw_carregando_fs("hide"); }, 400); }); // ============================================================= // BOTÃO MAPA // ============================================================= if (param.mapa && !sw_acessibilidade.find("#sw_btn_mapa_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_mapa_acessibilidade", classes: "sw_btn_acessibilidade sw_btn_mapa_acessibilidade", icone: "fas fa-sitemap", descricao: "Mapa do site", link: "/portal/mapa" }); } // ============================================================= // BOTÃO ACESSIBILIDADE PÁGINA // ============================================================= if (param.pagina && !sw_acessibilidade.find("#sw_btn_pagina_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_pagina_acessibilidade", classes: "sw_btn_acessibilidade sw_btn_pagina_acessibilidade", icone: "fas fa-wheelchair", descricao: "Página de Acessibilidade", link: "/portal/acessibilidade", accesskey: 6 }); } // ============================================================= // BOTÃO RESET // ============================================================= if (param.reset && !sw_acessibilidade.find("#sw_btn_reset_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_reset_acessibilidade", classes: "sw_btn_acessibilidade sw_btn_reset_acessibilidade", icone: "fas fa-undo", descricao: "Resetar acessibilidade" }); } // ATRIBUINDO FUNÇÃO sw_acessibilidade.find("#sw_btn_reset_acessibilidade").click(function() { // CARREGANDO FS sw_carregando_fs("show"); // RESETANDO ACESSIBILIDADE var reset = true; set_acessibilidade(reset); // REMOVE CARREGANDO setTimeout(function() { sw_carregando_fs("hide"); }, 400); }).hide(); // ============================================================= // BOTÃO IR PARA O CONTEÚDO // ============================================================= if (param.irconteudo && !sw_acessibilidade.find("#sw_btn_irconteudo_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_irconteudo_acessibilidade", classes: "sw_btn_acessibilidade sw_link_acessibilidade sw_btn_irconteudo_acessibilidade", icone: "fas fa-desktop", descricao: "Ir para o conteúdo", link: (location.pathname === "/" || location.pathname === "/portal" || location.pathname === "/portal/") ? "#e_conteudo" : "#e_centralizar", accesskey: 1 }); } // ============================================================= // BOTÃO IR PARA O MENU // ============================================================= if (param.irmenu && !sw_acessibilidade.find("#sw_btn_irmenu_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_irmenu_acessibilidade", classes: "sw_btn_acessibilidade sw_link_acessibilidade sw_btn_irmenu_acessibilidade", icone: "fas fa-bars", descricao: "Ir para o menu", link: "#e_cont_topo", accesskey: 2 }); } // ============================================================= // BOTÃO IR PARA A BUSCA // ============================================================= if (param.irbusca && !sw_acessibilidade.find("#sw_btn_irbusca_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_irbusca_acessibilidade", classes: "sw_btn_acessibilidade sw_link_acessibilidade sw_btn_irbusca_acessibilidade", icone: "fas fa-search", descricao: "Ir para a busca", link: "#e_campo_busca", accesskey: 3 }); } // IR PARA BUSCA $("#irbusca").click(function () { $("#e_campo_busca").focus(); }); // FORMULÁRIO $("#formulario_busca").bind('submit',function() { var busca = ($("#e_campo_busca").val() == "") ? 0 : $("#e_campo_busca").val(); window.location.href = '/portal/busca/' + busca; return false; }); // ============================================================= // BOTÃO IR PARA O RODAPÉ // ============================================================= if (param.irrodape && !sw_acessibilidade.find("#sw_btn_irrodape_acessibilidade").length) { sw_insere_btn_acessibilidade({ seletor: "#sw_btn_irrodape_acessibilidade", classes: "sw_btn_acessibilidade sw_link_acessibilidade sw_btn_irrodape_acessibilidade", icone: "fas fa-arrow-down", descricao: "Ir para o rodapé", link: "#e_cont_rodape", accesskey: 4 }); } } } } // FUNÇÃO AUMENTAR / DIMINUIR FONTS if (typeof sw_altera_fonts !== "function") { function sw_altera_fonts(action) { var elemento; var body = $("body"); var fonte = (localStorage.getItem("sw_acessibilidade_fonte") !== null) ? parseInt(localStorage.getItem("sw_acessibilidade_fonte")) : 0; var fontoriginal; var font_size; var nova_font_size; // ANALISANDO SE FONT ORIGINAL E PARÂMETRO SÃO DIFERENTES DE ZERO if (!((action === 0 || action === false || action === null) && fonte === 0)) { // CALCULANDO NOVA FONT nova_font_size = (action === 0) ? 0 : fonte + action; // PERCORRENDO ELEMENTOS DO BODY E SETANDO FONTS ORIGINAIS if (nova_font_size >= -5 && nova_font_size <= 5) { body.find("*").each(function() { elemento = $(this); // ANALISANDO | SE ELEMENTO PAI CONTÉM A CLASSE TAMANHO_FIXO | && | SE O ELEMENTO NÃO TEM FONT-SIZE ZERO OU | && | SE O ELEMENTO NÃO TEM A CLASSE TAMANHO_FIXO if ( (!elemento.parents(".tamanho_fixo").length) && (elemento.css("font-size").replace(/\D/g, "") > 0) && (!elemento.hasClass("tamanho_fixo")) ) { // ANALISANDO ESTADO ATUAL DAS FONTS fontoriginal = elemento.attr("data-fontoriginal"); if (typeof fontoriginal === "undefined" || fontoriginal === false) { // SETANDO ATRIBUTO DATA-FONTSIZE ATUAL fontoriginal = parseInt(elemento.css("font-size").replace("px", "")); elemento.attr("data-fontoriginal", fontoriginal) } } }); // PERCORRENDO ELEMENTOS DO BODY E ALTERANDO FONT-SIZE body.find("[data-fontoriginal]").each(function() { elemento = $(this); // ANALISANDO FONT ATUAL DO ELEMENTO fontoriginal = parseInt(elemento.attr("data-fontoriginal")); font_size = fontoriginal + nova_font_size; elemento.css({"font-size" : font_size + "px"}); }); // ATUALIZANDO LOCAL STORAGE if (nova_font_size == 0) { localStorage.removeItem("sw_acessibilidade_fonte"); } else { localStorage.setItem("sw_acessibilidade_fonte", nova_font_size); } } // ACIONANDO FUNÇÃO SET ACESSIBILIDADE sw_deb_acessibilidade = sw_debounce(set_acessibilidade, 500, sw_deb_acessibilidade); } } } // FUNÇÃO CONTRASTE if (typeof sw_contraste !== "function") { function sw_contraste(action) { var body = $("body"); var contraste = (localStorage.getItem("sw_acessibilidade_contraste") !== null) ? localStorage.getItem("sw_acessibilidade_contraste") : false; // ANALISANDO SE HÁ MUDANÇA DE AÇÃO if (typeof action === "undefined" || action === null) { action = contraste; } // REMOVENDO TRANSIÇÕES MOMENTANEAMENTE body.addClass("transition0s"); setTimeout(function() { body.removeClass("transition0s"); }, 100); // ANALISANDO AÇÃO if (action || action === "true") { body.addClass("contraste"); // SETANDO LOCAL STORAGE localStorage.setItem("sw_acessibilidade_contraste", action); } else { body.removeClass("contraste"); // RESETANDO LOCAL STORAGE localStorage.removeItem("sw_acessibilidade_contraste"); } // ACIONANDO FUNÇÃO SET ACESSIBILIDADE sw_deb_acessibilidade = sw_debounce(set_acessibilidade, 200, sw_deb_acessibilidade); } } // FUNÇÃO DESATIVA TRANSIÇÕES if (typeof sw_desativa_transicoes !== "function") { function sw_desativa_transicoes(action) { var contents = $("body >*"); var transicoes = (localStorage.getItem("sw_acessibilidade_transicoes") !== null) ? localStorage.getItem("sw_acessibilidade_transicoes") : false; // ANALISANDO SE HÁ MUDANÇA DE AÇÃO if (typeof action === "undefined" || action === null) { action = transicoes; } // ANALISANDO AÇÃO if (action || action === "true") { contents.addClass("transition0s"); // SETANDO LOCAL STORAGE localStorage.setItem("sw_acessibilidade_transicoes", true); } else { contents.removeClass("transition0s"); // RESETANDO LOCAL STORAGE localStorage.removeItem("sw_acessibilidade_transicoes"); } // ACIONANDO FUNÇÃO SET ACESSIBILIDADE sw_deb_acessibilidade = sw_debounce(set_acessibilidade, 500, sw_deb_acessibilidade); } } // FUNÇÃO HABILITA VLIBRAS if (typeof sw_vlibras !== "function") { function sw_vlibras(action) { var vlibras = (localStorage.getItem("sw_acessibilidade_vlibras") !== null) ? localStorage.getItem("sw_acessibilidade_vlibras") : false; var vlibras_include = $("#vlibras_include"); // ANALISANDO SE HÁ MUDANÇA DE AÇÃO if (typeof action === "undefined" || action === null) { action = vlibras; } // ANALISANDO AÇÃO if (action || action === "true") { if (vlibras_include.find("div[vw-access-button]").hasClass("active")) { vlibras_include.find("div[vw-access-button]").trigger("click"); } // SETANDO LOCAL STORAGE localStorage.setItem("sw_acessibilidade_vlibras", action); } else { if (!vlibras_include.find("div[vw-access-button]").hasClass("active")) { vlibras_include.find("img.vpw-settings-btn-close").trigger("click"); } // RESETANDO LOCAL STORAGE localStorage.removeItem("sw_acessibilidade_vlibras"); } // ACIONANDO FUNÇÃO SET ACESSIBILIDADE sw_deb_acessibilidade = sw_debounce(set_acessibilidade, 500, sw_deb_acessibilidade); } } // FUNÇÃO SET ACESSIBILIDADE // INDICA AO USUÁRIO QUE HÁ FUNÇÕES DE ACESSIBILIDADES ATIVAS OU RESETA FUNÇÕES if (typeof set_acessibilidade !== "function") { function set_acessibilidade(reset) { // CAPTURANDO ATRIBUTOS var fonte = (localStorage.getItem("sw_acessibilidade_fonte") !== null) ? localStorage.getItem("sw_acessibilidade_fonte") : 0; var contraste = (localStorage.getItem("sw_acessibilidade_contraste") !== null) ? localStorage.getItem("sw_acessibilidade_contraste") : false; var transicoes = (localStorage.getItem("sw_acessibilidade_transicoes") !== null) ? localStorage.getItem("sw_acessibilidade_transicoes") : false; var vlibras = (localStorage.getItem("sw_acessibilidade_vlibras") !== null) ? localStorage.getItem("sw_acessibilidade_vlibras") : false; // BOTÕES var sw_btn_menu_acessibilidade = $("#sw_btn_menu_acessibilidade"); var sw_btn_aumentar_acessibilidade = $("#sw_btn_aumentar_acessibilidade"); var sw_btn_diminuir_acessibilidade = $("#sw_btn_diminuir_acessibilidade"); var sw_btn_contraste_acessibilidade = $("#sw_btn_contraste_acessibilidade"); var sw_btn_transicoes_acessibilidade = $("#sw_btn_transicoes_acessibilidade"); var sw_btn_vlibras_acessibilidade = $("#sw_btn_vlibras_acessibilidade"); var sw_btn_reset_acessibilidade = $("#sw_btn_reset_acessibilidade"); // ANALISANDO RESET if (reset === true) { fonte = 0; contraste = false; transicoes = false; vlibras = false; // RESETANDO ACESSIBILIDADE sw_altera_fonts(fonte); sw_contraste(contraste); sw_desativa_transicoes(transicoes); sw_vlibras(vlibras); } // BOTÃO DE RESET if (sw_btn_reset_acessibilidade.length) { if (fonte != 0 || contraste || transicoes || vlibras) { sw_btn_reset_acessibilidade.show(); } else { sw_btn_reset_acessibilidade.hide(); } } // ANALISANDO FUNÇÕES INDIVIDUALMENTE var qtde_funcoes = 0; // AUMENTAR / DIMINUIR FONTE if (fonte > 0) { qtde_funcoes++; sw_btn_aumentar_acessibilidade.find(".sw_btn_acessibilidade").attr("data-acessibilidade", fonte).addClass("ativa"); sw_btn_diminuir_acessibilidade.find(".sw_btn_acessibilidade").removeAttr("data-acessibilidade").removeClass("ativa"); } else if (fonte < 0) { qtde_funcoes++; sw_btn_diminuir_acessibilidade.find(".sw_btn_acessibilidade").attr("data-acessibilidade", fonte).addClass("ativa"); sw_btn_aumentar_acessibilidade.find(".sw_btn_acessibilidade").removeAttr("data-acessibilidade").removeClass("ativa"); } else { sw_btn_aumentar_acessibilidade.find(".sw_btn_acessibilidade").removeAttr("data-acessibilidade").removeClass("ativa"); sw_btn_diminuir_acessibilidade.find(".sw_btn_acessibilidade").removeAttr("data-acessibilidade").removeClass("ativa"); } // CONTRASTE if (contraste) { qtde_funcoes++; sw_btn_contraste_acessibilidade.find(".sw_btn_acessibilidade").attr("data-acessibilidade", 1).addClass("ativa"); } else { sw_btn_contraste_acessibilidade.find(".sw_btn_acessibilidade").removeAttr("data-acessibilidade").removeClass("ativa"); } // TRANSIÇÕES if (transicoes) { qtde_funcoes++; sw_btn_transicoes_acessibilidade.find(".sw_btn_acessibilidade").attr("data-acessibilidade", 1).addClass("ativa"); } else { sw_btn_transicoes_acessibilidade.find(".sw_btn_acessibilidade").removeAttr("data-acessibilidade").removeClass("ativa"); } // VLIBRAS if (vlibras) { qtde_funcoes++; sw_btn_vlibras_acessibilidade.find(".sw_btn_acessibilidade").attr("data-acessibilidade", 1).addClass("ativa"); } else { sw_btn_vlibras_acessibilidade.find(".sw_btn_acessibilidade").removeAttr("data-acessibilidade").removeClass("ativa"); } // ANALISANDO QUANTIDADE DE FUNÇÕES if (qtde_funcoes > 0) { sw_btn_menu_acessibilidade.addClass("ativa").find(".sw_icone_acessibilidade").attr("data-acessibilidade", qtde_funcoes); } else { sw_btn_menu_acessibilidade.removeClass("ativa").find(".sw_icone_acessibilidade").removeAttr("data-acessibilidade"); } // ATRIBUINDO TEXTO AOS BOTÕES if (sw_btn_contraste_acessibilidade.length) { var txt_btn = (contraste === false) ? "Alto contraste" : "Baixo contraste"; sw_btn_contraste_acessibilidade.attr("title", txt_btn); sw_btn_contraste_acessibilidade.find(".sw_txt_btn_acessibilidade").text(txt_btn); } if (sw_btn_transicoes_acessibilidade.length) { var txt_btn = (transicoes == false) ? "Remover transições" : "Ativar transições"; sw_btn_transicoes_acessibilidade.attr("title", txt_btn); sw_btn_transicoes_acessibilidade.find(".sw_txt_btn_acessibilidade").text(txt_btn); } if (sw_btn_vlibras_acessibilidade.length) { var txt_btn = (vlibras == false) ? "Ativar VLibras" : "Desativar VLibras"; sw_btn_vlibras_acessibilidade.attr("title", txt_btn); sw_btn_vlibras_acessibilidade.find(".sw_txt_btn_acessibilidade").text(txt_btn); } } } // FUNÇÃO DEBOUNCE if (typeof sw_debounce !== "function") { function sw_debounce(funcao, time, debounce_timeout) { clearTimeout(debounce_timeout); // A CHAMADA DESSA FUNÇÃO DEVE SER RETORNADA PARA A VARIÁVEL 'debounce_timeout' // Ex: var debounce_timeout = sw_debounce(funcao, time, debounce_timeout) return debounce_timeout = setTimeout(funcao, time); } } var sw_deb_acessibilidade; /* ============================================================================================ ACIONANDO FUNÇÕES ANTES DE CARREGAR A PÁGINA ============================================================================================ */ // CONTRASTE sw_contraste(null); // TRANSIÇÕES sw_desativa_transicoes(null); /* ============================================================================================ ACIONANDO FUNÇÕES AO CARREGAR A PÁGINA ============================================================================================ */ $(document).ready(function() { /* ============================================================================================ ACESSIBILIDADE ---- ANTIGO --- REMOVER DEPOIS DE TODOS ALTERADOS ============================================================================================ */ // BOTÃO DE AUMENTAR A FONTE $(".aumentar").click(function () { $("*").each(function() { if ( (!$(this).parents(".tamanho_fixo").length) && ($(this).css("font-size").replace(/\D/g, "") > 0) && (!$(this).hasClass("tamanho_fixo")) ) { var size = $(this).css('font-size'); size = size.replace('px', ''); size = parseInt(size) + 1; if(size < 18) { $(this).animate({'font-size' : size + 'px'}); } } }); }); // BOTÃO DE DIMINUIR A FONTE $(".diminuir").click(function () { $("*").each(function() { if ( (!$(this).parents(".tamanho_fixo").length) && ($(this).css("font-size").replace(/\D/g, "") > 0) && (!$(this).hasClass("tamanho_fixo")) ) { var size = $(this).css('font-size'); size = size.replace('px', ''); size = parseInt(size) - 1; if(size > 10) { $(this).animate({'font-size' : size + 'px'}); } } }); }); // BOTÃO DE CONTRASTE DE COR $("#contraste").click(function () { if($("body").hasClass("contraste")) { $("body").removeClass("contraste"); $("body").css("background","#FFFFFF"); $("#logo_branca").hide(); } else { $("body").addClass("contraste"); $("#logo_branca").show(); } }); // BOTÃO IR PARA BUSCA $("#irbusca").click(function () { $("#e_campo_busca").focus(); }); // VLIBRAS $(".vlibras").click(function() { $("#vlibras_include div[vw-access-button]").trigger("click"); }); // // SW ACESSIBILIDADE // var sw_parametros_acessibilidade = { // layout: "a1" // }; // // ANALISANDO SE HÁ PARÂMETROS EXCLUSIVOS DO LAYOUT // if (typeof e_parametros_acessibilidade === "object") { // sw_parametros_acessibilidade = e_parametros_acessibilidade; // } // // ACIONANDO FUNÇÃO DE ACESSIBILIDADE // sw_acessibilidade(sw_parametros_acessibilidade) // ACIONANDO FUNÇÃO DE ACESSIBILIDADE AO FIM DO CARREGAMENTO DA PÁGINA $(window).on("load", function() { // ALTERAR FONTS sw_altera_fonts(null); // VLIBRAS sw_vlibras(null); }); // SETANDO ATRIBUTOS sw_deb_acessibilidade = sw_debounce(set_acessibilidade, 500, sw_deb_acessibilidade); /* ============================================================================================ ENQUETE ============================================================================================ */ // CLICK DO BOTÃO COM ID VOTAR DA ENQUETE $('#votar').click(function(){ var opcao = $("input[name=form_resposta]:checked").val(); opcao = parseInt(opcao); var recaptcha = ""; //A CLASSE e_captcha_enquete DEVE SER INSERIDA NO HTMLQUE CONTER O CAPTCHA DA ENQUETE, PARA QUE O CÓDIGO CONSIGA LOCALIZAR O RESULTADO REFERENTE AO LOCAL CORRETO recaptcha = $(".e_captcha_enquete").find("textarea.g-recaptcha-response").val(); //SE EXISTIR OS CAMPOS DE NOME E E-MAIL if($('#form_nome_enquete').length || $('#form_email_enquete').length || $("#form_cpf_enquete").length || $("#form_data_enquete").length) { if(isNaN(opcao)) { swal({ text: "Enquete: selecione uma resposta.", icon: "warning" }); } else { if($("#form_nome_enquete").val() == "" || $("#form_email_enquete").val() == "" || $("#form_cpf_enquete").val() == "" || $("#form_data_enquete").val() == "" || $("#form_data_enquete").val() == "00/00/0000") { swal({ text: "Enquete: preencha os campos.", icon: "warning" }); } else { var nome = $("#form_nome_enquete").val(); var email = $("#form_email_enquete").val(); var cpf = $("#form_cpf_enquete").val(); var data = $("#form_data_enquete").val(); var invalido = ""; if($("#form_cpf_enquete").val() != '' && $("#form_cpf_enquete").length) { if(validarCPF(cpf) == false) { swal({ text: "Enquete: CPF informado é inválido.", icon: "error" }); invalido = "S"; } } if($("#form_email_enquete").val() != '' && $("#form_email_enquete").length) { if(validarEmail(email) == false) { swal({ text: "Enquete: E-mail informado é inválido.", icon: "error" }); invalido = "S"; } } if(invalido != "S") { $.post('/enquete_votar.php',{ enviar: 's', form_resposta: opcao, form_nome: nome, form_email: email, form_cpf: cpf, form_data: data, captcha: recaptcha }, retorna_enquete); } } } } else { if(!isNaN(opcao)) { $.post('/enquete_votar.php',{ enviar: 's', form_resposta: opcao, captcha: recaptcha }, retorna_enquete); } else { swal({ text: "Enquete: selecione uma resposta.", icon: "warning" }); } } }); }); </script>]]>
3590 <![CDATA[<script> $(document).ready(function() { // ANALISANDO SE HÁ NOTIFICAÇÕES var barra_notificacoes = $(".sw_barra_notificacoes"); if (barra_notificacoes.find(".sw_notificacao").length) { $(window).on("load", function() { barra_notificacoes.addClass("show"); }); // BOTÃO FECHAR NOFICAÇÃO barra_notificacoes.find(".sw_btn_fechar_notificacao").click(function() { var elemento_noticicacao = $(this).parents(".sw_notificacao"); // FECHANDO NOTIFICAÇÃO elemento_noticicacao.fadeOut(800, function() { elemento_noticicacao.remove(); }); // ANALUSANDO SE HÁ MAIS NOTIFICAÇÕES if (barra_notificacoes.find(".sw_notificacao").length <= 1) { barra_notificacoes.removeClass("show"); } }); // FIM BOTÃO FECHAR NOFICAÇÃO /* ============================================================================================ FUNÇÕES INDIVIDUAIS DAS NOTIFICAÇÕES ============================================================================================ */ // LGPD $("#lgpd").find(".sw_btn_fechar_notificacao").click(function() { document.cookie = "PrefeituraMunicipaldePopulina-SP-LGPD=S; max-age=604800; path=/"; }); // TRANSMISSÃO AO VIVO $(".live_info_transmissao").find(".sw_btn_fechar_notificacao").click(function() { var data_video = $(this).attr("data-video"); $.post("/encerra_alerta_transmissao.php", { video: data_video }); }); } // FIM ANALISANDO SE HÁ NOTIFICAÇÕES }); </script>]]>
4267 <![CDATA[<script> $(document).ready(function() { // #################################### FUNÇÕES MODAL #################################### // CHAMANDO FUNÇÃO EXIBIR MODAL $(".avaliar_servico").click(function() { var data_origem = ""; var data_origem = $(this).attr('data-origem'); var data_id = ""; var data_id = $(this).attr("data-id"); var data_sic = ""; var attr_data_sic = $(this).attr('data-sic'); //VERFICA SE O ATRIBUTO DATA-SIC EXISTE NO BOTÃO DE AVALIAÇÃO if (typeof attr_data_sic !== typeof undefined && attr_data_sic !== false) { data_sic = attr_data_sic; } var dados_ajax = {"origem": data_origem, "id": data_id, "data_sic": data_sic }; var serializeDados = $.param(dados_ajax); $.ajax({ url: "/avaliacao_formulario_modal.php", dataType: 'html', type: 'POST', data: serializeDados, success: function(data) { $("#modal_avaliacao_conteudo").html(data); $("#modal_avaliacao_conteudo").find('.g-recaptcha').each(function(index, el) { grecaptcha.render(el, {'sitekey' : '6Lcg5gwUAAAAAFTAwOeaiRgV05MYvrWdi1U8jIwI'}); }); sw_popup("#modal_avaliacao", "S"); }, error: function(xhr,er) { } }); }); // EXIBIR DATA DE CONCLUSÃO $('input[name=form_atendido]').change(function () { var valor = $(this).val(); if(valor == "S" || valor == "P") { $("#cont_data_conclusao").show(); $("#form_data_conclusao").val(""); } else { $("#cont_data_conclusao").hide(); $("#form_data_conclusao").val(""); } }); // ENVIAR AVALIAÇÃO $(document.body).on('click','#Avaliar', function() { // MOVE BARRA DE ROLAGEM PARA INÍCIO var obj = document.getElementById("modal_avaliacao"); obj.scrollTop = 0; if($("input[name=form_atendido]:checked").val() != undefined && $("input[name=form_nota]:checked").val() != undefined && ($("input[name=origem]").val() == "sic" || $("input[name=origem]").val() == "ouvidoria" || $("input[name=origem]").val() == "carta_servicos" || $("input[name=origem]").val() == "secretaria" || $("input[name=origem]").val() == "servico_menu" || $("input[name=origem]").val() == "noticia" || $("input[name=origem]").val() == "faq" || $("input[name=origem]").val() == "obras" || $("input[name=origem]").val() == "formulario") && ($("input[name=origem_codigo]").val() != undefined || $("select[name=origem_codigo]").val())) { var serializeDados = $('#form_avaliacao').serialize(); $.ajax({ url: "/avaliacao_formulario_enviar.php", dataType: 'html', type: 'POST', data: serializeDados, beforeSend: function() { $(".cad_carregar").fadeIn(); $("#Avaliar").attr("disabled", "disabled"); }, complete: function() { $(".cad_carregar").fadeOut(); }, success: function(data, textStatus) { data = JSON.parse(data); if(data.erro == "S") { $("#area_msg").fadeOut('', function() { $(this).html('<div class="cad_carregando_dados"><div class="cad_alerta_erro_msg"><i class="swfa fas fa-exclamation-triangle fa-lg"></i> '+data.msg+'</div></div>'); }).fadeIn(); grecaptcha.reset(); setTimeout(function() { $('.cad_alerta_erro_msg').fadeOut(); }, 3500); } if(data.erro == "N") { $("#area_msg").fadeOut('', function() { $(this).html('<div class="cad_carregando_dados"><div class="cad_alerta_sucesso_msg"><i class="swfa fas fa-exclamation-triangle fa-lg"></i> '+data.msg+'</div></div>'); }).fadeIn(); if(data.origem == "noticia") { setTimeout(function() { $(".ntc_btn_avaliar").toggleClass("ntc_btn_avaliar_gostei_ativo"); var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); if (!(msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))) { $(".ntc_efeito_avaliacao").show().addClass("ntc_efeito_avaliacao_show"); setTimeout(function() { $(".ntc_efeito_avaliacao").hide().removeClass("ntc_efeito_avaliacao_show"); }, 2000) } setTimeout(function() { location.reload(true); }, 3000); }, 1000); } else { setTimeout(function() { location.reload(true); }, 3500); } } if(data.erro == "A") { $("#area_msg").fadeOut('', function() { $(this).html('<div class="cad_carregando_dados"><div class="cad_alerta_aviso_msg"><i class="swfa fas fa-exclamation-circle fa-lg"></i> '+data.msg+'</div></div>'); }).fadeIn(); setTimeout(function() { location.reload(true); }, 3500); } $("#Avaliar").removeAttr("disabled"); }, error: function(xhr,er) { $('#area_msg').html('<div class="cad_carregando_dados"><div class="cad_alerta_erro_msg"><i class="swfa fas fa-exclamation-triangle fa-lg"></i> Ops, algo deu errado. Tente novamente mais tarde.</div></div>'); setTimeout(function() { location.reload(true); }, 3500); } }); } else { $('#area_msg').html('<div class="cad_carregando_dados"><div class="cad_alerta_erro_msg"><i class="swfa fas fa-exclamation-triangle fa-lg"></i> Ops, algo deu errado. Verifique os campos preenchidos e tente novamente.</div></div>'); setTimeout(function() { $('.cad_alerta_erro_msg').fadeOut(); }, 3500); } return false; }); }); </script>]]>
4415 <![CDATA[<script> var CaptchaCallback = function(){ $('.g-recaptcha').each(function(index, el) { grecaptcha.render(el, {'sitekey' : '6Lcg5gwUAAAAAFTAwOeaiRgV05MYvrWdi1U8jIwI'}); }); }; </script>]]>
4427 <![CDATA[<script> jQuery(function($){ $("#form_data_solicitacao").mask("99/99/9999"); $("#form_data_conclusao").mask("99/99/9999"); $("#form_hora_solicitacao").mask("99:99"); }); </script>]]>
4441 <![CDATA[<script> $(function() { $("#form_data_solicitacao").datepicker(); $("#form_data_conclusao").datepicker(); }); </script>]]>