feat: block future week access in write page

This commit is contained in:
2026-01-10 14:56:25 +09:00
parent 2be9bb66d3
commit bd2ed61916

View File

@@ -553,7 +553,12 @@ onMounted(async () => {
}
await loadProjects()
await setDefaultWeek(user.employeeId)
const weekValid = await setDefaultWeek(user.employeeId)
// 미래 주차로 접근한 경우 중단
if (weekValid === false) {
return
}
// 이번 주차에 이미 작성한 보고서가 있는지 확인
const existingReport = await checkExistingReport(user.employeeId)
@@ -645,9 +650,20 @@ async function setDefaultWeek(userId: number) {
if (route.query.year && route.query.week) {
const year = parseInt(route.query.year as string)
const week = parseInt(route.query.week as string)
// 미래 주차 검증
const currentWeek = getActualCurrentWeekInfo()
const isFutureWeek = year > currentWeek.year || (year === currentWeek.year && week > currentWeek.week)
if (isFutureWeek) {
alert('작성할 수 없는 주차입니다.')
router.replace('/report/weekly')
return false
}
const weekInfo = getWeekDates(year, week)
setWeekFromInfo(weekInfo)
return
return true
}
const now = new Date()
@@ -675,6 +691,8 @@ async function setDefaultWeek(userId: number) {
console.error('지난주 보고서 확인 실패:', e)
}
}
return true
}
// 지난주 계획을 이번주 실적에 로드