@@ -303,6 +308,7 @@ const form = reactive({
days: [],
startTime: '',
endTime: '',
+ numberOfSessions: null,
isActive: true,
adminNotes: []
});
@@ -359,6 +365,9 @@ const applyCourseDefaults = (course) => {
}
if (course.capacity) form.capacity = course.capacity;
if (course.price != null) form.tuitionFee = course.price;
+ if (form.numberOfSessions == null && course.sectionCount) {
+ form.numberOfSessions = course.sectionCount;
+ }
if (course.sectionCount) defaultSessionCount.value = course.sectionCount;
};
@@ -400,11 +409,16 @@ const fetchData = async () => {
days: Array.isArray(data.days) ? data.days.map(Number).filter((day) => day >= 0 && day <= 6) : [],
startTime: data.startTime || '',
endTime: data.endTime || '',
+ numberOfSessions: data.numberOfSessions ?? null,
isActive: data.isActive !== false,
adminNotes: Array.isArray(data.adminNotes) ? [...data.adminNotes] : []
});
students.value = data.students || [];
- if (data.course?.sectionCount) defaultSessionCount.value = data.course.sectionCount;
+ if (data.numberOfSessions) {
+ defaultSessionCount.value = data.numberOfSessions;
+ } else if (data.course?.sectionCount) {
+ defaultSessionCount.value = data.course.sectionCount;
+ }
} else if (queryCourseId) {
const linked = courses.value.find((c) => String(c._id) === String(queryCourseId));
if (linked) {
@@ -443,6 +457,7 @@ const handleSubmit = async () => {
days: form.days || [],
startTime: form.startTime || '',
endTime: form.endTime || '',
+ numberOfSessions: form.numberOfSessions,
isActive: form.isActive,
adminNotes: (form.adminNotes || []).map((n) => String(n).trim()).filter(Boolean)
};