fix(admin): 修复排课周视图周区间错位一天(zh-cn 下 weekday(1) 是周二)
This commit is contained in:
@@ -46,7 +46,9 @@ interface ScheduleSyncResult {
|
|||||||
const SchedulesPage: React.FC = () => {
|
const SchedulesPage: React.FC = () => {
|
||||||
const { hasPermission } = usePermission();
|
const { hasPermission } = usePermission();
|
||||||
const [viewMode, setViewMode] = useState<'week' | 'month'>('week');
|
const [viewMode, setViewMode] = useState<'week' | 'month'>('week');
|
||||||
const [viewDate, setViewDate] = useState<Dayjs>(() => dayjs().weekday(1).startOf('day'));
|
const [viewDate, setViewDate] = useState<Dayjs>(() =>
|
||||||
|
dayjs().subtract((dayjs().day() + 6) % 7, 'day').startOf('day'),
|
||||||
|
);
|
||||||
const [selectedDate, setSelectedDate] = useState<Dayjs | null>(null);
|
const [selectedDate, setSelectedDate] = useState<Dayjs | null>(null);
|
||||||
const [classTeachers, setClassTeachers] = useState<ClassTeacherOption[]>([]);
|
const [classTeachers, setClassTeachers] = useState<ClassTeacherOption[]>([]);
|
||||||
const [classTeachersLoading, setClassTeachersLoading] = useState(false);
|
const [classTeachersLoading, setClassTeachersLoading] = useState(false);
|
||||||
@@ -124,7 +126,11 @@ const SchedulesPage: React.FC = () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const weekStart = useMemo(() => viewDate.weekday(1).startOf('day'), [viewDate]);
|
// 本周一:day() 与 locale 无关(0=周日…6=周六),(day()+6)%7 即距周一的天数;勿用 weekday(1)(zh-cn 下是周二)
|
||||||
|
const weekStart = useMemo(
|
||||||
|
() => viewDate.subtract((viewDate.day() + 6) % 7, 'day').startOf('day'),
|
||||||
|
[viewDate],
|
||||||
|
);
|
||||||
const monthStart = useMemo(() => viewDate.startOf('month'), [viewDate]);
|
const monthStart = useMemo(() => viewDate.startOf('month'), [viewDate]);
|
||||||
const weekEnd = useMemo(() => weekStart.add(6, 'day'), [weekStart]);
|
const weekEnd = useMemo(() => weekStart.add(6, 'day'), [weekStart]);
|
||||||
const weekNum = useMemo(() => weekStart.week(), [weekStart]);
|
const weekNum = useMemo(() => weekStart.week(), [weekStart]);
|
||||||
|
|||||||
Reference in New Issue
Block a user