diff --git a/src/api/menu.js b/src/api/menu.js index f3e3cea..ad36837 100644 --- a/src/api/menu.js +++ b/src/api/menu.js @@ -322,6 +322,12 @@ const teacherMenu = [{ icon: '/static/icon/student.png', }, { + title: 'Meeting Event', + // group: 'apps', + name: 'Meeting Event', + icon: '/static/icon/student.png', + }, + { title: 'Attendance', group: 'Attendance', component: 'Attendance', diff --git a/src/pages/Course/courseDetail.vue b/src/pages/Course/courseDetail.vue index c1efa0d..7fd5e92 100644 --- a/src/pages/Course/courseDetail.vue +++ b/src/pages/Course/courseDetail.vue @@ -25,7 +25,7 @@ item-text="classNum" item-value="_id" name="Select Class" - @change="getCourses(getCourse.classId)" + @change="getCourses(editedCourse.classId)" class="mr-2" required > diff --git a/src/pages/Course/enrollStudents.vue b/src/pages/Course/enrollStudents.vue index 7835d07..820efb3 100644 --- a/src/pages/Course/enrollStudents.vue +++ b/src/pages/Course/enrollStudents.vue @@ -56,8 +56,8 @@ @@ -170,12 +170,7 @@ export default { studentsData: [], courseData: [], addSection: [], - selected: [], - SectionName: ["A", "B", "C", "D", "E", "F"], - classRules: [v => !!v || "Class is required"], - sectionRules: [v => !!v || "Class is required"], - studentRules: [v => !!v || "Student is required"], - dataValid: [v => !!v || "Date is required"] + selected: [] }), methods: { save(date) { @@ -227,6 +222,7 @@ export default { for (let i = 0; i < this.studentsData.length; i++) { this.studentsData[i].attendence = true; } + this.getParticularCourse(); }) .catch(error => { console.log("err====>", error); @@ -234,9 +230,8 @@ export default { }); }, getStudentTable(id) { - console.log("id", this.getReport.courseId); + // console.log("id", this.getReport.courseId); this.getStudents(); - this.getParticularCourse(); }, update() { var studentsAttendence = []; @@ -268,10 +263,11 @@ export default { toggleAll() { if (this.selected.length) this.selected = []; else this.selected = this.studentsData.slice(); - console.log("this.selected", this.selected); - console.log("selected====", selected); let selectedStudentsArray = []; - selectedStudentsArray.push({ studentId: selected.id }); + for (let i = 0; i < this.selected.length; i++) { + selectedStudentsArray.push({ studentId: this.selected[i]._id }); + } + // console.log("selectedStudentsArray", selectedStudentsArray); var payload = { courseId: this.getReport.courseId, enrollStudents: selectedStudentsArray @@ -281,6 +277,7 @@ export default { .then(response => { this.snackbar = true; this.text = response.data.message; + this.getParticularCourse() }) .catch(error => { this.snackbar = true; @@ -288,23 +285,49 @@ export default { }); }, selectParticularStudent(selected) { - console.log("selected====", selected); + console.log("selected", selected); let selectedStudentsArray = []; - selectedStudentsArray.push({ studentId: selected }); - var payload = { - courseId: this.getReport.courseId, - enrollStudents: selectedStudentsArray - }; - http() - .put("/enrollStudents", payload) - .then(response => { - this.snackbar = true; - this.text = response.data.message; - }) - .catch(error => { - this.snackbar = true; - this.text = error.response.data.message; - }); + selectedStudentsArray.push({ studentId: selected._id }); + if ( + selected.enroll === true && + selected.enroll === undefined && + selected.enroll === null + ) { + var payload = { + courseId: this.getReport.courseId, + enrollStudents: selectedStudentsArray + }; + http() + .put("/enrollStudents", payload) + .then(response => { + this.snackbar = true; + this.text = response.data.message; + }) + .catch(error => { + this.snackbar = true; + this.text = error.response.data.message; + }); + } + if ( + selected.enroll == false && + selected.enroll != undefined && + selected.enroll != null + ) { + var payloadDeleteStudents = { + courseId: this.getReport.courseId, + enrollStudentsId: selected.enrollId + }; + http() + .put("/deleteStudents", payloadDeleteStudents) + .then(response => { + this.snackbar = true; + this.text = response.data.message; + }) + .catch(error => { + this.snackbar = true; + this.text = error.response.data.message; + }); + } }, getParticularCourse() { var payload = { @@ -315,7 +338,17 @@ export default { params: payload }) .then(response => { - conso.log("DTAAAAA", response.data.data); + for (let i = 0; i < response.data.data.enrollStudents.length; i++) { + var studentId = {}; + studentId = response.data.data.enrollStudents[i]; + for (let j = 0; j < this.studentsData.length; j++) { + if (studentId.studentId == this.studentsData[j]._id) { + console.log("studentId._id", studentId._id); + this.studentsData[j].enroll = true; + this.studentsData[j].enrollId = studentId._id; + } + } + } this.snackbar = true; this.text = response.data.message; }) diff --git a/src/pages/meetingEvent/meetingEvent.vue b/src/pages/meetingEvent/meetingEvent.vue new file mode 100644 index 0000000..78417bc --- /dev/null +++ b/src/pages/meetingEvent/meetingEvent.vue @@ -0,0 +1,711 @@ + + + \ No newline at end of file diff --git a/src/router/paths.js b/src/router/paths.js index 4e88909..0b03671 100644 --- a/src/router/paths.js +++ b/src/router/paths.js @@ -853,6 +853,18 @@ export default [{ `@/pages/Annoucement/annoucement.vue` ) }, + { + path: '/meetingEvent', + meta: {}, + name: 'Meeting Event', + props: (route) => ({ type: route.query.type }), + component: () => + import ( + /* webpackChunkName: "routes" */ + /* webpackMode: "lazy-once" */ + `@/pages/meetingEvent/meetingEvent.vue` + ) + }, //////SCHOOL {