diff --git a/frontend/composables/useEmployeeLeave.ts b/frontend/composables/useEmployeeLeave.ts index d19ea5d..1712873 100644 --- a/frontend/composables/useEmployeeLeave.ts +++ b/frontend/composables/useEmployeeLeave.ts @@ -124,8 +124,14 @@ export const useEmployeeLeave = ( selectedLeaveYear.value = null } - watch(() => selectedPhase.value?.id, () => { - // Reset l'année car la plage a peut-être changé. + watch(() => selectedPhase.value?.id, (newId, oldId) => { + // Ignore la résolution initiale (undefined → phase courante au montage) : + // le chargement eager du récap initialise déjà l'année sélectionnée. Sans ce + // garde, ce watch (asynchrone) s'exécute PENDANT l'await du chargement eager et + // remet selectedLeaveYear à null, ce qui laisse le sélecteur d'exercice vide. + // Même convention que le watch de useEmployeeDetailPage. + if (oldId === undefined || newId === oldId) return + // Changement de phase réel : reset l'année car la plage a peut-être changé. selectedLeaveYear.value = null leaveDataLoaded.value = false // Le rechargement effectif est piloté par useEmployeeDetailPage. diff --git a/frontend/composables/useEmployeeRtt.ts b/frontend/composables/useEmployeeRtt.ts index 0a4ed6a..cdb92ee 100644 --- a/frontend/composables/useEmployeeRtt.ts +++ b/frontend/composables/useEmployeeRtt.ts @@ -95,8 +95,12 @@ export const useEmployeeRtt = ( selectedRttYear.value = null } - watch(() => selectedPhase.value?.id, () => { - // Reset l'année car la plage a peut-être changé. + watch(() => selectedPhase.value?.id, (newId, oldId) => { + // Ignore la résolution initiale (undefined → phase courante au montage) : + // l'initialisation de l'année est pilotée par loadRttData. Même convention que + // le watch de useEmployeeDetailPage (évite un reset concurrent du sélecteur). + if (oldId === undefined || newId === oldId) return + // Changement de phase réel : reset l'année car la plage a peut-être changé. selectedRttYear.value = null rttDataLoaded.value = false // Le rechargement effectif est piloté par useEmployeeDetailPage.