intégration comptes ; correction calcul total (centimes)

FossilOrigin-Name: e2258a9966d61dda05c821ceee19965331f6b0204c0ecb63a1d5c9be86ee15ce
This commit is contained in:
engel 2022-05-18 10:30:10 +00:00
parent e4bcec41d1
commit 3543f50bd3

View File

@ -69,7 +69,7 @@ function cocherDecocherLesPersonnes(idCaseGlobale, lesPersonnes)
function cocherDecocherPersonne(idCase, idTotal) function cocherDecocherPersonne(idCase, idTotal)
{ {
// chercher le fieldset des versements // chercher le fieldset des versements
let fieldset = idCase.closest("details").querySelector("fieldset"); let fieldset = idCase.closest("details").querySelector("div.versements");
let listeCases = fieldset.querySelectorAll("input[type=checkbox]"); let listeCases = fieldset.querySelectorAll("input[type=checkbox]");
for (let i = 0; i < listeCases.length; ++i) for (let i = 0; i < listeCases.length; ++i)
{ {
@ -87,7 +87,7 @@ function cocherDecocherPersonne(idCase, idTotal)
*/ */
function cocherDecocherVersement(idCase, idTotal) function cocherDecocherVersement(idCase, idTotal)
{ {
let fieldset = idCase.closest("fieldset"); let fieldset = idCase.closest("div.versements");
let listeCases = fieldset.querySelectorAll("input[type=checkbox]"); let listeCases = fieldset.querySelectorAll("input[type=checkbox]");
let listeMontants = fieldset.querySelectorAll("span.montant"); let listeMontants = fieldset.querySelectorAll("span.montant");
calculerTotal(listeCases, listeMontants, idTotal); calculerTotal(listeCases, listeMontants, idTotal);
@ -105,7 +105,7 @@ function calculerTotal(listeCases, listeMontants, idTotal)
for (let i = 0; i < listeCases.length; ++i) for (let i = 0; i < listeCases.length; ++i)
{ {
if (listeCases[i].checked) { if (listeCases[i].checked) {
total += parseFloat(listeMontants[i].textContent.replace(/\s/g, "")); total += parseFloat(listeMontants[i].textContent.replace(/\s/g, "").replace(",", "."));
} }
} }
// afficher le total // afficher le total
@ -153,33 +153,30 @@ function verifierChoix(formulaire)
} }
/** /**
* positionner l'action déclenchée par l'envoi du formulaire
* afficher et masquer des portions de formulaire selon l'action * afficher et masquer des portions de formulaire selon l'action
* @param {HTMLFormElement} formulaire * @param {HTMLFormElement} formulaire
* @param {string} action après envoi du formulaire * @param {string} action après envoi du formulaire
* @param {any} nomClasse1 classe des éléments à afficher * @param {any} idElem id de l'élément à afficher
* @param {any} nomClasse2 classe des éléments à masquer * @param {any} nomClasse classe des éléments à masquer (sauf idElem)
*/ */
function choixMethodeGeneration(formulaire, action, nomClasse1, nomClasse2) function choixMethodeGeneration(formulaire, action, idElem, nomClasse)
{ {
console.log("id = " + idElem + ", cl = " + nomClasse);
formulaire.setAttribute('action', 'action.php?action=' + action); formulaire.setAttribute('action', 'action.php?action=' + action);
afficherMasquer(formulaire, nomClasse1, nomClasse2); for (let elem of formulaire.querySelectorAll(nomClasse))
} {
console.log("elem.id = " + elem.id + ", elem.classList = " + elem.classList);
/** if (elem.id == idElem)
* afficher et masquer des portions de formulaire
* @param {HTMLFormElement} formulaire
* @param {any} nomClasse1 classe des éléments à afficher
* @param {any} nomClasse2 classe des éléments à masquer
*/
function afficherMasquer(formulaire, nomClasse1, nomClasse2)
{ {
for (let elem of formulaire.querySelectorAll(nomClasse1)) {
elem.classList.remove('hidden'); elem.classList.remove('hidden');
} }
for (let elem of formulaire.querySelectorAll(nomClasse2)) { else
{
elem.classList.add('hidden'); elem.classList.add('hidden');
} }
} }
}
/** /**
* vérifier * vérifier
@ -199,7 +196,7 @@ function verifierCases(idElem)
// vérifier qu'un radio de la même ligne est sélectionné // vérifier qu'un radio de la même ligne est sélectionné
let ligneCorrecte = false; let ligneCorrecte = false;
// trouver la ligne englobante // trouver la ligne englobante
let ligne = idCase.closest("tr"); let ligne = idCase.closest("li");
for (let idRadio of ligne.querySelectorAll('input[type=radio]')) for (let idRadio of ligne.querySelectorAll('input[type=radio]'))
{ {
if (idRadio.checked) { ligneCorrecte = true; break; } if (idRadio.checked) { ligneCorrecte = true; break; }
@ -211,7 +208,7 @@ function verifierCases(idElem)
} }
} }
if (nbChoix == 0) { if (nbChoix == 0) {
alert("Erreur : il faut sélectionner au moins une activité/tarif"); alert("Erreur : il faut sélectionner au moins une ligne");
} }
return nbChoix != 0; return nbChoix != 0;
} }