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

Sites Verificados

Lista com todos os sítios que foram verificados pela TIC Web Acessibilidade. Dentro de cada domínio, há informações detalhadas sobre as páginas coletadas, bem como os erros e avisos de cada uma *.

Endereço Nota Erros Avisos

www.cmd.mg.gov.br/portal/obras/1

87.36 3 165
Recomendações Avaliadas
1.1 Respeitar os Padrões Web.

Recomendações

Número Descrição Quantidade Linhas Código Fonte
1.1.3 Presença de CSS(s) in-line 17 4548 4559 4695 4755 4765 4767 4792 4817 4855 4864 4873 5034 5081 5085 5092 5094 5098
1.1.6 Presença de javascript(s) interno 11 71 2629 2646 3648 3716 4395 4429 5145 5293 5305 5320
4548 <![CDATA[<img id="logo_branca" src="/img/logo_branca.png" alt="Brasão prefeitura" style="display: none;">]]>
4559 <![CDATA[<div class="obr_content_menu obr_content_filtro" id="obr_content_filtro" style="display: block;"> <div class="obr_titulos sw_lato_black"> <span class="swfa fas fa-filter"></span> <span>Filtrar Obras</span> </div> <!-- FORMULÁRIO --> <div class="obr_formulario_filtro"> <form id="obr_form_filtro"> <!-- BOTÃO TOGGLE FILTRO --> <button type="button" class="obr_btn_toggle_formulario" id="obr_btn_toggle_filtro"><span class="swfa fas fa-angle-down"></span></button> <div class="obr_cont_formulario"> <!-- PALAVRA-CHAVE --> <div class="obr_campo_form"> <label for="obr_palavra_chave" class="sw_lato_black">Palavra-Chave</label> <input type="text" id="obr_palavra_chave" name="obr_palavra_chave" class="sw_lato" autocomplete="off"> </div> <!-- PERÍODO INICIAL --> <div class="obr_campo_form obr_campo_form_periodo"> <label for="obr_periodo_inicial" class="sw_lato_black">Período Inicial</label> <input type="text" id="obr_periodo_inicial" name="obr_periodo_inicial" class="sw_lato" autocomplete="off"> </div> <!-- PERÍODO FINAL --> <div class="obr_campo_form obr_campo_form_periodo"> <label for="obr_periodo_final" class="sw_lato_black">Período Final</label> <input type="text" id="obr_periodo_final" name="obr_periodo_final" class="sw_lato" autocomplete="off"> </div> <!-- CHECKLIST BAIRROS --> <div class="obr_checklist sw_lato hide"> <!-- TÍTULO --> <div class="obr_titulo_checklist"> <div class="obr_checkbox"> <input type="checkbox" id="obr_todos_bairros" class="obr_checklist_todos" checked> <label for="obr_todos_bairros" class="sw_lato_black" title="Desmarcar todos">Bairros</label> </div> <button type="button" class="obr_btn_toggle_formulario obr_btn_toggle_checklist"><span class="swfa fas fa-angle-down"></span></button> </div> <!-- CONTEÚDO --> <div class="obr_conteudo_checklist"> <!-- FILTRAR --> <div class="obr_campo_form"> <label for="obr_buscar_bairro" class="trans">Buscar Bairro</label> <input type="text" id="obr_buscar_bairro" name="obr_buscar_bairro" class="obr_busca_checklist sw_lato" placeholder="Buscar Bairro" autocomplete="off"> </div> <!-- LISTA --> <div class="obr_area_lista_checklist"> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_bairro" data-bairro="nao_informado" id="obr_bairro_nao_informado" checked> <label for="obr_bairro_nao_informado" class="sw_lato_bold">Bairro não informado</label> </div> </div> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_bairro" data-bairro="Santana" id="obr_bairro795267" checked> <label for="obr_bairro795267" class="sw_lato_bold">Santana</label> </div> </div> </div> </div> </div> <!-- FIM CHECKLIST BAIRROS --> <!-- CHECKLIST LOGRADOUROS --> <div class="obr_checklist sw_lato hide"> <!-- TÍTULO --> <div class="obr_titulo_checklist"> <div class="obr_checkbox"> <input type="checkbox" id="obr_todos_logradouros" class="obr_checklist_todos" checked> <label for="obr_todos_logradouros" class="sw_lato_black" title="Desmarcar todos">Logradouros</label> </div> <button type="button" class="obr_btn_toggle_formulario obr_btn_toggle_checklist"><span class="swfa fas fa-angle-down"></span></button> </div> <!-- CONTEÚDO --> <div class="obr_conteudo_checklist"> <!-- FILTRAR --> <div class="obr_campo_form"> <label for="obr_buscar_logradouros" class="trans">Buscar Logradouro</label> <input type="text" id="obr_buscar_logradouros" name="obr_buscar_logradouros" class="obr_busca_checklist sw_lato" placeholder="Buscar Logradouro" autocomplete="off"> </div> <!-- LISTA --> <div class="obr_area_lista_checklist"> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_logradouro" data-logradouro="nao_informado" id="obr_logradouro_nao_informado" checked> <label for="obr_logradouro_nao_informado" class="sw_lato_bold">Logradouro não informado</label> </div> </div> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_logradouro" data-logradouro="Rua do Cruzeiro" id="obr_logradouro502084" checked> <label for="obr_logradouro502084" class="sw_lato_bold">Rua do Cruzeiro</label> </div> </div> </div> </div> </div> <!-- FIM CHECKLIST LOGRADOUROS --> <!-- CHECKLIST CATEGORIAS --> <div class="obr_checklist sw_lato hide"> <!-- TÍTULO --> <div class="obr_titulo_checklist"> <div class="obr_checkbox"> <input type="checkbox" id="obr_todos_categorias" class="obr_checklist_todos" checked> <label for="obr_todos_categorias" class="sw_lato_black" title="Desmarcar todos">Categorias</label> </div> <button type="button" class="obr_btn_toggle_formulario obr_btn_toggle_checklist"><span class="swfa fas fa-angle-down"></span></button> </div> <!-- CONTEÚDO --> <div class="obr_conteudo_checklist"> <!-- FILTRAR --> <div class="obr_campo_form"> <label for="obr_buscar_categorias" class="trans">Buscar Categoria</label> <input type="text" id="obr_buscar_categorias" name="obr_buscar_categorias" class="obr_busca_checklist sw_lato" placeholder="Buscar Categoria" autocomplete="off"> </div> <!-- LISTA --> <div class="obr_area_lista_checklist"> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_categoria" data-categoria="5" id="obr_categoria5" checked> <label for="obr_categoria5" class="sw_lato_bold"> <span style="border-color: #0d0d0d !important; color: #ffffff; background: rgba(0, 0, 0, 0.8)" class="swfa fa fa-road"></span> Infraestrutura </label> </div> </div> </div> </div> </div> <!-- FIM CHECKLIST CATEGORIAS --> <!-- CHECKLIST SITUAÇÕES --> <div class="obr_checklist sw_lato hide"> <!-- TÍTULO --> <div class="obr_titulo_checklist"> <div class="obr_checkbox"> <input type="checkbox" id="obr_todos_situacoes" class="obr_checklist_todos" checked> <label for="obr_todos_situacoes" class="sw_lato_black" title="Desmarcar todos">Situações</label> </div> <button type="button" class="obr_btn_toggle_formulario obr_btn_toggle_checklist"><span class="swfa fas fa-angle-down"></span></button> </div> <!-- CONTEÚDO --> <div class="obr_conteudo_checklist"> <!-- FILTRAR --> <div class="obr_campo_form"> <label for="obr_buscar_situacao" class="trans">Buscar Situação</label> <input type="text" id="obr_buscar_situacao" name="obr_buscar_situacao" class="obr_busca_checklist sw_lato" placeholder="Buscar Situação" autocomplete="off"> </div> <!-- LISTA --> <div class="obr_area_lista_checklist"> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_situacao" data-situacao="Em Andamento" id="obr_situacao_em_andameto" checked> <label for="obr_situacao_em_andameto" class="sw_lato_bold">Em Andamento</label> </div> </div> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_situacao" data-situacao="Suspensa" id="obr_situacao_suspensa" checked> <label for="obr_situacao_suspensa" class="sw_lato_bold">Suspensa</label> </div> </div> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_situacao" data-situacao="Concluído" id="obr_situacao_concluida" checked> <label for="obr_situacao_concluida" class="sw_lato_bold">Concluído</label> </div> </div> <div class="obr_item_checklist"> <div class="obr_checkbox"> <input type="checkbox" class="obr_filtro_situacao" data-situacao="Em Projeto" id="obr_situacao_em_projeto" checked> <label for="obr_situacao_em_projeto" class="sw_lato_bold">Em Projeto</label> </div> </div> </div> </div> </div> <!-- FIM CHECKLIST SITUAÇÕES --> <!-- BOTÕES FORMULÁRIO --> <div class="obr_area_botoes_formulario"> <button type="submit" class="obr_btn_formulario obr_btn_filtrar sw_lato_bold"><span class="swfa fas fa-search"></span>Filtrar</button> <button type="reset" class="obr_btn_formulario obr_btn_limpar sw_lato_bold" style="display: none;"><span class="swfa fas fa-eraser"></span>Limpar Filtro</button> </div> <!-- FIM BOTÕES FORMULÁRIO --> </div> </form> </div> <!-- FIM FORMULÁRIO --> <!-- LISTAGEM --> <div class="obr_area_listagem" style="display: none;" data-fim="0"> <div class="sw_area_info_resultado_busca sw_lato_bold" style="display: none;"> <div class="sw_info_resultado_busca"> <span class="sw_qtde_resultados" id="span_qtde_obras_encontradas"></span> <span id="span_obras_encontradas"></span> </div> <div class="obr_info_listagem_obras"></div> </div> <!-- BOTÃO VER MAIS LISTAGEM --> <button class="obr_btn_mostrar_mais_listagem obr_volta_pagina sw_lato_black"> <span class="swfa fas fa-angle-double-left"></span><span>VOLTAR</span> </button> <select class="obr_select_paginacao_listagem"> </select> <button class="obr_btn_mostrar_mais_listagem obr_avanca_pagina sw_lato_black"> <span>AVANÇAR</span><span class="swfa fas fa-angle-double-right"></span> </button> </div> <!-- FIM LISTAGEM --> </div>]]>
4695 <![CDATA[<span style="border-color: #0d0d0d !important; color: #ffffff; background: rgba(0, 0, 0, 0.8)" class="swfa fa fa-road"></span>]]>
4755 <![CDATA[<button type="reset" class="obr_btn_formulario obr_btn_limpar sw_lato_bold" style="display: none;"><span class="swfa fas fa-eraser"></span>Limpar Filtro</button>]]>
4765 <![CDATA[<div class="obr_area_listagem" style="display: none;" data-fim="0"> <div class="sw_area_info_resultado_busca sw_lato_bold" style="display: none;"> <div class="sw_info_resultado_busca"> <span class="sw_qtde_resultados" id="span_qtde_obras_encontradas"></span> <span id="span_obras_encontradas"></span> </div> <div class="obr_info_listagem_obras"></div> </div> <!-- BOTÃO VER MAIS LISTAGEM --> <button class="obr_btn_mostrar_mais_listagem obr_volta_pagina sw_lato_black"> <span class="swfa fas fa-angle-double-left"></span><span>VOLTAR</span> </button> <select class="obr_select_paginacao_listagem"> </select> <button class="obr_btn_mostrar_mais_listagem obr_avanca_pagina sw_lato_black"> <span>AVANÇAR</span><span class="swfa fas fa-angle-double-right"></span> </button> </div>]]>
4767 <![CDATA[<div class="sw_area_info_resultado_busca sw_lato_bold" style="display: none;"> <div class="sw_info_resultado_busca"> <span class="sw_qtde_resultados" id="span_qtde_obras_encontradas"></span> <span id="span_obras_encontradas"></span> </div> <div class="obr_info_listagem_obras"></div> </div>]]>
4792 <![CDATA[<div class="obr_content_menu obr_content_relatorio" id="obr_content_relatorio" style="display: none;"> <div class="obr_titulos sw_lato_black"> <span class="swfa fas fa-clipboard"></span> <span>Relatório de Obras</span> </div> <div class="obr_area_relatorio_obras"> <!-- NOME DO ÓRGÃO PÚBLICO --> <div class="obr_nome_orgao_publico sw_lato_black">Prefeitura Municipal de Conceição do Mato Dentro</div> <!-- FORMULÁRIO --> <div class="obr_formulario_filtro obr_relatorio"> <div class="obr_cont_formulario"> <!-- PALAVRA-CHAVE --> <div class="obr_campo_form"> <label for="obr_filtro_ano" class="sw_lato_black">Filtrar obras por ano</label> <select id="obr_filtro_ano" name="obr_filtro_ano" class="sw_lato"> <option value="" class="sw_lato" selected>Todos os anos</option> </select> </div> </div> </div> <!-- FIM FORMULÁRIO --> <!-- OBRAS EXECUTADAS--> <div class="obr_area_info_relatorio_obras" style="display: none;"> <div class="obr_titulo_relatorio_obras sw_lato_black"> <span class="swfa far fa-building"></span> <span class="obr_txt_titulo obr_total_executadas">Obras:</span> </div> <!-- INFO OBRAS --> <div class="obr_area_info_obras_executadas sw_lato_black"> <!-- CONCLUÍDAS --> <div class="obr_info_obras_executadas"> <div class="obr_numero_info obr_situacao obr_situacao_concluida"></div> <div class="obr_txt_info obr_situacao_concluida">Concluídas</div> </div> <!-- CONCLUÍDAS --> <!-- EM ANDAMENTO --> <div class="obr_info_obras_executadas"> <div class="obr_numero_info obr_situacao obr_situacao_em_andamento"></div> <div class="obr_txt_info obr_situacao_em_andamento">Em Andamento</div> </div> <!-- EM ANDAMENTO --> <!-- SUSPENSA --> <div class="obr_info_obras_executadas"> <div class="obr_numero_info obr_situacao obr_situacao_suspensa"></div> <div class="obr_txt_info obr_situacao_suspensa">Suspensas</div> </div> <!-- SUSPENSA --> <!-- EM PROJETO --> <div class="obr_info_obras_executadas"> <div class="obr_numero_info obr_situacao obr_situacao_em_projeto"></div> <div class="obr_txt_info obr_situacao_em_projeto">Em Projeto</div> </div> <!-- EM PROJETO --> </div> <!-- INFO OBRAS --> </div> <!-- OBRAS EXECUTADAS--> <!-- ACOMPANHAMENTOS --> <div class="obr_area_info_relatorio_obras" style="display: none;"> <div class="obr_titulo_relatorio_obras sw_lato_black"> <span class="swfa far fa-folder-open"></span> <span class="obr_txt_titulo obr_total_acompanhamentos">Acompanhamentos:</span> </div> </div> <!-- ACOMPANHAMENTOS --> <!-- CONTRATOS --> <div class="obr_area_info_relatorio_obras" style="display: none;"> <div class="obr_titulo_relatorio_obras sw_lato_black"> <span class="swfa fas fa-copy"></span> <span class="obr_txt_titulo obr_total_contratos">Contratos:</span> </div> </div> <!-- CONTRATOS --> <!-- VALOR TOTAL --> <div class="obr_area_info_relatorio_obras" style="display: none;"> <div class="obr_titulo_relatorio_obras sw_lato_black"> <span class="swfa fas fa-dollar-sign"></span> <span class="obr_txt_titulo">Valor Total: <span class="obr_valor_obra"></span></span> </div> </div> <!-- VALOR TOTAL --> <!-- GRÁFICO CATEGORIAS--> <div class="obr_area_info_relatorio_obras"> <div id="obr_grafico_categoria"></div> <input type="hidden" id="dados_grafico_categorias" value="%5B%7B%22name%22%3A%22Infraestrutura%22%2C%22y%22%3A1%2C%22color%22%3A%22%230d0d0d%22%7D%5D"> </div> <!-- GRÁFICO CATEGORIAS--> <!-- GRÁFICO FONTE DE RECURSO --> <div class="obr_area_info_relatorio_obras"> <div id="obr_grafico_fonte_recurso"></div> <input type="hidden" id="dados_fonte_recurso" value="%5B%7B%22name%22%3A%22Pr%5Cu00f3prio%22%2C%22y%22%3A1%2C%22color%22%3A%22%232b6d1b%22%7D%5D"> </div> <!-- GRÁFICO FONTE DE RECURSO --> </div> </div>]]>
4817 <![CDATA[<div class="obr_area_info_relatorio_obras" style="display: none;"> <div class="obr_titulo_relatorio_obras sw_lato_black"> <span class="swfa far fa-building"></span> <span class="obr_txt_titulo obr_total_executadas">Obras:</span> </div> <!-- INFO OBRAS --> <div class="obr_area_info_obras_executadas sw_lato_black"> <!-- CONCLUÍDAS --> <div class="obr_info_obras_executadas"> <div class="obr_numero_info obr_situacao obr_situacao_concluida"></div> <div class="obr_txt_info obr_situacao_concluida">Concluídas</div> </div> <!-- CONCLUÍDAS --> <!-- EM ANDAMENTO --> <div class="obr_info_obras_executadas"> <div class="obr_numero_info obr_situacao obr_situacao_em_andamento"></div> <div class="obr_txt_info obr_situacao_em_andamento">Em Andamento</div> </div> <!-- EM ANDAMENTO --> <!-- SUSPENSA --> <div class="obr_info_obras_executadas"> <div class="obr_numero_info obr_situacao obr_situacao_suspensa"></div> <div class="obr_txt_info obr_situacao_suspensa">Suspensas</div> </div> <!-- SUSPENSA --> <!-- EM PROJETO --> <div class="obr_info_obras_executadas"> <div class="obr_numero_info obr_situacao obr_situacao_em_projeto"></div> <div class="obr_txt_info obr_situacao_em_projeto">Em Projeto</div> </div> <!-- EM PROJETO --> </div> <!-- INFO OBRAS --> </div>]]>
4855 <![CDATA[<div class="obr_area_info_relatorio_obras" style="display: none;"> <div class="obr_titulo_relatorio_obras sw_lato_black"> <span class="swfa far fa-folder-open"></span> <span class="obr_txt_titulo obr_total_acompanhamentos">Acompanhamentos:</span> </div> </div>]]>
4864 <![CDATA[<div class="obr_area_info_relatorio_obras" style="display: none;"> <div class="obr_titulo_relatorio_obras sw_lato_black"> <span class="swfa fas fa-copy"></span> <span class="obr_txt_titulo obr_total_contratos">Contratos:</span> </div> </div>]]>
4873 <![CDATA[<div class="obr_area_info_relatorio_obras" style="display: none;"> <div class="obr_titulo_relatorio_obras sw_lato_black"> <span class="swfa fas fa-dollar-sign"></span> <span class="obr_txt_titulo">Valor Total: <span class="obr_valor_obra"></span></span> </div> </div>]]>
5034 <![CDATA[<span class="obra_porcentagem_concluida" style="min-width: 80%;"></span>]]>
5081 <![CDATA[<span class="obr_valor" style="min-width: 100%;"></span>]]>
5085 <![CDATA[<span class="obr_valor_pago" style="min-width: 70%;"></span>]]>
5092 <![CDATA[<div class="obr_cont_estatisticas_barra obr_prazo_dias" style="display: none;"> <div class="obr_titulo_estatistica">Prazo estimado</div> <div class="obr_estatistica_barra"><span class="obr_prazo_dias_valor" style="min-width: 80%;"></span></div> </div>]]>
5094 <![CDATA[<span class="obr_prazo_dias_valor" style="min-width: 80%;"></span>]]>
5098 <![CDATA[<span class="obr_total_dias_valor" style="min-width: 100%;"></span>]]>
71 <![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.0357, -43.4248]; // 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, renderizarRelatorio = true) { markers = []; // 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.03877244491398","longitude":"-43.42113418884327","icone":"road","cor_fundo_circulo":"rgba(0, 0, 0, 0.8)","cor_marcador":"#0d0d0d","cor_icone":"#ffffff","nome_categoria":"Infraestrutura","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\">Pavimentação em Paralelepípedo De 4 Becos E Largos<\/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\">Infraestrutura<\/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\">Santana<\/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\">Rua do Cruzeiro, NT<\/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=\"1\"><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":5,"situacao":"Em Andamento","bairro":"Santana","logradouro_completo":"Rua do Cruzeiro, NT","logradouro":"Rua do Cruzeiro","dt_inicio":1583463600,"dt_inicio_string":"06\/03\/2020","dt_fim":1646881200,"dt_fim_string":"10\/03\/2022","valor":"1.992.029,54","valor_pago":null,"titulo":"Pavimentação em Paralelepípedo De 4 Becos E Largos","codigo":1,"acompanhamentos":[{"descricao":"1 º MEDIÇÃO- \r\n\r\n VALOR R$ 189.498,84\r\n","porcentagem":10,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/4fbcd5cbc9bdd824c21be6c8da029e3a.jpg","legenda":"Fotos 01"},{"arquivo":"\/fotos\/obras\/1\/95bd7da6529ad8e289c0aa5ef33a3917.jpg","legenda":"Foto 02"},{"arquivo":"\/fotos\/obras\/1\/b097491902456dbd4d0d735004cdda48.jpg","legenda":"Fotos 03"}],"dt_conclusao":"08\/11\/2021"},{"descricao":"2 º MEDIÇÃO- VALOR - R$ 97.030,27\r\n","porcentagem":4,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/092c6690e45e858d67f2e8d566365bf2.jpg","legenda":"FOTO 01"}],"dt_conclusao":"09\/06\/2020"},{"descricao":"3 º MEDIÇÃO- VALOR - R$ 148.211,47\r\n\r\n(1º ADITIVO DE VALOR: 53.986,35 - \r\n\r\nVALOR TOTAL DA OBRA: R$ 2.046.015,89)\r\n\r\n","porcentagem":7,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/97aec448434ccf810a1728ad1e993a79.jpg","legenda":null},{"arquivo":"\/fotos\/obras\/1\/85e6b9dc238951aa7317c80eb811176d.jpg","legenda":"Foto 01"},{"arquivo":"\/fotos\/obras\/1\/abf147775cccfde275546a6e533b3c62.jpg","legenda":"Foto 03"}],"dt_conclusao":"14\/07\/2020"},{"descricao":"4 º MEDIÇÃO- VALOR - R$ 129.158,12\r\n\r\n(1º ADITIVO DE VALOR: 53.986,35 - \r\n\r\nVALOR TOTAL DA OBRA: R$ 2.046.015,89)","porcentagem":7,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/3a3fb08929dd20b3ddd6f84a4b4224d5.jpg","legenda":null},{"arquivo":"\/fotos\/obras\/1\/843aa1d7c4889f7802df6f38c9b36f0f.jpg","legenda":null}],"dt_conclusao":"14\/08\/2020"},{"descricao":"5 º MEDIÇÃO- VALOR - R$ 219.787,94\r\n\r\n(1º ADITIVO DE VALOR: 53.986,35 - \r\n\r\nVALOR TOTAL DA OBRA: R$ 2.046.015,89)","porcentagem":10,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/b1c5b5d98bb5456d62234ae7106a9e1d.jpg","legenda":"Foto 01"},{"arquivo":"\/fotos\/obras\/1\/bc52e7ba2135ef4aa461f0383a42a76f.jpg","legenda":"Foto 02"}],"dt_conclusao":"16\/10\/2020"},{"descricao":"6 º MEDIÇÃO- VALOR - R$ 142.132,87\r\n\r\n(1º ADITIVO DE VALOR: 53.986,35 - \r\n\r\nVALOR TOTAL DA OBRA: R$ 2.046.015,89)","porcentagem":7,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/15f85224802a9c08fc48adedde46663d.jpg","legenda":null},{"arquivo":"\/fotos\/obras\/1\/58f5b1a865d9a3c36e2947be11620898.jpg","legenda":"Foto 01"},{"arquivo":"\/fotos\/obras\/1\/fb8ff33044a613dd5d392ad20ef05cf5.jpg","legenda":"Foto 03"}],"dt_conclusao":"17\/12\/2020"},{"descricao":"7 º MEDIÇÃO- VALOR - R$ 148.892,71\r\n\r\n(1º ADITIVO DE VALOR: 53.986,35 -\r\n\r\n VALOR TOTAL DA OBRA: R$ 2.046.015,89)\r\n\r\n","porcentagem":8,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/42684547b34ba3ff2b1aa30960f1a4a8.jpg","legenda":null},{"arquivo":"\/fotos\/obras\/1\/18ce82cfec0b0c7a730a03d98c3c76f8.jpg","legenda":null}],"dt_conclusao":"19\/03\/2021"},{"descricao":"8 º MEDIÇÃO- VALOR - R$ 220.350,11\r\n\r\n (1º ADITIVO DE VALOR: 53.986,35 - \r\n\r\nVALOR TOTAL DA OBRA: R$ 2.046.015,89)","porcentagem":10,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/6f3b4af6905c49026d7329eed209448b.jpg","legenda":null},{"arquivo":"\/fotos\/obras\/1\/aafc83768bb3111778a7a99f81e7faf7.jpg","legenda":null}],"dt_conclusao":"19\/05\/2021"},{"descricao":"9 º MEDIÇÃO- VALOR - R$ 311.611,20\r\n\r\n (1º ADITIVO DE VALOR: 53.986,35 - \r\n\r\nVALOR TOTAL DA OBRA: R$ 2.046.015,89)","porcentagem":16,"situacao":"Concluído","fotos":[{"arquivo":"\/fotos\/obras\/1\/6afcb03de13966cd3b3c158a6276a048.jpg","legenda":null},{"arquivo":"\/fotos\/obras\/1\/d90c5075d3442f6d5e05187239f64283.jpg","legenda":null},{"arquivo":"\/fotos\/obras\/1\/7980654fa6a42ec3984021eaf6e3c8a6.jpg","legenda":null}],"dt_conclusao":"06\/07\/2021"},{"descricao":"10 º MEDIÇÃO- VALOR - R$ 124.747,22\r\n\r\n (1º ADITIVO DE VALOR: 53.986,35 + 2º REEQUILÍBRIO FINANCEIRO: 252.851,01\r\n\r\nVALOR TOTAL DA OBRA: RR$ 2.298.866,90)","porcentagem":0,"situacao":"Concluído","fotos":[],"dt_conclusao":"30\/07\/2021"},{"descricao":"11 º MEDIÇÃO- VALOR - R$ 251.019,86\r\n","porcentagem":0,"situacao":"Concluído","fotos":[],"dt_conclusao":""}],"edital":{"link":"\/portal\/editais\/0\/1\/3511","nome":"Tomada de Preço - TOMADA DE PREÇOS 036 2019 – Serviços de pavimentação de em paralelepipedo em vias no Município de Conceição do Mato Dentro-MG","numero":36,"ano":2019},"contrato":{"link":"\/portal\/contrato\/1208","nome":"041\/2020 - Estruturall Engenharia e serviços LTDA"},"fotos":{"513":{"arquivo":"\/fotos\/obras\/1\/9a56375a750de139d23f2cbf539a6050.jpg","legenda":null},"514":{"arquivo":"\/fotos\/obras\/1\/589794df0c9803dae9244fd50703419d.jpg","legenda":null},"515":{"arquivo":"\/fotos\/obras\/1\/a6ab053b02d4544c19e2874e025bf34c.jpg","legenda":null},"516":{"arquivo":"\/fotos\/obras\/1\/8627ba59a7122615dcab0817bb398dac.jpg","legenda":null},"517":{"arquivo":"\/fotos\/obras\/1\/b18c23d96d917a9dc0a5cddf98aed6e8.jpg","legenda":null},"518":{"arquivo":"\/fotos\/obras\/1\/4d97a8af9c98b7c003d8e663f36fed3f.jpg","legenda":null},"519":{"arquivo":"\/fotos\/obras\/1\/51a56c6d483e2aeb895a36f6f0566e1d.jpg","legenda":null},"520":{"arquivo":"\/fotos\/obras\/1\/c8d855dc3ff70a8ad3b5243f047e0058.jpg","legenda":null},"521":{"arquivo":"\/fotos\/obras\/1\/c96eeb7ec58493d87b20a3f8f2ee9617.jpg","legenda":null},"522":{"arquivo":"\/fotos\/obras\/1\/e5d5f0b060673e794e352d730cf077b2.jpg","legenda":null},"523":{"arquivo":"\/fotos\/obras\/1\/2467748e5e12e2b09416f4f6419fcc68.jpg","legenda":null},"524":{"arquivo":"\/fotos\/obras\/1\/6514eab3b375bc346288df2c00e12ead.jpg","legenda":null},"525":{"arquivo":"\/fotos\/obras\/1\/e3ca3811e9f7d6dddf8b957fd35cf38c.jpg","legenda":null},"526":{"arquivo":"\/fotos\/obras\/1\/c609fefc29eff2bdf355417625884f4b.jpg","legenda":null},"527":{"arquivo":"\/fotos\/obras\/1\/04253e0ffe7e10656f86454e53ceeb26.jpg","legenda":null},"528":{"arquivo":"\/fotos\/obras\/1\/ee5dac1611245aacb1b21a440a7acf94.jpg","legenda":null},"529":{"arquivo":"\/fotos\/obras\/1\/194365b6964b85c5686788f524598c07.jpg","legenda":null},"530":{"arquivo":"\/fotos\/obras\/1\/44cc61af174dff67b0e1942661d26953.jpg","legenda":null},"531":{"arquivo":"\/fotos\/obras\/1\/75b4593833b7bc8b3cf2c1bb58fe696a.jpg","legenda":null},"532":{"arquivo":"\/fotos\/obras\/1\/3f6c28bff725552f9354e01ac2c1b78e.jpg","legenda":null},"533":{"arquivo":"\/fotos\/obras\/1\/056ca3985569b6eb6b9e3278d9e2100f.jpg","legenda":null},"534":{"arquivo":"\/fotos\/obras\/1\/565e1b0ba65e4e6235294953aa3e2a0d.jpg","legenda":null},"535":{"arquivo":"\/fotos\/obras\/1\/0acf87940c7b9581d67032c711eaa62d.jpg","legenda":null},"536":{"arquivo":"\/fotos\/obras\/1\/f09b2e94d32c9f34b90119eb7da3e955.jpg","legenda":null},"537":{"arquivo":"\/fotos\/obras\/1\/01e394d5af1140ae22033e1b7fa3fbb1.jpg","legenda":null},"538":{"arquivo":"\/fotos\/obras\/1\/eb20cea2c62f94ae9a926665324a3313.jpg","legenda":null},"539":{"arquivo":"\/fotos\/obras\/1\/d3662ec3599400175778800ec64aa8d2.jpg","legenda":null},"540":{"arquivo":"\/fotos\/obras\/1\/d2b382d43a43ffe154358d118a75423a.jpg","legenda":null},"541":{"arquivo":"\/fotos\/obras\/1\/501c4301968ec8c8a401117e82e2fd60.jpg","legenda":null},"542":{"arquivo":"\/fotos\/obras\/1\/ad960bad8268d3c31cd7dddeafa7641d.jpg","legenda":null},"543":{"arquivo":"\/fotos\/obras\/1\/488f1723f845ab205caff990165958ba.jpg","legenda":null},"544":{"arquivo":"\/fotos\/obras\/1\/1e89d15d61ca4089223783a52a68476f.jpg","legenda":null},"545":{"arquivo":"\/fotos\/obras\/1\/853fa53bcc772801d09a08e8fbf66307.jpg","legenda":null},"546":{"arquivo":"\/fotos\/obras\/1\/a1baed41230f5aa6e74ed7445cf4ce45.jpg","legenda":null},"547":{"arquivo":"\/fotos\/obras\/1\/414b378ffed5fa06f2d81c20fa43c0de.jpg","legenda":null},"548":{"arquivo":"\/fotos\/obras\/1\/d529eae7d353ea9176dd90e03e8747ae.jpg","legenda":null},"549":{"arquivo":"\/fotos\/obras\/1\/4a62e396c9404f1eb103ca8018d080f6.jpg","legenda":null},"550":{"arquivo":"\/fotos\/obras\/1\/771c15725aefa1f1b828150882b53367.jpg","legenda":null},"551":{"arquivo":"\/fotos\/obras\/1\/dc80eb1701a62dec3033741b01b6e562.jpg","legenda":null},"552":{"arquivo":"\/fotos\/obras\/1\/c6f2426675ff2b96c372a2495d51fbb4.jpg","legenda":null},"553":{"arquivo":"\/fotos\/obras\/1\/1846043ebf07db2460b0555bea118e6a.jpg","legenda":null},"554":{"arquivo":"\/fotos\/obras\/1\/836863130b0cc6da5c76c098136e568c.jpg","legenda":null},"555":{"arquivo":"\/fotos\/obras\/1\/19f287168ae4eb7492f45bc27293497c.jpg","legenda":null},"556":{"arquivo":"\/fotos\/obras\/1\/24b2ad6fda1b4fca0f49662e343d3c2e.jpg","legenda":null},"557":{"arquivo":"\/fotos\/obras\/1\/73e2b510fc4964733c354729fc8e1c29.jpg","legenda":null},"558":{"arquivo":"\/fotos\/obras\/1\/50dc9cef199c3eed6ee64f1ab1f04166.jpg","legenda":null},"559":{"arquivo":"\/fotos\/obras\/1\/334828f0aedd312cce55c51b747817f6.jpg","legenda":null},"560":{"arquivo":"\/fotos\/obras\/1\/a95bf6964bd245033753640e30464a00.jpg","legenda":null},"561":{"arquivo":"\/fotos\/obras\/1\/cd652e12970fc76c3e05950bfd886c5a.jpg","legenda":null},"562":{"arquivo":"\/fotos\/obras\/1\/646401d5a337226fe79b38e61a6c9318.jpg","legenda":null},"563":{"arquivo":"\/fotos\/obras\/1\/ac0cdfd45071ad88f6ddca18b039a224.jpg","legenda":null},"564":{"arquivo":"\/fotos\/obras\/1\/0e3c46a2e2fd06e445fdc3e06fa559ce.jpg","legenda":null},"565":{"arquivo":"\/fotos\/obras\/1\/b4346a0537f3ac8289130f30612d7ad0.jpg","legenda":null},"566":{"arquivo":"\/fotos\/obras\/1\/6810d834d116304985eb658bd0ffc9ca.jpg","legenda":null},"567":{"arquivo":"\/fotos\/obras\/1\/ef4219e170824f2473e74f822c79f6d3.jpg","legenda":null},"568":{"arquivo":"\/fotos\/obras\/1\/7866ebec6ca6662723f1138a2f7e6117.jpg","legenda":null},"569":{"arquivo":"\/fotos\/obras\/1\/710d32148c0f934fdc0535f769ab2abc.jpg","legenda":null},"570":{"arquivo":"\/fotos\/obras\/1\/059c52bd6c763bd00ce6df5f9d597e0d.jpg","legenda":null},"571":{"arquivo":"\/fotos\/obras\/1\/6046b62ddfc274a330ca3364877c4d43.jpg","legenda":null},"572":{"arquivo":"\/fotos\/obras\/1\/89d1c194f79def4569d648ebed6fcee0.jpg","legenda":null},"573":{"arquivo":"\/fotos\/obras\/1\/d9c6e6a208413ae4927ff5cf694cb0c6.jpg","legenda":null},"574":{"arquivo":"\/fotos\/obras\/1\/75a1ace5b11d241bc34b27e891acd3ec.jpg","legenda":null},"575":{"arquivo":"\/fotos\/obras\/1\/06cd7a851cb812029ce24aca64ba1682.jpg","legenda":null},"576":{"arquivo":"\/fotos\/obras\/1\/82cde925d58e32947a880d56baff7d2a.jpg","legenda":null},"577":{"arquivo":"\/fotos\/obras\/1\/1568f4b3c1579c4ba270753d4d6038e2.jpg","legenda":null},"578":{"arquivo":"\/fotos\/obras\/1\/5c1f50b91230598ca24da2a9fce74d1c.jpg","legenda":null},"579":{"arquivo":"\/fotos\/obras\/1\/5d3f3bb63b862965313a52c2e8bbacfc.jpg","legenda":null},"580":{"arquivo":"\/fotos\/obras\/1\/aba3ed4ec104bef7973470997517384c.jpg","legenda":null},"581":{"arquivo":"\/fotos\/obras\/1\/4919fb6e0cf7f055e56ada1701434de0.jpg","legenda":null},"582":{"arquivo":"\/fotos\/obras\/1\/1760b6b7c4aacfd5c7ae46678413fa97.jpg","legenda":null},"583":{"arquivo":"\/fotos\/obras\/1\/15edbcf888e9262058bde7bd31130e93.jpg","legenda":null},"584":{"arquivo":"\/fotos\/obras\/1\/9476c88754759d89469539e10cde1d01.jpg","legenda":null},"585":{"arquivo":"\/fotos\/obras\/1\/5f13b60bd1ad7930be533fcbf0e7c19c.jpg","legenda":null},"586":{"arquivo":"\/fotos\/obras\/1\/0a5236a05beb5ac940ddd8e4a5477133.jpg","legenda":null}},"secretarias":{"8":{"nome":"Secretaria Municipal de Infraestrutura, Transporte e Serviços Urbanos","link":"\/portal\/secretarias\/8\/secretaria-municipal-de-infraestrutura-transporte-e-servicos-urbanos","abertura":"_target","imagem":"\/fotos\/33d40dfee7f9e055b7b32a8a3ec12dbe.jpg"}},"videos":[],"arquivos":[],"empresa":"Nathalia Silva Iwazawa","fiscal":"Janmeson Alves Targino","descricao":"","fonte_recurso":"Próprio, ","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]; var indicePonto = 0; pontos.forEach(function(ponto) { indicePonto++; // 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 }) } ); // ADICIONANDO 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, index, arr) { 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 if (renderizarRelatorio) { 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", false); 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: "/portal/notificacoes/seguir/ferramentas/", 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 = 1; 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>]]>
2629 <![CDATA[<script> var ua = window.navigator.userAgent; var isIE11 = /Trident.*rv[ :]*11\./.test(navigator.userAgent); var msie = ua.indexOf("MSIE "); if ((((msie > 0) && (parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))) < 11)) === false) && isIE11 === false) { $('#vlibras_include').html('<div vw class="enabled"><div vw-access-button class="active"></div><div vw-plugin-wrapper><div class="vw-plugin-top-wrapper"></div></div></div>'); new window.VLibras.Widget('https://vlibras.gov.br/app'); $(window).on("load", function(){ $('#vlibras_include img').each( function(){ $(this).attr("alt", "Imagem VLibras"); }); }); } </script>]]>
2646 <![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(); }); setTimeout(function () { if (!$(".sw_popup_modal:visible").length) { $("body").css("overflow", "auto"); } }, 400); } // 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.mousedown(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) { var modal_fehcar, zindex_fechar = 0; $(".sw_popup_modal.keyupmodal:visible").each(function() { var modal = $(this); var zindex_modal = parseInt(modal.css("z-index")); if (zindex_modal > zindex_fechar) { zindex_fechar = zindex_modal; modal_fechar = modal; } }); // FECHAR MODAL sw_fechar_popup(modal_fechar); } }); } } /* ============================================================================================ 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('/portal/enquete/votar/',{ 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('/portal/enquete/votar/',{ enviar: 's', form_resposta: opcao, captcha: recaptcha }, retorna_enquete); } else { swal({ text: "Enquete: selecione uma resposta.", icon: "warning" }); } } }); }); </script>]]>
3648 <![CDATA[<script> $(document).ready(function() { //CONFIGURAÇÃO DOS BOTÃO DO VISUALIZADOR DE FOTOS $('.fancybox').fancybox({ buttons : [ 'slideShow', //'thumbs', 'close' ], loop : true, arrows : true, slideShow : { autoStart : false, speed : 3500 }, }); // 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 = "PrefeituraMunicipaldeConceiçãodoMatoDentro-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("/portal/transmissao/encerra/", { video: data_video }); }); } // FIM ANALISANDO SE HÁ NOTIFICAÇÕES }); </script>]]>
3716 <![CDATA[<script> // FUNÇÕES JS $(document).ready(function() { // FUNÇÃO PARA ACIONAR DROP DO LOGIN DO INTERNAUTA MOBILE $(window).click(function() { $("#itn_area_botoes_internauta").removeClass("itn_area_botoes_internauta_show"); }); $(".itn_area_img_internauta").on("click", function() { event.stopPropagation(); $("#itn_area_botoes_internauta").toggleClass("itn_area_botoes_internauta_show"); }); // ACIONANDO POPUP LOGIN $(".itn_btn_login").click(function() { sw_popup("#itn_login", "S"); // RECUPERAÇÃO DE SENHA $("#link_senha").click(function() { sw_abrir_janela("/portal/internautas/recuperar-senha", 450, 600) }); }); // SAIR $("#sair_internauta").click(function() { swal({ title: "Atenção!", text: "Deseja realmente sair do portal?", icon: "warning", buttons: ["Cancelar", "OK"], }) .then(function(acao) { if(acao === true) { location.href = "/portal/internautas/sair"; } }); }); }); // ABRIR POPUP INTERNAUTA function abrir_popup_internautas(elemento) { sw_abrir_popup(elemento); $("#cpf_cnpj_email").focus(); } // FECHAR POPUP INTERNAUTA function fechar_popup_internautas(elemento) { verifica_popups_termos(); sw_fechar_popup(elemento); } // TRANSFORMAR DADOS EM MAIÚSCULOS function internautas_transformar_string(string) { if(string.value != "" && string.id != "") { $("#"+string.id).val(string.value.toUpperCase()); } } // FORMATA VALOR (CPF OU CNPJ) function formata_cpf_cnpj(value) { const cnpjCpf = value.replace(/\D/g, ''); if (cnpjCpf.length === 11) { return cnpjCpf.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/g, "\$1.\$2.\$3-\$4"); } else if (cnpjCpf.length === 14) { return cnpjCpf.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/g, "\$1.\$2.\$3/\$4-\$5"); } } // VALIDAR CPF function validar_cpf(cpf) { cpf = cpf.replace(/[^\d]+/g,''); if(cpf == '') return false; // Elimina CPFs invalidos conhecidos if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999") return false; // Valida 1o digito add = 0; for (i=0; i < 9; i ++) add += parseInt(cpf.charAt(i)) * (10 - i); rev = 11 - (add % 11); if (rev == 10 || rev == 11) rev = 0; if (rev != parseInt(cpf.charAt(9))) return false; // Valida 2o digito add = 0; for (i = 0; i < 10; i ++) add += parseInt(cpf.charAt(i)) * (11 - i); rev = 11 - (add % 11); if (rev == 10 || rev == 11) rev = 0; if (rev != parseInt(cpf.charAt(10))) return false; return true; } // VALIDAR CNPJ function validar_cnpj(cnpj) { cnpj = cnpj.replace(/[^\d]+/g,''); if(cnpj == '') return false; if (cnpj.length != 14) return false; if (cnpj == "00000000000000" || cnpj == "11111111111111" || cnpj == "22222222222222" || cnpj == "33333333333333" || cnpj == "44444444444444" || cnpj == "55555555555555" || cnpj == "66666666666666" || cnpj == "77777777777777" || cnpj == "88888888888888" || cnpj == "99999999999999") return false; tamanho = cnpj.length - 2 numeros = cnpj.substring(0,tamanho); digitos = cnpj.substring(tamanho); soma = 0; pos = tamanho - 7; for(i = tamanho; i >= 1; i--) { soma += numeros.charAt(tamanho - i) * pos--; if (pos < 2) pos = 9; } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; if (resultado != digitos.charAt(0)) return false; tamanho = tamanho + 1; numeros = cnpj.substring(0,tamanho); soma = 0; pos = tamanho - 7; for (i = tamanho; i >= 1; i--) { soma += numeros.charAt(tamanho - i) * pos--; if (pos < 2) pos = 9; } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; if (resultado != digitos.charAt(1)) return false; return true; } //// // VERIFICA SE ACABOU OS TERMOS PARA REDIRECIONAR INTERNAUTA function verifica_popups_termos() { var contador = $('#cont_popup').val(); var link = $('#link').val(); if(contador - 1 == 0 || contador == "") { setTimeout(function() { var elemento = ".itn_consentimentos"; elemento = $(""+elemento+""); fechar_popup_internautas(elemento); var elemento_link = ".itn_consentimentos_link"; elemento_link = $(""+elemento_link+""); fechar_popup_internautas(elemento_link); var url_atual = window.location.pathname; // REDIRECIONA APENAS QUANDO LOGAR OU CADASTRAR if(url_atual != "/portal/internautas/dados" && url_atual != "/portal/internautas/dados/consentimentos" && url_atual != "/portal/internautas/dados/preferencias") { if(link == "/portal/internautas/alterar") { location.href = link; } else if(link != "" && link != undefined) { location.href = link; } else { location.href = '/portal/obras/1'; } } $('#cont_popup').val("0"); }, 300); } else { contador = contador - 1; $('#cont_popup').val(contador); } return contador; } // SE ESTIVER NA PÁGINA DE CONSENTIMENTOS (ACEITANDO, RECUSANDO OU REVOGANDO) A PÁGINA DEVERÁ SER RECARREGADA function redireciona_internauta_consentimento() { setTimeout(function() { if(window.location.pathname == "/portal/internautas/dados/consentimentos" || window.location.pathname == "/portal/internautas/dados") { location.href = window.location.pathname; } }, 800); } // CLICK DO BOTÃO OK (QUANDO ENTRAR EM UMA FERRAMENTA QUE TIVER TERMO DO TIPO EMITE AVISO QUE FOI ENVIADO UM E-MAIL PARA CONFIRMAÇÃO) function btn_ok(id_consentimento) { if(id_consentimento != "") { var elemento = "#itn_consentimentos_int_"+id_consentimento; elemento = $(""+elemento+""); fechar_popup_internautas(elemento); } } // CLICK DO BOTÃO REENVIAR function btn_reenviar_consentimento(id_consentimento) { if(id_consentimento != "") { var elemento = "#itn_consentimentos_int_"+id_consentimento; elemento = $(""+elemento+""); $.post('/portal/internautas/acao/', {acao:"reenviar_consentimento", consentimento:id_consentimento}, retorno); function retorno(data) { fechar_popup_internautas(elemento); } } } // EXIBE MENSAGENS DE SUCESSO E ERRO function int_msg_erro(mensagem) { $("#conteudo_esquerda").append('<div class="sw_lato sw_aviso_suspenso sw_aviso_suspenso_erro" style="display:none;"><i class="swfa fas fa-times-circle-o"></i><span>'+mensagem+'</span></div>'); $(".sw_aviso_suspenso_erro").fadeIn("slow"); setTimeout(function() { $(".sw_aviso_suspenso_erro").fadeOut("slow"); }, 1500); } function int_msg_sucesso(mensagem) { $("#conteudo_esquerda").append('<div class="sw_lato sw_aviso_suspenso sw_aviso_suspenso_sucesso" style="display:none;"><i class="swfa fas fa-check-circle-o"></i><span>'+mensagem+'</span></div>'); $(".sw_aviso_suspenso_sucesso").fadeIn("slow"); setTimeout(function() { $(".sw_aviso_suspenso_sucesso").fadeOut("slow"); }, 1500); } // CLICK DO BOTÃO "CONFIRMAR CÓDIGO" function btn_confirmar_codigo_consentimento(id_consentimento) { var codigo = $("#form_codigo_confirmacao_consentimento").val(); if(id_consentimento != "" && codigo != "") { var elemento = "#itn_consentimentos_int_"+id_consentimento; elemento = $(""+elemento+""); $.post('/portal/internautas/acao/', {acao:"confirmar_codigo_consentimento", consentimento:id_consentimento, codigo:codigo}, retorno); function retorno(data) { data = JSON.parse(data); fechar_popup_internautas(elemento); if(data.resultado == "sucesso") { int_msg_sucesso("Consentimento confirmado com sucesso!"); } else { int_msg_erro("Erro ao confirmar consentimento!"); } } } } // EXIBE MENSAGEM DE ERRO NO PROCESSO (CASO FALTE ALGUM DADO) function exibe_mensagem_erro_processo() { $(".sw_area_botoes_popup").hide(); $(".sw_conteudo_popup").html('<div class="sw_aviso sw_aviso_erro sw_lato"><i class="swfa fas fa-exclamation-triangle"></i> <span>Ops, algo deu errado. Tente novamente mais tarde.</span></div>'); // setTimeout(function() { // fechar_popup_internautas(elemento); // }, 1000); } // CLICK DO BOTÃO ACEITAR function btn_aceitar(id_consentimento, id_termo) { if(id_consentimento != "" && id_consentimento != undefined) { var elemento = "#itn_consentimentos_int_"+id_consentimento; elemento = $(""+elemento+""); $.post('/portal/internautas/acao/', {acao:"responder_consentimento", consentimento:id_consentimento, valor:"S"}, retorno); function retorno(data) { data = JSON.parse(data); fechar_popup_internautas(elemento); if(data.resultado == "sucesso") { int_msg_sucesso("Consentimento aceito com sucesso!"); } else { int_msg_erro("Erro ao aceitar consentimento!"); } redireciona_internauta_consentimento(); } } else { exibe_mensagem_erro_processo(); } } // CLICK DO BOTÃO RECUSAR function btn_recusar(id_consentimento, id_termo, obrigatorio) { // VERIFICA SE TERMO É OBRIGATÓRIO PARA SOLICITAR CONFIRMAÇÃO if(obrigatorio == "S") { swal({ text: "Tem certeza que deseja recusar? É obrigatório a aceitação desse termo.", icon: "warning", buttons: ['Cancelar', 'OK'] }) .then(function(acao) { if(acao === true) { if(id_consentimento != "" && id_consentimento != undefined) { var elemento = "#itn_consentimentos_int_"+id_consentimento; elemento = $(""+elemento+""); $.post('/portal/internautas/acao/', {acao:"responder_consentimento", consentimento:id_consentimento, valor:"N", termo:id_termo}, retorno); function retorno(data) { data = JSON.parse(data); elemento.find(".sw_area_botoes_popup").hide(); fechar_popup_internautas(elemento); if(data.resultado == "sucesso") { int_msg_sucesso("Consentimento recusado com sucesso!"); } else { int_msg_erro("Erro ao recusar consentimento!"); } redireciona_internauta_consentimento(); } } else { exibe_mensagem_erro_processo(); } } }); } else { if(id_consentimento != "" && id_consentimento != undefined) { var elemento = "#itn_consentimentos_int_"+id_consentimento; elemento = $(""+elemento+""); $.post('/portal/internautas/acao/', {acao:"responder_consentimento", consentimento:id_consentimento, valor:"N", termo:id_termo}, retorno); function retorno(data) { data = JSON.parse(data); elemento.find(".sw_area_botoes_popup").hide(); fechar_popup_internautas(elemento); if(data.resultado == "sucesso") { int_msg_sucesso("Consentimento recusado com sucesso!"); } else { int_msg_erro("Erro ao recusar consentimento!"); } redireciona_internauta_consentimento(); } } else { exibe_mensagem_erro_processo(); } } } // CLICK DO BOTÃO REVOGAR (ENVIAR - REVOGAR DE FATO) function btn_revogar(id_consentimento) { var motivo = $("#motivo_revogar").val(); if(id_consentimento != "" && id_consentimento != undefined) { var elemento = "#itn_consentimentos_int_"+id_consentimento; elemento = $(""+elemento+""); $.post('/portal/internautas/acao/', {acao:"revogar_consentimento", consentimento:id_consentimento, motivo:motivo}, retorno); function retorno(data) { data = JSON.parse(data); fechar_popup_internautas(elemento); if(data.resultado == "sucesso") { int_msg_sucesso("Consentimento revogado com sucesso!"); } else { int_msg_erro("Erro ao revogar consentimento!"); } redireciona_internauta_consentimento(); } } else { exibe_mensagem_erro_processo(); } } // CLICK NO BOTÃO REVOGAR PARA EXIBIR CAMPO DO MOTIVO function btn_revogar_motivo(id_consentimento) { // EXIBE CAMPO PARA INFORMAR MOTIVO $(".itn_area_motivo").fadeIn(); // DESCE TELA $(".sw_popup_modal").animate({ scrollTop: $(document).height() }, 1000); // SETA NOVO ONCLICK PARA BOTÃO E REMOVE CLASSE $(".itn_btn_revogar").attr("onClick", "btn_revogar("+id_consentimento+")"); $(".itn_btn_revogar").removeClass("itn_btn_revogar_cinza"); // ADICIONA FOCO NO CAMPO $("#motivo_revogar").focus(); } // CLICK DO BOTÃO ASSINAR function btn_assinar(id_consentimento, id_termo, arquivo, diretorio, origem) { // DESABILITA BOTÃO $("#itn_consentimentos_int_"+id_consentimento).find(".itn_btn_aceitar").attr("disabled", "disabled"); $("#itn_consentimentos_int_"+id_consentimento).find(".itn_btn_aceitar").fadeOut(); var elemento = "#itn_consentimentos_int_"+id_consentimento; elemento = $(""+elemento+""); // AUTORIZADO OK SIGNIFICA QUE TEM CREDITOS PARA GASTAR COM A OPERAÇÃO, SE NÃO HOUVER VAI RETORNAR MENSSAGEM DE ERRO AO USUÁRIO if('ok' != 'ok') { swal({ text: "Você não possui créditos para assinar o documento, favor entrar em contato com Prefeitura Municipal de Conceição do Mato Dentro.", icon: "error" }); } else { // EXTRAI EXTENSÃO DO ARQUIVO var coleta_extensao = arquivo.split("."); // VERIFICA SE O ARQUIVO É UM PDF if (coleta_extensao[1] != "pdf") { swal({ text: "Extensão inválida, somente arquivos PDF podem ser assinados", icon: "error" }); } else { // CARREGA SELECT E MENSAGEM $("#itn_consentimentos_int_"+id_consentimento).find(".sw_area_botoes_popup").append('<div class="itn_area_assinatura"><div class="sw_aviso sw_aviso_alerta sw_lato"><i class="swfa fas fa-exclamation-triangle"></i><span>Por favor, selecione o certificado digital desejado para assinar este documento logo abaixo.</span></div><select id="certificateSelect"><option value="0">Selecione seu certificado A3...</option></select></div>'); // EXIBE SELECT E MENSAGEM $(".itn_area_assinatura").fadeIn(); // CRIA OBJETO PARA MANIPULAÇÃO DOAS CERTIFICADOS E ASSINATURAS var pki = new LacunaWebPKI(); pki.init({ ready: onWebPkiReady, notInstalled: onWebPkiNotInstalled, defaultError: onWebPkiError, restPkiUrl: 'https://pki.rest/' }); // FUNÇÃO DE LISTAGEM DOS CERTIFICADOS function onWebPkiReady () { pki.listCertificates().success(function (certs) { var selecao = $("#certificateSelect"); $.each(certs, function() { // VERIFICA SE É PESSOA FÍSICA OU JURÍDICA if(this.pkiBrazil.isPessoaFisica) { var doc = this.pkiBrazil.cpf; var doc_internauta = ""; } else { var doc = this.pkiBrazil.cnpj; var doc_internauta = ""; } var validadefim = this.validityEnd; // VERIFICA DOCUMENTO if(doc == doc_internauta) { selecao.append($('<option data-doc="'+doc+'" data-validadefim="'+validadefim+'" />').val(this.thumbprint) .text(this.subjectName) ); } }); }); } // FUNÇÃO SE O PLUGIN NÃO ESTIVER INSTALADO function onWebPkiNotInstalled (status, message) { swal({ text: "Plugin do Assinador não instalado, você será redirecionado para página de instalação.", icon: "warning" }) .then(function() { pki.redirectToInstallPage(); }); } // FUNÇÃO PARA IMPRIMIR O ERRO CASO OCORRA function onWebPkiError(message, error, origin) { swal({ text: "Erro ao assinador documento. Token/certificado não foi reconhecido. Tente conecta-lo em outra porta ou reinicie o navegador.", icon: "error" }) .then(function() { $("#sw_carregando_dados").hide(); }); } // CARREGA E EXIBE BOTÃO $("#itn_consentimentos_int_"+id_consentimento).find(".sw_area_botoes_popup").append('<div class="sw_btn_popup sw_btn_aceitar itn_btn_aceitar" id="signPDFButton" style="display:none;"><i class="swfa fas fa-check-circle-o" aria-hidden="true"></i><span>ASSINAR PDF</span></div>'); $("#signPDFButton").fadeIn(); // PASSA OS VALORES O BOTÃO "ASSINAR PDF" DENTRO DA SELEÇÃO DOS CERTIFICADOS $('#signPDFButton').attr("data-arquivo", arquivo); $('#signPDFButton').attr("data-diretorio", diretorio); $('#signPDFButton').attr("data-origem", origem); $('#signPDFButton').attr("data-codigo", id_consentimento); // CLICK DO BOTÃO ASSINAR PDF $('#signPDFButton').click(function(){ if(($('#certificateSelect').val() != null) && ($('#certificateSelect').val() != '0')) { // CARREGANDO $("#sw_carregando_dados").show(); // VALOR DO CERTIFCADO SELECIONADO var selectedCertThumb = $('#certificateSelect').val(); // VALOR COM ARQUIVO QUE SERÁ ASSINADO var arquivo = $(this).attr("data-arquivo"); // VALOR COM O DIRETÓRIO DO ARQUIVO QUE SERÁ ASSINADO var diretorio = $(this).attr("data-diretorio"); // MONTA DIRETÓRIO COMPLETO PARA O ARQUIVO QUE SERÁ ASSSINADO var arquivo_completo = diretorio+arquivo; // VALOR COM O NOME DO CERTIFICADO DIGITAL ESCOLHIDO var emissor = $('#certificateSelect option:selected').text(); // VALOR COM O DOCUMENTO DO CERTIFICADO QUE FOI ESCOLHIDO var documento = $('#certificateSelect option:selected').attr("data-doc"); // VALOR COM A VALIDADE DO CERTIFICADO ESCOLHIDO var finalvalidade = $('#certificateSelect option:selected').attr("data-validadefim"); // VALOR COM A ORIGEM DA PAGINA ONDE O ARQUIVO ESTA SENDO ASSINADO var origem = $(this).attr("data-origem"); // VALOR COM O ID DO ARQUIVO QUE ESTA SENDO ASSINADO var codigo = $(this).attr("data-codigo"); // PRIMEIRO POST INICIA O PROCESSO DE ASSINATURA $.post('/sg/assinador_a3.php', {arquivo:arquivo_completo, carimbo_tempo:'', etapa:'1'}, retorno1); function retorno1(data1) { // FUNÇÃO QUE ASSINA O ARQUIVO pki.signWithRestPki({ token: data1, thumbprint: selectedCertThumb }).success(function () { // SEGUNDO POST IRÁ MONTAR O ARQUIVO ASSINADO $.post('/sg/assinador_a3.php', {token:data1, endereco:"../../tmp/", original:arquivo, origem:"Internautas", etapa: '2'}, retorno2); function retorno2(data2) { // TERCEIRO POST IRÁ ATUALIZAR O BANCO DE DADOS, CONFORME OS ATRIBUTOS PASSADOS $.post('/sg/assinador_a3.php', {origem: origem, codigo: codigo, titular: emissor, doc: documento, validade_cert:finalvalidade, pacote:'mensal', arquivo_completo:arquivo_completo, carimbo_tempo:'', arquivo: arquivo, internauta: "", arquivo_assinado: data2, etapa: '3'}, retorno3); function retorno3(data3) { data3 = JSON.parse(data3); // CARREGANDO $("#sw_carregando_dados").hide(); // FECHA POPUP E EXIBE MENSAGEM fechar_popup_internautas(elemento); if(data3.resultado == "sucesso") { int_msg_sucesso("Consentimento aceito com sucesso!"); } else { int_msg_erro("Erro ao aceitar consentimento!"); } } } }); } } else { alert ("Nenhum certificado selecionado."); } }); // FIM $('#signPDFButton').click(function() } // FIM else verifica extensao do arquivo } // FIM else verifica os créditos } </script>]]>
4395 <![CDATA[<script> $(document).ready(function() { // FORMATA VALOR CONFORME INFORMA $("#cpf_cnpj_email").keyup(function() { var valor_formatado = formata_cpf_cnpj($(this).val()); if(valor_formatado != undefined) { $(this).val(valor_formatado); } }); // CONFIRMAÇÃO CAPTCHA $("#form_login").submit(function(e) { var response = grecaptcha.getResponse(captchaLogin); if(response.length == 0) { grecaptcha.reset(captchaLogin); swal({ text: "Ops, captcha confirmado incorretamente. Por favor, preencha-o para continuar!", icon: "warning" }); e.preventDefault(); return false; } }); $("#entrar_google").click(function(){ window.location.href="/internautas_login_servicos.php?tipo=google" }); }); </script>]]>
4429 <![CDATA[<script> var captchaLogin; var onloadCallbackLogin = function() { captchaLogin = grecaptcha.render('captchaLogin', { 'sitekey' : '6Lcg5gwUAAAAAFTAwOeaiRgV05MYvrWdi1U8jIwI' }); }; </script>]]>
5145 <![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: "/portal/avaliar/", 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: "/portal/avaliar/enviar/", 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>]]>
5293 <![CDATA[<script> var CaptchaCallback = function(){ $('.g-recaptcha').each(function(index, el) { grecaptcha.render(el, {'sitekey' : '6Lcg5gwUAAAAAFTAwOeaiRgV05MYvrWdi1U8jIwI'}); }); }; </script>]]>
5305 <![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>]]>
5320 <![CDATA[<script> $(function() { $("#form_data_solicitacao").datepicker(); $("#form_data_conclusao").datepicker(); }); </script>]]>