Projects 03
go top
go top

truk Logistify Transportation

truk Logistify Transportation

truk Logistify Transportation

document.addEventListener('DOMContentLoaded', function () { const paysField = document.querySelector('[name="select-1"]'); const poidsField = document.querySelector('[name="number-4"]'); const longueurField = document.querySelector('[name="number-2"]'); const largeurField = document.querySelector('[name="number-1"]'); const hauteurField = document.querySelector('[name="number-3"]'); const expressField = document.querySelector('[name="checkbox-1"]'); const assuranceField = document.querySelector('[name="checkbox-2"]'); const resultDiv = document.getElementById("resultat-prix"); function getTarif() { const pays = paysField?.value; const poids = parseFloat(poidsField?.value) || 0; const longueur = parseFloat(longueurField?.value) || 0; const largeur = parseFloat(largeurField?.value) || 0; const hauteur = parseFloat(hauteurField?.value) || 0; const express = expressField?.checked; const assurance = assuranceField?.checked; const lignes = document.querySelectorAll("#tablepress-1 tbody tr"); let prix = null; lignes.forEach((ligne) => { const cells = ligne.querySelectorAll("td"); const p = cells[0]?.innerText.trim(); const minPoids = parseFloat(cells[1]?.innerText); const maxPoids = parseFloat(cells[2]?.innerText); const maxL = parseFloat(cells[3]?.innerText); const maxLa = parseFloat(cells[4]?.innerText); const maxH = parseFloat(cells[5]?.innerText); const prixBase = parseFloat(cells[6]?.innerText); const prixExpress = parseFloat(cells[7]?.innerText); const prixAssurance = parseFloat(cells[8]?.innerText); if ( p === pays && poids >= minPoids && poids <= maxPoids && longueur <= maxL && largeur <= maxLa && hauteur <= maxH ) { prix = prixBase; if (express) prix += prixExpress; if (assurance) prix += prixAssurance; } }); if (prix !== null) { resultDiv.innerHTML = `Prix total : ${prix.toFixed(2)} €`; } else { resultDiv.innerHTML = `Aucun tarif trouvé pour ces dimensions/poids`; } } [paysField, poidsField, longueurField, largeurField, hauteurField, expressField, assuranceField].forEach((field) => { field?.addEventListener("input", getTarif); field?.addEventListener("change", getTarif); }); });