feat : proposer l'exercice suivant dans les sélecteurs Congés et RTT
Sur une phase de contrat ouverte, la borne haute des sélecteurs d'exercice (availableLeaveYears / availableRttYears) passe de l'exercice courant à l'exercice suivant (courant + 1), pour consulter en avance les congés/RTT posés sur l'exercice à venir. Phase clôturée : borne inchangée (fin de phase). Sélection par défaut et verrouillage des éditions inchangés. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -51,9 +51,11 @@ export const useEmployeeLeave = (
|
|||||||
|
|
||||||
// Plage = exercices intersectant la phase.
|
// Plage = exercices intersectant la phase.
|
||||||
const phaseStartYear = computeLeaveYearForDate(new Date(`${phase.startDate}T00:00:00`))
|
const phaseStartYear = computeLeaveYearForDate(new Date(`${phase.startDate}T00:00:00`))
|
||||||
const phaseEndYear = phase.endDate
|
// Borne haute : fin de phase si clôturée ; sinon l'exercice SUIVANT (courant + 1),
|
||||||
|
// pour pouvoir consulter en avance les congés posés sur l'exercice à venir.
|
||||||
|
const maxYear = phase.endDate
|
||||||
? computeLeaveYearForDate(new Date(`${phase.endDate}T00:00:00`))
|
? computeLeaveYearForDate(new Date(`${phase.endDate}T00:00:00`))
|
||||||
: currentLeaveYear.value
|
: currentLeaveYear.value + 1
|
||||||
|
|
||||||
// Hard floor : data-start-date (env RTT_START_DATE) — le logiciel n'a pas
|
// Hard floor : data-start-date (env RTT_START_DATE) — le logiciel n'a pas
|
||||||
// d'historique avant cette date, inutile de proposer des années antérieures.
|
// d'historique avant cette date, inutile de proposer des années antérieures.
|
||||||
@@ -67,7 +69,6 @@ export const useEmployeeLeave = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
const minYear = dataFloor !== null ? Math.max(phaseStartYear, dataFloor) : phaseStartYear
|
const minYear = dataFloor !== null ? Math.max(phaseStartYear, dataFloor) : phaseStartYear
|
||||||
const maxYear = phaseEndYear
|
|
||||||
|
|
||||||
const years: LeaveYearOption[] = []
|
const years: LeaveYearOption[] = []
|
||||||
for (let y = maxYear; y >= minYear; y -= 1) {
|
for (let y = maxYear; y >= minYear; y -= 1) {
|
||||||
|
|||||||
@@ -35,9 +35,11 @@ export const useEmployeeRtt = (
|
|||||||
|
|
||||||
// Plage = exercices intersectant la phase.
|
// Plage = exercices intersectant la phase.
|
||||||
const phaseStartYear = computeRttYearForDate(new Date(`${phase.startDate}T00:00:00`))
|
const phaseStartYear = computeRttYearForDate(new Date(`${phase.startDate}T00:00:00`))
|
||||||
const phaseEndYear = phase.endDate
|
// Borne haute : fin de phase si clôturée ; sinon l'exercice SUIVANT (courant + 1),
|
||||||
|
// pour rester cohérent avec le sélecteur de l'onglet Congés.
|
||||||
|
const maxYear = phase.endDate
|
||||||
? computeRttYearForDate(new Date(`${phase.endDate}T00:00:00`))
|
? computeRttYearForDate(new Date(`${phase.endDate}T00:00:00`))
|
||||||
: currentRttYear.value
|
: currentRttYear.value + 1
|
||||||
|
|
||||||
// Hard floor : rttStartDate (env RTT_START_DATE) — pas d'historique avant.
|
// Hard floor : rttStartDate (env RTT_START_DATE) — pas d'historique avant.
|
||||||
let dataFloor: number | null = null
|
let dataFloor: number | null = null
|
||||||
@@ -50,7 +52,6 @@ export const useEmployeeRtt = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
const minYear = dataFloor !== null ? Math.max(phaseStartYear, dataFloor) : phaseStartYear
|
const minYear = dataFloor !== null ? Math.max(phaseStartYear, dataFloor) : phaseStartYear
|
||||||
const maxYear = phaseEndYear
|
|
||||||
|
|
||||||
const years: RttYearOption[] = []
|
const years: RttYearOption[] = []
|
||||||
for (let y = maxYear; y >= minYear; y -= 1) {
|
for (let y = maxYear; y >= minYear; y -= 1) {
|
||||||
|
|||||||
Reference in New Issue
Block a user