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
1 changed files with 22 additions and 25 deletions

View File

@ -69,7 +69,7 @@ function cocherDecocherLesPersonnes(idCaseGlobale, lesPersonnes)
function cocherDecocherPersonne(idCase, idTotal)
{
// 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]");
for (let i = 0; i < listeCases.length; ++i)
{
@ -87,7 +87,7 @@ function cocherDecocherPersonne(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 listeMontants = fieldset.querySelectorAll("span.montant");
calculerTotal(listeCases, listeMontants, idTotal);
@ -105,7 +105,7 @@ function calculerTotal(listeCases, listeMontants, idTotal)
for (let i = 0; i < listeCases.length; ++i)
{
if (listeCases[i].checked) {
total += parseFloat(listeMontants[i].textContent.replace(/\s/g, ""));
total += parseFloat(listeMontants[i].textContent.replace(/\s/g, "").replace(",", "."));
}
}
// afficher le total
@ -153,31 +153,28 @@ function verifierChoix(formulaire)
}
/**
* positionner l'action déclenchée par l'envoi du formulaire
* afficher et masquer des portions de formulaire selon l'action
* @param {HTMLFormElement} formulaire
* @param {string} action après envoi du formulaire
* @param {any} nomClasse1 classe des éléments à afficher
* @param {any} nomClasse2 classe des éléments à masquer
* @param {any} idElem id de l'élément à afficher
* @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);
afficherMasquer(formulaire, nomClasse1, nomClasse2);
}
/**
* 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');
}
for (let elem of formulaire.querySelectorAll(nomClasse2)) {
elem.classList.add('hidden');
for (let elem of formulaire.querySelectorAll(nomClasse))
{
console.log("elem.id = " + elem.id + ", elem.classList = " + elem.classList);
if (elem.id == idElem)
{
elem.classList.remove('hidden');
}
else
{
elem.classList.add('hidden');
}
}
}
@ -199,7 +196,7 @@ function verifierCases(idElem)
// vérifier qu'un radio de la même ligne est sélectionné
let ligneCorrecte = false;
// trouver la ligne englobante
let ligne = idCase.closest("tr");
let ligne = idCase.closest("li");
for (let idRadio of ligne.querySelectorAll('input[type=radio]'))
{
if (idRadio.checked) { ligneCorrecte = true; break; }
@ -211,7 +208,7 @@ function verifierCases(idElem)
}
}
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;
}
@ -228,7 +225,7 @@ function verifierRadio(idElem)
if (idRadio.checked) { return true; }
}
alert("Erreur : il faut sélectionner un taux de réduction");
return false;
return false;
}
/**