Urna Eletrônica – Sistema Integrado

Painel Administrativo

Acesso liberado

Cadastro de Chapas

Chapas Cadastradas: 0

Controle de Alunos

Alunos Cadastrados: 0

Controles da Eleição

Estatísticas Atuais

Total de votos0
Alunos que votaram0
Chapas cadastradas0
Alunos cadastrados0
Sistema pronto para votação segura

URNA ELETRÔNICA

EMEF Eng. José Amadei – Eleição do Grêmio Estudantil

Alunos cadastrados 0
Chapas cadastradas 0
Votos registrados 0
ELEIÇÃO PARA GRÊMIO ESTUDANTIL
SISTEMA BLOQUEADO
Nenhum aluno foi cadastrado ainda.
Abra o painel administrativo, cadastre pelo menos um aluno e a votação será liberada automaticamente.
`); novaJanela.document.close(); novaJanela.focus(); novaJanela.print(); mostrarToast("Janela de impressão aberta para gerar o PDF.", "success"); } catch (error) { console.error(error); mostrarToast("Não foi possível preparar o PDF.", "error"); } }async function compartilharWhatsApp() { const texto = gerarRelatorioTexto(); const url = "https://wa.me/?text=" + encodeURIComponent(texto); const janela = window.open(url, "_blank");if (janela) { mostrarToast("WhatsApp aberto com a mensagem preenchida.", "success"); } else { try { await copiarTexto(texto); mostrarToast("O navegador bloqueou a janela. Texto copiado para enviar manualmente.", "warning"); } catch (error) { mostrarToast("Não foi possível abrir o WhatsApp.", "error"); } } }function baixarArquivoHTML() { const conteudo = "\n" + document.documentElement.outerHTML; const blob = new Blob([conteudo], { type: "text/html;charset=utf-8" }); const url = URL.createObjectURL(blob); const link = document.createElement("a"); link.href = url; link.download = "index.html"; document.body.appendChild(link); link.click(); link.remove(); URL.revokeObjectURL(url); mostrarToast("Download do index.html iniciado.", "info"); }function atualizarListaChapas() { const chapas = obterChapas().sort((a, b) => a.numero.localeCompare(b.numero)); const lista = document.getElementById("listaChapas"); document.getElementById("totalChapas").textContent = chapas.length; lista.innerHTML = "";if (chapas.length === 0) { lista.innerHTML = '
Nenhuma chapa cadastrada.
'; return; }chapas.forEach((chapa) => { const item = document.createElement("div"); item.className = "chapa-item"; item.innerHTML = ` ${escapeHtml(chapa.numero)} - ${escapeHtml(chapa.nome)} `; lista.appendChild(item); }); }function atualizarListaAlunos() { const alunos = obterAlunos().sort((a, b) => a.nome.localeCompare(b.nome, "pt-BR")); const votos = obterVotos(); const lista = document.getElementById("listaAlunos"); document.getElementById("totalAlunosCadastrados").textContent = alunos.length; lista.innerHTML = "";if (alunos.length === 0) { lista.innerHTML = '
Nenhum aluno cadastrado.
'; return; }alunos.forEach((aluno) => { const jaVotou = votos.some((voto) => voto.numero.toLowerCase() === aluno.numero.toLowerCase()); const item = document.createElement("div"); item.className = "chapa-item"; item.innerHTML = `
${escapeHtml(aluno.numero)} - ${escapeHtml(aluno.nome)}
Turma: ${escapeHtml(aluno.turma)} | ${jaVotou ? "Votou" : "Não votou"}
`; lista.appendChild(item); }); }function atualizarEstatisticas() { const votos = obterVotos(); const alunos = obterAlunos(); const chapas = obterChapas(); document.getElementById("totalVotosAdmin").textContent = votos.length; document.getElementById("alunosVotaram").textContent = new Set(votos.map((voto) => voto.numero.toLowerCase())).size; document.getElementById("totalChapasAdmin").textContent = chapas.length; document.getElementById("totalAlunosAdmin").textContent = alunos.length; document.getElementById("resumoAlunos").textContent = alunos.length; document.getElementById("resumoChapas").textContent = chapas.length; document.getElementById("resumoVotos").textContent = votos.length; }window.addEventListener("load", async () => { await inicializarSDKs(); controlarBotoesVotacao(false);document.addEventListener("keydown", (event) => { if (event.key === "Escape" && document.getElementById("modalSenha").style.display === "flex") { fecharModalSenha(); }if (!appState.eleitorAtual || appState.isProcessing) return; if (/^\d$/.test(event.key) && !event.ctrlKey && !event.metaKey && !event.altKey) { digitarNumero(event.key); } });document.getElementById("identificacaoEleitor").addEventListener("keydown", (event) => { if (event.key === "Enter") verificarEleitor(); });document.getElementById("inputSenha").addEventListener("keydown", (event) => { if (event.key === "Enter") verificarSenha(); });document.getElementById("numeroChapa").addEventListener("input", (event) => { event.target.value = event.target.value.replace(/\D/g, "").slice(0, 2); });document.getElementById("numeroAluno").addEventListener("input", (event) => { event.target.value = event.target.value.replace(/[^\wÀ-ÿ.\- ]/g, "").slice(0, 6); });document.getElementById("modalSenha").addEventListener("click", (event) => { if (event.target.id === "modalSenha") { fecharModalSenha(); } }); });

📘 Gostou do que viu aqui no laboratório? No Professor com IA eu mostro, passo a passo, como você também pode criar ferramentas assim — mesmo sem saber programar.