diff --git a/ecole/public/js/projet-form-rc.js b/ecole/public/js/projet-form-rc.js index c6d0596d..fc26dced 100644 --- a/ecole/public/js/projet-form-rc.js +++ b/ecole/public/js/projet-form-rc.js @@ -1911,13 +1911,14 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio // Peupler le formulaire avec les données function populateFormData() { - //Poupulate select historique (toujours affiché, options ajoutées si présentes) + //Poupulate select historique : n'afficher que si des entrées existent const historiqueDiv = document.getElementById('historiqueDiv'); const idSelect = document.getElementById('idSelect'); + const hasHistorique = contrat?.historique && contrat.historique.length; if (historiqueDiv) { - historiqueDiv.style.display = "block"; + historiqueDiv.style.display = hasHistorique ? "block" : "none"; } - if (idSelect && contrat?.historique && contrat.historique.length) { + if (idSelect && hasHistorique) { contrat.historique.forEach(function (item) { var option = document.createElement('option'); option.value = item.id; diff --git a/ecole/public/js/tarif-form-rc.js b/ecole/public/js/tarif-form-rc.js index aa29160e..824c4d6b 100644 --- a/ecole/public/js/tarif-form-rc.js +++ b/ecole/public/js/tarif-form-rc.js @@ -954,9 +954,33 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio M.FormSelect.init(idSelect); } + // Helpers défauts (au cas où aucune donnée côté RC) + const ensureDefaultActComplVoiturier = () => { + const container = document.querySelector('[name="actComplVoiturier/Loueur"]'); + if (!container) return; + const checkboxes = Array.from(container.querySelectorAll('input[type="checkbox"]')); + const anyChecked = checkboxes.some(cb => cb.checked); + if (!anyChecked) { + checkboxes.forEach((cb, idx) => { + if (idx <= 1) cb.checked = true; // Voiturier + Loueur + }); + } + }; + const ensureDefaultMarchandisesVoiturier = () => { + const container = document.querySelector('[name="marVoiturier/Loueur"]'); + if (!container) return; + const checkboxes = Array.from(container.querySelectorAll('input[type="checkbox"]')); + const anyChecked = checkboxes.some(cb => cb.checked); + if (!anyChecked && checkboxes.length > 0) { + checkboxes[0].checked = true; // Marchandises ordinaires par défaut + } + }; + // ===== PRÉ-REMPLIR LE FORMULAIRE AVEC LES DONNÉES RC DE LA BASE ===== if (!rc) { console.log('Aucune donnée RC à pré-remplir'); + ensureDefaultActComplVoiturier(); + ensureDefaultMarchandisesVoiturier(); return; } @@ -1131,6 +1155,10 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio } }); + // Valeurs par défaut si aucune marchandise/activité compl. remontée + ensureDefaultActComplVoiturier(); + ensureDefaultMarchandisesVoiturier(); + // Pré-remplir les pourcentages (depuis tarifRC) // Préférer l'objet tarif si présent, sinon retomber sur l'expansion RC const tarifSource = tarif || rc?.["@expand"]?.tarifRC || rc?.tarifRC || rc || null;