Commit 275b17e4fb007f8a0fbc8457eb390fbc5dcda635
1 parent
c301facad4
Exists in
master
and in
1 other branch
Integrated new functionality of course attendance and Show attendance for a part…
…icular course of students
Showing
5 changed files
with
532 additions
and
0 deletions
Show diff stats
src/api/menu.js
1 | const adminMenu = [ | 1 | const adminMenu = [ |
2 | // { header: 'Apps' }, | 2 | // { header: 'Apps' }, |
3 | { | 3 | { |
4 | title: 'Dashboard', | 4 | title: 'Dashboard', |
5 | // group: 'apps', | 5 | // group: 'apps', |
6 | name: 'Dashboard', | 6 | name: 'Dashboard', |
7 | icon: '/static/icon/dashboard.png', | 7 | icon: '/static/icon/dashboard.png', |
8 | }, | 8 | }, |
9 | { | 9 | { |
10 | title: 'Class', | 10 | title: 'Class', |
11 | // group: 'apps', | 11 | // group: 'apps', |
12 | name: 'Class', | 12 | name: 'Class', |
13 | icon: '/static/icon/class.png', | 13 | icon: '/static/icon/class.png', |
14 | }, | 14 | }, |
15 | { | 15 | { |
16 | title: 'Course', | 16 | title: 'Course', |
17 | group: 'AdminCourse', | 17 | group: 'AdminCourse', |
18 | component: 'AdminCourse', | 18 | component: 'AdminCourse', |
19 | icon: '/static/icon/attendence.png', | 19 | icon: '/static/icon/attendence.png', |
20 | items: [ | 20 | items: [ |
21 | { name: 'AssignTeachers', title: 'Assign Teachers', component: 'AssignTeachers', action: '', }, | 21 | { name: 'AssignTeachers', title: 'Assign Teachers', component: 'AssignTeachers', action: '', }, |
22 | 22 | ||
23 | ] | 23 | ] |
24 | }, | 24 | }, |
25 | { | 25 | { |
26 | title: 'Section', | 26 | title: 'Section', |
27 | // group: 'apps', | 27 | // group: 'apps', |
28 | name: 'Section', | 28 | name: 'Section', |
29 | icon: '/static/icon/section.png', | 29 | icon: '/static/icon/section.png', |
30 | }, | 30 | }, |
31 | // { | 31 | // { |
32 | // title: 'Subjects', | 32 | // title: 'Subjects', |
33 | // name: 'Subject', | 33 | // name: 'Subject', |
34 | // icon: '/static/icon/subject.png', | 34 | // icon: '/static/icon/subject.png', |
35 | // }, | 35 | // }, |
36 | { | 36 | { |
37 | title: 'Parents', | 37 | title: 'Parents', |
38 | // group: 'apps', | 38 | // group: 'apps', |
39 | name: 'Parents', | 39 | name: 'Parents', |
40 | icon: '/static/icon/parents.png', | 40 | icon: '/static/icon/parents.png', |
41 | }, | 41 | }, |
42 | { | 42 | { |
43 | title: 'Teachers', | 43 | title: 'Teachers', |
44 | // group: '', | 44 | // group: '', |
45 | name: 'Teachers', | 45 | name: 'Teachers', |
46 | icon: '/static/icon/teacher.png', | 46 | icon: '/static/icon/teacher.png', |
47 | }, | 47 | }, |
48 | { | 48 | { |
49 | title: 'Students', | 49 | title: 'Students', |
50 | // group: 'apps', | 50 | // group: 'apps', |
51 | name: 'Students', | 51 | name: 'Students', |
52 | icon: '/static/icon/student.png', | 52 | icon: '/static/icon/student.png', |
53 | }, | 53 | }, |
54 | { | 54 | { |
55 | title: 'User', | 55 | title: 'User', |
56 | name: 'User', | 56 | name: 'User', |
57 | icon: '/static/icon/users.png', | 57 | icon: '/static/icon/users.png', |
58 | }, | 58 | }, |
59 | { | 59 | { |
60 | title: 'Attendance', | 60 | title: 'Attendance', |
61 | group: 'Attendance', | 61 | group: 'Attendance', |
62 | component: 'Attendance', | 62 | component: 'Attendance', |
63 | icon: '/static/icon/attendence.png', | 63 | icon: '/static/icon/attendence.png', |
64 | items: [ | 64 | items: [ |
65 | { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, | 65 | { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, |
66 | { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, | 66 | { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, |
67 | { name: 'courseAttendance', title: 'Course Attendance', component: 'Course Attendance', action: '', }, | ||
67 | // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, | 68 | // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, |
68 | ] | 69 | ] |
69 | }, | 70 | }, |
70 | { | 71 | { |
71 | title: 'Exam', | 72 | title: 'Exam', |
72 | group: 'Exam', | 73 | group: 'Exam', |
73 | component: 'Exam', | 74 | component: 'Exam', |
74 | icon: '/static/icon/exam.png', | 75 | icon: '/static/icon/exam.png', |
75 | items: [ | 76 | items: [ |
76 | { name: 'Exam', title: 'Exam', component: 'Exam', action: '', }, | 77 | { name: 'Exam', title: 'Exam', component: 'Exam', action: '', }, |
77 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, | 78 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, |
78 | { name: 'Grade', title: 'Grade', component: 'Grade', action: '', }, | 79 | { name: 'Grade', title: 'Grade', component: 'Grade', action: '', }, |
79 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, | 80 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, |
80 | ] | 81 | ] |
81 | }, | 82 | }, |
82 | { | 83 | { |
83 | title: 'Marks', | 84 | title: 'Marks', |
84 | group: 'Mark', | 85 | group: 'Mark', |
85 | component: 'Mark', | 86 | component: 'Mark', |
86 | icon: '/static/icon/marks.png', | 87 | icon: '/static/icon/marks.png', |
87 | items: [ | 88 | items: [ |
88 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', }, | 89 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', }, |
89 | { name: 'MarkDistribution', title: 'Mark Distribution', component: 'Mark Distribution', action: '', }, | 90 | { name: 'MarkDistribution', title: 'Mark Distribution', component: 'Mark Distribution', action: '', }, |
90 | // { name: 'Promotion', title: 'promotion', component: 'Promotion', action: '', }, | 91 | // { name: 'Promotion', title: 'promotion', component: 'Promotion', action: '', }, |
91 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, | 92 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, |
92 | ] | 93 | ] |
93 | }, | 94 | }, |
94 | { | 95 | { |
95 | title: 'Academic', | 96 | title: 'Academic', |
96 | group: 'Academic', | 97 | group: 'Academic', |
97 | component: 'Academic', | 98 | component: 'Academic', |
98 | icon: '/static/icon/school.png', | 99 | icon: '/static/icon/school.png', |
99 | items: [ | 100 | items: [ |
100 | { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, | 101 | { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, |
101 | { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, | 102 | { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, |
102 | { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, | 103 | { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, |
103 | { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, | 104 | { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, |
104 | ] | 105 | ] |
105 | }, | 106 | }, |
106 | { | 107 | { |
107 | title: 'Administrator', | 108 | title: 'Administrator', |
108 | group: 'Administrator', | 109 | group: 'Administrator', |
109 | component: 'Administrator', | 110 | component: 'Administrator', |
110 | icon: '/static/icon/adminstrator.png', | 111 | icon: '/static/icon/adminstrator.png', |
111 | items: [ | 112 | items: [ |
112 | { name: 'AcademicYear', title: 'Academic Year', component: 'Academic Year', action: '', }, | 113 | { name: 'AcademicYear', title: 'Academic Year', component: 'Academic Year', action: '', }, |
113 | // { name: 'systemAdmin', title: 'System Admin', component: 'systemAdmin', action: '', }, | 114 | // { name: 'systemAdmin', title: 'System Admin', component: 'systemAdmin', action: '', }, |
114 | { name: 'resetPassword', title: 'Change Password', component: 'Change Password', action: '', }, | 115 | { name: 'resetPassword', title: 'Change Password', component: 'Change Password', action: '', }, |
115 | { name: 'Role', title: 'Role', component: 'Role', action: '', }, | 116 | { name: 'Role', title: 'Role', component: 'Role', action: '', }, |
116 | { name: 'BulkImport', title: 'Bulk Import', component: 'Bulk Import', action: '', }, | 117 | { name: 'BulkImport', title: 'Bulk Import', component: 'Bulk Import', action: '', }, |
117 | 118 | ||
118 | ] | 119 | ] |
119 | }, | 120 | }, |
120 | { | 121 | { |
121 | title: 'Payroll', | 122 | title: 'Payroll', |
122 | group: 'Payroll', | 123 | group: 'Payroll', |
123 | component: 'Payroll', | 124 | component: 'Payroll', |
124 | icon: '/static/icon/dollar.png', | 125 | icon: '/static/icon/dollar.png', |
125 | items: [ | 126 | items: [ |
126 | { name: 'salaryTemplate', title: 'Salary Template', component: 'Salary Template', action: '', }, | 127 | { name: 'salaryTemplate', title: 'Salary Template', component: 'Salary Template', action: '', }, |
127 | { name: 'hourlyTemplate', title: 'Hourly Template', component: 'Hourly Template', action: '', }, | 128 | { name: 'hourlyTemplate', title: 'Hourly Template', component: 'Hourly Template', action: '', }, |
128 | { name: 'manageSalary', title: 'Manage Salary', component: 'Manage Salary', action: '', }, | 129 | { name: 'manageSalary', title: 'Manage Salary', component: 'Manage Salary', action: '', }, |
129 | // { name: 'makePayment', title: 'Make Payment', component: 'Make Payment', action: '', }, | 130 | // { name: 'makePayment', title: 'Make Payment', component: 'Make Payment', action: '', }, |
130 | ] | 131 | ] |
131 | }, | 132 | }, |
132 | { | 133 | { |
133 | title: 'Notice Board', | 134 | title: 'Notice Board', |
134 | name: 'Notice Board', | 135 | name: 'Notice Board', |
135 | icon: '/static/icon/notice board.png', | 136 | icon: '/static/icon/notice board.png', |
136 | }, | 137 | }, |
137 | { | 138 | { |
138 | title: 'News', | 139 | title: 'News', |
139 | name: 'News', | 140 | name: 'News', |
140 | icon: '/static/icon/news.png', | 141 | icon: '/static/icon/news.png', |
141 | }, | 142 | }, |
142 | // { | 143 | // { |
143 | // title: 'Reminder', | 144 | // title: 'Reminder', |
144 | // name: 'reminder', | 145 | // name: 'reminder', |
145 | // icon: 'alarm_add', | 146 | // icon: 'alarm_add', |
146 | // }, | 147 | // }, |
147 | { | 148 | { |
148 | title: 'Time Table', | 149 | title: 'Time Table', |
149 | name: 'Time Table', | 150 | name: 'Time Table', |
150 | icon: '/static/icon/time table.png', | 151 | icon: '/static/icon/time table.png', |
151 | }, | 152 | }, |
152 | { | 153 | { |
153 | title: 'Library', | 154 | title: 'Library', |
154 | group: 'Library', | 155 | group: 'Library', |
155 | component: 'Library', | 156 | component: 'Library', |
156 | icon: '/static/icon/library.png', | 157 | icon: '/static/icon/library.png', |
157 | items: [ | 158 | items: [ |
158 | { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, | 159 | { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, |
159 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, | 160 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, |
160 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, | 161 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, |
161 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } | 162 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } |
162 | 163 | ||
163 | ] | 164 | ] |
164 | }, | 165 | }, |
165 | { | 166 | { |
166 | title: 'Report', | 167 | title: 'Report', |
167 | group: 'Report', | 168 | group: 'Report', |
168 | component: 'Report', | 169 | component: 'Report', |
169 | icon: '/static/icon/reports.png', | 170 | icon: '/static/icon/reports.png', |
170 | items: [ | 171 | items: [ |
171 | { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, | 172 | { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, |
172 | { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, | 173 | { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, |
173 | { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, | 174 | { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, |
174 | { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } | 175 | { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } |
175 | ] | 176 | ] |
176 | }, | 177 | }, |
177 | { | 178 | { |
178 | title: 'Notification', | 179 | title: 'Notification', |
179 | name: 'Notification', | 180 | name: 'Notification', |
180 | icon: '/static/icon/notification.png', | 181 | icon: '/static/icon/notification.png', |
181 | }, | 182 | }, |
182 | { | 183 | { |
183 | title: 'Social Media', | 184 | title: 'Social Media', |
184 | name: 'Social Media', | 185 | name: 'Social Media', |
185 | icon: '/static/icon/events.png', | 186 | icon: '/static/icon/events.png', |
186 | }, | 187 | }, |
187 | { | 188 | { |
188 | title: 'Gallery', | 189 | title: 'Gallery', |
189 | name: 'Gallery', | 190 | name: 'Gallery', |
190 | icon: '/static/icon/gallery.png', | 191 | icon: '/static/icon/gallery.png', |
191 | }, | 192 | }, |
192 | { | 193 | { |
193 | title: 'Event', | 194 | title: 'Event', |
194 | name: 'Event', | 195 | name: 'Event', |
195 | icon: '/static/icon/events.png', | 196 | icon: '/static/icon/events.png', |
196 | }, | 197 | }, |
197 | { | 198 | { |
198 | title: 'Account', | 199 | title: 'Account', |
199 | group: 'Account', | 200 | group: 'Account', |
200 | component: 'Account', | 201 | component: 'Account', |
201 | icon: '/static/icon/accounts.png', | 202 | icon: '/static/icon/accounts.png', |
202 | items: [ | 203 | items: [ |
203 | { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, | 204 | { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, |
204 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, | 205 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, |
205 | { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, | 206 | { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, |
206 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, | 207 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, |
207 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, | 208 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, |
208 | { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } | 209 | { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } |
209 | ] | 210 | ] |
210 | }, | 211 | }, |
211 | { | 212 | { |
212 | title: 'Holiday', | 213 | title: 'Holiday', |
213 | name: 'Holiday', | 214 | name: 'Holiday', |
214 | icon: '/static/icon/holiday.png', | 215 | icon: '/static/icon/holiday.png', |
215 | }, | 216 | }, |
216 | { | 217 | { |
217 | title: 'General Setting', | 218 | title: 'General Setting', |
218 | name: 'General Setting', | 219 | name: 'General Setting', |
219 | icon: '/static/icon/settings.png', | 220 | icon: '/static/icon/settings.png', |
220 | } | 221 | } |
221 | ]; | 222 | ]; |
222 | 223 | ||
223 | const libraryMenu = [{ | 224 | const libraryMenu = [{ |
224 | title: 'Dashboard', | 225 | title: 'Dashboard', |
225 | name: 'Dashboard', | 226 | name: 'Dashboard', |
226 | icon: '/static/icon/dashboard.png', | 227 | icon: '/static/icon/dashboard.png', |
227 | }, | 228 | }, |
228 | { | 229 | { |
229 | title: 'Library', | 230 | title: 'Library', |
230 | group: 'Library', | 231 | group: 'Library', |
231 | component: 'Library', | 232 | component: 'Library', |
232 | icon: '/static/icon/library.png', | 233 | icon: '/static/icon/library.png', |
233 | items: [ | 234 | items: [ |
234 | { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, | 235 | { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, |
235 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, | 236 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, |
236 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, | 237 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, |
237 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } | 238 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } |
238 | 239 | ||
239 | ] | 240 | ] |
240 | }, | 241 | }, |
241 | ]; | 242 | ]; |
242 | 243 | ||
243 | const accountMenu = [{ | 244 | const accountMenu = [{ |
244 | title: 'Dashboard', | 245 | title: 'Dashboard', |
245 | name: 'Dashboard', | 246 | name: 'Dashboard', |
246 | icon: '/static/icon/dashboard.png', | 247 | icon: '/static/icon/dashboard.png', |
247 | }, | 248 | }, |
248 | 249 | ||
249 | { | 250 | { |
250 | title: 'Account', | 251 | title: 'Account', |
251 | group: 'Account', | 252 | group: 'Account', |
252 | component: 'Account', | 253 | component: 'Account', |
253 | icon: '/static/icon/accounts.png', | 254 | icon: '/static/icon/accounts.png', |
254 | items: [ | 255 | items: [ |
255 | { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, | 256 | { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, |
256 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, | 257 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, |
257 | { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, | 258 | { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, |
258 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, | 259 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, |
259 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, | 260 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, |
260 | { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } | 261 | { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } |
261 | ] | 262 | ] |
262 | }, | 263 | }, |
263 | ]; | 264 | ]; |
264 | 265 | ||
265 | const schoolMenu = [ | 266 | const schoolMenu = [ |
266 | // { header: 'Apps' }, | 267 | // { header: 'Apps' }, |
267 | { | 268 | { |
268 | title: 'Dashboard', | 269 | title: 'Dashboard', |
269 | // group: 'apps', | 270 | // group: 'apps', |
270 | name: 'View School Dashboard', | 271 | name: 'View School Dashboard', |
271 | icon: '/static/icon/dashboard.png', | 272 | icon: '/static/icon/dashboard.png', |
272 | }, | 273 | }, |
273 | { | 274 | { |
274 | title: 'School', | 275 | title: 'School', |
275 | // group: 'apps', | 276 | // group: 'apps', |
276 | name: 'School', | 277 | name: 'School', |
277 | icon: '/static/icon/school.png', | 278 | icon: '/static/icon/school.png', |
278 | }, | 279 | }, |
279 | { | 280 | { |
280 | title: 'App Version', | 281 | title: 'App Version', |
281 | name: 'App Version', | 282 | name: 'App Version', |
282 | icon: '/static/icon/phone.png', | 283 | icon: '/static/icon/phone.png', |
283 | } | 284 | } |
284 | ]; | 285 | ]; |
285 | 286 | ||
286 | const teacherMenu = [{ | 287 | const teacherMenu = [{ |
287 | title: 'Dashboard', | 288 | title: 'Dashboard', |
288 | name: 'Dashboard', | 289 | name: 'Dashboard', |
289 | icon: '/static/icon/dashboard.png', | 290 | icon: '/static/icon/dashboard.png', |
290 | }, | 291 | }, |
291 | { | 292 | { |
292 | title: 'Parents', | 293 | title: 'Parents', |
293 | // group: 'apps', | 294 | // group: 'apps', |
294 | name: 'Parents', | 295 | name: 'Parents', |
295 | icon: '/static/icon/parents.png', | 296 | icon: '/static/icon/parents.png', |
296 | }, | 297 | }, |
297 | { | 298 | { |
298 | title: 'Teachers', | 299 | title: 'Teachers', |
299 | // group: '', | 300 | // group: '', |
300 | name: 'Teachers', | 301 | name: 'Teachers', |
301 | icon: '/static/icon/teacher.png', | 302 | icon: '/static/icon/teacher.png', |
302 | }, | 303 | }, |
303 | { | 304 | { |
304 | title: 'Students', | 305 | title: 'Students', |
305 | // group: 'apps', | 306 | // group: 'apps', |
306 | name: 'Students', | 307 | name: 'Students', |
307 | icon: '/static/icon/student.png', | 308 | icon: '/static/icon/student.png', |
308 | }, | 309 | }, |
309 | { | 310 | { |
310 | title: 'Academic', | 311 | title: 'Academic', |
311 | group: 'Academic', | 312 | group: 'Academic', |
312 | component: 'Academic', | 313 | component: 'Academic', |
313 | icon: '/static/icon/school.png', | 314 | icon: '/static/icon/school.png', |
314 | items: [ | 315 | items: [ |
315 | { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, | 316 | { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, |
316 | { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, | 317 | { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, |
317 | { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, | 318 | { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, |
318 | { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, | 319 | { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, |
319 | ] | 320 | ] |
320 | }, | 321 | }, |
321 | { | 322 | { |
322 | title: 'Course', | 323 | title: 'Course', |
323 | group: 'Course', | 324 | group: 'Course', |
324 | component: 'Course', | 325 | component: 'Course', |
325 | icon: '/static/icon/school.png', | 326 | icon: '/static/icon/school.png', |
326 | items: [ | 327 | items: [ |
327 | { name: 'Course', title: 'Course', component: 'Course', action: '', }, | 328 | { name: 'Course', title: 'Course', component: 'Course', action: '', }, |
328 | { name: 'Enroll Students', title: 'Enroll Students', component: 'Enroll Students', action: '', }, | 329 | { name: 'Enroll Students', title: 'Enroll Students', component: 'Enroll Students', action: '', }, |
329 | { name: 'Course Detail', title: 'Course Detail', component: 'Course Detail', action: '', }, | 330 | { name: 'Course Detail', title: 'Course Detail', component: 'Course Detail', action: '', }, |
330 | { name: 'Course Discussion', title: 'Course Discussion', component: 'Course Discussion', action: '', }, | 331 | { name: 'Course Discussion', title: 'Course Discussion', component: 'Course Discussion', action: '', }, |
331 | ] | 332 | ] |
332 | }, | 333 | }, |
333 | { | 334 | { |
334 | title: 'Annoucement', | 335 | title: 'Annoucement', |
335 | // group: 'apps', | 336 | // group: 'apps', |
336 | name: 'Annoucement', | 337 | name: 'Annoucement', |
337 | icon: '/static/icon/student.png', | 338 | icon: '/static/icon/student.png', |
338 | }, | 339 | }, |
339 | { | 340 | { |
340 | title: 'Meeting Event', | 341 | title: 'Meeting Event', |
341 | // group: 'apps', | 342 | // group: 'apps', |
342 | name: 'Meeting Event', | 343 | name: 'Meeting Event', |
343 | icon: '/static/icon/student.png', | 344 | icon: '/static/icon/student.png', |
344 | }, | 345 | }, |
345 | { | 346 | { |
346 | title: 'Attendance', | 347 | title: 'Attendance', |
347 | group: 'Attendance', | 348 | group: 'Attendance', |
348 | component: 'Attendance', | 349 | component: 'Attendance', |
349 | icon: '/static/icon/attendence.png', | 350 | icon: '/static/icon/attendence.png', |
350 | items: [ | 351 | items: [ |
351 | { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, | 352 | { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, |
352 | { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, | 353 | { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, |
354 | { name: 'courseAttendance', title: 'Course Attendance', component: 'Course Attendance', action: '', }, | ||
353 | // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, | 355 | // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, |
354 | ] | 356 | ] |
355 | }, | 357 | }, |
356 | { | 358 | { |
357 | title: 'Exam', | 359 | title: 'Exam', |
358 | group: 'Exam', | 360 | group: 'Exam', |
359 | component: 'Exam', | 361 | component: 'Exam', |
360 | icon: '/static/icon/exam.png', | 362 | icon: '/static/icon/exam.png', |
361 | items: [ | 363 | items: [ |
362 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, | 364 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, |
363 | { name: 'ExamAttendence', title: 'Exam Attendence', component: 'Exam Attendence', action: '', } | 365 | { name: 'ExamAttendence', title: 'Exam Attendence', component: 'Exam Attendence', action: '', } |
364 | ] | 366 | ] |
365 | }, | 367 | }, |
366 | { | 368 | { |
367 | title: 'Marks', | 369 | title: 'Marks', |
368 | group: 'Mark', | 370 | group: 'Mark', |
369 | component: 'Mark', | 371 | component: 'Mark', |
370 | icon: '/static/icon/marks.png', | 372 | icon: '/static/icon/marks.png', |
371 | items: [ | 373 | items: [ |
372 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', } | 374 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', } |
373 | ] | 375 | ] |
374 | }, | 376 | }, |
375 | { | 377 | { |
376 | title: 'Report', | 378 | title: 'Report', |
377 | group: 'Report', | 379 | group: 'Report', |
378 | component: 'Report', | 380 | component: 'Report', |
379 | icon: '/static/icon/reports.png', | 381 | icon: '/static/icon/reports.png', |
380 | items: [ | 382 | items: [ |
381 | { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, | 383 | { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, |
382 | { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, | 384 | { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, |
383 | { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, | 385 | { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, |
384 | { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } | 386 | { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } |
385 | ] | 387 | ] |
386 | }, | 388 | }, |
387 | { | 389 | { |
388 | title: 'Library', | 390 | title: 'Library', |
389 | group: 'Library', | 391 | group: 'Library', |
390 | component: 'Library', | 392 | component: 'Library', |
391 | icon: '/static/icon/library.png', | 393 | icon: '/static/icon/library.png', |
392 | items: [ | 394 | items: [ |
393 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, | 395 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, |
394 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } | 396 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } |
395 | 397 | ||
396 | ] | 398 | ] |
397 | }, | 399 | }, |
398 | // { | 400 | // { |
399 | // title: 'Meet', | 401 | // title: 'Meet', |
400 | // name: 'Meet', | 402 | // name: 'Meet', |
401 | // icon: '/static/icon/meet_icon_navigation.png', | 403 | // icon: '/static/icon/meet_icon_navigation.png', |
402 | // } | 404 | // } |
403 | ]; | 405 | ]; |
404 | 406 | ||
405 | const parentMenu = [{ | 407 | const parentMenu = [{ |
406 | title: 'Dashboard', | 408 | title: 'Dashboard', |
407 | name: 'Dashboard', | 409 | name: 'Dashboard', |
408 | icon: '/static/icon/dashboard.png', | 410 | icon: '/static/icon/dashboard.png', |
409 | }, | 411 | }, |
410 | { | 412 | { |
411 | title: "Change Student", | 413 | title: "Change Student", |
412 | name: 'Change Students', | 414 | name: 'Change Students', |
413 | Vicon: "face", | 415 | Vicon: "face", |
414 | click: e => { | 416 | click: e => { |
415 | // console.log(e); | 417 | // console.log(e); |
416 | } | 418 | } |
417 | }]; | 419 | }]; |
418 | // reorder menu | 420 | // reorder menu |
419 | // Menu.forEach((item) => { | 421 | // Menu.forEach((item) => { |
420 | // if (item.items) { | 422 | // if (item.items) { |
421 | // item.items.sort((x, y) => { | 423 | // item.items.sort((x, y) => { |
422 | // let textA = x.title.toUpperCase(); | 424 | // let textA = x.title.toUpperCase(); |
423 | // let textB = y.title.toUpperCase(); | 425 | // let textB = y.title.toUpperCase(); |
424 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; | 426 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; |
425 | // }); | 427 | // }); |
426 | // } | 428 | // } |
427 | // }); | 429 | // }); |
428 | 430 | ||
429 | export default { adminMenu, schoolMenu, teacherMenu, libraryMenu, accountMenu, parentMenu }; | 431 | export default { adminMenu, schoolMenu, teacherMenu, libraryMenu, accountMenu, parentMenu }; |
src/pages/Attendence/courseAttendance.vue
File was created | 1 | <template> | |
2 | <v-container fluid class="body-color"> | ||
3 | <v-toolbar color="transparent" flat> | ||
4 | <v-spacer></v-spacer> | ||
5 | <v-flex xs12 sm4 md2> | ||
6 | <v-select | ||
7 | small | ||
8 | :items="classList" | ||
9 | label="Select Class" | ||
10 | v-model="getAttendance.classId" | ||
11 | item-text="classNum" | ||
12 | item-value="_id" | ||
13 | name="Select Class" | ||
14 | class="px-2" | ||
15 | @change="getSection(getAttendance.classId)" | ||
16 | required | ||
17 | ></v-select> | ||
18 | </v-flex> | ||
19 | <v-flex xs12 sm4 md2> | ||
20 | <v-select | ||
21 | small | ||
22 | :items="addSection" | ||
23 | label="Select Section" | ||
24 | v-model="getAttendance.sectionId" | ||
25 | item-text="name" | ||
26 | item-value="_id" | ||
27 | name="Select Section" | ||
28 | @change="getStudentsDetail(getAttendance.sectionId)" | ||
29 | class="px-2" | ||
30 | required | ||
31 | ></v-select> | ||
32 | </v-flex> | ||
33 | </v-toolbar> | ||
34 | <v-data-table | ||
35 | :headers="headers" | ||
36 | :items="studentsData" | ||
37 | :pagination.sync="pagination" | ||
38 | :search="search" | ||
39 | > | ||
40 | <template slot="items" slot-scope="props"> | ||
41 | <tr class="tr"> | ||
42 | <td class="td td-row">{{ props.index + 1}}</td> | ||
43 | <td class="text-xs-center td td-row"> | ||
44 | <v-avatar size="40"> | ||
45 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | ||
46 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | ||
47 | </v-avatar> | ||
48 | </td> | ||
49 | <td class="text-xs-center td td-row">{{ props.item.name}}</td> | ||
50 | <td class="text-xs-center td td-row">{{ props.item.fatherCellNo}}</td> | ||
51 | <td class="text-xs-center td td-row">{{ props.item.email }}</td> | ||
52 | <td class="text-xs-center td td-row"> | ||
53 | <router-link :to="{ name:'View Course Attendance',params: { id:props.item._id } }"> | ||
54 | <v-tooltip top> | ||
55 | <img | ||
56 | slot="activator" | ||
57 | style="cursor:pointer; width:20px; height:25px; " | ||
58 | class="mr-3" | ||
59 | src="/static/icon/view.png" | ||
60 | /> | ||
61 | <span>View</span> | ||
62 | </v-tooltip> | ||
63 | </router-link> | ||
64 | </td> | ||
65 | </tr> | ||
66 | </template> | ||
67 | </v-data-table> | ||
68 | <v-snackbar | ||
69 | :timeout="timeout" | ||
70 | :top="y === 'top'" | ||
71 | :right="x === 'right'" | ||
72 | :vertical="mode === 'vertical'" | ||
73 | v-model="snackbar" | ||
74 | color="color" | ||
75 | >{{ text }}</v-snackbar> | ||
76 | </v-container> | ||
77 | </template> | ||
78 | |||
79 | <script> | ||
80 | import http from "@/Services/http.js"; | ||
81 | import moment from "moment"; | ||
82 | |||
83 | export default { | ||
84 | data: () => ({ | ||
85 | snackbar: false, | ||
86 | y: "top", | ||
87 | x: "right", | ||
88 | mode: "", | ||
89 | timeout: 3000, | ||
90 | text: "", | ||
91 | color: "", | ||
92 | show: true, | ||
93 | |||
94 | classList: [], | ||
95 | addSection: [], | ||
96 | studentsData: [], | ||
97 | |||
98 | pagination: { | ||
99 | rowsPerPage: 10, | ||
100 | }, | ||
101 | |||
102 | role: "", | ||
103 | schoolRole: "", | ||
104 | search: "", | ||
105 | getAttendance: {}, | ||
106 | headers: [ | ||
107 | { | ||
108 | text: "No", | ||
109 | align: "", | ||
110 | sortable: false, | ||
111 | value: "index", | ||
112 | }, | ||
113 | { | ||
114 | text: "Profile Pic", | ||
115 | value: "profilprofilePicUrlePicUrl", | ||
116 | sortable: false, | ||
117 | align: "center", | ||
118 | }, | ||
119 | { text: "Name", value: "name", sortable: false, align: "center" }, | ||
120 | { | ||
121 | text: "Mobile No", | ||
122 | value: "fatherCellNo", | ||
123 | sortable: false, | ||
124 | align: "center", | ||
125 | }, | ||
126 | { text: "Email", value: "email", sortable: false, align: "center" }, | ||
127 | { text: "Attendance", value: "", sortable: false, align: "center" }, | ||
128 | ], | ||
129 | }), | ||
130 | methods: { | ||
131 | getAllClass() { | ||
132 | http() | ||
133 | .get("/getClassesList", { | ||
134 | headers: { Authorization: "Bearer " + this.token }, | ||
135 | }) | ||
136 | .then((response) => { | ||
137 | this.classList = response.data.data; | ||
138 | }) | ||
139 | .catch((error) => { | ||
140 | this.snackbar = true; | ||
141 | this.color = "error"; | ||
142 | this.text = error.response.data.message; | ||
143 | }); | ||
144 | }, | ||
145 | getSection(_id) { | ||
146 | this.showLoader = true; | ||
147 | this.studentsData = []; | ||
148 | http() | ||
149 | .get( | ||
150 | "/getSectionsList", | ||
151 | { params: { classId: _id } }, | ||
152 | { | ||
153 | headers: { Authorization: "Bearer " + this.token }, | ||
154 | } | ||
155 | ) | ||
156 | .then((response) => { | ||
157 | this.addSection = response.data.data; | ||
158 | this.showLoader = false; | ||
159 | }) | ||
160 | .catch((err) => { | ||
161 | this.showLoader = false; | ||
162 | this.snackbar = true; | ||
163 | this.color = "error"; | ||
164 | this.text = error.response.data.message; | ||
165 | // console.log("err====>", err); | ||
166 | }); | ||
167 | }, | ||
168 | getStudentsDetail(_id) { | ||
169 | this.showLoader = true; | ||
170 | http() | ||
171 | .get("/getStudentWithClass", { | ||
172 | params: { | ||
173 | classId: this.getAttendance.classId, | ||
174 | sectionId: this.getAttendance.sectionId, | ||
175 | }, | ||
176 | }) | ||
177 | .then((response) => { | ||
178 | this.studentsData = response.data.data; | ||
179 | this.showLoader = false; | ||
180 | var attendance = ""; | ||
181 | for (let i = 0; i < this.studentsData.length; i++) { | ||
182 | this.studentsData[i].attendance = true; | ||
183 | } | ||
184 | }) | ||
185 | .catch((error) => { | ||
186 | // console.log("err====>", error); | ||
187 | this.showLoader = false; | ||
188 | this.snackbar = true; | ||
189 | this.color = "error"; | ||
190 | this.text = error.response.data.message; | ||
191 | }); | ||
192 | }, | ||
193 | }, | ||
194 | mounted() { | ||
195 | this.token = this.$store.state.token; | ||
196 | this.getAllClass(); | ||
197 | this.role = this.$store.state.role; | ||
198 | }, | ||
199 | }; | ||
200 | </script> |
src/pages/Attendence/viewCourseAttendance.vue
File was created | 1 | <template> | |
2 | <v-container fluid grid-list-md class="body-color"> | ||
3 | <v-dialog v-model="viewCourseAttendance" max-width="1000" scrollable persistent> | ||
4 | <v-card flat class="pa-3"> | ||
5 | <v-layout> | ||
6 | <v-flex xs12> | ||
7 | <label class="title text-xs-center">Course Attendance</label> | ||
8 | <v-icon size="24" class="right" @click="viewCourseAttendance = false">cancel</v-icon> | ||
9 | </v-flex> | ||
10 | </v-layout> | ||
11 | <v-card-text> | ||
12 | <v-data-table :headers="headers" :items="courseAttendanceList"> | ||
13 | <template slot="items" slot-scope="props"> | ||
14 | <tr class="tr"> | ||
15 | <td class="text-xs-center td td-row">{{ props.item.courseId.courseName}}</td> | ||
16 | <td class="text-xs-center td td-row">{{ props.item.startTime}}</td> | ||
17 | <td class="text-xs-center td td-row">{{ props.item.endTime }}</td> | ||
18 | </tr> | ||
19 | </template> | ||
20 | </v-data-table> | ||
21 | </v-card-text> | ||
22 | </v-card> | ||
23 | </v-dialog> | ||
24 | <div> | ||
25 | <v-layout wrap> | ||
26 | <v-flex xs12 sm12 md4> | ||
27 | <v-card flat> | ||
28 | <h3 class="py-2 text-xs-center card-style white--text">Profile</h3> | ||
29 | <v-card-text> | ||
30 | <v-container> | ||
31 | <v-layout wrap> | ||
32 | <v-flex xs12> | ||
33 | <v-layout> | ||
34 | <v-flex | ||
35 | xs12 | ||
36 | class="text-xs-center text-sm-center text-md-center text-lg-center" | ||
37 | > | ||
38 | <v-avatar size="80px"> | ||
39 | <img src="/static/icon/user.png" v-if="!studentData.profilePicUrl" /> | ||
40 | <img | ||
41 | :src="studentData.profilePicUrl" | ||
42 | v-else-if="studentData.profilePicUrl" | ||
43 | /> | ||
44 | </v-avatar> | ||
45 | </v-flex> | ||
46 | </v-layout> | ||
47 | <v-layout> | ||
48 | <v-flex xs12 sm12> | ||
49 | <h3 class="text-xs-center"> | ||
50 | <b>{{ studentData.name }}</b> | ||
51 | </h3> | ||
52 | <p class="text-xs-center grey--text">Student</p> | ||
53 | </v-flex> | ||
54 | </v-layout> | ||
55 | <v-layout style="border: 1px solid lightgrey;"> | ||
56 | <v-flex xs6 sm6 class="pa-0"> | ||
57 | <h4 class="right"> | ||
58 | <b>Roll No :</b> | ||
59 | </h4> | ||
60 | </v-flex> | ||
61 | <v-flex sm6 xs6 class="pa-0"> | ||
62 | <h4>{{ studentData.rollNo }}</h4> | ||
63 | </v-flex> | ||
64 | </v-layout> | ||
65 | <v-layout style="border: 1px solid lightgrey;"> | ||
66 | <v-flex xs6 sm6 class="pa-0"> | ||
67 | <h4 class="right"> | ||
68 | <b>Class :</b> | ||
69 | </h4> | ||
70 | </v-flex> | ||
71 | <v-flex sm6 xs6 class="right pa-0"> | ||
72 | <h4>{{ studentData.classId.classNum }}</h4> | ||
73 | </v-flex> | ||
74 | </v-layout> | ||
75 | <v-layout style="border: 1px solid lightgrey;"> | ||
76 | <v-flex xs6 sm6 class="right pa-0"> | ||
77 | <h4 class="right"> | ||
78 | <b>Section :</b> | ||
79 | </h4> | ||
80 | </v-flex> | ||
81 | <v-flex sm6 xs6 class="right pa-0"> | ||
82 | <h4>{{ studentData.sectionId.name}}</h4> | ||
83 | </v-flex> | ||
84 | </v-layout> | ||
85 | </v-flex> | ||
86 | </v-layout> | ||
87 | </v-container> | ||
88 | </v-card-text> | ||
89 | </v-card> | ||
90 | </v-flex> | ||
91 | <v-flex xs12 sm12 md8> | ||
92 | <v-card flat> | ||
93 | <h3 class="py-2 text-xs-center card-style white--text">Attendence</h3> | ||
94 | <YearCalendar | ||
95 | v-model="year" | ||
96 | :activeDates="activeDates" | ||
97 | prefixClass="your_customized_wrapper_class" | ||
98 | :activeClass="activeClass" | ||
99 | @toggleDate="toggleDate" | ||
100 | ></YearCalendar> | ||
101 | </v-card> | ||
102 | </v-flex> | ||
103 | </v-layout> | ||
104 | </div> | ||
105 | <img :src="output" v-show="false" /> | ||
106 | <div class="loader" v-if="showLoader"> | ||
107 | <v-progress-circular indeterminate color="white"></v-progress-circular> | ||
108 | </div> | ||
109 | </v-container> | ||
110 | </template> | ||
111 | |||
112 | <script lang="js"> | ||
113 | import moment from "moment"; | ||
114 | import http from "@/Services/http.js"; | ||
115 | import YearCalendar from "vue-material-year-calendar"; | ||
116 | import jsPDF from 'jspdf'; | ||
117 | // eslint-disable-next-line | ||
118 | import autoTable from 'jspdf-autotable'; | ||
119 | |||
120 | export default { | ||
121 | components: { YearCalendar }, | ||
122 | data() { | ||
123 | return { | ||
124 | output:null, | ||
125 | showLoader: false, | ||
126 | token: "", | ||
127 | year: new Date().getFullYear(), | ||
128 | activeDates: [], | ||
129 | activeClass: "", | ||
130 | studentData: { | ||
131 | classId: { | ||
132 | classNum: "" | ||
133 | }, | ||
134 | sectionId: { | ||
135 | name: "" | ||
136 | }, | ||
137 | }, | ||
138 | courseAttendanceData:{}, | ||
139 | courseAttendanceList: [], | ||
140 | viewCourseAttendance: false, | ||
141 | headers: [ | ||
142 | { text: "Course Name", value: "courseName", sortable: false, align: "center" }, | ||
143 | { | ||
144 | text: "Start Time", | ||
145 | value: "startTime", | ||
146 | sortable: false, | ||
147 | align: "center", | ||
148 | }, | ||
149 | { text: "End Time", value: "endTime", sortable: false, align: "center" }, | ||
150 | ], | ||
151 | selectedDates: [], | ||
152 | }; | ||
153 | }, | ||
154 | mounted() { | ||
155 | this.token = this.$store.state.token; | ||
156 | this.getStudentAttendence(); | ||
157 | this.getStudentData(); | ||
158 | }, | ||
159 | methods: { | ||
160 | toggleDate (dateInfo) { | ||
161 | if (this.selectedDates.includes(dateInfo.date)) { | ||
162 | this.viewCourseAttendance = true; | ||
163 | } | ||
164 | }, | ||
165 | dates: function(date) { | ||
166 | return moment(date).format("MMMM DD, YYYY"); | ||
167 | }, | ||
168 | getStudentAttendence() { | ||
169 | this.showLoader = true; | ||
170 | http() | ||
171 | .get( | ||
172 | "/studentAttendance", | ||
173 | { params: { studentId: this.$route.params.id } }, | ||
174 | { | ||
175 | headers: { Authorization: "Bearer " + this.token } | ||
176 | } | ||
177 | ) | ||
178 | .then(response => { | ||
179 | this.showLoader = false; | ||
180 | }) | ||
181 | .catch(error => { | ||
182 | this.showLoader = false; | ||
183 | if (error.response.status === 401) { | ||
184 | this.$router.replace({ path: "/" }); | ||
185 | this.$store.dispatch("setToken", null); | ||
186 | this.$store.dispatch("Id", null); | ||
187 | this.$store.dispatch("Role", null); | ||
188 | } | ||
189 | }); | ||
190 | }, | ||
191 | getStudentData() { | ||
192 | http() | ||
193 | .get( | ||
194 | "/getParticularStudentDetail", | ||
195 | { params: { studentId: this.$route.params.id } }, | ||
196 | { | ||
197 | headers: { Authorization: "Bearer " + this.token } | ||
198 | } | ||
199 | ) | ||
200 | .then(response => { | ||
201 | this.studentData = response.data.data; | ||
202 | this.getCourseAttendance(response.data.data.classId._id); | ||
203 | }) | ||
204 | .catch(err => { | ||
205 | // console.log("err====>", err); | ||
206 | this.snackbar = true; | ||
207 | this.color = "error"; | ||
208 | this.text = error.response.data.message; | ||
209 | // this.$router.replace({ path: '/' }); | ||
210 | }); | ||
211 | }, | ||
212 | getCourseAttendance(classId) { | ||
213 | http() | ||
214 | .get( | ||
215 | "/getStudentCourseAttendance", | ||
216 | { params: { studentId: this.$route.params.id, | ||
217 | classId: classId } | ||
218 | }, | ||
219 | { | ||
220 | headers: { Authorization: "Bearer " + this.token } | ||
221 | } | ||
222 | ) | ||
223 | .then(response => { | ||
224 | this.courseAttendanceData = response.data.data; | ||
225 | this.courseAttendanceList = response.data.data[0].studentAttendance; | ||
226 | // console.log("===this.courseAttendanceList===", this.courseAttendanceList) | ||
227 | let array = []; | ||
228 | for (let i = 0; i < this.courseAttendanceData.length; i++) { | ||
229 | if (this.courseAttendanceData[i].date) { | ||
230 | this.selectedDates.push(this.courseAttendanceData[i].date) | ||
231 | array.push({ | ||
232 | date: this.courseAttendanceData[i].date, | ||
233 | className: "green" | ||
234 | }); | ||
235 | } | ||
236 | } | ||
237 | this.activeDates = array; | ||
238 | }) | ||
239 | .catch(err => { | ||
240 | this.snackbar = true; | ||
241 | this.color = "error"; | ||
242 | this.text = error.response.data.message; | ||
243 | }); | ||
244 | }, | ||
245 | profile(item) { | ||
246 | this.viewCourseAttendance = true; | ||
247 | }, | ||
248 | } | ||
249 | }; | ||
250 | </script> | ||
251 | |||
252 | <style lang="stylus"> | ||
253 | .your_customized_wrapper_class { | ||
254 | background-color: #0aa; | ||
255 | color: white; | ||
256 | |||
257 | &.red { | ||
258 | background-color: red; | ||
259 | color: white; | ||
260 | |||
261 | &:after { | ||
262 | background-size: 100% 100%; | ||
263 | } | ||
264 | } | ||
265 | |||
266 | &.blue { | ||
267 | background-color: #0000aa; | ||
268 | color: white; | ||
269 | } | ||
270 | |||
271 | &.your_customized_classname { | ||
272 | background-color: yellow; | ||
273 | color: black; | ||
274 | } | ||
275 | } | ||
276 | </style> | ||
277 | <style scoped> | ||
278 | .card-style { | ||
279 | background: #7f62f8 !important; | ||
280 | border-color: #7f62f8 !important; | ||
281 | border-radius: 12px; | ||
282 | } | ||
283 | </style> |
src/pages/Dashboard/LiveOnlineClass.vue
1 | <template> | 1 | <template> |
2 | <div class="body-color"> | 2 | <div class="body-color"> |
3 | <!-- LOADER --> | 3 | <!-- LOADER --> |
4 | <div class="loader" v-if="showLoader"> | 4 | <div class="loader" v-if="showLoader"> |
5 | <v-progress-circular indeterminate color="white"></v-progress-circular> | 5 | <v-progress-circular indeterminate color="white"></v-progress-circular> |
6 | </div> | 6 | </div> |
7 | 7 | ||
8 | <!-- SNACKBAR --> | 8 | <!-- SNACKBAR --> |
9 | <v-snackbar | 9 | <v-snackbar |
10 | :timeout="timeout" | 10 | :timeout="timeout" |
11 | :top="y === 'top'" | 11 | :top="y === 'top'" |
12 | :right="x === 'right'" | 12 | :right="x === 'right'" |
13 | :vertical="mode === 'vertical'" | 13 | :vertical="mode === 'vertical'" |
14 | v-model="snackbar" | 14 | v-model="snackbar" |
15 | :color="snackbarColor" | 15 | :color="snackbarColor" |
16 | > | 16 | > |
17 | {{ text }} | 17 | {{ text }} |
18 | <v-spacer></v-spacer> | 18 | <v-spacer></v-spacer> |
19 | <v-btn flat text @click="snackbar = false">X</v-btn> | 19 | <v-btn flat text @click="snackbar = false">X</v-btn> |
20 | </v-snackbar> | 20 | </v-snackbar> |
21 | 21 | ||
22 | <v-container grid-list-xl class="pt-0"> | 22 | <v-container grid-list-xl class="pt-0"> |
23 | <v-layout row wrap class="mt-1"> | 23 | <v-layout row wrap class="mt-1"> |
24 | <!-- if logged in user is parent --> | 24 | <!-- if logged in user is parent --> |
25 | <v-flex xs12 sm12 md9 v-if=" $store.state.role === 'PARENT' "> | 25 | <v-flex xs12 sm12 md9 v-if=" $store.state.role === 'PARENT' "> |
26 | <v-layout column> | 26 | <v-layout column> |
27 | <!-- HEADING --> | 27 | <!-- HEADING --> |
28 | <v-flex> | 28 | <v-flex> |
29 | <div | 29 | <div |
30 | class="title side-bar-color font-weight-bold" | 30 | class="title side-bar-color font-weight-bold" |
31 | >Live Online Classes - {{$route.query.chapterName}}</div> | 31 | >Live Online Classes - {{$route.query.chapterName}}</div> |
32 | <!-- <div class="subheading grey--text lighten-1">{{liveLink}}</div> --> | 32 | <!-- <div class="subheading grey--text lighten-1">{{liveLink}}</div> --> |
33 | <!-- <div | 33 | <!-- <div |
34 | class="subheading grey--text lighten-1" | 34 | class="subheading grey--text lighten-1" |
35 | >The session started at 1:00 there is 1 moderator</div>--> | 35 | >The session started at 1:00 there is 1 moderator</div>--> |
36 | </v-flex> | 36 | </v-flex> |
37 | 37 | ||
38 | <!-- JOIN OR END SESSION --> | 38 | <!-- JOIN OR END SESSION --> |
39 | <v-flex v-if="showJoinSessionButton"> | 39 | <v-flex v-if="showJoinSessionButton"> |
40 | <div> | 40 | <div> |
41 | <v-btn | 41 | <v-btn |
42 | round | 42 | round |
43 | class="open-dialog-button" | 43 | class="open-dialog-button" |
44 | dark | 44 | dark |
45 | v-if="studentBtn" | 45 | v-if="studentBtn" |
46 | @click="showLoader = true;startChat();" | 46 | @click="showLoader = true;startChat();" |
47 | >{{studentBtn}}</v-btn> | 47 | >{{studentBtn}}</v-btn> |
48 | <span class="subheading grey--twxt lighten-1" v-else>Session hasn't started yet</span> | 48 | <span class="subheading grey--twxt lighten-1" v-else>Session hasn't started yet</span> |
49 | </div> | 49 | </div> |
50 | </v-flex> | 50 | </v-flex> |
51 | <v-flex id="studentClone"> | 51 | <v-flex id="studentClone"> |
52 | <div id="jitsi-container"></div> | 52 | <div id="jitsi-container"></div> |
53 | </v-flex> | 53 | </v-flex> |
54 | </v-layout> | 54 | </v-layout> |
55 | </v-flex> | 55 | </v-flex> |
56 | 56 | ||
57 | <!-- if logged in user is teacher --> | 57 | <!-- if logged in user is teacher --> |
58 | <v-flex xs12 sm12 md12 v-else> | 58 | <v-flex xs12 sm12 md12 v-else> |
59 | <v-layout column> | 59 | <v-layout column> |
60 | <!-- HEADING --> | 60 | <!-- HEADING --> |
61 | <v-flex> | 61 | <v-flex> |
62 | <div | 62 | <div |
63 | class="title side-bar-color font-weight-bold" | 63 | class="title side-bar-color font-weight-bold" |
64 | >Live Online Classes - {{$route.query.chapterName}}</div> | 64 | >Live Online Classes - {{$route.query.chapterName}}</div> |
65 | <!-- <div class="subheading grey--text lighten-1"></div> --> | 65 | <!-- <div class="subheading grey--text lighten-1"></div> --> |
66 | <!-- <div | 66 | <!-- <div |
67 | class="subheading grey--text lighten-1" | 67 | class="subheading grey--text lighten-1" |
68 | >The session started at 1:00 there is 1 moderator</div>--> | 68 | >The session started at 1:00 there is 1 moderator</div>--> |
69 | </v-flex> | 69 | </v-flex> |
70 | 70 | ||
71 | <!-- JOIN OR END SESSION --> | 71 | <!-- JOIN OR END SESSION --> |
72 | <v-flex v-if="showStartSessionButton"> | 72 | <v-flex v-if="showStartSessionButton"> |
73 | <div> | 73 | <div> |
74 | <v-btn | 74 | <v-btn |
75 | round | 75 | round |
76 | class="open-dialog-button" | 76 | class="open-dialog-button" |
77 | dark | 77 | dark |
78 | @click="showLoader = true;startChat()" | 78 | @click="showLoader = true;startChat()" |
79 | >Start Session</v-btn> | 79 | >Start Session</v-btn> |
80 | </div> | 80 | </div> |
81 | </v-flex> | 81 | </v-flex> |
82 | <v-flex id="teacherClone"> | 82 | <v-flex id="teacherClone"> |
83 | <div id="jitsi-container"></div> | 83 | <div id="jitsi-container"></div> |
84 | </v-flex> | 84 | </v-flex> |
85 | </v-layout> | 85 | </v-layout> |
86 | </v-flex> | 86 | </v-flex> |
87 | 87 | ||
88 | <v-spacer></v-spacer> | 88 | <v-spacer></v-spacer> |
89 | 89 | ||
90 | <!-- COURSES SIDE BAR- positioned to the right of the page --> | 90 | <!-- COURSES SIDE BAR- positioned to the right of the page --> |
91 | <!-- <v-flex xs3> | 91 | <!-- <v-flex xs3> |
92 | <v-card class="elevation-0 card-border" height="100%"> | 92 | <v-card class="elevation-0 card-border" height="100%"> |
93 | <CoursesSideBar></CoursesSideBar> | 93 | <CoursesSideBar></CoursesSideBar> |
94 | </v-card> | 94 | </v-card> |
95 | </v-flex>--> | 95 | </v-flex>--> |
96 | </v-layout> | 96 | </v-layout> |
97 | </v-container> | 97 | </v-container> |
98 | </div> | 98 | </div> |
99 | </template> | 99 | </template> |
100 | <script> | 100 | <script> |
101 | import AllApiCalls from "@/Services/AllApiCalls.js"; | 101 | import AllApiCalls from "@/Services/AllApiCalls.js"; |
102 | import http from "@/Services/http.js"; | 102 | import http from "@/Services/http.js"; |
103 | import moment from "moment"; | 103 | import moment from "moment"; |
104 | import Meet from "@/pages/Meet/meet.vue"; | 104 | import Meet from "@/pages/Meet/meet.vue"; |
105 | import CoursesSideBar from "@/pages/Common/CoursesSideBar.vue"; | 105 | import CoursesSideBar from "@/pages/Common/CoursesSideBar.vue"; |
106 | export default { | 106 | export default { |
107 | mixins: [AllApiCalls], | 107 | mixins: [AllApiCalls], |
108 | components: { | 108 | components: { |
109 | CoursesSideBar, | 109 | CoursesSideBar, |
110 | }, | 110 | }, |
111 | data() { | 111 | data() { |
112 | return { | 112 | return { |
113 | startLiveSession: "", | 113 | startLiveSession: "", |
114 | studentBtn: "", | 114 | studentBtn: "", |
115 | 115 | ||
116 | // DATA TABLE | 116 | // DATA TABLE |
117 | search: "", | 117 | search: "", |
118 | pagination: { | 118 | pagination: { |
119 | rowsPerPage: 10, | 119 | rowsPerPage: 10, |
120 | }, | 120 | }, |
121 | liveOnlineHeaders: [ | 121 | liveOnlineHeaders: [ |
122 | { | 122 | { |
123 | text: "Playback", | 123 | text: "Playback", |
124 | value: "attachementUrl", | 124 | value: "attachementUrl", |
125 | sortable: false, | 125 | sortable: false, |
126 | align: "center", | 126 | align: "center", |
127 | }, | 127 | }, |
128 | { | 128 | { |
129 | text: "Meeting", | 129 | text: "Meeting", |
130 | align: "center", | 130 | align: "center", |
131 | sortable: false, | 131 | sortable: false, |
132 | value: "", | 132 | value: "", |
133 | }, | 133 | }, |
134 | { | 134 | { |
135 | text: "Recording", | 135 | text: "Recording", |
136 | value: "", | 136 | value: "", |
137 | sortable: false, | 137 | sortable: false, |
138 | align: "center", | 138 | align: "center", |
139 | }, | 139 | }, |
140 | { | 140 | { |
141 | text: "Description Preview", | 141 | text: "Description Preview", |
142 | value: "", | 142 | value: "", |
143 | sortable: false, | 143 | sortable: false, |
144 | align: "center", | 144 | align: "center", |
145 | }, | 145 | }, |
146 | { text: "Date", value: "", sortable: false, align: "center" }, | 146 | { text: "Date", value: "", sortable: false, align: "center" }, |
147 | { text: "Duration", value: "", sortable: false, align: "center" }, | 147 | { text: "Duration", value: "", sortable: false, align: "center" }, |
148 | { text: "Toolbar", value: "", sortable: false, align: "center" }, | 148 | { text: "Toolbar", value: "", sortable: false, align: "center" }, |
149 | ], | 149 | ], |
150 | liveOnlineItems: [], | 150 | liveOnlineItems: [], |
151 | 151 | ||
152 | // JITSI CONTAINER | 152 | // JITSI CONTAINER |
153 | liveLink: "", | 153 | liveLink: "", |
154 | token: "", | 154 | token: "", |
155 | selectStudents: {}, | 155 | selectStudents: {}, |
156 | classRules: [(v) => !!v || " Class Name is required"], | 156 | classRules: [(v) => !!v || " Class Name is required"], |
157 | sectionRules: [(v) => !!v || " Section Name is required"], | 157 | sectionRules: [(v) => !!v || " Section Name is required"], |
158 | addclass: [], | 158 | addclass: [], |
159 | addSection: [], | 159 | addSection: [], |
160 | loading: false, | 160 | loading: false, |
161 | room: "", | 161 | room: "", |
162 | username: "", | 162 | username: "", |
163 | roomPassword: "", | 163 | roomPassword: "", |
164 | // counter: 0, | 164 | // counter: 0, |
165 | appLink: "", | 165 | appLink: "", |
166 | showStartSessionButton: true, | 166 | showStartSessionButton: true, |
167 | showJoinSessionButton: true, | 167 | showJoinSessionButton: true, |
168 | courseAttendanceId: {}, | ||
168 | }; | 169 | }; |
169 | }, | 170 | }, |
170 | methods: { | 171 | methods: { |
171 | async startChat() { | 172 | async startChat() { |
172 | if (this.$store.state.role === "PARENT") { | 173 | if (this.$store.state.role === "PARENT") { |
173 | // if (this.counter == 0) { | 174 | // if (this.counter == 0) { |
174 | // console.log("enter start chat"); | 175 | // console.log("enter start chat"); |
175 | const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); | 176 | const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); |
176 | if (isMobile) { | 177 | if (isMobile) { |
177 | window.open(this.appLink); | 178 | window.open(this.appLink); |
178 | this.showLoader = false; | 179 | this.showLoader = false; |
179 | } else { | 180 | } else { |
180 | this.startConference(); | 181 | this.startConference(); |
181 | this.createAttendence(); | 182 | this.createAttendence(); |
182 | // this.counter += 1; | 183 | // this.counter += 1; |
183 | this.showJoinSessionButton = false; | 184 | this.showJoinSessionButton = false; |
184 | } | 185 | } |
185 | // } | 186 | // } |
186 | } | 187 | } |
187 | if (this.$store.state.role === "TEACHER") { | 188 | if (this.$store.state.role === "TEACHER") { |
188 | // if (this.counter == 0) { | 189 | // if (this.counter == 0) { |
189 | this.createRoom(); | 190 | this.createRoom(); |
190 | // this.counter += 1; | 191 | // this.counter += 1; |
191 | // } | 192 | // } |
192 | } | 193 | } |
193 | }, | 194 | }, |
194 | // JITSI CONTAINER | 195 | // JITSI CONTAINER |
195 | startConference() { | 196 | startConference() { |
196 | // console.log("yes session started"); | 197 | // console.log("yes session started"); |
197 | var _this = this; | 198 | var _this = this; |
198 | try { | 199 | try { |
199 | const domain = "meet.intrack.in"; | 200 | const domain = "meet.intrack.in"; |
200 | const options = { | 201 | const options = { |
201 | audioInput: "<deviceLabel>", | 202 | audioInput: "<deviceLabel>", |
202 | audioOutput: "<deviceLabel>", | 203 | audioOutput: "<deviceLabel>", |
203 | videoInput: "<deviceLabel>", | 204 | videoInput: "<deviceLabel>", |
204 | prejoinPageEnabled: false, | 205 | prejoinPageEnabled: false, |
205 | roomName: this.room, | 206 | roomName: this.room, |
206 | height: 500, | 207 | height: 500, |
207 | parentNode: document.getElementById("jitsi-container"), | 208 | parentNode: document.getElementById("jitsi-container"), |
208 | interfaceConfigOverwrite: { | 209 | interfaceConfigOverwrite: { |
209 | filmStripOnly: false, | 210 | filmStripOnly: false, |
210 | SHOW_PROMOTIONAL_CLOSE_PAGE: false, | 211 | SHOW_PROMOTIONAL_CLOSE_PAGE: false, |
211 | SHOW_POWERED_BY: false, | 212 | SHOW_POWERED_BY: false, |
212 | SHOW_JITSI_WATERMARK: false, | 213 | SHOW_JITSI_WATERMARK: false, |
213 | TOOLBAR_BUTTONS: [ | 214 | TOOLBAR_BUTTONS: [ |
214 | "microphone", | 215 | "microphone", |
215 | "camera", | 216 | "camera", |
216 | "closedcaptions", | 217 | "closedcaptions", |
217 | "desktop", | 218 | "desktop", |
218 | "fullscreen", | 219 | "fullscreen", |
219 | "fodeviceselection", | 220 | "fodeviceselection", |
220 | "hangup", | 221 | "hangup", |
221 | "profile", | 222 | "profile", |
222 | "info", | 223 | "info", |
223 | "chat", | 224 | "chat", |
224 | "recording", | 225 | "recording", |
225 | "livestreaming", | 226 | "livestreaming", |
226 | "etherpad", | 227 | "etherpad", |
227 | "sharedvideo", | 228 | "sharedvideo", |
228 | "settings", | 229 | "settings", |
229 | "raisehand", | 230 | "raisehand", |
230 | "videoquality", | 231 | "videoquality", |
231 | "filmstrip", | 232 | "filmstrip", |
232 | "invite", | 233 | "invite", |
233 | "feedback", | 234 | "feedback", |
234 | "stats", | 235 | "stats", |
235 | "shortcuts", | 236 | "shortcuts", |
236 | "tileview", | 237 | "tileview", |
237 | ], | 238 | ], |
238 | }, | 239 | }, |
239 | configOverwrite: { | 240 | configOverwrite: { |
240 | disableSimulcast: false, | 241 | disableSimulcast: false, |
241 | }, | 242 | }, |
242 | teacherName: "", | 243 | teacherName: "", |
243 | room: "", | 244 | room: "", |
244 | }; | 245 | }; |
245 | _this.api = new JitsiMeetExternalAPI(domain, options); | 246 | _this.api = new JitsiMeetExternalAPI(domain, options); |
246 | // console.log("this.api ", this.api); | 247 | // console.log("this.api ", this.api); |
247 | _this.api.addEventListener("videoConferenceJoined", () => { | 248 | _this.api.addEventListener("videoConferenceJoined", () => { |
248 | this.showLoader = false; | 249 | this.showLoader = false; |
249 | setTimeout(() => { | 250 | setTimeout(() => { |
250 | _this.api.executeCommand("displayName", _this.username); | 251 | _this.api.executeCommand("displayName", _this.username); |
251 | _this.api.executeCommand("password", _this.roomPassword); | 252 | _this.api.executeCommand("password", _this.roomPassword); |
252 | }, 1000); | 253 | }, 1000); |
253 | }); | 254 | }); |
254 | 255 | ||
255 | _this.api.on("passwordRequired", () => { | 256 | _this.api.on("passwordRequired", () => { |
256 | _this.api.executeCommand("password", _this.roomPassword); | 257 | _this.api.executeCommand("password", _this.roomPassword); |
257 | }); | 258 | }); |
258 | 259 | ||
259 | _this.api.on("readyToClose", () => { | 260 | _this.api.on("readyToClose", () => { |
260 | // this.$router.push({ name: "Refresh" }); | 261 | // this.$router.push({ name: "Refresh" }); |
261 | let jitsi = document.getElementById("jitsi-container"); | 262 | let jitsi = document.getElementById("jitsi-container"); |
262 | jitsi.innerHTML = ""; | 263 | jitsi.innerHTML = ""; |
263 | this.showStartSessionButton = true; | 264 | this.showStartSessionButton = true; |
264 | this.showJoinSessionButton = true; | 265 | this.showJoinSessionButton = true; |
265 | if (this.$store.state.role === "TEACHER") { | 266 | if (this.$store.state.role === "TEACHER") { |
266 | this.updateLiveClass(); | 267 | this.updateLiveClass(); |
267 | } | 268 | } |
268 | }); | 269 | }); |
269 | } catch (error) { | 270 | } catch (error) { |
270 | // console.error("Failed to load Jitsi API", error); | 271 | // console.error("Failed to load Jitsi API", error); |
271 | } | 272 | } |
272 | }, | 273 | }, |
273 | openRoom() { | 274 | openRoom() { |
274 | // verify the JitsiMeetExternalAPI constructor is added to the global.. | 275 | // verify the JitsiMeetExternalAPI constructor is added to the global.. |
275 | // if (this.teacherName != "" || this.room != "") { | 276 | // if (this.teacherName != "" || this.room != "") { |
276 | // if (window.JitsiMeetExternalAPI) { | 277 | // if (window.JitsiMeetExternalAPI) { |
277 | // // var person = prompt("Please enter your name:", "Rabie"); | 278 | // // var person = prompt("Please enter your name:", "Rabie"); |
278 | // if (person != null || person != "") this.username = this.teacherName; | 279 | // if (person != null || person != "") this.username = this.teacherName; |
279 | // var room = prompt("Please enter your room:", "Test Room"); | 280 | // var room = prompt("Please enter your room:", "Test Room"); |
280 | // if (room != null || room != "") this.room = this.room; | 281 | // if (room != null || room != "") this.room = this.room; |
281 | // this.startConference(); | 282 | // this.startConference(); |
282 | // } else alert("Jitsi Meet API script not loaded"); | 283 | // } else alert("Jitsi Meet API script not loaded"); |
283 | // } | 284 | // } |
284 | }, | 285 | }, |
285 | 286 | ||
286 | createRoom(classId) { | 287 | createRoom(classId) { |
287 | // this.showLoader = true; | 288 | // this.showLoader = true; |
288 | var classId = { | 289 | var classId = { |
289 | classId: classId, | 290 | classId: classId, |
290 | }; | 291 | }; |
291 | http() | 292 | http() |
292 | .post("/createLiveClasses", { | 293 | .post("/createLiveClasses", { |
293 | classId: this.$route.query.classId, | 294 | classId: this.$route.query.classId, |
294 | courseId: this.$route.query.courseId, | 295 | courseId: this.$route.query.courseId, |
295 | chapterId: this.$route.query.chapterId, | 296 | chapterId: this.$route.query.chapterId, |
296 | }) | 297 | }) |
297 | .then((response) => { | 298 | .then((response) => { |
298 | // this.addSection = response.data.data; | 299 | // this.addSection = response.data.data; |
299 | // console.log("CREATE___ROOOM", response.data); | 300 | // console.log("CREATE___ROOOM", response.data); |
300 | var room = response.data.data.roomName; | 301 | var room = response.data.data.roomName; |
301 | var username = localStorage.getItem("teacherName"); | 302 | var username = localStorage.getItem("teacherName"); |
302 | var roomPassword = response.data.data.password; | 303 | var roomPassword = response.data.data.password; |
303 | this.appLink = response.data.data.appLink; | 304 | this.appLink = response.data.data.appLink; |
304 | this.liveClassId = response.data.data._id; | 305 | this.liveClassId = response.data.data._id; |
305 | // console.log( | 306 | // console.log( |
306 | // "room", | 307 | // "room", |
307 | // room, | 308 | // room, |
308 | // "username", | 309 | // "username", |
309 | // username, | 310 | // username, |
310 | // "roomPassword", | 311 | // "roomPassword", |
311 | // roomPassword | 312 | // roomPassword |
312 | // ); | 313 | // ); |
313 | var this_ = this; | 314 | var this_ = this; |
314 | if (username != "" || room != "") { | 315 | if (username != "" || room != "") { |
315 | const isMobile = /iPhone|iPad|iPod|Android/i.test( | 316 | const isMobile = /iPhone|iPad|iPod|Android/i.test( |
316 | navigator.userAgent | 317 | navigator.userAgent |
317 | ); | 318 | ); |
318 | if (isMobile) { | 319 | if (isMobile) { |
319 | // console.log("==TEACHER=appLink==", this.appLink); | 320 | // console.log("==TEACHER=appLink==", this.appLink); |
320 | window.open(this.appLink); | 321 | window.open(this.appLink); |
321 | this.showLoader = false; | 322 | this.showLoader = false; |
322 | this.showStartSessionButton = false; | 323 | this.showStartSessionButton = false; |
323 | } else { | 324 | } else { |
324 | if (window.JitsiMeetExternalAPI) { | 325 | if (window.JitsiMeetExternalAPI) { |
325 | // var person = prompt("Please enter your name:", "Rabie"); | 326 | // var person = prompt("Please enter your name:", "Rabie"); |
326 | if (username != null || username != "") { | 327 | if (username != null || username != "") { |
327 | this_.username = username; | 328 | this_.username = username; |
328 | } | 329 | } |
329 | // var room = prompt("Please enter your room:", "Test Room"); | 330 | // var room = prompt("Please enter your room:", "Test Room"); |
330 | if (room != null || room != "") { | 331 | if (room != null || room != "") { |
331 | this_.room = room; | 332 | this_.room = room; |
332 | } | 333 | } |
333 | if (roomPassword != null || roomPassword != "") { | 334 | if (roomPassword != null || roomPassword != "") { |
334 | this_.roomPassword = roomPassword; | 335 | this_.roomPassword = roomPassword; |
335 | } | 336 | } |
336 | } else alert("Jitsi Meet API script not loaded"); | 337 | } else alert("Jitsi Meet API script not loaded"); |
337 | this_.startConference(); | 338 | this_.startConference(); |
338 | this.showStartSessionButton = false; | 339 | this.showStartSessionButton = false; |
339 | } | 340 | } |
340 | } | 341 | } |
341 | }) | 342 | }) |
342 | .catch((err) => { | 343 | .catch((err) => { |
343 | this.showLoader = false; | 344 | this.showLoader = false; |
344 | }); | 345 | }); |
345 | }, | 346 | }, |
346 | formatAMPM(date) { | 347 | formatAMPM(date) { |
347 | var hours = date.getHours(); | 348 | var hours = date.getHours(); |
348 | var minutes = date.getMinutes(); | 349 | var minutes = date.getMinutes(); |
349 | var ampm = hours >= 12 ? "pm" : "am"; | 350 | var ampm = hours >= 12 ? "pm" : "am"; |
350 | hours = hours % 12; | 351 | hours = hours % 12; |
351 | hours = hours ? hours : 12; // the hour '0' should be '12' | 352 | hours = hours ? hours : 12; // the hour '0' should be '12' |
352 | minutes = minutes < 10 ? "0" + minutes : minutes; | 353 | minutes = minutes < 10 ? "0" + minutes : minutes; |
353 | var strTime = hours + ":" + minutes + " " + ampm; | 354 | var strTime = hours + ":" + minutes + " " + ampm; |
354 | return strTime; | 355 | return strTime; |
355 | }, | 356 | }, |
356 | createAttendence() { | 357 | createAttendence() { |
357 | let studentId = localStorage.getItem("parentStudentId"); | 358 | let studentId = localStorage.getItem("parentStudentId"); |
358 | let todayDate = new Date(); | 359 | let todayDate = new Date(); |
359 | var attendenceData = { | 360 | var attendenceData = { |
360 | classId: this.$route.query.classId, | 361 | classId: this.$route.query.classId, |
361 | studentId: studentId, | 362 | studentId: studentId, |
362 | date: new Date().toISOString().substr(0, 10), | 363 | date: new Date().toISOString().substr(0, 10), |
363 | studentAttendance: [ | 364 | studentAttendance: [ |
364 | { | 365 | { |
365 | courseId: this.$route.query.courseId, | 366 | courseId: this.$route.query.courseId, |
366 | chapterId: this.$route.query.chapterId, | 367 | chapterId: this.$route.query.chapterId, |
367 | liveClassId: this.attendenceLiveClassId, | 368 | liveClassId: this.attendenceLiveClassId, |
368 | startTime: this.formatAMPM(new Date()), | 369 | startTime: this.formatAMPM(new Date()), |
369 | }, | 370 | }, |
370 | ], | 371 | ], |
371 | }; | 372 | }; |
372 | this.loading = true; | 373 | this.loading = true; |
373 | http() | 374 | http() |
374 | .post("/createCourseAttendance", attendenceData) | 375 | .post("/createCourseAttendance", attendenceData) |
375 | .then((response) => { | 376 | .then((response) => { |
377 | this.courseAttendanceId = response.data.data._id; | ||
378 | this.updateCourseAttendance(); | ||
376 | this.loading = false; | 379 | this.loading = false; |
377 | // this.snackbar = true; | 380 | // this.snackbar = true; |
378 | // this.color = "green"; | 381 | // this.color = "green"; |
379 | }) | 382 | }) |
380 | .catch((err) => { | 383 | .catch((err) => { |
381 | this.loading = false; | 384 | this.loading = false; |
382 | this.snackbar = true; | 385 | this.snackbar = true; |
383 | this.color = "error"; | 386 | this.color = "error"; |
384 | }); | 387 | }); |
385 | }, | 388 | }, |
386 | updateLiveClass() { | 389 | updateLiveClass() { |
387 | this.showLoader = true; | 390 | this.showLoader = true; |
388 | var payloadData = { | 391 | var payloadData = { |
389 | liveClassesId: this.liveClassId, | 392 | liveClassesId: this.liveClassId, |
390 | }; | 393 | }; |
391 | http() | 394 | http() |
392 | .put("/updateLiveClasses", payloadData) | 395 | .put("/updateLiveClasses", payloadData) |
393 | .then((response) => { | 396 | .then((response) => { |
394 | this.showLoader = false; | 397 | this.showLoader = false; |
395 | }) | 398 | }) |
396 | .catch((error) => { | 399 | .catch((error) => { |
397 | this.showLoader = false; | 400 | this.showLoader = false; |
398 | }); | 401 | }); |
399 | }, | 402 | }, |
403 | updateCourseAttendance() { | ||
404 | this.showLoader = true; | ||
405 | var payloadData = { | ||
406 | courseAttendanceId: this.courseAttendanceId, | ||
407 | liveClassId: this.attendenceLiveClassId, | ||
408 | endTime: this.formatAMPM(new Date()), | ||
409 | }; | ||
410 | http() | ||
411 | .put("/updateCourseAttendance", payloadData) | ||
412 | .then((response) => { | ||
413 | this.showLoader = false; | ||
414 | }) | ||
415 | .catch((error) => { | ||
416 | this.showLoader = false; | ||
417 | }); | ||
418 | }, | ||
400 | async studentClasses() { | 419 | async studentClasses() { |
401 | this.liveLink = ""; | 420 | this.liveLink = ""; |
402 | this.room = ""; | 421 | this.room = ""; |
403 | this.username = ""; | 422 | this.username = ""; |
404 | this.roomPassword = ""; | 423 | this.roomPassword = ""; |
405 | /* getLiveClassesesList - To up date line under heading*/ | 424 | /* getLiveClassesesList - To up date line under heading*/ |
406 | let response = await this.getLiveClassesesList({ | 425 | let response = await this.getLiveClassesesList({ |
407 | classId: this.$route.query.classId, | 426 | classId: this.$route.query.classId, |
408 | courseId: this.$route.query.courseId, | 427 | courseId: this.$route.query.courseId, |
409 | chapterId: this.$route.query.chapterId, | 428 | chapterId: this.$route.query.chapterId, |
410 | }); | 429 | }); |
411 | // console.log("response getLiveClassesesList- ", response); | 430 | // console.log("response getLiveClassesesList- ", response); |
412 | this.attendenceLiveClassId = response.data.data[0]._id; | 431 | this.attendenceLiveClassId = response.data.data[0]._id; |
413 | 432 | ||
414 | /* CHECK RESPONSE TO ASSIGN MESSAGE INSIDE BUTTON */ | 433 | /* CHECK RESPONSE TO ASSIGN MESSAGE INSIDE BUTTON */ |
415 | if (response.data.data[0].sessionStatus == "ENDED") { | 434 | if (response.data.data[0].sessionStatus == "ENDED") { |
416 | // this.startLiveSession = "Start Session"; | 435 | // this.startLiveSession = "Start Session"; |
417 | this.studentBtn = ""; | 436 | this.studentBtn = ""; |
418 | } | 437 | } |
419 | if (response.data.data[0].sessionStatus == "STARTED") { | 438 | if (response.data.data[0].sessionStatus == "STARTED") { |
420 | // this.startLiveSession = "Join Session"; | 439 | // this.startLiveSession = "Join Session"; |
421 | this.studentBtn = "Join Session"; | 440 | this.studentBtn = "Join Session"; |
422 | } | 441 | } |
423 | if (response.data.data.length == 0) { | 442 | if (response.data.data.length == 0) { |
424 | this.startLiveSession = "Start Session"; | 443 | this.startLiveSession = "Start Session"; |
425 | this.studentBtn = ""; | 444 | this.studentBtn = ""; |
426 | } else { | 445 | } else { |
427 | this.liveLink = response.data.data[0].link; | 446 | this.liveLink = response.data.data[0].link; |
428 | this.appLink = response.data.data[0].appLink; | 447 | this.appLink = response.data.data[0].appLink; |
429 | var room = response.data.data[0].roomName; | 448 | var room = response.data.data[0].roomName; |
430 | var username = this.currentUser; | 449 | var username = this.currentUser; |
431 | var roomPassword = response.data.data[0].password; | 450 | var roomPassword = response.data.data[0].password; |
432 | var this_ = this; | 451 | var this_ = this; |
433 | // console.log(this.room, this.roomPassword, this.username); | 452 | // console.log(this.room, this.roomPassword, this.username); |
434 | 453 | ||
435 | if (username != "" || room != "") { | 454 | if (username != "" || room != "") { |
436 | if (window.JitsiMeetExternalAPI) { | 455 | if (window.JitsiMeetExternalAPI) { |
437 | // var person = prompt("Please enter your name:", "Rabie"); | 456 | // var person = prompt("Please enter your name:", "Rabie"); |
438 | if (username != null || username != "") { | 457 | if (username != null || username != "") { |
439 | this_.username = username; | 458 | this_.username = username; |
440 | } | 459 | } |
441 | if (roomPassword != null || roomPassword != "") { | 460 | if (roomPassword != null || roomPassword != "") { |
442 | this_.roomPassword = roomPassword; | 461 | this_.roomPassword = roomPassword; |
443 | } | 462 | } |
444 | // var room = prompt("Please enter your room:", "Test Room"); | 463 | // var room = prompt("Please enter your room:", "Test Room"); |
445 | if (room != null || room != "") { | 464 | if (room != null || room != "") { |
446 | this_.room = room; | 465 | this_.room = room; |
447 | } | 466 | } |
448 | // this.startConference(); | 467 | // this.startConference(); |
449 | } | 468 | } |
450 | } | 469 | } |
451 | } | 470 | } |
452 | }, | 471 | }, |
453 | }, | 472 | }, |
454 | 473 | ||
455 | async created() { | 474 | async created() { |
456 | // console.log( | 475 | // console.log( |
457 | // "this.$store.state.studentsData", | 476 | // "this.$store.state.studentsData", |
458 | // this.$store.state.studentsData[0].name | 477 | // this.$store.state.studentsData[0].name |
459 | // ); | 478 | // ); |
460 | this.currentUser = localStorage.getItem("studentName"); | 479 | this.currentUser = localStorage.getItem("studentName"); |
461 | this.token = this.$store.state.token; | 480 | this.token = this.$store.state.token; |
462 | if (this.$store.state.role === "PARENT") { | 481 | if (this.$store.state.role === "PARENT") { |
463 | await this.studentClasses(); | 482 | await this.studentClasses(); |
464 | } | 483 | } |
465 | 484 | ||
466 | /* getStudentCourses - to get courseData - defined in GetApis.js*/ | 485 | /* getStudentCourses - to get courseData - defined in GetApis.js*/ |
467 | if (this.$store.state.role === "PARENT") { | 486 | if (this.$store.state.role === "PARENT") { |
468 | await this.getStudentCourses({ | 487 | await this.getStudentCourses({ |
469 | classId: localStorage.getItem("parentClassId"), | 488 | classId: localStorage.getItem("parentClassId"), |
470 | studentId: localStorage.getItem("parentStudentId"), | 489 | studentId: localStorage.getItem("parentStudentId"), |
471 | }); | 490 | }); |
472 | } | 491 | } |
473 | }, | 492 | }, |
474 | }; | 493 | }; |
475 | </script> | 494 | </script> |
476 | <style scoped> | 495 | <style scoped> |
477 | .side-bar-color { | 496 | .side-bar-color { |
478 | color: #827bfa !important; | 497 | color: #827bfa !important; |
479 | /* border-top-right-radius: 74px !important; */ | 498 | /* border-top-right-radius: 74px !important; */ |
480 | } | 499 | } |
481 | .card-border { | 500 | .card-border { |
482 | border: 1px #bdbdbd solid; | 501 | border: 1px #bdbdbd solid; |
483 | border-radius: 3px; | 502 | border-radius: 3px; |
484 | } | 503 | } |
485 | .reply-desc { | 504 | .reply-desc { |
486 | border: 1px solid #f2f2f2; | 505 | border: 1px solid #f2f2f2; |
487 | } | 506 | } |
488 | .open-dialog-button { | 507 | .open-dialog-button { |
489 | background: #827bfa !important; | 508 | background: #827bfa !important; |
490 | border-color: #827bfa !important; | 509 | border-color: #827bfa !important; |
491 | text-transform: none !important; | 510 | text-transform: none !important; |
492 | } | 511 | } |
493 | 512 | ||
494 | .reply-btn { | 513 | .reply-btn { |
495 | background: #feb83c !important; | 514 | background: #feb83c !important; |
496 | border-color: #feb83c !important; | 515 | border-color: #feb83c !important; |
497 | text-transform: none !important; | 516 | text-transform: none !important; |
498 | -webkit-box-shadow: none !important; | 517 | -webkit-box-shadow: none !important; |
499 | box-shadow: none !important; | 518 | box-shadow: none !important; |
500 | } | 519 | } |
501 | #jitsi-container { | 520 | #jitsi-container { |
502 | height: 100vh; | 521 | height: 100vh; |
503 | } | 522 | } |
504 | </style> | 523 | </style> |
src/router/paths.js
1 | export default [{ | 1 | export default [{ |
2 | path: '*', | 2 | path: '*', |
3 | meta: { | 3 | meta: { |
4 | public: true, | 4 | public: true, |
5 | }, | 5 | }, |
6 | redirect: { | 6 | redirect: { |
7 | path: '/404' | 7 | path: '/404' |
8 | } | 8 | } |
9 | }, | 9 | }, |
10 | { | 10 | { |
11 | path: '/404', | 11 | path: '/404', |
12 | meta: { | 12 | meta: { |
13 | public: true, | 13 | public: true, |
14 | }, | 14 | }, |
15 | name: 'NotFound', | 15 | name: 'NotFound', |
16 | component: () => | 16 | component: () => |
17 | import( | 17 | import( |
18 | /* webpackChunkName: "routes" */ | 18 | /* webpackChunkName: "routes" */ |
19 | /* webpackMode: "lazy-once" */ | 19 | /* webpackMode: "lazy-once" */ |
20 | `@/pages/NotFound/NotFound.vue` | 20 | `@/pages/NotFound/NotFound.vue` |
21 | ) | 21 | ) |
22 | }, | 22 | }, |
23 | { | 23 | { |
24 | path: '*', | 24 | path: '*', |
25 | meta: {}, | 25 | meta: {}, |
26 | name: 'dashboardAdmin', | 26 | name: 'dashboardAdmin', |
27 | props: (route) => ({ | 27 | props: (route) => ({ |
28 | type: route.query.type | 28 | type: route.query.type |
29 | }), | 29 | }), |
30 | component: () => | 30 | component: () => |
31 | import( | 31 | import( |
32 | /* webpackChunkName: "routes" */ | 32 | /* webpackChunkName: "routes" */ |
33 | /* webpackMode: "lazy-once" */ | 33 | /* webpackMode: "lazy-once" */ |
34 | `@/pages/Dashboard/dashboard.vue` | 34 | `@/pages/Dashboard/dashboard.vue` |
35 | ) | 35 | ) |
36 | }, | 36 | }, |
37 | { | 37 | { |
38 | path: '/500', | 38 | path: '/500', |
39 | meta: { | 39 | meta: { |
40 | public: true, | 40 | public: true, |
41 | }, | 41 | }, |
42 | name: 'ServerError', | 42 | name: 'ServerError', |
43 | component: () => | 43 | component: () => |
44 | import( | 44 | import( |
45 | /* webpackChunkName: "routes" */ | 45 | /* webpackChunkName: "routes" */ |
46 | /* webpackMode: "lazy-once" */ | 46 | /* webpackMode: "lazy-once" */ |
47 | `@/pages/NotFound/Error.vue` | 47 | `@/pages/NotFound/Error.vue` |
48 | ) | 48 | ) |
49 | }, | 49 | }, |
50 | { | 50 | { |
51 | path: '/Refresh', | 51 | path: '/Refresh', |
52 | meta: { | 52 | meta: { |
53 | public: true, | 53 | public: true, |
54 | }, | 54 | }, |
55 | name: 'Refresh', | 55 | name: 'Refresh', |
56 | component: () => | 56 | component: () => |
57 | import( | 57 | import( |
58 | /* webpackChunkName: "routes" */ | 58 | /* webpackChunkName: "routes" */ |
59 | /* webpackMode: "lazy-once" */ | 59 | /* webpackMode: "lazy-once" */ |
60 | `@/pages/Common/Refresh.vue` | 60 | `@/pages/Common/Refresh.vue` |
61 | ) | 61 | ) |
62 | }, | 62 | }, |
63 | { | 63 | { |
64 | path: '/changepassword', | 64 | path: '/changepassword', |
65 | meta: {}, | 65 | meta: {}, |
66 | name: 'changepassword', | 66 | name: 'changepassword', |
67 | props: (route) => ({ | 67 | props: (route) => ({ |
68 | type: route.query.type | 68 | type: route.query.type |
69 | }), | 69 | }), |
70 | component: () => | 70 | component: () => |
71 | import( | 71 | import( |
72 | /* webpackChunkName: "routes" */ | 72 | /* webpackChunkName: "routes" */ |
73 | /* webpackMode: "lazy-once" */ | 73 | /* webpackMode: "lazy-once" */ |
74 | `@/pages/Authentication/changepassword.vue` | 74 | `@/pages/Authentication/changepassword.vue` |
75 | ) | 75 | ) |
76 | }, | 76 | }, |
77 | { | 77 | { |
78 | path: '/teachers', | 78 | path: '/teachers', |
79 | meta: { | 79 | meta: { |
80 | breadcrumb: false | 80 | breadcrumb: false |
81 | }, | 81 | }, |
82 | name: 'Teachers', | 82 | name: 'Teachers', |
83 | component: () => | 83 | component: () => |
84 | import( | 84 | import( |
85 | /* webpackChunkName: "routes" */ | 85 | /* webpackChunkName: "routes" */ |
86 | /* webpackMode: "lazy-once" */ | 86 | /* webpackMode: "lazy-once" */ |
87 | `@/pages/Teachers/teachers.vue` | 87 | `@/pages/Teachers/teachers.vue` |
88 | ) | 88 | ) |
89 | }, | 89 | }, |
90 | { | 90 | { |
91 | path: '/AssignTeachers', | 91 | path: '/AssignTeachers', |
92 | meta: { | 92 | meta: { |
93 | breadcrumb: false | 93 | breadcrumb: false |
94 | }, | 94 | }, |
95 | name: 'AssignTeachers', | 95 | name: 'AssignTeachers', |
96 | component: () => | 96 | component: () => |
97 | import( | 97 | import( |
98 | /* webpackChunkName: "routes" */ | 98 | /* webpackChunkName: "routes" */ |
99 | /* webpackMode: "lazy-once" */ | 99 | /* webpackMode: "lazy-once" */ |
100 | `@/pages/AssignTeachers.vue` | 100 | `@/pages/AssignTeachers.vue` |
101 | ) | 101 | ) |
102 | }, | 102 | }, |
103 | { | 103 | { |
104 | path: '/', | 104 | path: '/', |
105 | meta: { | 105 | meta: { |
106 | public: true, | 106 | public: true, |
107 | }, | 107 | }, |
108 | name: 'Login', | 108 | name: 'Login', |
109 | component: () => | 109 | component: () => |
110 | import( | 110 | import( |
111 | /* webpackChunkName: "routes" */ | 111 | /* webpackChunkName: "routes" */ |
112 | /* webpackMode: "lazy-once" */ | 112 | /* webpackMode: "lazy-once" */ |
113 | `@/pages/Authentication/Login.vue` | 113 | `@/pages/Authentication/Login.vue` |
114 | ) | 114 | ) |
115 | }, | 115 | }, |
116 | { | 116 | { |
117 | path: '/forgetpassword', | 117 | path: '/forgetpassword', |
118 | meta: { | 118 | meta: { |
119 | public: true, | 119 | public: true, |
120 | }, | 120 | }, |
121 | name: 'forgetpassword', | 121 | name: 'forgetpassword', |
122 | component: () => | 122 | component: () => |
123 | import( | 123 | import( |
124 | /* webpackChunkName: "routes" */ | 124 | /* webpackChunkName: "routes" */ |
125 | /* webpackMode: "lazy-once" */ | 125 | /* webpackMode: "lazy-once" */ |
126 | `@/pages/Authentication/forgetpassword.vue` | 126 | `@/pages/Authentication/forgetpassword.vue` |
127 | ) | 127 | ) |
128 | }, | 128 | }, |
129 | { | 129 | { |
130 | path: '/students', | 130 | path: '/students', |
131 | meta: {}, | 131 | meta: {}, |
132 | name: 'Students', | 132 | name: 'Students', |
133 | props: (route) => ({ | 133 | props: (route) => ({ |
134 | type: route.query.type | 134 | type: route.query.type |
135 | }), | 135 | }), |
136 | component: () => | 136 | component: () => |
137 | import( | 137 | import( |
138 | /* webpackChunkName: "routes" */ | 138 | /* webpackChunkName: "routes" */ |
139 | /* webpackMode: "lazy-once" */ | 139 | /* webpackMode: "lazy-once" */ |
140 | `@/pages/Students/students.vue` | 140 | `@/pages/Students/students.vue` |
141 | ) | 141 | ) |
142 | }, | 142 | }, |
143 | { | 143 | { |
144 | path: '/class', | 144 | path: '/class', |
145 | meta: {}, | 145 | meta: {}, |
146 | name: 'Class', | 146 | name: 'Class', |
147 | props: (route) => ({ | 147 | props: (route) => ({ |
148 | type: route.query.type | 148 | type: route.query.type |
149 | }), | 149 | }), |
150 | component: () => | 150 | component: () => |
151 | import( | 151 | import( |
152 | /* webpackChunkName: "routes" */ | 152 | /* webpackChunkName: "routes" */ |
153 | /* webpackMode: "lazy-once" */ | 153 | /* webpackMode: "lazy-once" */ |
154 | `@/pages/Class/addclass.vue` | 154 | `@/pages/Class/addclass.vue` |
155 | ) | 155 | ) |
156 | }, | 156 | }, |
157 | { | 157 | { |
158 | path: '/section', | 158 | path: '/section', |
159 | meta: {}, | 159 | meta: {}, |
160 | name: 'Section', | 160 | name: 'Section', |
161 | props: (route) => ({ | 161 | props: (route) => ({ |
162 | type: route.query.type | 162 | type: route.query.type |
163 | }), | 163 | }), |
164 | component: () => | 164 | component: () => |
165 | import( | 165 | import( |
166 | /* webpackChunkName: "routes" */ | 166 | /* webpackChunkName: "routes" */ |
167 | /* webpackMode: "lazy-once" */ | 167 | /* webpackMode: "lazy-once" */ |
168 | `@/pages/Section/section.vue` | 168 | `@/pages/Section/section.vue` |
169 | ) | 169 | ) |
170 | }, | 170 | }, |
171 | { | 171 | { |
172 | path: '/noticeBoard', | 172 | path: '/noticeBoard', |
173 | meta: {}, | 173 | meta: {}, |
174 | name: 'Notice Board', | 174 | name: 'Notice Board', |
175 | props: (route) => ({ | 175 | props: (route) => ({ |
176 | type: route.query.type | 176 | type: route.query.type |
177 | }), | 177 | }), |
178 | component: () => | 178 | component: () => |
179 | import( | 179 | import( |
180 | /* webpackChunkName: "routes" */ | 180 | /* webpackChunkName: "routes" */ |
181 | /* webpackMode: "lazy-once" */ | 181 | /* webpackMode: "lazy-once" */ |
182 | `@/pages/NoticeBoard/noticeBoard.vue` | 182 | `@/pages/NoticeBoard/noticeBoard.vue` |
183 | ) | 183 | ) |
184 | }, | 184 | }, |
185 | { | 185 | { |
186 | path: '/news', | 186 | path: '/news', |
187 | meta: {}, | 187 | meta: {}, |
188 | name: 'News', | 188 | name: 'News', |
189 | props: (route) => ({ | 189 | props: (route) => ({ |
190 | type: route.query.type | 190 | type: route.query.type |
191 | }), | 191 | }), |
192 | component: () => | 192 | component: () => |
193 | import( | 193 | import( |
194 | /* webpackChunkName: "routes" */ | 194 | /* webpackChunkName: "routes" */ |
195 | /* webpackMode: "lazy-once" */ | 195 | /* webpackMode: "lazy-once" */ |
196 | `@/pages/News/news.vue` | 196 | `@/pages/News/news.vue` |
197 | ) | 197 | ) |
198 | }, | 198 | }, |
199 | // { | 199 | // { |
200 | // path: '/reminder', | 200 | // path: '/reminder', |
201 | // meta: { }, | 201 | // meta: { }, |
202 | // name: 'reminder', | 202 | // name: 'reminder', |
203 | // props: (route) => ({ type: route.query.type }), | 203 | // props: (route) => ({ type: route.query.type }), |
204 | // component: () => import( | 204 | // component: () => import( |
205 | // /* webpackChunkName: "routes" */ | 205 | // /* webpackChunkName: "routes" */ |
206 | // /* webpackMode: "lazy-once" */ | 206 | // /* webpackMode: "lazy-once" */ |
207 | // `@/pages/Reminder/reminder.vue` | 207 | // `@/pages/Reminder/reminder.vue` |
208 | // ) | 208 | // ) |
209 | // }, | 209 | // }, |
210 | { | 210 | { |
211 | path: '/timeTable', | 211 | path: '/timeTable', |
212 | meta: {}, | 212 | meta: {}, |
213 | name: 'Time Table', | 213 | name: 'Time Table', |
214 | props: (route) => ({ | 214 | props: (route) => ({ |
215 | type: route.query.type | 215 | type: route.query.type |
216 | }), | 216 | }), |
217 | component: () => | 217 | component: () => |
218 | import( | 218 | import( |
219 | /* webpackChunkName: "routes" */ | 219 | /* webpackChunkName: "routes" */ |
220 | /* webpackMode: "lazy-once" */ | 220 | /* webpackMode: "lazy-once" */ |
221 | `@/pages/TimeTable/timeTable.vue` | 221 | `@/pages/TimeTable/timeTable.vue` |
222 | ) | 222 | ) |
223 | }, | 223 | }, |
224 | { | 224 | { |
225 | path: '/notification', | 225 | path: '/notification', |
226 | meta: {}, | 226 | meta: {}, |
227 | name: 'Notification', | 227 | name: 'Notification', |
228 | props: (route) => ({ | 228 | props: (route) => ({ |
229 | type: route.query.type | 229 | type: route.query.type |
230 | }), | 230 | }), |
231 | component: () => | 231 | component: () => |
232 | import( | 232 | import( |
233 | /* webpackChunkName: "routes" */ | 233 | /* webpackChunkName: "routes" */ |
234 | /* webpackMode: "lazy-once" */ | 234 | /* webpackMode: "lazy-once" */ |
235 | `@/pages/Notification/notification.vue` | 235 | `@/pages/Notification/notification.vue` |
236 | ) | 236 | ) |
237 | }, | 237 | }, |
238 | { | 238 | { |
239 | path: '/parents', | 239 | path: '/parents', |
240 | meta: {}, | 240 | meta: {}, |
241 | name: 'Parents', | 241 | name: 'Parents', |
242 | props: (route) => ({ | 242 | props: (route) => ({ |
243 | type: route.query.type | 243 | type: route.query.type |
244 | }), | 244 | }), |
245 | component: () => | 245 | component: () => |
246 | import( | 246 | import( |
247 | /* webpackChunkName: "routes" */ | 247 | /* webpackChunkName: "routes" */ |
248 | /* webpackMode: "lazy-once" */ | 248 | /* webpackMode: "lazy-once" */ |
249 | `@/pages/Parent/parents.vue` | 249 | `@/pages/Parent/parents.vue` |
250 | ) | 250 | ) |
251 | }, | 251 | }, |
252 | // { | 252 | // { |
253 | // path: '/subject', | 253 | // path: '/subject', |
254 | // meta: {}, | 254 | // meta: {}, |
255 | // name: 'Subject', | 255 | // name: 'Subject', |
256 | // props: (route) => ({ type: route.query.type }), | 256 | // props: (route) => ({ type: route.query.type }), |
257 | // component: () => | 257 | // component: () => |
258 | // import ( | 258 | // import ( |
259 | // /* webpackChunkName: "routes" */ | 259 | // /* webpackChunkName: "routes" */ |
260 | // /* webpackMode: "lazy-once" */ | 260 | // /* webpackMode: "lazy-once" */ |
261 | // `@/pages/Subjects/subjects.vue` | 261 | // `@/pages/Subjects/subjects.vue` |
262 | // ) | 262 | // ) |
263 | // }, | 263 | // }, |
264 | { | 264 | { |
265 | path: '/dashboard', | 265 | path: '/dashboard', |
266 | meta: {}, | 266 | meta: {}, |
267 | name: 'Dashboard', | 267 | name: 'Dashboard', |
268 | props: (route) => ({ | 268 | props: (route) => ({ |
269 | type: route.query.type | 269 | type: route.query.type |
270 | }), | 270 | }), |
271 | component: () => | 271 | component: () => |
272 | import( | 272 | import( |
273 | /* webpackChunkName: "routes" */ | 273 | /* webpackChunkName: "routes" */ |
274 | /* webpackMode: "lazy-once" */ | 274 | /* webpackMode: "lazy-once" */ |
275 | `@/pages/Dashboard/dashboard.vue` | 275 | `@/pages/Dashboard/dashboard.vue` |
276 | ) | 276 | ) |
277 | }, | 277 | }, |
278 | { | 278 | { |
279 | path: '/CourseDetails', | 279 | path: '/CourseDetails', |
280 | meta: {}, | 280 | meta: {}, |
281 | name: 'Course Details', | 281 | name: 'Course Details', |
282 | props: (route) => ({ | 282 | props: (route) => ({ |
283 | type: route.query.type | 283 | type: route.query.type |
284 | }), | 284 | }), |
285 | component: () => | 285 | component: () => |
286 | import( | 286 | import( |
287 | /* webpackChunkName: "routes" */ | 287 | /* webpackChunkName: "routes" */ |
288 | /* webpackMode: "lazy-once" */ | 288 | /* webpackMode: "lazy-once" */ |
289 | `@/pages/Dashboard/CourseDetails.vue` | 289 | `@/pages/Dashboard/CourseDetails.vue` |
290 | ) | 290 | ) |
291 | }, | 291 | }, |
292 | { | 292 | { |
293 | path: '/ChapterInfo', | 293 | path: '/ChapterInfo', |
294 | meta: {}, | 294 | meta: {}, |
295 | name: 'Chapter Info', | 295 | name: 'Chapter Info', |
296 | props: (route) => ({ | 296 | props: (route) => ({ |
297 | type: route.query.type | 297 | type: route.query.type |
298 | }), | 298 | }), |
299 | component: () => | 299 | component: () => |
300 | import( | 300 | import( |
301 | /* webpackChunkName: "routes" */ | 301 | /* webpackChunkName: "routes" */ |
302 | /* webpackMode: "lazy-once" */ | 302 | /* webpackMode: "lazy-once" */ |
303 | `@/pages/Dashboard/ChapterInfo.vue` | 303 | `@/pages/Dashboard/ChapterInfo.vue` |
304 | ) | 304 | ) |
305 | }, | 305 | }, |
306 | { | 306 | { |
307 | path: '/LiveOnlineClass', | 307 | path: '/LiveOnlineClass', |
308 | meta: {}, | 308 | meta: {}, |
309 | name: 'Live Online Class', | 309 | name: 'Live Online Class', |
310 | props: (route) => ({ | 310 | props: (route) => ({ |
311 | type: route.query.type | 311 | type: route.query.type |
312 | }), | 312 | }), |
313 | component: () => | 313 | component: () => |
314 | import( | 314 | import( |
315 | /* webpackChunkName: "routes" */ | 315 | /* webpackChunkName: "routes" */ |
316 | /* webpackMode: "lazy-once" */ | 316 | /* webpackMode: "lazy-once" */ |
317 | `@/pages/Dashboard/LiveOnlineClass.vue` | 317 | `@/pages/Dashboard/LiveOnlineClass.vue` |
318 | ) | 318 | ) |
319 | }, | 319 | }, |
320 | { | 320 | { |
321 | path: '/CourseDiscussionForum', | 321 | path: '/CourseDiscussionForum', |
322 | meta: {}, | 322 | meta: {}, |
323 | name: 'Course Discussion Forum', | 323 | name: 'Course Discussion Forum', |
324 | props: (route) => ({ | 324 | props: (route) => ({ |
325 | type: route.query.type | 325 | type: route.query.type |
326 | }), | 326 | }), |
327 | component: () => | 327 | component: () => |
328 | import( | 328 | import( |
329 | /* webpackChunkName: "routes" */ | 329 | /* webpackChunkName: "routes" */ |
330 | /* webpackMode: "lazy-once" */ | 330 | /* webpackMode: "lazy-once" */ |
331 | `@/pages/Dashboard/CourseDiscussionForum.vue` | 331 | `@/pages/Dashboard/CourseDiscussionForum.vue` |
332 | ) | 332 | ) |
333 | }, | 333 | }, |
334 | { | 334 | { |
335 | path: '/courseDiscussion', | 335 | path: '/courseDiscussion', |
336 | meta: {}, | 336 | meta: {}, |
337 | name: 'Course Discussion', | 337 | name: 'Course Discussion', |
338 | props: (route) => ({ | 338 | props: (route) => ({ |
339 | type: route.query.type | 339 | type: route.query.type |
340 | }), | 340 | }), |
341 | component: () => | 341 | component: () => |
342 | import( | 342 | import( |
343 | /* webpackChunkName: "routes" */ | 343 | /* webpackChunkName: "routes" */ |
344 | /* webpackMode: "lazy-once" */ | 344 | /* webpackMode: "lazy-once" */ |
345 | `@/pages/Course/courseDiscussion.vue` | 345 | `@/pages/Course/courseDiscussion.vue` |
346 | ) | 346 | ) |
347 | }, | 347 | }, |
348 | { | 348 | { |
349 | path: '/courseDiscussionesForm/:discussionId', | 349 | path: '/courseDiscussionesForm/:discussionId', |
350 | meta: {}, | 350 | meta: {}, |
351 | name: 'Course Discussiones Fourm', | 351 | name: 'Course Discussiones Fourm', |
352 | props: (route) => ({ | 352 | props: (route) => ({ |
353 | type: route.query.type | 353 | type: route.query.type |
354 | }), | 354 | }), |
355 | component: () => | 355 | component: () => |
356 | import( | 356 | import( |
357 | /* webpackChunkName: "routes" */ | 357 | /* webpackChunkName: "routes" */ |
358 | /* webpackMode: "lazy-once" */ | 358 | /* webpackMode: "lazy-once" */ |
359 | `@/pages/Course/discussion.vue` | 359 | `@/pages/Course/discussion.vue` |
360 | ) | 360 | ) |
361 | }, | 361 | }, |
362 | { | 362 | { |
363 | path: '/Announcement', | 363 | path: '/Announcement', |
364 | meta: {}, | 364 | meta: {}, |
365 | name: 'Announcement', | 365 | name: 'Announcement', |
366 | props: (route) => ({ | 366 | props: (route) => ({ |
367 | type: route.query.type | 367 | type: route.query.type |
368 | }), | 368 | }), |
369 | component: () => | 369 | component: () => |
370 | import( | 370 | import( |
371 | /* webpackChunkName: "routes" */ | 371 | /* webpackChunkName: "routes" */ |
372 | /* webpackMode: "lazy-once" */ | 372 | /* webpackMode: "lazy-once" */ |
373 | `@/pages/Dashboard/Announcement.vue` | 373 | `@/pages/Dashboard/Announcement.vue` |
374 | ) | 374 | ) |
375 | }, | 375 | }, |
376 | { | 376 | { |
377 | path: '/annoucementForum/:annoucementId', | 377 | path: '/annoucementForum/:annoucementId', |
378 | meta: {}, | 378 | meta: {}, |
379 | name: 'Annoucement Forum', | 379 | name: 'Annoucement Forum', |
380 | props: (route) => ({ | 380 | props: (route) => ({ |
381 | type: route.query.type | 381 | type: route.query.type |
382 | }), | 382 | }), |
383 | component: () => | 383 | component: () => |
384 | import( | 384 | import( |
385 | /* webpackChunkName: "routes" */ | 385 | /* webpackChunkName: "routes" */ |
386 | /* webpackMode: "lazy-once" */ | 386 | /* webpackMode: "lazy-once" */ |
387 | `@/pages/Annoucement/annoucementForum.vue` | 387 | `@/pages/Annoucement/annoucementForum.vue` |
388 | ) | 388 | ) |
389 | }, | 389 | }, |
390 | { | 390 | { |
391 | path: '/socialMedia', | 391 | path: '/socialMedia', |
392 | meta: {}, | 392 | meta: {}, |
393 | name: 'Social Media', | 393 | name: 'Social Media', |
394 | props: (route) => ({ | 394 | props: (route) => ({ |
395 | type: route.query.type | 395 | type: route.query.type |
396 | }), | 396 | }), |
397 | component: () => | 397 | component: () => |
398 | import( | 398 | import( |
399 | /* webpackChunkName: "routes" */ | 399 | /* webpackChunkName: "routes" */ |
400 | /* webpackMode: "lazy-once" */ | 400 | /* webpackMode: "lazy-once" */ |
401 | `@/pages/socialMedia/socialMedia.vue` | 401 | `@/pages/socialMedia/socialMedia.vue` |
402 | ) | 402 | ) |
403 | }, | 403 | }, |
404 | { | 404 | { |
405 | path: '/gallery', | 405 | path: '/gallery', |
406 | meta: {}, | 406 | meta: {}, |
407 | name: 'Gallery', | 407 | name: 'Gallery', |
408 | props: (route) => ({ | 408 | props: (route) => ({ |
409 | type: route.query.type | 409 | type: route.query.type |
410 | }), | 410 | }), |
411 | component: () => | 411 | component: () => |
412 | import( | 412 | import( |
413 | /* webpackChunkName: "routes" */ | 413 | /* webpackChunkName: "routes" */ |
414 | /* webpackMode: "lazy-once" */ | 414 | /* webpackMode: "lazy-once" */ |
415 | `@/pages/Gallery/gallery.vue` | 415 | `@/pages/Gallery/gallery.vue` |
416 | ) | 416 | ) |
417 | }, | 417 | }, |
418 | { | 418 | { |
419 | path: '/event', | 419 | path: '/event', |
420 | meta: {}, | 420 | meta: {}, |
421 | name: 'Event', | 421 | name: 'Event', |
422 | props: (route) => ({ | 422 | props: (route) => ({ |
423 | type: route.query.type | 423 | type: route.query.type |
424 | }), | 424 | }), |
425 | component: () => | 425 | component: () => |
426 | import( | 426 | import( |
427 | /* webpackChunkName: "routes" */ | 427 | /* webpackChunkName: "routes" */ |
428 | /* webpackMode: "lazy-once" */ | 428 | /* webpackMode: "lazy-once" */ |
429 | `@/pages/Event/event.vue` | 429 | `@/pages/Event/event.vue` |
430 | ) | 430 | ) |
431 | }, | 431 | }, |
432 | { | 432 | { |
433 | path: '/holiday', | 433 | path: '/holiday', |
434 | meta: {}, | 434 | meta: {}, |
435 | name: 'Holiday', | 435 | name: 'Holiday', |
436 | props: (route) => ({ | 436 | props: (route) => ({ |
437 | type: route.query.type | 437 | type: route.query.type |
438 | }), | 438 | }), |
439 | component: () => | 439 | component: () => |
440 | import( | 440 | import( |
441 | /* webpackChunkName: "routes" */ | 441 | /* webpackChunkName: "routes" */ |
442 | /* webpackMode: "lazy-once" */ | 442 | /* webpackMode: "lazy-once" */ |
443 | `@/pages/Holiday/holiday.vue` | 443 | `@/pages/Holiday/holiday.vue` |
444 | ) | 444 | ) |
445 | }, | 445 | }, |
446 | { | 446 | { |
447 | path: '/user', | 447 | path: '/user', |
448 | meta: {}, | 448 | meta: {}, |
449 | name: 'User', | 449 | name: 'User', |
450 | props: (route) => ({ | 450 | props: (route) => ({ |
451 | type: route.query.type | 451 | type: route.query.type |
452 | }), | 452 | }), |
453 | component: () => | 453 | component: () => |
454 | import( | 454 | import( |
455 | /* webpackChunkName: "routes" */ | 455 | /* webpackChunkName: "routes" */ |
456 | /* webpackMode: "lazy-once" */ | 456 | /* webpackMode: "lazy-once" */ |
457 | `@/pages/User/user.vue` | 457 | `@/pages/User/user.vue` |
458 | ) | 458 | ) |
459 | }, | 459 | }, |
460 | { | 460 | { |
461 | path: '/AttendenceStudent', | 461 | path: '/AttendenceStudent', |
462 | meta: {}, | 462 | meta: {}, |
463 | name: 'Student Attendence', | 463 | name: 'Student Attendence', |
464 | props: (route) => ({ | 464 | props: (route) => ({ |
465 | type: route.query.type | 465 | type: route.query.type |
466 | }), | 466 | }), |
467 | component: () => | 467 | component: () => |
468 | import( | 468 | import( |
469 | /* webpackChunkName: "routes" */ | 469 | /* webpackChunkName: "routes" */ |
470 | /* webpackMode: "lazy-once" */ | 470 | /* webpackMode: "lazy-once" */ |
471 | `@/pages/Attendence/studentAttendence.vue` | 471 | `@/pages/Attendence/studentAttendence.vue` |
472 | ) | 472 | ) |
473 | }, | 473 | }, |
474 | { | 474 | { |
475 | path: '/AttendenceTeacher', | 475 | path: '/AttendenceTeacher', |
476 | meta: {}, | 476 | meta: {}, |
477 | name: 'Teacher Attendence', | 477 | name: 'Teacher Attendence', |
478 | props: (route) => ({ | 478 | props: (route) => ({ |
479 | type: route.query.type | 479 | type: route.query.type |
480 | }), | 480 | }), |
481 | component: () => | 481 | component: () => |
482 | import( | 482 | import( |
483 | /* webpackChunkName: "routes" */ | 483 | /* webpackChunkName: "routes" */ |
484 | /* webpackMode: "lazy-once" */ | 484 | /* webpackMode: "lazy-once" */ |
485 | `@/pages/Attendence/teacherAttendence.vue` | 485 | `@/pages/Attendence/teacherAttendence.vue` |
486 | ) | 486 | ) |
487 | }, | 487 | }, |
488 | { | 488 | { |
489 | path: '/AttendanceCourse', | ||
490 | meta: {}, | ||
491 | name: 'Course Attendance', | ||
492 | props: (route) => ({ | ||
493 | type: route.query.type | ||
494 | }), | ||
495 | component: () => | ||
496 | import( | ||
497 | /* webpackChunkName: "routes" */ | ||
498 | /* webpackMode: "lazy-once" */ | ||
499 | `@/pages/Attendence/courseAttendance.vue` | ||
500 | ) | ||
501 | }, | ||
502 | { | ||
489 | path: '/salaryTemplate', | 503 | path: '/salaryTemplate', |
490 | meta: {}, | 504 | meta: {}, |
491 | name: 'Salary Template', | 505 | name: 'Salary Template', |
492 | props: (route) => ({ | 506 | props: (route) => ({ |
493 | type: route.query.type | 507 | type: route.query.type |
494 | }), | 508 | }), |
495 | component: () => | 509 | component: () => |
496 | import( | 510 | import( |
497 | `@/pages/Payroll/salaryTemplate.vue` | 511 | `@/pages/Payroll/salaryTemplate.vue` |
498 | ) | 512 | ) |
499 | }, | 513 | }, |
500 | { | 514 | { |
501 | path: '/hourlyTemplate', | 515 | path: '/hourlyTemplate', |
502 | meta: {}, | 516 | meta: {}, |
503 | name: 'Hourly Template', | 517 | name: 'Hourly Template', |
504 | props: (route) => ({ | 518 | props: (route) => ({ |
505 | type: route.query.type | 519 | type: route.query.type |
506 | }), | 520 | }), |
507 | component: () => | 521 | component: () => |
508 | import( | 522 | import( |
509 | `@/pages/Payroll/hourlyTemplate.vue` | 523 | `@/pages/Payroll/hourlyTemplate.vue` |
510 | ) | 524 | ) |
511 | }, | 525 | }, |
512 | { | 526 | { |
513 | path: '/manageSalary', | 527 | path: '/manageSalary', |
514 | meta: {}, | 528 | meta: {}, |
515 | name: 'Manage Salary', | 529 | name: 'Manage Salary', |
516 | props: (route) => ({ | 530 | props: (route) => ({ |
517 | type: route.query.type | 531 | type: route.query.type |
518 | }), | 532 | }), |
519 | component: () => | 533 | component: () => |
520 | import( | 534 | import( |
521 | `@/pages/Payroll/manageSalary.vue` | 535 | `@/pages/Payroll/manageSalary.vue` |
522 | ) | 536 | ) |
523 | }, | 537 | }, |
524 | // { | 538 | // { |
525 | // path: '/makePayment', | 539 | // path: '/makePayment', |
526 | // meta: {}, | 540 | // meta: {}, |
527 | // name: 'Make Payment', | 541 | // name: 'Make Payment', |
528 | // props: (route) => ({ type: route.query.type }), | 542 | // props: (route) => ({ type: route.query.type }), |
529 | // component: () => | 543 | // component: () => |
530 | // import ( | 544 | // import ( |
531 | // `@/pages/Payroll/makePayment.vue` | 545 | // `@/pages/Payroll/makePayment.vue` |
532 | // ) | 546 | // ) |
533 | // }, | 547 | // }, |
534 | { | 548 | { |
535 | path: '/AttendenceUser', | 549 | path: '/AttendenceUser', |
536 | meta: {}, | 550 | meta: {}, |
537 | name: 'User Attendence', | 551 | name: 'User Attendence', |
538 | props: (route) => ({ | 552 | props: (route) => ({ |
539 | type: route.query.type | 553 | type: route.query.type |
540 | }), | 554 | }), |
541 | component: () => | 555 | component: () => |
542 | import( | 556 | import( |
543 | /* webpackChunkName: "routes" */ | 557 | /* webpackChunkName: "routes" */ |
544 | /* webpackMode: "lazy-once" */ | 558 | /* webpackMode: "lazy-once" */ |
545 | `@/pages/Attendence/userAttendence.vue` | 559 | `@/pages/Attendence/userAttendence.vue` |
546 | ) | 560 | ) |
547 | }, | 561 | }, |
548 | { | 562 | { |
549 | path: '/feeTypes', | 563 | path: '/feeTypes', |
550 | meta: {}, | 564 | meta: {}, |
551 | name: 'Fee Types', | 565 | name: 'Fee Types', |
552 | props: (route) => ({ | 566 | props: (route) => ({ |
553 | type: route.query.type | 567 | type: route.query.type |
554 | }), | 568 | }), |
555 | component: () => | 569 | component: () => |
556 | import( | 570 | import( |
557 | /* webpackChunkName: "routes" */ | 571 | /* webpackChunkName: "routes" */ |
558 | /* webpackMode: "lazy-once" */ | 572 | /* webpackMode: "lazy-once" */ |
559 | `@/pages/Account/feeTypes.vue` | 573 | `@/pages/Account/feeTypes.vue` |
560 | ) | 574 | ) |
561 | }, | 575 | }, |
562 | { | 576 | { |
563 | path: '/invoice', | 577 | path: '/invoice', |
564 | meta: {}, | 578 | meta: {}, |
565 | name: 'Invoice', | 579 | name: 'Invoice', |
566 | props: (route) => ({ | 580 | props: (route) => ({ |
567 | type: route.query.type | 581 | type: route.query.type |
568 | }), | 582 | }), |
569 | component: () => | 583 | component: () => |
570 | import( | 584 | import( |
571 | /* webpackChunkName: "routes" */ | 585 | /* webpackChunkName: "routes" */ |
572 | /* webpackMode: "lazy-once" */ | 586 | /* webpackMode: "lazy-once" */ |
573 | `@/pages/Account/invoice.vue` | 587 | `@/pages/Account/invoice.vue` |
574 | ) | 588 | ) |
575 | }, | 589 | }, |
576 | { | 590 | { |
577 | path: '/paymentHistory', | 591 | path: '/paymentHistory', |
578 | meta: {}, | 592 | meta: {}, |
579 | name: 'Payment History', | 593 | name: 'Payment History', |
580 | props: (route) => ({ | 594 | props: (route) => ({ |
581 | type: route.query.type | 595 | type: route.query.type |
582 | }), | 596 | }), |
583 | component: () => | 597 | component: () => |
584 | import( | 598 | import( |
585 | /* webpackChunkName: "routes" */ | 599 | /* webpackChunkName: "routes" */ |
586 | /* webpackMode: "lazy-once" */ | 600 | /* webpackMode: "lazy-once" */ |
587 | `@/pages/Account/paymentHistory.vue` | 601 | `@/pages/Account/paymentHistory.vue` |
588 | ) | 602 | ) |
589 | }, | 603 | }, |
590 | { | 604 | { |
591 | path: '/expense', | 605 | path: '/expense', |
592 | meta: {}, | 606 | meta: {}, |
593 | name: 'Expense', | 607 | name: 'Expense', |
594 | props: (route) => ({ | 608 | props: (route) => ({ |
595 | type: route.query.type | 609 | type: route.query.type |
596 | }), | 610 | }), |
597 | component: () => | 611 | component: () => |
598 | import( | 612 | import( |
599 | /* webpackChunkName: "routes" */ | 613 | /* webpackChunkName: "routes" */ |
600 | /* webpackMode: "lazy-once" */ | 614 | /* webpackMode: "lazy-once" */ |
601 | `@/pages/Account/expense.vue` | 615 | `@/pages/Account/expense.vue` |
602 | ) | 616 | ) |
603 | }, | 617 | }, |
604 | { | 618 | { |
605 | path: '/income', | 619 | path: '/income', |
606 | meta: {}, | 620 | meta: {}, |
607 | name: 'Income', | 621 | name: 'Income', |
608 | props: (route) => ({ | 622 | props: (route) => ({ |
609 | type: route.query.type | 623 | type: route.query.type |
610 | }), | 624 | }), |
611 | component: () => | 625 | component: () => |
612 | import( | 626 | import( |
613 | /* webpackChunkName: "routes" */ | 627 | /* webpackChunkName: "routes" */ |
614 | /* webpackMode: "lazy-once" */ | 628 | /* webpackMode: "lazy-once" */ |
615 | `@/pages/Account/income.vue` | 629 | `@/pages/Account/income.vue` |
616 | ) | 630 | ) |
617 | }, | 631 | }, |
618 | { | 632 | { |
619 | path: '/libraryMember', | 633 | path: '/libraryMember', |
620 | meta: {}, | 634 | meta: {}, |
621 | name: 'Library Member', | 635 | name: 'Library Member', |
622 | props: (route) => ({ | 636 | props: (route) => ({ |
623 | type: route.query.type | 637 | type: route.query.type |
624 | }), | 638 | }), |
625 | component: () => | 639 | component: () => |
626 | import( | 640 | import( |
627 | /* webpackChunkName: "routes" */ | 641 | /* webpackChunkName: "routes" */ |
628 | /* webpackMode: "lazy-once" */ | 642 | /* webpackMode: "lazy-once" */ |
629 | `@/pages/Library/member.vue` | 643 | `@/pages/Library/member.vue` |
630 | ) | 644 | ) |
631 | }, | 645 | }, |
632 | { | 646 | { |
633 | path: '/books', | 647 | path: '/books', |
634 | meta: {}, | 648 | meta: {}, |
635 | name: 'Books', | 649 | name: 'Books', |
636 | props: (route) => ({ | 650 | props: (route) => ({ |
637 | type: route.query.type | 651 | type: route.query.type |
638 | }), | 652 | }), |
639 | component: () => | 653 | component: () => |
640 | import( | 654 | import( |
641 | /* webpackChunkName: "routes" */ | 655 | /* webpackChunkName: "routes" */ |
642 | /* webpackMode: "lazy-once" */ | 656 | /* webpackMode: "lazy-once" */ |
643 | `@/pages/Library/books.vue` | 657 | `@/pages/Library/books.vue` |
644 | ) | 658 | ) |
645 | }, | 659 | }, |
646 | { | 660 | { |
647 | path: '/issue', | 661 | path: '/issue', |
648 | meta: {}, | 662 | meta: {}, |
649 | name: 'Issue', | 663 | name: 'Issue', |
650 | props: (route) => ({ | 664 | props: (route) => ({ |
651 | type: route.query.type | 665 | type: route.query.type |
652 | }), | 666 | }), |
653 | component: () => | 667 | component: () => |
654 | import( | 668 | import( |
655 | /* webpackChunkName: "routes" */ | 669 | /* webpackChunkName: "routes" */ |
656 | /* webpackMode: "lazy-once" */ | 670 | /* webpackMode: "lazy-once" */ |
657 | `@/pages/Library/issue.vue` | 671 | `@/pages/Library/issue.vue` |
658 | ) | 672 | ) |
659 | }, | 673 | }, |
660 | { | 674 | { |
661 | path: '/e-books', | 675 | path: '/e-books', |
662 | meta: {}, | 676 | meta: {}, |
663 | name: 'E-Books', | 677 | name: 'E-Books', |
664 | props: (route) => ({ | 678 | props: (route) => ({ |
665 | type: route.query.type | 679 | type: route.query.type |
666 | }), | 680 | }), |
667 | component: () => | 681 | component: () => |
668 | import( | 682 | import( |
669 | /* webpackChunkName: "routes" */ | 683 | /* webpackChunkName: "routes" */ |
670 | /* webpackMode: "lazy-once" */ | 684 | /* webpackMode: "lazy-once" */ |
671 | `@/pages/Library/eBook.vue` | 685 | `@/pages/Library/eBook.vue` |
672 | ) | 686 | ) |
673 | }, | 687 | }, |
674 | { | 688 | { |
675 | path: '/editInvoice/:invoiceid', | 689 | path: '/editInvoice/:invoiceid', |
676 | meta: {}, | 690 | meta: {}, |
677 | name: 'Edit Invoice', | 691 | name: 'Edit Invoice', |
678 | // props: (route) => ({ type: route.query.type }), | 692 | // props: (route) => ({ type: route.query.type }), |
679 | component: () => | 693 | component: () => |
680 | import( | 694 | import( |
681 | /* webpackChunkName: "routes" */ | 695 | /* webpackChunkName: "routes" */ |
682 | /* webpackMode: "lazy-once" */ | 696 | /* webpackMode: "lazy-once" */ |
683 | `@/pages/Account/editInvoice.vue` | 697 | `@/pages/Account/editInvoice.vue` |
684 | ) | 698 | ) |
685 | }, | 699 | }, |
686 | { | 700 | { |
687 | path: '/StudentsAttendence/:id', | 701 | path: '/StudentsAttendence/:id', |
688 | meta: {}, | 702 | meta: {}, |
689 | name: 'View Students Attendence', | 703 | name: 'View Students Attendence', |
690 | props: (route) => ({ | 704 | props: (route) => ({ |
691 | type: route.query.type | 705 | type: route.query.type |
692 | }), | 706 | }), |
693 | component: () => | 707 | component: () => |
694 | import( | 708 | import( |
695 | /* webpackChunkName: "routes" */ | 709 | /* webpackChunkName: "routes" */ |
696 | /* webpackMode: "lazy-once" */ | 710 | /* webpackMode: "lazy-once" */ |
697 | `@/pages/Attendence/viewStudentsAttendence.vue` | 711 | `@/pages/Attendence/viewStudentsAttendence.vue` |
698 | ) | 712 | ) |
699 | }, | 713 | }, |
700 | { | 714 | { |
701 | path: '/TeacherAttendence/:teacherId', | 715 | path: '/TeacherAttendence/:teacherId', |
702 | meta: {}, | 716 | meta: {}, |
703 | name: 'View Teacher Attendence', | 717 | name: 'View Teacher Attendence', |
704 | props: (route) => ({ | 718 | props: (route) => ({ |
705 | type: route.query.type | 719 | type: route.query.type |
706 | }), | 720 | }), |
707 | component: () => | 721 | component: () => |
708 | import( | 722 | import( |
709 | /* webpackChunkName: "routes" */ | 723 | /* webpackChunkName: "routes" */ |
710 | /* webpackMode: "lazy-once" */ | 724 | /* webpackMode: "lazy-once" */ |
711 | `@/pages/Attendence/viewTeacherAttendence.vue` | 725 | `@/pages/Attendence/viewTeacherAttendence.vue` |
712 | ) | 726 | ) |
713 | }, | 727 | }, |
714 | { | 728 | { |
729 | path: '/CourseAttendance/:id', | ||
730 | meta: {}, | ||
731 | name: 'View Course Attendance', | ||
732 | props: (route) => ({ | ||
733 | type: route.query.type | ||
734 | }), | ||
735 | component: () => | ||
736 | import( | ||
737 | /* webpackChunkName: "routes" */ | ||
738 | /* webpackMode: "lazy-once" */ | ||
739 | `@/pages/Attendence/viewCourseAttendance.vue` | ||
740 | ) | ||
741 | }, | ||
742 | { | ||
715 | path: '/viewInvoice/:viewInvoiceId', | 743 | path: '/viewInvoice/:viewInvoiceId', |
716 | meta: {}, | 744 | meta: {}, |
717 | name: 'View Invoice', | 745 | name: 'View Invoice', |
718 | props: (route) => ({ | 746 | props: (route) => ({ |
719 | type: route.query.type | 747 | type: route.query.type |
720 | }), | 748 | }), |
721 | component: () => | 749 | component: () => |
722 | import( | 750 | import( |
723 | /* webpackChunkName: "routes" */ | 751 | /* webpackChunkName: "routes" */ |
724 | /* webpackMode: "lazy-once" */ | 752 | /* webpackMode: "lazy-once" */ |
725 | `@/pages/Account/viewInvoice.vue` | 753 | `@/pages/Account/viewInvoice.vue` |
726 | ) | 754 | ) |
727 | }, | 755 | }, |
728 | { | 756 | { |
729 | path: '/viewPaymentInvoice/:viewPaymentInvoiceId', | 757 | path: '/viewPaymentInvoice/:viewPaymentInvoiceId', |
730 | meta: {}, | 758 | meta: {}, |
731 | name: 'View Payment Invoice', | 759 | name: 'View Payment Invoice', |
732 | props: (route) => ({ | 760 | props: (route) => ({ |
733 | type: route.query.type | 761 | type: route.query.type |
734 | }), | 762 | }), |
735 | component: () => | 763 | component: () => |
736 | import( | 764 | import( |
737 | /* webpackChunkName: "routes" */ | 765 | /* webpackChunkName: "routes" */ |
738 | /* webpackMode: "lazy-once" */ | 766 | /* webpackMode: "lazy-once" */ |
739 | `@/pages/Account/viewPaymentInvoice.vue` | 767 | `@/pages/Account/viewPaymentInvoice.vue` |
740 | ) | 768 | ) |
741 | }, | 769 | }, |
742 | { | 770 | { |
743 | path: '/globalPayment', | 771 | path: '/globalPayment', |
744 | meta: {}, | 772 | meta: {}, |
745 | name: 'Global Payment', | 773 | name: 'Global Payment', |
746 | props: (route) => ({ | 774 | props: (route) => ({ |
747 | type: route.query.type | 775 | type: route.query.type |
748 | }), | 776 | }), |
749 | component: () => | 777 | component: () => |
750 | import( | 778 | import( |
751 | /* webpackChunkName: "routes" */ | 779 | /* webpackChunkName: "routes" */ |
752 | /* webpackMode: "lazy-once" */ | 780 | /* webpackMode: "lazy-once" */ |
753 | `@/pages/Account/globalPayment.vue` | 781 | `@/pages/Account/globalPayment.vue` |
754 | ) | 782 | ) |
755 | }, | 783 | }, |
756 | { | 784 | { |
757 | path: '/exam', | 785 | path: '/exam', |
758 | meta: {}, | 786 | meta: {}, |
759 | name: 'Exam', | 787 | name: 'Exam', |
760 | props: (route) => ({ | 788 | props: (route) => ({ |
761 | type: route.query.type | 789 | type: route.query.type |
762 | }), | 790 | }), |
763 | component: () => | 791 | component: () => |
764 | import( | 792 | import( |
765 | /* webpackChunkName: "routes" */ | 793 | /* webpackChunkName: "routes" */ |
766 | /* webpackMode: "lazy-once" */ | 794 | /* webpackMode: "lazy-once" */ |
767 | `@/pages/Exam/exam.vue` | 795 | `@/pages/Exam/exam.vue` |
768 | ) | 796 | ) |
769 | }, | 797 | }, |
770 | { | 798 | { |
771 | path: '/grade', | 799 | path: '/grade', |
772 | meta: {}, | 800 | meta: {}, |
773 | name: 'Grade', | 801 | name: 'Grade', |
774 | props: (route) => ({ | 802 | props: (route) => ({ |
775 | type: route.query.type | 803 | type: route.query.type |
776 | }), | 804 | }), |
777 | component: () => | 805 | component: () => |
778 | import( | 806 | import( |
779 | /* webpackChunkName: "routes" */ | 807 | /* webpackChunkName: "routes" */ |
780 | /* webpackMode: "lazy-once" */ | 808 | /* webpackMode: "lazy-once" */ |
781 | `@/pages/Exam/grade.vue` | 809 | `@/pages/Exam/grade.vue` |
782 | ) | 810 | ) |
783 | }, | 811 | }, |
784 | { | 812 | { |
785 | path: '/examSchedule', | 813 | path: '/examSchedule', |
786 | meta: {}, | 814 | meta: {}, |
787 | name: 'Exam Schedule', | 815 | name: 'Exam Schedule', |
788 | props: (route) => ({ | 816 | props: (route) => ({ |
789 | type: route.query.type | 817 | type: route.query.type |
790 | }), | 818 | }), |
791 | component: () => | 819 | component: () => |
792 | import( | 820 | import( |
793 | /* webpackChunkName: "routes" */ | 821 | /* webpackChunkName: "routes" */ |
794 | /* webpackMode: "lazy-once" */ | 822 | /* webpackMode: "lazy-once" */ |
795 | `@/pages/Exam/examSchedule.vue` | 823 | `@/pages/Exam/examSchedule.vue` |
796 | ) | 824 | ) |
797 | }, | 825 | }, |
798 | { | 826 | { |
799 | path: '/examAttendence', | 827 | path: '/examAttendence', |
800 | meta: {}, | 828 | meta: {}, |
801 | name: 'Exam Attendence', | 829 | name: 'Exam Attendence', |
802 | props: (route) => ({ | 830 | props: (route) => ({ |
803 | type: route.query.type | 831 | type: route.query.type |
804 | }), | 832 | }), |
805 | component: () => | 833 | component: () => |
806 | import( | 834 | import( |
807 | /* webpackChunkName: "routes" */ | 835 | /* webpackChunkName: "routes" */ |
808 | /* webpackMode: "lazy-once" */ | 836 | /* webpackMode: "lazy-once" */ |
809 | `@/pages/Exam/examAttendence.vue` | 837 | `@/pages/Exam/examAttendence.vue` |
810 | ) | 838 | ) |
811 | }, | 839 | }, |
812 | { | 840 | { |
813 | path: '/mark', | 841 | path: '/mark', |
814 | meta: {}, | 842 | meta: {}, |
815 | name: 'Mark', | 843 | name: 'Mark', |
816 | props: (route) => ({ | 844 | props: (route) => ({ |
817 | type: route.query.type | 845 | type: route.query.type |
818 | }), | 846 | }), |
819 | component: () => | 847 | component: () => |
820 | import( | 848 | import( |
821 | /* webpackChunkName: "routes" */ | 849 | /* webpackChunkName: "routes" */ |
822 | /* webpackMode: "lazy-once" */ | 850 | /* webpackMode: "lazy-once" */ |
823 | `@/pages/Mark/mark.vue` | 851 | `@/pages/Mark/mark.vue` |
824 | ) | 852 | ) |
825 | }, | 853 | }, |
826 | { | 854 | { |
827 | path: '/viewMark/:markId', | 855 | path: '/viewMark/:markId', |
828 | meta: {}, | 856 | meta: {}, |
829 | name: 'view Mark', | 857 | name: 'view Mark', |
830 | props: (route) => ({ | 858 | props: (route) => ({ |
831 | type: route.query.type | 859 | type: route.query.type |
832 | }), | 860 | }), |
833 | component: () => | 861 | component: () => |
834 | import( | 862 | import( |
835 | /* webpackChunkName: "routes" */ | 863 | /* webpackChunkName: "routes" */ |
836 | /* webpackMode: "lazy-once" */ | 864 | /* webpackMode: "lazy-once" */ |
837 | `@/pages/Mark/viewMark.vue` | 865 | `@/pages/Mark/viewMark.vue` |
838 | ) | 866 | ) |
839 | }, | 867 | }, |
840 | { | 868 | { |
841 | path: '/markDistribution', | 869 | path: '/markDistribution', |
842 | meta: {}, | 870 | meta: {}, |
843 | name: 'Mark Distribution', | 871 | name: 'Mark Distribution', |
844 | props: (route) => ({ | 872 | props: (route) => ({ |
845 | type: route.query.type | 873 | type: route.query.type |
846 | }), | 874 | }), |
847 | component: () => | 875 | component: () => |
848 | import( | 876 | import( |
849 | /* webpackChunkName: "routes" */ | 877 | /* webpackChunkName: "routes" */ |
850 | /* webpackMode: "lazy-once" */ | 878 | /* webpackMode: "lazy-once" */ |
851 | `@/pages/Mark/markDistribution.vue` | 879 | `@/pages/Mark/markDistribution.vue` |
852 | ) | 880 | ) |
853 | }, | 881 | }, |
854 | // { | 882 | // { |
855 | // path: '/meet', | 883 | // path: '/meet', |
856 | // meta: {}, | 884 | // meta: {}, |
857 | // name: 'Meet', | 885 | // name: 'Meet', |
858 | // props: (route) => ({ | 886 | // props: (route) => ({ |
859 | // type: route.query.type | 887 | // type: route.query.type |
860 | // }), | 888 | // }), |
861 | // component: () => | 889 | // component: () => |
862 | // import( | 890 | // import( |
863 | // /* webpackChunkName: "routes" */ | 891 | // /* webpackChunkName: "routes" */ |
864 | // /* webpackMode: "lazy-once" */ | 892 | // /* webpackMode: "lazy-once" */ |
865 | // `@/pages/Meet/meet.vue` | 893 | // `@/pages/Meet/meet.vue` |
866 | // ) | 894 | // ) |
867 | // }, | 895 | // }, |
868 | { | 896 | { |
869 | path: '/academicYear', | 897 | path: '/academicYear', |
870 | meta: {}, | 898 | meta: {}, |
871 | name: 'Academic Year', | 899 | name: 'Academic Year', |
872 | props: (route) => ({ | 900 | props: (route) => ({ |
873 | type: route.query.type | 901 | type: route.query.type |
874 | }), | 902 | }), |
875 | component: () => | 903 | component: () => |
876 | import( | 904 | import( |
877 | /* webpackChunkName: "routes" */ | 905 | /* webpackChunkName: "routes" */ |
878 | /* webpackMode: "lazy-once" */ | 906 | /* webpackMode: "lazy-once" */ |
879 | `@/pages/Administrator/academicYear.vue` | 907 | `@/pages/Administrator/academicYear.vue` |
880 | ) | 908 | ) |
881 | }, | 909 | }, |
882 | { | 910 | { |
883 | path: '/systemAdmin', | 911 | path: '/systemAdmin', |
884 | meta: {}, | 912 | meta: {}, |
885 | name: 'System Admin', | 913 | name: 'System Admin', |
886 | props: (route) => ({ | 914 | props: (route) => ({ |
887 | type: route.query.type | 915 | type: route.query.type |
888 | }), | 916 | }), |
889 | component: () => | 917 | component: () => |
890 | import( | 918 | import( |
891 | /* webpackChunkName: "routes" */ | 919 | /* webpackChunkName: "routes" */ |
892 | /* webpackMode: "lazy-once" */ | 920 | /* webpackMode: "lazy-once" */ |
893 | `@/pages/Administrator/systemAdmin.vue` | 921 | `@/pages/Administrator/systemAdmin.vue` |
894 | ) | 922 | ) |
895 | }, | 923 | }, |
896 | { | 924 | { |
897 | path: '/resetPassword', | 925 | path: '/resetPassword', |
898 | meta: {}, | 926 | meta: {}, |
899 | name: 'Change Password', | 927 | name: 'Change Password', |
900 | props: (route) => ({ | 928 | props: (route) => ({ |
901 | type: route.query.type | 929 | type: route.query.type |
902 | }), | 930 | }), |
903 | component: () => | 931 | component: () => |
904 | import( | 932 | import( |
905 | /* webpackChunkName: "routes" */ | 933 | /* webpackChunkName: "routes" */ |
906 | /* webpackMode: "lazy-once" */ | 934 | /* webpackMode: "lazy-once" */ |
907 | `@/pages/Administrator/resetPassword.vue` | 935 | `@/pages/Administrator/resetPassword.vue` |
908 | ) | 936 | ) |
909 | }, | 937 | }, |
910 | { | 938 | { |
911 | path: '/role', | 939 | path: '/role', |
912 | meta: {}, | 940 | meta: {}, |
913 | name: 'Role', | 941 | name: 'Role', |
914 | props: (route) => ({ | 942 | props: (route) => ({ |
915 | type: route.query.type | 943 | type: route.query.type |
916 | }), | 944 | }), |
917 | component: () => | 945 | component: () => |
918 | import( | 946 | import( |
919 | /* webpackChunkName: "routes" */ | 947 | /* webpackChunkName: "routes" */ |
920 | /* webpackMode: "lazy-once" */ | 948 | /* webpackMode: "lazy-once" */ |
921 | `@/pages/Administrator/role.vue` | 949 | `@/pages/Administrator/role.vue` |
922 | ) | 950 | ) |
923 | }, | 951 | }, |
924 | { | 952 | { |
925 | path: '/bulkImport', | 953 | path: '/bulkImport', |
926 | meta: {}, | 954 | meta: {}, |
927 | name: 'Bulk Import', | 955 | name: 'Bulk Import', |
928 | props: (route) => ({ | 956 | props: (route) => ({ |
929 | type: route.query.type | 957 | type: route.query.type |
930 | }), | 958 | }), |
931 | component: () => | 959 | component: () => |
932 | import( | 960 | import( |
933 | /* webpackChunkName: "routes" */ | 961 | /* webpackChunkName: "routes" */ |
934 | /* webpackMode: "lazy-once" */ | 962 | /* webpackMode: "lazy-once" */ |
935 | `@/pages/Administrator/bulkImport.vue` | 963 | `@/pages/Administrator/bulkImport.vue` |
936 | ) | 964 | ) |
937 | }, | 965 | }, |
938 | { | 966 | { |
939 | path: '/studentReport', | 967 | path: '/studentReport', |
940 | meta: {}, | 968 | meta: {}, |
941 | name: 'Student Report', | 969 | name: 'Student Report', |
942 | props: (route) => ({ | 970 | props: (route) => ({ |
943 | type: route.query.type | 971 | type: route.query.type |
944 | }), | 972 | }), |
945 | component: () => | 973 | component: () => |
946 | import( | 974 | import( |
947 | /* webpackChunkName: "routes" */ | 975 | /* webpackChunkName: "routes" */ |
948 | /* webpackMode: "lazy-once" */ | 976 | /* webpackMode: "lazy-once" */ |
949 | `@/pages/Report/studentReport.vue` | 977 | `@/pages/Report/studentReport.vue` |
950 | ) | 978 | ) |
951 | }, | 979 | }, |
952 | { | 980 | { |
953 | path: '/progressCardReport', | 981 | path: '/progressCardReport', |
954 | meta: {}, | 982 | meta: {}, |
955 | name: 'Progress Card Report', | 983 | name: 'Progress Card Report', |
956 | props: (route) => ({ | 984 | props: (route) => ({ |
957 | type: route.query.type | 985 | type: route.query.type |
958 | }), | 986 | }), |
959 | component: () => | 987 | component: () => |
960 | import( | 988 | import( |
961 | /* webpackChunkName: "routes" */ | 989 | /* webpackChunkName: "routes" */ |
962 | /* webpackMode: "lazy-once" */ | 990 | /* webpackMode: "lazy-once" */ |
963 | `@/pages/Report/progressCardReport.vue` | 991 | `@/pages/Report/progressCardReport.vue` |
964 | ) | 992 | ) |
965 | }, | 993 | }, |
966 | { | 994 | { |
967 | path: '/idCard', | 995 | path: '/idCard', |
968 | meta: {}, | 996 | meta: {}, |
969 | name: 'Id Card Report', | 997 | name: 'Id Card Report', |
970 | props: (route) => ({ | 998 | props: (route) => ({ |
971 | type: route.query.type | 999 | type: route.query.type |
972 | }), | 1000 | }), |
973 | component: () => | 1001 | component: () => |
974 | import( | 1002 | import( |
975 | `@/pages/Report/idCard.vue` | 1003 | `@/pages/Report/idCard.vue` |
976 | ) | 1004 | ) |
977 | }, | 1005 | }, |
978 | { | 1006 | { |
979 | path: '/admitCard', | 1007 | path: '/admitCard', |
980 | meta: {}, | 1008 | meta: {}, |
981 | name: 'Admit Card Report', | 1009 | name: 'Admit Card Report', |
982 | props: (route) => ({ | 1010 | props: (route) => ({ |
983 | type: route.query.type | 1011 | type: route.query.type |
984 | }), | 1012 | }), |
985 | component: () => | 1013 | component: () => |
986 | import( | 1014 | import( |
987 | `@/pages/Report/admitCard.vue` | 1015 | `@/pages/Report/admitCard.vue` |
988 | ) | 1016 | ) |
989 | }, | 1017 | }, |
990 | { | 1018 | { |
991 | path: '/generalSetting', | 1019 | path: '/generalSetting', |
992 | meta: {}, | 1020 | meta: {}, |
993 | name: 'General Setting', | 1021 | name: 'General Setting', |
994 | props: (route) => ({ | 1022 | props: (route) => ({ |
995 | type: route.query.type | 1023 | type: route.query.type |
996 | }), | 1024 | }), |
997 | component: () => | 1025 | component: () => |
998 | import( | 1026 | import( |
999 | /* webpackChunkName: "routes" */ | 1027 | /* webpackChunkName: "routes" */ |
1000 | /* webpackMode: "lazy-once" */ | 1028 | /* webpackMode: "lazy-once" */ |
1001 | `@/pages/generalSetting/generalSetting.vue` | 1029 | `@/pages/generalSetting/generalSetting.vue` |
1002 | ) | 1030 | ) |
1003 | }, | 1031 | }, |
1004 | { | 1032 | { |
1005 | path: '/assignment', | 1033 | path: '/assignment', |
1006 | meta: {}, | 1034 | meta: {}, |
1007 | name: 'Assignment', | 1035 | name: 'Assignment', |
1008 | props: (route) => ({ | 1036 | props: (route) => ({ |
1009 | type: route.query.type | 1037 | type: route.query.type |
1010 | }), | 1038 | }), |
1011 | component: () => | 1039 | component: () => |
1012 | import( | 1040 | import( |
1013 | `@/pages/Academic/assignment.vue` | 1041 | `@/pages/Academic/assignment.vue` |
1014 | ) | 1042 | ) |
1015 | }, | 1043 | }, |
1016 | { | 1044 | { |
1017 | path: '/routine', | 1045 | path: '/routine', |
1018 | meta: {}, | 1046 | meta: {}, |
1019 | name: 'Routine', | 1047 | name: 'Routine', |
1020 | props: (route) => ({ | 1048 | props: (route) => ({ |
1021 | type: route.query.type | 1049 | type: route.query.type |
1022 | }), | 1050 | }), |
1023 | component: () => | 1051 | component: () => |
1024 | import( | 1052 | import( |
1025 | `@/pages/Academic/routine.vue` | 1053 | `@/pages/Academic/routine.vue` |
1026 | ) | 1054 | ) |
1027 | }, | 1055 | }, |
1028 | { | 1056 | { |
1029 | path: '/subject', | 1057 | path: '/subject', |
1030 | meta: {}, | 1058 | meta: {}, |
1031 | name: 'Subject', | 1059 | name: 'Subject', |
1032 | props: (route) => ({ | 1060 | props: (route) => ({ |
1033 | type: route.query.type | 1061 | type: route.query.type |
1034 | }), | 1062 | }), |
1035 | component: () => | 1063 | component: () => |
1036 | import( | 1064 | import( |
1037 | `@/pages/Academic/subject.vue` | 1065 | `@/pages/Academic/subject.vue` |
1038 | ) | 1066 | ) |
1039 | }, | 1067 | }, |
1040 | { | 1068 | { |
1041 | path: '/syllabus', | 1069 | path: '/syllabus', |
1042 | meta: {}, | 1070 | meta: {}, |
1043 | name: 'Syllabus', | 1071 | name: 'Syllabus', |
1044 | props: (route) => ({ | 1072 | props: (route) => ({ |
1045 | type: route.query.type | 1073 | type: route.query.type |
1046 | }), | 1074 | }), |
1047 | component: () => | 1075 | component: () => |
1048 | import( | 1076 | import( |
1049 | `@/pages/Academic/syllabus.vue` | 1077 | `@/pages/Academic/syllabus.vue` |
1050 | ) | 1078 | ) |
1051 | }, | 1079 | }, |
1052 | { | 1080 | { |
1053 | path: '/course', | 1081 | path: '/course', |
1054 | meta: {}, | 1082 | meta: {}, |
1055 | name: 'Course', | 1083 | name: 'Course', |
1056 | props: (route) => ({ | 1084 | props: (route) => ({ |
1057 | type: route.query.type | 1085 | type: route.query.type |
1058 | }), | 1086 | }), |
1059 | component: () => | 1087 | component: () => |
1060 | import( | 1088 | import( |
1061 | /* webpackChunkName: "routes" */ | 1089 | /* webpackChunkName: "routes" */ |
1062 | /* webpackMode: "lazy-once" */ | 1090 | /* webpackMode: "lazy-once" */ |
1063 | `@/pages/Course/course.vue` | 1091 | `@/pages/Course/course.vue` |
1064 | ) | 1092 | ) |
1065 | }, | 1093 | }, |
1066 | { | 1094 | { |
1067 | path: '/courseDetail', | 1095 | path: '/courseDetail', |
1068 | meta: {}, | 1096 | meta: {}, |
1069 | name: 'Course Detail', | 1097 | name: 'Course Detail', |
1070 | props: (route) => ({ | 1098 | props: (route) => ({ |
1071 | type: route.query.type | 1099 | type: route.query.type |
1072 | }), | 1100 | }), |
1073 | component: () => | 1101 | component: () => |
1074 | import( | 1102 | import( |
1075 | /* webpackChunkName: "routes" */ | 1103 | /* webpackChunkName: "routes" */ |
1076 | /* webpackMode: "lazy-once" */ | 1104 | /* webpackMode: "lazy-once" */ |
1077 | `@/pages/Course/courseDetail.vue` | 1105 | `@/pages/Course/courseDetail.vue` |
1078 | ) | 1106 | ) |
1079 | }, | 1107 | }, |
1080 | { | 1108 | { |
1081 | path: '/enrollStudents', | 1109 | path: '/enrollStudents', |
1082 | meta: {}, | 1110 | meta: {}, |
1083 | name: 'Enroll Students', | 1111 | name: 'Enroll Students', |
1084 | props: (route) => ({ | 1112 | props: (route) => ({ |
1085 | type: route.query.type | 1113 | type: route.query.type |
1086 | }), | 1114 | }), |
1087 | component: () => | 1115 | component: () => |
1088 | import( | 1116 | import( |
1089 | /* webpackChunkName: "routes" */ | 1117 | /* webpackChunkName: "routes" */ |
1090 | /* webpackMode: "lazy-once" */ | 1118 | /* webpackMode: "lazy-once" */ |
1091 | `@/pages/Course/enrollStudents.vue` | 1119 | `@/pages/Course/enrollStudents.vue` |
1092 | ) | 1120 | ) |
1093 | }, | 1121 | }, |
1094 | { | 1122 | { |
1095 | path: '/changeStudents', | 1123 | path: '/changeStudents', |
1096 | meta: {}, | 1124 | meta: {}, |
1097 | name: 'Change Students', | 1125 | name: 'Change Students', |
1098 | props: (route) => ({ | 1126 | props: (route) => ({ |
1099 | type: route.query.type | 1127 | type: route.query.type |
1100 | }), | 1128 | }), |
1101 | component: () => | 1129 | component: () => |
1102 | import( | 1130 | import( |
1103 | /* webpackChunkName: "routes" */ | 1131 | /* webpackChunkName: "routes" */ |
1104 | /* webpackMode: "lazy-once" */ | 1132 | /* webpackMode: "lazy-once" */ |
1105 | `@/pages/changeStudents/changeStudents.vue` | 1133 | `@/pages/changeStudents/changeStudents.vue` |
1106 | ) | 1134 | ) |
1107 | }, | 1135 | }, |
1108 | { | 1136 | { |
1109 | path: '/annoucement', | 1137 | path: '/annoucement', |
1110 | meta: {}, | 1138 | meta: {}, |
1111 | name: 'Annoucement', | 1139 | name: 'Annoucement', |
1112 | props: (route) => ({ | 1140 | props: (route) => ({ |
1113 | type: route.query.type | 1141 | type: route.query.type |
1114 | }), | 1142 | }), |
1115 | component: () => | 1143 | component: () => |
1116 | import( | 1144 | import( |
1117 | /* webpackChunkName: "routes" */ | 1145 | /* webpackChunkName: "routes" */ |
1118 | /* webpackMode: "lazy-once" */ | 1146 | /* webpackMode: "lazy-once" */ |
1119 | `@/pages/Annoucement/annoucement.vue` | 1147 | `@/pages/Annoucement/annoucement.vue` |
1120 | ) | 1148 | ) |
1121 | }, | 1149 | }, |
1122 | { | 1150 | { |
1123 | path: '/meetingEvent', | 1151 | path: '/meetingEvent', |
1124 | meta: {}, | 1152 | meta: {}, |
1125 | name: 'Meeting Event', | 1153 | name: 'Meeting Event', |
1126 | props: (route) => ({ | 1154 | props: (route) => ({ |
1127 | type: route.query.type | 1155 | type: route.query.type |
1128 | }), | 1156 | }), |
1129 | component: () => | 1157 | component: () => |
1130 | import( | 1158 | import( |
1131 | /* webpackChunkName: "routes" */ | 1159 | /* webpackChunkName: "routes" */ |
1132 | /* webpackMode: "lazy-once" */ | 1160 | /* webpackMode: "lazy-once" */ |
1133 | `@/pages/meetingEvent/meetingEvent.vue` | 1161 | `@/pages/meetingEvent/meetingEvent.vue` |
1134 | ) | 1162 | ) |
1135 | }, | 1163 | }, |
1136 | //////SCHOOL | 1164 | //////SCHOOL |
1137 | 1165 | ||
1138 | { | 1166 | { |
1139 | path: '/school', | 1167 | path: '/school', |
1140 | meta: {}, | 1168 | meta: {}, |
1141 | name: 'School', | 1169 | name: 'School', |
1142 | props: (route) => ({ | 1170 | props: (route) => ({ |
1143 | type: route.query.type | 1171 | type: route.query.type |
1144 | }), | 1172 | }), |
1145 | component: () => | 1173 | component: () => |
1146 | import( | 1174 | import( |
1147 | /* webpackChunkName: "routes" */ | 1175 | /* webpackChunkName: "routes" */ |
1148 | /* webpackMode: "lazy-once" */ | 1176 | /* webpackMode: "lazy-once" */ |
1149 | `@/pages/School/school.vue` | 1177 | `@/pages/School/school.vue` |
1150 | ) | 1178 | ) |
1151 | }, | 1179 | }, |
1152 | { | 1180 | { |
1153 | path: '/appVersion', | 1181 | path: '/appVersion', |
1154 | meta: {}, | 1182 | meta: {}, |
1155 | name: 'App Version', | 1183 | name: 'App Version', |
1156 | props: (route) => ({ | 1184 | props: (route) => ({ |
1157 | type: route.query.type | 1185 | type: route.query.type |
1158 | }), | 1186 | }), |
1159 | component: () => | 1187 | component: () => |
1160 | import( | 1188 | import( |
1161 | /* webpackChunkName: "routes" */ | 1189 | /* webpackChunkName: "routes" */ |
1162 | /* webpackMode: "lazy-once" */ | 1190 | /* webpackMode: "lazy-once" */ |
1163 | `@/pages/School/appVersion.vue` | 1191 | `@/pages/School/appVersion.vue` |
1164 | ) | 1192 | ) |
1165 | }, | 1193 | }, |
1166 | { | 1194 | { |
1167 | path: '/schooldashboard', | 1195 | path: '/schooldashboard', |
1168 | meta: {}, | 1196 | meta: {}, |
1169 | name: 'View School Dashboard', | 1197 | name: 'View School Dashboard', |
1170 | props: (route) => ({ | 1198 | props: (route) => ({ |
1171 | type: route.query.type | 1199 | type: route.query.type |
1172 | }), | 1200 | }), |
1173 | component: () => | 1201 | component: () => |
1174 | import( | 1202 | import( |
1175 | /* webpackChunkName: "routes" */ | 1203 | /* webpackChunkName: "routes" */ |
1176 | /* webpackMode: "lazy-once" */ | 1204 | /* webpackMode: "lazy-once" */ |
1177 | `@/pages/School/viewSchoolDashboard.vue` | 1205 | `@/pages/School/viewSchoolDashboard.vue` |
1178 | ) | 1206 | ) |
1179 | } | 1207 | } |
1180 | ]; | 1208 | ]; |