IniciandoTelaHome(); function IniciandoTelaHome() { const interval_home = 500; // Tempo em milissegundos (1 segundo) try { const checkElements_home = setInterval(() => { try { const HomeConstruida = document.getElementById('HomeConstuctor'); if (HomeConstruida) { // const gerarBole = document.getElementById('gerarBoleto'); //const gerarPDF = document.getElementById('gerarPDF'); // gerarBole.addEventListener('click', gerarBoleto); // gerarPDF.addEventListener('click', GerarPDF); //console.log('Funções da tela Home foram iniciadas corretamente') Data_home(); Servicos_home(); TelaFinanceiro(); async function Servicos_home() { const { Servicos, ResutadosES } = await EmpresasServicos(); const ServicosPDf = await Servicos.json(); //console.log(ServicosPDf); const paineServicos = document.getElementById('sevicoDominio'); RespostasServiHome(ResutadosES, paineServicos) function RespostasServiHome(ResutadosES, paineServicos) { if (ResutadosES === 500) {/*status 500 leia pfrrrrr*/ paineServicos.innerHTML = `

Sem serviços no momento

Status 404

` throw new Error(`Erro na API dos Serviços: ${ResutadosES}`); } if (ResutadosES === 404) { paineServicos.innerHTML = `

Status 404

Nenhum serviço encontrado

` throw new Error(`Erro na API dos Serviços: ${ResutadosES}`); } if (ResutadosES === 401) { paineServicos.innerHTML = `

Status 404

Usuário não autenticado!

` throw new Error(`Erro na API dos Serviços: ${ResutadosES} `); } if (ResutadosES === 502) { paineServicos.innerHTML = `

Status 404

Estamos realizando manutenções, volte mais tarde

` throw new Error(`Erro na API dos Serviços: ${ResutadosES} `); } } // Limpando o painel antes de adicionar os serviços paineServicos.innerHTML = ""; for (const key in ServicosPDf) { if (ServicosPDf.hasOwnProperty(key)) { const servico = ServicosPDf[key]; paineServicos.innerHTML += `

${servico}

`; } } } async function Chamados_home(dia, pesquisaValor = '') { const { Chamados, ResutadosChamados } = await IntegracaoZamade(); const dataZam = await Chamados.json(); console.log(dataZam) const ListadeChamados = document.getElementById('ChamadosDominio'); RespostasChamadosHome(ResutadosChamados, ListadeChamados) function RespostasChamadosHome(ResutadosChamados, ListadeChamados) { if (ResutadosChamados === 500) { ListadeChamados.innerHTML = `

Status 404

Sem serviços no momento

` throw new Error(`Erro na API dos Chamados: ${ResutadosChamados}`); } if (ResutadosChamados === 404) { ListadeChamados.innerHTML = `

Status 404

Nenhum serviço encontrado

` throw new Error(`Erro na API dos Chamados: ${ResutadosChamados}`); } if (ResutadosChamados === 401) { ListadeChamados.innerHTML = `

Status 404

Usuário não autenticado!

` throw new Error(`Erro na API dos Chamados: ${ResutadosChamados}`); } if (ResutadosChamados === 405) { ListadeChamados.innerHTML = `

Nenhum ticket encontrado nos últimos 30 dias.

`; throw new Error(`Erro na API dos Chamados: ${ResutadosChamados}`); } if (ResutadosChamados === 502) { ListadeChamados.innerHTML = `

Status 404

Estamos realizando manutenções, volte mais tarde

` throw new Error(`Erro na API dos Chamados: ${ResutadosChamados} `); } } let htmlContent = ''; let encontrouChamado = false; // **Filtrando os chamados pela data** const resultadosFiltrados = dataZam.filter(item => { const dataAbertura = item.created_at.split("T")[0]; // "2025-01-14" //console.log("Valor á ser pesquisado " + dia) return dataAbertura === dia; }); // **Filtrando os chamados pela pesquisa** const chamadosPesquisados = resultadosFiltrados.filter(item => item.customer_id.toString().toLowerCase().includes(pesquisaValor.toLowerCase()) || item.title.toLowerCase().includes(pesquisaValor.toLowerCase()) || item.number.toString().includes(pesquisaValor) ); //console.log(chamadosPesquisados) // **Gerando o HTML dos chamados filtrados** for (let chamado of chamadosPesquisados) { encontrouChamado = true; const dataAbertura = chamado.created_at.split("T")[0]; // "2025-01-14" const horaAbertura = chamado.created_at.match(/T(\d{2}:\d{2})/)[1]; // "14:56" const EstadoChamado = chamado.state_id; const IdChamado = chamado.number; let EstadosChamado = ''; switch (EstadoChamado) { case 1: EstadosChamado = 'Novo_Nao_Atribuido'; break; case 2: EstadosChamado = 'Aberto_Em_Análise'; break; case 3: EstadosChamado = 'Aguardando_Retorno'; break; case 4: EstadosChamado = 'Solucionado_Fechado'; break; case 5: EstadosChamado = 'Atencao'; break; case 6: EstadosChamado = 'Em_Andamento'; break; case 7: EstadosChamado = 'Atencao'; break; case 8: EstadosChamado = 'Atencao'; break; } htmlContent += `

${IdChamado}

${dataAbertura} às ${horaAbertura}

`; } // **Se nenhum chamado for encontrado** if (!encontrouChamado) { htmlContent = `

Nenhum Chamado Encontrado

`; } // **Atualiza a interface** ListadeChamados.innerHTML = htmlContent; if (ListadeChamados.innerHTML !== "") { setTimeout(() => { for (let chamado of chamadosPesquisados) { const Titulo = chamado.title; const IdChamado = chamado.number; const AutorChamado = chamado.customer_id; const estado = chamado.state_id const dataAbertura = chamado.created_at.split("T")[0]; // "2025-01-14" const [anoA, mesA, diaA] = dataAbertura.split("-"); const dataFormatadaA = `${mesA}/${diaA}/${anoA}`; // "01/14/2025" const horaAbertura = chamado.created_at.match(/T(\d{2}:\d{2})/)[1]; // "14:56" const dataFechamento = chamado.created_at.split("T")[0]; // "2025-01-14" const [anoF, mesF, diaF] = dataAbertura.split("-"); const dataFormatadaF = `${mesF}/${diaF}/${anoF}`; // "01/14/2025" const horaFechamento = chamado.created_at.match(/T(\d{2}:\d{2})/)[1]; // "14:56" let StadoChamado = 0; switch (estado) { case 1: StadoChamado = 'Novo / Não Atribuido'; break; case 2: StadoChamado = 'Aberto Em Análise'; break; case 3: StadoChamado = 'Aguardando Retorno'; break; case 4: StadoChamado = 'Solucionado Fechado'; break; case 5: StadoChamado = 'Atenção'; break; case 6: StadoChamado = 'Em Andamento'; break; case 7: StadoChamado = 'Atenção'; break; case 8: StadoChamado = 'Atenção'; break; } let StadoChamadoClass = 0; switch (estado) { case 1: StadoChamadoClass = 'Novo_Nao_Atribuido'; break; case 2: StadoChamadoClass = 'Aberto_Em_Analise'; break; case 3: StadoChamadoClass = 'Aguardando_Retorno'; break; case 4: StadoChamadoClass = 'Solucionado_Fechado'; break; case 5: StadoChamadoClass = 'Atencao'; break; case 6: StadoChamadoClass = 'Em_Andamento'; break; case 7: StadoChamadoClass = 'Atencao'; break; case 8: StadoChamadoClass = 'Atencao'; break; } ConstruirPoup(IdChamado, Titulo, AutorChamado, dataFormatadaA, horaAbertura, dataFormatadaF, horaFechamento, StadoChamado, StadoChamadoClass); } }, 0); } function ConstruirPoup(Chamado, Titulo, AutorChamado, dataFormatadaA, horaAbertura, dataFormatadaF, horaFechamento, StadoChamado, StadoChamadoClass) { const chamadoButton = document.getElementById(`${Chamado}`) if (!chamadoButton) { console.error(`Elemento com ID ${Chamado} não encontrado.`); return; } chamadoButton.addEventListener('click', AbrirPopupChamados); function AbrirPopupChamados() { const PopUp = document.getElementById('PopupHome'); PopUp.style.display = 'flex'; PopUp.classList.add("Chamado") PopUp.classList.add(StadoChamadoClass) PopUp.innerHTML = estrutPop(); EncerrarPopUp(); function estrutPop() { return `

${Titulo}

${StadoChamado}

`; } function EncerrarPopUp() { const buttonEncerrar = document.getElementById('EncerrarPopup'); buttonEncerrar.addEventListener('click', Encerar); function Encerar() { PopUp.style.display = ''; PopUp.classList.remove("Chamado") PopUp.classList.remove(StadoChamadoClass) PopUp.innerHTML = ''; } } } } } let DataAtual = null function Data_home() { const DiaAtual = document.getElementById('NumeroDodial'); const DiaSemana = document.getElementById('DiaSemana'); const MesAtual = document.getElementById('Mesatual'); let RecebeMes = null; const AnoAtual = document.getElementById('AnoAtual'); let { dia, mes, ano, data } = CapturandoDatas(); function CapturandoDatas(dataReferencia = new Date()) { // Verifica se dataReferencia é um objeto Date, se não for, converte if (!(dataReferencia instanceof Date)) { dataReferencia = new Date(dataReferencia); } const dia = dataReferencia.getDate(); const mes = dataReferencia.getMonth(); const mesesAno = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; const mesNome = mesesAno[dataReferencia.getMonth()]; const ano = dataReferencia.getFullYear(); const diasNoMes = new Date(ano, mes + 1, 0).getDate(); // Último dia do mês const primeiroDiaSemana = new Date(ano, mes, 1).getDay(); // 0 = Domingo, 1 = Segunda, ..., 6 = Sábado let MesesDoAnoId; switch (mesNome) { case 'Janeiro': MesesDoAnoId = '01'; break; case 'Fevereiro': MesesDoAnoId = '02'; break; case 'Março': MesesDoAnoId = '03'; break; case 'Abril': MesesDoAnoId = '04'; break; case 'Maio': MesesDoAnoId = '05'; break; case 'Junho': MesesDoAnoId = '06'; break; case 'Julho': MesesDoAnoId = '07'; break; case 'Agosto': MesesDoAnoId = '08'; break; case 'Setembro': MesesDoAnoId = '09'; break; case 'Outubro': MesesDoAnoId = '10'; break; case 'Novembro': MesesDoAnoId = '11'; break; case 'Dezembro': MesesDoAnoId = '12'; break; } let dias = []; // Adicionar espaços vazios antes do primeiro dia do mês for (let i = 0; i < primeiroDiaSemana; i++) { dias.push(`
`); } for (let d = 1; d <= diasNoMes; d++) { dias.push(`

${d}

`); } // Verifica o id do dia atual const idDiaAtual = `${ano}-${MesesDoAnoId}-${dia}`; return { dias, mes: mesNome, ano, dia, idDiaAtual, data: dataReferencia }; } function AtualizarData(novaData) { const resultado = CapturandoDatas(novaData); if (!resultado) { console.error("Erro: A data fornecida não é válida."); return; } const { dias, mes, ano, dia, idDiaAtual } = resultado; DiaAtual.innerHTML = `
Dom
Seg
Ter
Qua
Qui
Sex
Sáb
${dias.join("")}
`; // Exibir todos os dias corretamente RecebeMes = mes; MesAtual.innerHTML = `

${RecebeMes}

`; AnoAtual.innerHTML = ano; //console.log(dias); const diaAtualElement = document.getElementById(idDiaAtual); if (diaAtualElement) { diaAtualElement.classList.add("destaque"); // Adiciona classe para destacar o dia } else { console.error("Erro: Não foi possível encontrar o dia atual."); } // Definir o mês no formato de 2 dígitos let MesesDoAno; switch (mes) { case 'Janeiro': MesesDoAno = '01'; break; case 'Fevereiro': MesesDoAno = '02'; break; case 'Março': MesesDoAno = '03'; break; case 'Abril': MesesDoAno = '04'; break; case 'Maio': MesesDoAno = '05'; break; case 'Junho': MesesDoAno = '06'; break; case 'Julho': MesesDoAno = '07'; break; case 'Agosto': MesesDoAno = '08'; break; case 'Setembro': MesesDoAno = '09'; break; case 'Outubro': MesesDoAno = '10'; break; case 'Novembro': MesesDoAno = '11'; break; case 'Dezembro': MesesDoAno = '12'; break; } let idDiaClicado = dia; // Variável global para armazenar o ID // Função para adicionar o evento de clique a todos os dias function adicionarEventosClick() { // Seleciona todos os elementos

com a classe "dia" const dias = document.querySelectorAll('.dia'); // Itera sobre todos os elementos

encontrados dias.forEach(dia => { // Adiciona um evento de clique para cada elemento dia.addEventListener('click', () => { // Remove a classe 'destaque' de todos os dias dias.forEach(d => d.classList.remove('destaque')); // Adiciona a classe 'destaque' ao dia clicado dia.classList.add('destaque'); //console.log(`Dia clicado: ${dia.innerText}`); // Exibe o dia no console // Armazena a ID do dia clicado idDiaClicado = dia.id; // Exibe o ID no console //console.log(`ID do dia clicado: ${idDiaClicado}`); Chamados_home(idDiaClicado); }); }); } // Chama a função para adicionar os eventos de clique adicionarEventosClick(); // Para acessar o ID de fora da função, você pode usar a variável global 'idDiaClicado': setTimeout(() => { Chamados_home(idDiaClicado); //console.log(`ID do dia após o clique: ${idDiaClicado}`); }, 1000); // Isso espera 1 segundo após o clique para verificar a variável const dataAtual = `${ano}-${MesesDoAno}-${dia}`; //console.log("Data processada corretamente:", dataAtual); } function MudarMes() { const proximo_mes = document.getElementById('NumeroProximoMes'); const mes_anterior = document.getElementById('NumeroAnteriorMes'); proximo_mes.addEventListener('click', () => { // Converter o nome do mês para um número let mesNumero = getMesNumero(RecebeMes); let dataAtual = new Date(AnoAtual.innerHTML, mesNumero, 1); // Cria a data do mês atual dataAtual.setMonth(dataAtual.getMonth() + 1); // Avança para o próximo mês AtualizarData(dataAtual); // Atualiza a data com o novo mês }); mes_anterior.addEventListener('click', () => { // Converter o nome do mês para um número let mesNumero = getMesNumero(RecebeMes); let dataAtual = new Date(AnoAtual.innerHTML, mesNumero, 1); // Cria a data do mês atual dataAtual.setMonth(dataAtual.getMonth() - 1); // Retrocede para o mês anterior AtualizarData(dataAtual); // Atualiza a data com o novo mês }); } function getMesNumero(mesNome) { switch (mesNome) { case 'Janeiro': return 0; // Janeiro é o mês 0 no JavaScript (0-11) case 'Fevereiro': return 1; case 'Março': return 2; case 'Abril': return 3; case 'Maio': return 4; case 'Junho': return 5; case 'Julho': return 6; case 'Agosto': return 7; case 'Setembro': return 8; case 'Outubro': return 9; case 'Novembro': return 10; case 'Dezembro': return 11; default: return 0; } } // Inicializa os valores na tela AtualizarData(new Date()); MudarMes(); } function TelaFinanceiro() { const BolotosAvencer = document.getElementById('apresentarBoleto'); const hoje = new Date(); const diaAtual = hoje.getDate(); const mesAtual = hoje.getMonth(); const anoAtual = hoje.getFullYear(); const meses = []; const nomesMeses = [ "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro" ]; for (let i = 0; i <= 2; i++) { let mes = (hoje.getMonth() + i) % 12; // Garante que não passe de dezembro let ano = anoAtual + Math.floor((hoje.getMonth() + i) / 12); // Ajusta o ano se necessário let nomeMes = nomesMeses[mes]; // 🔴 O botão SÓ fica ativo se estivermos DENTRO do mês respectivo E entre os dias 1 e 12 let botaoAtivo = ano === anoAtual && mes === mesAtual && diaAtual >= 1 && diaAtual <= 20; console.log(botaoAtivo); if (botaoAtivo == false) { meses.push(`

${nomeMes} - ${ano}

Fechado

`); } if (botaoAtivo == true) { meses.push(`

${nomeMes} - ${ano}

Aberto

`); } } BolotosAvencer.innerHTML = meses.join(''); const ButtoaoGerarBoleto = document.getElementById('Gerar'); if (ButtoaoGerarBoleto) { ButtoaoGerarBoleto.addEventListener('click', gerarBoleto); } async function gerarBoleto() { const { Boleto_Conect, Response_Conect } = await IntegracaoBoleto_Conect(); //const { Boleto_Aline } = await IntegracaoBoleto_Alinhamento(); //const { Boleto_PDF } = await IntegracaoBoleto_GerarPDF(); const dataBole_Conect = await Boleto_Conect.json(); //const dataBole_Aline = await Boleto_Aline.json(); //const dataBole_PDF = await Boleto_PDF.json(); const Alinhamento_Pdf = await Response_Conect.blob(); console.log("Resposta da conexão", dataBole_Conect, Alinhamento_Pdf); // console.log("Resposta do Alinhamento", dataBole_Aline); // console.log("Resposta da Geração de PDF", dataBole_PDF); const pdfUrl = URL.createObjectURL(Alinhamento_Pdf); window.open(pdfUrl, '_blank'); } } clearInterval(checkElements_home); // Para o setInterval loadtelaHome(); function loadtelaHome() { const respostaLoad = respotadeCarregamento(); //console.log(respostaLoad) function respotadeCarregamento() { return localStorage.setItem('Carregou_tela_Home', 'true') } } } } catch (error) { console.error('Houve algo inesperado dentro da tela home' + error) clearInterval(checkElements_home); // Para o setInterval return false } }, interval_home); } catch (error) { console.error('Houve algo inesperado fora da tela home' + error) } }