feat: block future week access in write page
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
// 지난주 계획을 이번주 실적에 로드
|
||||
|
||||
Reference in New Issue
Block a user