feat(classes): add class days and meeting times to class forms
Let admins set the weekly schedule on the class and show it in lists, details, and session generation.
This commit is contained in:
@@ -254,7 +254,10 @@ const props = defineProps({
|
||||
classId: { type: [String, Object], required: true },
|
||||
courseId: { type: [String, Object], required: true },
|
||||
professorId: { type: [String, Object], default: null },
|
||||
defaultSessionCount: { type: Number, default: 12 }
|
||||
defaultSessionCount: { type: Number, default: 12 },
|
||||
days: { type: Array, default: () => [] },
|
||||
startTime: { type: String, default: '' },
|
||||
endTime: { type: String, default: '' }
|
||||
});
|
||||
|
||||
const { toPersianDigits, toLatinDigits, formatJalali } = usePersianDate();
|
||||
@@ -339,11 +342,22 @@ const weekdays = [
|
||||
const autoForm = reactive({
|
||||
sessionCount: props.defaultSessionCount || 12,
|
||||
startDate: todayJalali(),
|
||||
startTime: '19:00',
|
||||
endTime: '20:30',
|
||||
selectedDays: [6, 2]
|
||||
startTime: props.startTime || '19:00',
|
||||
endTime: props.endTime || '20:30',
|
||||
selectedDays: props.days?.length ? [...props.days] : [6, 2]
|
||||
});
|
||||
|
||||
watch(
|
||||
() => [props.days, props.startTime, props.endTime, props.defaultSessionCount],
|
||||
() => {
|
||||
if (props.days?.length) autoForm.selectedDays = [...props.days];
|
||||
if (props.startTime) autoForm.startTime = props.startTime;
|
||||
if (props.endTime) autoForm.endTime = props.endTime;
|
||||
if (props.defaultSessionCount) autoForm.sessionCount = props.defaultSessionCount;
|
||||
},
|
||||
{ deep: true }
|
||||
);
|
||||
|
||||
const toSessionDayIso = (value) => {
|
||||
if (!value) return null;
|
||||
const latin = toLatinDigits(String(value));
|
||||
|
||||
Reference in New Issue
Block a user