Skip to content

Commit

Permalink
Formulario Lançar Notas
Browse files Browse the repository at this point in the history
  • Loading branch information
JoaoVitorDomingos committed Oct 8, 2024
1 parent 204ad2a commit 9018e80
Show file tree
Hide file tree
Showing 5 changed files with 166 additions and 25 deletions.
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ <h2>Lançar Notas</h2>

<div class="modal-footer modal-botoes">
<button type="button" data-bs-dismiss="modal" class="modal-btn btn-cancel" id="modal_LancarNotas_BtnCancel">Cancelar</button>
<input type="submit" value="Salvar" data-bs-dismiss="modal" class="modal-btn btn-salvar" >
<input type="submit" value="Salvar" class="modal-btn btn-salvar" id="btnSave_lancarNota">
</div>
</div>
</div>
Expand Down Expand Up @@ -504,7 +504,7 @@ <h2>Lançar Presença</h2>

<div class="modal-footer modal-botoes">
<button type="button" data-bs-dismiss="modal" class="modal-btn btn-cancel" id="modal_LancarPresenca_BtnCancel">Cancelar</button>
<input type="submit" value="Salvar" data-bs-dismiss="modal" class="modal-btn btn-salvar" >
<input type="submit" value="Salvar" class="modal-btn btn-salvar" id="btnSave_lancarPresenca">
</div>
</div>
</div>
Expand Down
153 changes: 141 additions & 12 deletions scripts/formularios.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,40 @@
import Dados from "./banco_dados.js"

// Função de Validação de Formularios
function ValidacaoFormulario(...inputs) {
let max = inputs.length
let contador = 0

for(let i = 0; i < max; i++) {
//console.log(inputs[i])
//console.log(inputs[i].value)
// console.log(inputs[i])
// console.log(inputs[i].value)

if(inputs[i].value != "") {
//console.log("Esta preenchido")
contador++
if(inputs[i].tagName == "TD") {
//console.log("TD")
if(inputs[i].innerHTML != "--") {
contador++
//console.log("Esta preenchido")
} else {
//console.log("Não esta preenchido")
}
} else if(inputs[i].type == "radio") {
//console.log("Radio")
//console.log("Checado: " + inputs[i].checked)
//console.log("Checado:" + inputs[i+1].checked)
if(inputs[i].checked || inputs[i+1].checked) {
//console.log("Preenchido")
contador++
} else {
//console.log("Não esta preenchido")
}
i++
} else {
//console.log("Não esta preenchido")
if(inputs[i].value != "") {
//console.log("Esta preenchido")
contador++
} else {
//console.log("Não esta preenchido")
}
}
}

Expand Down Expand Up @@ -52,29 +75,29 @@ function IdentificacaoBtnModal(elementId) {
} else if(elementId == "modal_LancarNotas_BtnCancel") {
let caminhoLN = "#modais>#lancar_notas>div>div>div>"

return [document.querySelector(`${caminhoLN}form`), ...document.querySelectorAll(`${caminhoLN}table>${caminhoTdNota}`), ...document.querySelectorAll(`${caminhoLN}table>${caminhoTdObservacao}`)]
return [document.querySelector(`${caminhoLN}form`), ...document.querySelectorAll(`${caminhoLN}div>table>${caminhoTdNota}`), ...document.querySelectorAll(`${caminhoLN}div>table>${caminhoTdObservacao}`)]

} else if(elementId == "modal_LancarPresenca_BtnCancel") {
let caminhoLP = "#modais>#lancar_presenca>div>div>div"

return [document.querySelector(`${caminhoLP}>form`), ...document.querySelectorAll(`${caminhoLP}>table>${caminhoTdCheckBox}`), ...document.querySelectorAll(`${caminhoLP}>table>${caminhoTdObservacao}`)]
return [document.querySelector(`${caminhoLP}>form`), ...document.querySelectorAll(`${caminhoLP}>div>table>${caminhoTdCheckBox}`), ...document.querySelectorAll(`${caminhoLP}>div>table>${caminhoTdObservacao}`)]

} else if(elementId == "modal_AdicionarAluno_BtnCancel") {
return [document.querySelector("#modais>#adicionar_aluno>div>div>div>form")]

} else if(elementId == "modal_ImprimirBoletim_BtnCancel") {
let caminhoIB = "#modais>#imprimir_boletim>div>div>div.modal-body"

return [document.querySelector(`${caminhoIB}>form`), ...document.querySelectorAll(`${caminhoIB}>table>${caminhoTdCheckBox}`)]
return [document.querySelector(`${caminhoIB}>form`), ...document.querySelectorAll(`${caminhoIB}>div>table>${caminhoTdCheckBox}`)]
} else if(elementId == "modal_ImprimirPresenca_BtnCancel") {
let caminhoIP = "#modais>#imprimir_presenca>div>div>div.modal-body"

return [document.querySelector(`${caminhoIP}>form`), ...document.querySelectorAll(`${caminhoIP}>table>${caminhoTdCheckBox}`)]
return [document.querySelector(`${caminhoIP}>form`), ...document.querySelectorAll(`${caminhoIP}>div>table>${caminhoTdCheckBox}`)]

} else if(elementId == "modal_CriarSessao_BtnCancel") {
let caminhoCS = "#modais>#criar_sessao>div>div>div.modal-body"

return [document.querySelector(`${caminhoCS}>fieldset>input`), ...document.querySelectorAll(`${caminhoCS}>div>table>${caminhoTdCheckBox}`)]
return [document.querySelector(`${caminhoCS}>fieldset>input`), ...document.querySelectorAll(`${caminhoCS}>div>div>table>${caminhoTdCheckBox}`)]
} else if(elementId == "modal_CriarAtividade_BtnCancel") {
let caminhoCA = "#modais>#criar_atividade>div>div>div.modal-body"

Expand Down Expand Up @@ -169,4 +192,110 @@ function EditarBack(evento) {

modal_editarBack.hide()
}
}
}

// Formulario Lançar Notas
const modal_LancarNota = new bootstrap.Modal("#lancar_notas")
const btnSave_lancarNota = document.getElementById("btnSave_lancarNota")

btnSave_lancarNota.addEventListener("click", evento => {
const input_conteudo = document.getElementById("conteudo")
const input_data = document.getElementById("data")
const input_bimestre = document.getElementById("bimestre")
const tds_nota = document.querySelectorAll("#lancar_notas>div>div>div>div>table>tbody>tr>td.td_nota")
// console.log(input_conteudo)
// console.log(tds_nota)
// console.log(input_data)
// console.log(input_bimestre)

let validacao = ValidacaoFormulario(input_conteudo, input_data, ...tds_nota)

if(!validacao) {
alert("Preencha tudo!")
} else {
const tds_nomes = document.querySelectorAll("#lancar_notas>div>div>div>div>table>tbody>tr>td.td_nome")
const mainTabela_media = [...document.getElementsByClassName("media")]

// console.log(tds_nomes)
tds_nomes.forEach((nome, indice) => {
// console.log(nome)
// console.log(indice)
// console.log("Nota: " + tds_nota[indice].innerHTML)
// console.log("Bimestre: " + input_bimestre.value.match(/[1-4]/)[0])

Dados.alunos.forEach(aluno => {
//console.log(aluno.nome)
if(aluno.nome == nome.innerHTML) {
aluno.AdicionarNota(input_bimestre.value.match(/[1-4]/)[0], tds_nota[indice].innerHTML)
mainTabela_media[indice].innerHTML = aluno.MostrarMedia()
// console.log("Nota do Aluno " + aluno.nome + ":")
// console.log(aluno.notas)
}
})
})

//console.log(evento.target.previousElementSibling)
Resetar(evento, evento.target.previousElementSibling)

modal_LancarNota.hide()

console.log("Banco de Dados - Alunos:")
console.log(Dados.alunos)
}
})

function AdicionarNota(evento) {
let nota = ""
do{
if(nota < 0 || nota > 10 || /[a-z]/.test(nota))
alert("Nota inválida!")
nota = prompt("Digite a nota deste aluno (0-10):")
// console.log(nota)
// console.log(typeof(nota))
// console.log("--------")
if(nota == null || nota == "") {
nota = ""
// console.log(nota)
// console.log(typeof(nota))
// console.log("Tem letra: " + /[a-z]/.test(nota))
} else {
if(/,/.test(nota)) {
nota = nota.replace(/,/, ".")
}
nota = Number.parseFloat(nota)
// console.log(nota)
// console.log(typeof(nota))
// console.log("--------")
nota = nota.toString()
// console.log(nota)
// console.log(typeof(nota))
// console.log("Tem letra: " + /[a-z]/.test(nota))
}

} while(nota < 0 || nota > 10 || /[a-z]/g.test(nota))

// console.log("--------")
// console.log(nota)
// console.log(typeof(nota))
// console.log("--------")
nota = Number.parseFloat(nota)
//console.log(nota)
//console.log(nota.toFixed(1))
// console.log(typeof(nota))
if(nota !== "") {
evento.target.innerHTML = nota.toFixed(1)
//console.log("Nota: " + nota)
} else {
console.log("Erro")
}
}

// const btnSave_LancarPresenca = document.getElementById("btnSave_lancarPresenca")
// btnSave_LancarPresenca.addEventListener("click", evento => {
// const radios = document.querySelectorAll("#lancar_presenca>div>div>div>div>table>tbody>tr>td.check-box>input")
// console.log(radios)

// ValidacaoFormulario(...radios)
// })

export {AdicionarNota}
10 changes: 8 additions & 2 deletions scripts/metodos.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { AdicionarNota } from "./formularios.js"

// Função para criar um linha da tabela de alunos
export default function CriarTabelaAluno(nome, presenca, atividades, media, situacao, matricula) {
let tabela = document.querySelector("#classe>div.container-tabela>table>tbody")
Expand All @@ -13,9 +15,10 @@ export default function CriarTabelaAluno(nome, presenca, atividades, media, situ
td.innerHTML = presenca
else if(i == 2)
td.innerHTML = atividades
else if(i == 3)
else if(i == 3) {
td.innerHTML = media
else if(i == 4)
td.classList.add("media")
} else if(i == 4)
td.innerHTML = situacao
else {
let span = document.createElement("span")
Expand Down Expand Up @@ -72,6 +75,9 @@ function CriarTabelaGenerica(pai, linhas, colunas, matrizValores, arrayClasses,

} else {
td.innerHTML = matrizValores[i][j]
if(matrizValores[i][j] == "--") {
td.addEventListener("click", AdicionarNota)
}
}
td.classList.add(arrayClasses[j])
tr.appendChild(td)
Expand Down
23 changes: 15 additions & 8 deletions scripts/obj_aluno.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,32 @@ export default class Aluno {
this.matricula = pid

this.notas = []
this.situacao = ""
this.situacao = "--"
this.presenca = []
this.dias_presenca = []
this.atividades = []
}

AdicionarNota = function(bimestre, nota) {
bimestre -= 1
bimestre = Number.parseInt(bimestre) - 1
this.notas[bimestre] = nota
this.CalcularMedia()
}

CalcularMedia = function() {
let media = 0
for(let i = 0; i < 4; i++) {
media += this.notas[i]
if(this.notas.length >= 4) {
//console.log("Lenght certo")
let media = 0
for(let i = 0; i < 4; i++) {
media += Number.parseFloat(this.notas[i])
}
media /= 4.0

this.notas[4] = media.toFixed(1)
this.CalcularSituacao()
} else {
this.notas[4] = "--"
}
media /= 4.0

this.notas[4] = media.toFixed(1)
}

MostrarMedia = function() {
Expand Down
1 change: 0 additions & 1 deletion scripts/pegar_alunos.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ function AdicionarAlunos(arrayAlunos) {

DefinirNotas(objAluno.notas)
objAluno.CalcularMedia()
objAluno.CalcularSituacao()
objAluno.CalcularAtividades(GerarNumeroAleatorioInclusivo(0, Dados.atividades), Dados.atividades)
objAluno.CalcularPresenca(GerarNumeroAleatorioInclusivo(0, Dados.aulas), Dados.aulas)

Expand Down

0 comments on commit 9018e80

Please sign in to comment.