From 060ee578c3ced40948fe3a3238b0b096cf8b18b0 Mon Sep 17 00:00:00 2001 From: louispaulb Date: Thu, 4 Jun 2026 20:23:40 -0400 Subject: [PATCH] =?UTF-8?q?Planification:=20mod=C3=A8le=20par=20d=C3=A9fau?= =?UTF-8?q?t=20(=E2=98=85)=20appliqu=C3=A9=20en=201=20clic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Marquer un modèle de semaine comme défaut (★ dans le menu Modèles, un seul à la fois) → bouton ★ dans la barre pour l'appliquer en 1 clic (avec l'intelligence d'absences déjà en place). Co-Authored-By: Claude Opus 4.8 (1M context) --- apps/ops/src/pages/PlanificationPage.vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/ops/src/pages/PlanificationPage.vue b/apps/ops/src/pages/PlanificationPage.vue index 3a7bee6..55026b8 100644 --- a/apps/ops/src/pages/PlanificationPage.vue +++ b/apps/ops/src/pages/PlanificationPage.vue @@ -21,12 +21,14 @@ Appliquer + Modèle par défaut (★) {{ tm.name }} + Appliquer le modèle par défaut (consciente des absences) Notifier les techs par SMS à la publication @@ -572,6 +574,10 @@ function saveTemplate () { }) } function deleteTemplate (i) { weekTemplates.value = weekTemplates.value.filter((_, j) => j !== i); localStorage.setItem(LS_TPL, JSON.stringify(weekTemplates.value)) } +// Modèle par défaut (★) — un seul à la fois, appliqué en 1 clic +const defaultTemplate = computed(() => weekTemplates.value.find(t => t.default) || null) +function setDefaultTemplate (i) { weekTemplates.value = weekTemplates.value.map((t, j) => ({ ...t, default: j === i ? !t.default : false })); localStorage.setItem(LS_TPL, JSON.stringify(weekTemplates.value)) } +function applyDefault () { const d = defaultTemplate.value; if (!d) { $q.notify({ type: 'info', message: 'Aucun modèle par défaut — marque-en un avec ★ dans Modèles' }); return } applyTemplate(d) } function countPatternDays (tm, techId) { let n = 0; for (const d of dayList.value) { const map = tm.byDow[dowOf(d.iso)]; if (map && map[techId]) n++ } return n } // Application « consciente des absences » : on n'assigne pas un tech absent ce jour-là. // Absent toute la semaine (≈ congé permanent: maternité/blessure) → flag « à remplacer ».