Commit de958fcfc5603f8855dbe05c9c16bdf9b4f0c0da
Exists in
master
and in
2 other branches
added upload pdf
Showing
10 changed files
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: 'Section', | 16 | title: 'Section', |
17 | // group: 'apps', | 17 | // group: 'apps', |
18 | name: 'Section', | 18 | name: 'Section', |
19 | icon: '/static/icon/section.png', | 19 | icon: '/static/icon/section.png', |
20 | }, | 20 | }, |
21 | // { | 21 | // { |
22 | // title: 'Subjects', | 22 | // title: 'Subjects', |
23 | // name: 'Subject', | 23 | // name: 'Subject', |
24 | // icon: '/static/icon/subject.png', | 24 | // icon: '/static/icon/subject.png', |
25 | // }, | 25 | // }, |
26 | { | 26 | { |
27 | title: 'Parents', | 27 | title: 'Parents', |
28 | // group: 'apps', | 28 | // group: 'apps', |
29 | name: 'Parents', | 29 | name: 'Parents', |
30 | icon: '/static/icon/parents.png', | 30 | icon: '/static/icon/parents.png', |
31 | }, | 31 | }, |
32 | { | 32 | { |
33 | title: 'Teachers', | 33 | title: 'Teachers', |
34 | // group: '', | 34 | // group: '', |
35 | name: 'Teachers', | 35 | name: 'Teachers', |
36 | icon: '/static/icon/teacher.png', | 36 | icon: '/static/icon/teacher.png', |
37 | }, | 37 | }, |
38 | { | 38 | { |
39 | title: 'Students', | 39 | title: 'Students', |
40 | // group: 'apps', | 40 | // group: 'apps', |
41 | name: 'Students', | 41 | name: 'Students', |
42 | icon: '/static/icon/student.png', | 42 | icon: '/static/icon/student.png', |
43 | }, | 43 | }, |
44 | { | 44 | { |
45 | title: 'User', | 45 | title: 'User', |
46 | name: 'User', | 46 | name: 'User', |
47 | icon: '/static/icon/users.png', | 47 | icon: '/static/icon/users.png', |
48 | }, | 48 | }, |
49 | { | 49 | { |
50 | title: 'Attendance', | 50 | title: 'Attendance', |
51 | group: 'Attendance', | 51 | group: 'Attendance', |
52 | component: 'Attendance', | 52 | component: 'Attendance', |
53 | icon: '/static/icon/attendence.png', | 53 | icon: '/static/icon/attendence.png', |
54 | items: [ | 54 | items: [ |
55 | { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, | 55 | { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, |
56 | { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, | 56 | { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, |
57 | // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, | 57 | // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, |
58 | ] | 58 | ] |
59 | }, | 59 | }, |
60 | { | 60 | { |
61 | title: 'Exam', | 61 | title: 'Exam', |
62 | group: 'Exam', | 62 | group: 'Exam', |
63 | component: 'Exam', | 63 | component: 'Exam', |
64 | icon: '/static/icon/exam.png', | 64 | icon: '/static/icon/exam.png', |
65 | items: [ | 65 | items: [ |
66 | { name: 'Exam', title: 'Exam', component: 'Exam', action: '', }, | 66 | { name: 'Exam', title: 'Exam', component: 'Exam', action: '', }, |
67 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, | 67 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, |
68 | { name: 'Grade', title: 'Grade', component: 'Grade', action: '', }, | 68 | { name: 'Grade', title: 'Grade', component: 'Grade', action: '', }, |
69 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, | 69 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, |
70 | ] | 70 | ] |
71 | }, | 71 | }, |
72 | { | 72 | { |
73 | title: 'Marks', | 73 | title: 'Marks', |
74 | group: 'Mark', | 74 | group: 'Mark', |
75 | component: 'Mark', | 75 | component: 'Mark', |
76 | icon: '/static/icon/marks.png', | 76 | icon: '/static/icon/marks.png', |
77 | items: [ | 77 | items: [ |
78 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', }, | 78 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', }, |
79 | { name: 'MarkDistribution', title: 'Mark Distribution', component: 'Mark Distribution', action: '', }, | 79 | { name: 'MarkDistribution', title: 'Mark Distribution', component: 'Mark Distribution', action: '', }, |
80 | // { name: 'Promotion', title: 'promotion', component: 'Promotion', action: '', }, | 80 | // { name: 'Promotion', title: 'promotion', component: 'Promotion', action: '', }, |
81 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, | 81 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, |
82 | ] | 82 | ] |
83 | }, | 83 | }, |
84 | { | 84 | { |
85 | title: 'Academic', | 85 | title: 'Academic', |
86 | group: 'Academic', | 86 | group: 'Academic', |
87 | component: 'Academic', | 87 | component: 'Academic', |
88 | icon: '/static/icon/school.png', | 88 | icon: '/static/icon/school.png', |
89 | items: [ | 89 | items: [ |
90 | { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, | 90 | { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, |
91 | { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, | 91 | { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, |
92 | { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, | 92 | { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, |
93 | { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, | 93 | { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, |
94 | ] | 94 | ] |
95 | }, | 95 | }, |
96 | { | 96 | { |
97 | title: 'Administrator', | 97 | title: 'Administrator', |
98 | group: 'Administrator', | 98 | group: 'Administrator', |
99 | component: 'Administrator', | 99 | component: 'Administrator', |
100 | icon: '/static/icon/adminstrator.png', | 100 | icon: '/static/icon/adminstrator.png', |
101 | items: [ | 101 | items: [ |
102 | { name: 'AcademicYear', title: 'Academic Year', component: 'Academic Year', action: '', }, | 102 | { name: 'AcademicYear', title: 'Academic Year', component: 'Academic Year', action: '', }, |
103 | // { name: 'systemAdmin', title: 'System Admin', component: 'systemAdmin', action: '', }, | 103 | // { name: 'systemAdmin', title: 'System Admin', component: 'systemAdmin', action: '', }, |
104 | { name: 'resetPassword', title: 'Change Password', component: 'Change Password', action: '', }, | 104 | { name: 'resetPassword', title: 'Change Password', component: 'Change Password', action: '', }, |
105 | { name: 'Role', title: 'Role', component: 'Role', action: '', }, | 105 | { name: 'Role', title: 'Role', component: 'Role', action: '', }, |
106 | { name: 'BulkImport', title: 'Bulk Import', component: 'Bulk Import', action: '', }, | 106 | { name: 'BulkImport', title: 'Bulk Import', component: 'Bulk Import', action: '', }, |
107 | 107 | ||
108 | ] | 108 | ] |
109 | }, | 109 | }, |
110 | { | 110 | { |
111 | title: 'Payroll', | 111 | title: 'Payroll', |
112 | group: 'Payroll', | 112 | group: 'Payroll', |
113 | component: 'Payroll', | 113 | component: 'Payroll', |
114 | icon: '/static/icon/dollar.png', | 114 | icon: '/static/icon/dollar.png', |
115 | items: [ | 115 | items: [ |
116 | { name: 'salaryTemplate', title: 'Salary Template', component: 'Salary Template', action: '', }, | 116 | { name: 'salaryTemplate', title: 'Salary Template', component: 'Salary Template', action: '', }, |
117 | { name: 'hourlyTemplate', title: 'Hourly Template', component: 'Hourly Template', action: '', }, | 117 | { name: 'hourlyTemplate', title: 'Hourly Template', component: 'Hourly Template', action: '', }, |
118 | { name: 'manageSalary', title: 'Manage Salary', component: 'Manage Salary', action: '', }, | 118 | { name: 'manageSalary', title: 'Manage Salary', component: 'Manage Salary', action: '', }, |
119 | // { name: 'makePayment', title: 'Make Payment', component: 'Make Payment', action: '', }, | 119 | // { name: 'makePayment', title: 'Make Payment', component: 'Make Payment', action: '', }, |
120 | ] | 120 | ] |
121 | }, | 121 | }, |
122 | { | 122 | { |
123 | title: 'Notice Board', | 123 | title: 'Notice Board', |
124 | name: 'Notice Board', | 124 | name: 'Notice Board', |
125 | icon: '/static/icon/notice board.png', | 125 | icon: '/static/icon/notice board.png', |
126 | }, | 126 | }, |
127 | { | 127 | { |
128 | title: 'News', | 128 | title: 'News', |
129 | name: 'News', | 129 | name: 'News', |
130 | icon: '/static/icon/news.png', | 130 | icon: '/static/icon/news.png', |
131 | }, | 131 | }, |
132 | // { | 132 | // { |
133 | // title: 'Reminder', | 133 | // title: 'Reminder', |
134 | // name: 'reminder', | 134 | // name: 'reminder', |
135 | // icon: 'alarm_add', | 135 | // icon: 'alarm_add', |
136 | // }, | 136 | // }, |
137 | { | 137 | { |
138 | title: 'Time Table', | 138 | title: 'Time Table', |
139 | name: 'Time Table', | 139 | name: 'Time Table', |
140 | icon: '/static/icon/time table.png', | 140 | icon: '/static/icon/time table.png', |
141 | }, | 141 | }, |
142 | { | 142 | { |
143 | title: 'Library', | 143 | title: 'Library', |
144 | group: 'Library', | 144 | group: 'Library', |
145 | component: 'Library', | 145 | component: 'Library', |
146 | icon: '/static/icon/library.png', | 146 | icon: '/static/icon/library.png', |
147 | items: [ | 147 | items: [ |
148 | { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, | 148 | { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, |
149 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, | 149 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, |
150 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, | 150 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, |
151 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } | 151 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } |
152 | 152 | ||
153 | ] | 153 | ] |
154 | }, | 154 | }, |
155 | { | 155 | { |
156 | title: 'Report', | 156 | title: 'Report', |
157 | group: 'Report', | 157 | group: 'Report', |
158 | component: 'Report', | 158 | component: 'Report', |
159 | icon: '/static/icon/reports.png', | 159 | icon: '/static/icon/reports.png', |
160 | items: [ | 160 | items: [ |
161 | { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, | 161 | { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, |
162 | { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, | 162 | { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, |
163 | { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, | 163 | { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, |
164 | { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } | 164 | { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } |
165 | ] | 165 | ] |
166 | }, | 166 | }, |
167 | { | 167 | { |
168 | title: 'Notification', | 168 | title: 'Notification', |
169 | name: 'Notification', | 169 | name: 'Notification', |
170 | icon: '/static/icon/notification.png', | 170 | icon: '/static/icon/notification.png', |
171 | }, | 171 | }, |
172 | { | 172 | { |
173 | title: 'Social Media', | 173 | title: 'Social Media', |
174 | name: 'Social Media', | 174 | name: 'Social Media', |
175 | icon: '/static/icon/events.png', | 175 | icon: '/static/icon/events.png', |
176 | }, | 176 | }, |
177 | { | 177 | { |
178 | title: 'Gallery', | 178 | title: 'Gallery', |
179 | name: 'Gallery', | 179 | name: 'Gallery', |
180 | icon: '/static/icon/gallery.png', | 180 | icon: '/static/icon/gallery.png', |
181 | }, | 181 | }, |
182 | { | 182 | { |
183 | title: 'Event', | 183 | title: 'Event', |
184 | name: 'Event', | 184 | name: 'Event', |
185 | icon: '/static/icon/events.png', | 185 | icon: '/static/icon/events.png', |
186 | }, | 186 | }, |
187 | { | 187 | { |
188 | title: 'Account', | 188 | title: 'Account', |
189 | group: 'Account', | 189 | group: 'Account', |
190 | component: 'Account', | 190 | component: 'Account', |
191 | icon: '/static/icon/accounts.png', | 191 | icon: '/static/icon/accounts.png', |
192 | items: [ | 192 | items: [ |
193 | { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, | 193 | { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, |
194 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, | 194 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, |
195 | { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, | 195 | { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, |
196 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, | 196 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, |
197 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, | 197 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, |
198 | { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } | 198 | { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } |
199 | ] | 199 | ] |
200 | }, | 200 | }, |
201 | { | 201 | { |
202 | title: 'Holiday', | 202 | title: 'Holiday', |
203 | name: 'Holiday', | 203 | name: 'Holiday', |
204 | icon: '/static/icon/holiday.png', | 204 | icon: '/static/icon/holiday.png', |
205 | }, | 205 | }, |
206 | { | 206 | { |
207 | title: 'General Setting', | 207 | title: 'General Setting', |
208 | name: 'General Setting', | 208 | name: 'General Setting', |
209 | icon: '/static/icon/settings.png', | 209 | icon: '/static/icon/settings.png', |
210 | } | 210 | } |
211 | ]; | 211 | ]; |
212 | 212 | ||
213 | const libraryMenu = [{ | 213 | const libraryMenu = [{ |
214 | title: 'Dashboard', | 214 | title: 'Dashboard', |
215 | name: 'Dashboard', | 215 | name: 'Dashboard', |
216 | icon: '/static/icon/dashboard.png', | 216 | icon: '/static/icon/dashboard.png', |
217 | }, | 217 | }, |
218 | { | 218 | { |
219 | title: 'Library', | 219 | title: 'Library', |
220 | group: 'Library', | 220 | group: 'Library', |
221 | component: 'Library', | 221 | component: 'Library', |
222 | icon: '/static/icon/library.png', | 222 | icon: '/static/icon/library.png', |
223 | items: [ | 223 | items: [ |
224 | { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, | 224 | { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, |
225 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, | 225 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, |
226 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, | 226 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, |
227 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } | 227 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } |
228 | 228 | ||
229 | ] | 229 | ] |
230 | }, | 230 | }, |
231 | ]; | 231 | ]; |
232 | 232 | ||
233 | const accountMenu = [{ | 233 | const accountMenu = [{ |
234 | title: 'Dashboard', | 234 | title: 'Dashboard', |
235 | name: 'Dashboard', | 235 | name: 'Dashboard', |
236 | icon: '/static/icon/dashboard.png', | 236 | icon: '/static/icon/dashboard.png', |
237 | }, | 237 | }, |
238 | 238 | ||
239 | { | 239 | { |
240 | title: 'Account', | 240 | title: 'Account', |
241 | group: 'Account', | 241 | group: 'Account', |
242 | component: 'Account', | 242 | component: 'Account', |
243 | icon: '/static/icon/accounts.png', | 243 | icon: '/static/icon/accounts.png', |
244 | items: [ | 244 | items: [ |
245 | { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, | 245 | { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, |
246 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, | 246 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, |
247 | { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, | 247 | { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, |
248 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, | 248 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, |
249 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, | 249 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, |
250 | { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } | 250 | { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } |
251 | ] | 251 | ] |
252 | }, | 252 | }, |
253 | ]; | 253 | ]; |
254 | 254 | ||
255 | const schoolMenu = [ | 255 | const schoolMenu = [ |
256 | // { header: 'Apps' }, | 256 | // { header: 'Apps' }, |
257 | { | 257 | { |
258 | title: 'Dashboard', | 258 | title: 'Dashboard', |
259 | // group: 'apps', | 259 | // group: 'apps', |
260 | name: 'View School Dashboard', | 260 | name: 'View School Dashboard', |
261 | icon: '/static/icon/dashboard.png', | 261 | icon: '/static/icon/dashboard.png', |
262 | }, | 262 | }, |
263 | { | 263 | { |
264 | title: 'School', | 264 | title: 'School', |
265 | // group: 'apps', | 265 | // group: 'apps', |
266 | name: 'School', | 266 | name: 'School', |
267 | icon: '/static/schoolIcons/Dashboard.png', | 267 | icon: '/static/schoolIcons/Dashboard.png', |
268 | } | 268 | } |
269 | ]; | 269 | ]; |
270 | 270 | ||
271 | const teacherMenu = [{ | 271 | const teacherMenu = [{ |
272 | title: 'Dashboard', | 272 | title: 'Dashboard', |
273 | name: 'Dashboard', | 273 | name: 'Dashboard', |
274 | icon: '/static/icon/dashboard.png', | 274 | icon: '/static/icon/dashboard.png', |
275 | }, | 275 | }, |
276 | { | 276 | { |
277 | title: 'Parents', | 277 | title: 'Parents', |
278 | // group: 'apps', | 278 | // group: 'apps', |
279 | name: 'Parents', | 279 | name: 'Parents', |
280 | icon: '/static/icon/parents.png', | 280 | icon: '/static/icon/parents.png', |
281 | }, | 281 | }, |
282 | { | 282 | { |
283 | title: 'Teachers', | 283 | title: 'Teachers', |
284 | // group: '', | 284 | // group: '', |
285 | name: 'Teachers', | 285 | name: 'Teachers', |
286 | icon: '/static/icon/teacher.png', | 286 | icon: '/static/icon/teacher.png', |
287 | }, | 287 | }, |
288 | { | 288 | { |
289 | title: 'Students', | 289 | title: 'Students', |
290 | // group: 'apps', | 290 | // group: 'apps', |
291 | name: 'Students', | 291 | name: 'Students', |
292 | icon: '/static/icon/student.png', | 292 | icon: '/static/icon/student.png', |
293 | }, | 293 | }, |
294 | { | 294 | { |
295 | title: 'Academic', | 295 | title: 'Academic', |
296 | group: 'Academic', | 296 | group: 'Academic', |
297 | component: 'Academic', | 297 | component: 'Academic', |
298 | icon: '/static/icon/school.png', | 298 | icon: '/static/icon/school.png', |
299 | items: [ | 299 | items: [ |
300 | { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, | 300 | { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, |
301 | { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, | 301 | { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, |
302 | { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, | 302 | { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, |
303 | { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, | 303 | { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, |
304 | ] | 304 | ] |
305 | }, | 305 | }, |
306 | { | 306 | { |
307 | title: 'Course', | 307 | title: 'Course', |
308 | group: 'Course', | 308 | group: 'Course', |
309 | component: 'Course', | 309 | component: 'Course', |
310 | icon: '/static/icon/school.png', | 310 | icon: '/static/icon/school.png', |
311 | items: [ | 311 | items: [ |
312 | { name: 'Course', title: 'Course', component: 'Course', action: '', }, | 312 | { name: 'Course', title: 'Course', component: 'Course', action: '', }, |
313 | { name: 'Enroll Students', title: 'Enroll Students', component: 'Enroll Students', action: '', }, | 313 | { name: 'Enroll Students', title: 'Enroll Students', component: 'Enroll Students', action: '', }, |
314 | { name: 'Course Detail', title: 'Course Detail', component: 'Course Detail', action: '', }, | 314 | { name: 'Course Detail', title: 'Course Detail', component: 'Course Detail', action: '', }, |
315 | { name: 'Course Discussion', title: 'Course Discussion', component: 'Course Discussion', action: '', }, | 315 | { name: 'Course Discussion', title: 'Course Discussion', component: 'Course Discussion', action: '', }, |
316 | ] | 316 | ] |
317 | }, | 317 | }, |
318 | { | 318 | { |
319 | title: 'Annoucement', | 319 | title: 'Annoucement', |
320 | // group: 'apps', | 320 | // group: 'apps', |
321 | name: 'Annoucement', | 321 | name: 'Annoucement', |
322 | icon: '/static/icon/student.png', | 322 | icon: '/static/icon/student.png', |
323 | }, | 323 | }, |
324 | { | 324 | { |
325 | title: 'Meeting Event', | 325 | title: 'Meeting Event', |
326 | // group: 'apps', | 326 | // group: 'apps', |
327 | name: 'Meeting Event', | 327 | name: 'Meeting Event', |
328 | icon: '/static/icon/student.png', | 328 | icon: '/static/icon/student.png', |
329 | }, | 329 | }, |
330 | { | 330 | { |
331 | title: 'Attendance', | 331 | title: 'Attendance', |
332 | group: 'Attendance', | 332 | group: 'Attendance', |
333 | component: 'Attendance', | 333 | component: 'Attendance', |
334 | icon: '/static/icon/attendence.png', | 334 | icon: '/static/icon/attendence.png', |
335 | items: [ | 335 | items: [ |
336 | { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, | 336 | { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, |
337 | { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, | 337 | { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, |
338 | // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, | 338 | // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, |
339 | ] | 339 | ] |
340 | }, | 340 | }, |
341 | { | 341 | { |
342 | title: 'Exam', | 342 | title: 'Exam', |
343 | group: 'Exam', | 343 | group: 'Exam', |
344 | component: 'Exam', | 344 | component: 'Exam', |
345 | icon: '/static/icon/exam.png', | 345 | icon: '/static/icon/exam.png', |
346 | items: [ | 346 | items: [ |
347 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, | 347 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, |
348 | { name: 'ExamAttendence', title: 'Exam Attendence', component: 'Exam Attendence', action: '', } | 348 | { name: 'ExamAttendence', title: 'Exam Attendence', component: 'Exam Attendence', action: '', } |
349 | ] | 349 | ] |
350 | }, | 350 | }, |
351 | { | 351 | { |
352 | title: 'Marks', | 352 | title: 'Marks', |
353 | group: 'Mark', | 353 | group: 'Mark', |
354 | component: 'Mark', | 354 | component: 'Mark', |
355 | icon: '/static/icon/marks.png', | 355 | icon: '/static/icon/marks.png', |
356 | items: [ | 356 | items: [ |
357 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', } | 357 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', } |
358 | ] | 358 | ] |
359 | }, | 359 | }, |
360 | { | 360 | { |
361 | title: 'Report', | 361 | title: 'Report', |
362 | group: 'Report', | 362 | group: 'Report', |
363 | component: 'Report', | 363 | component: 'Report', |
364 | icon: '/static/icon/reports.png', | 364 | icon: '/static/icon/reports.png', |
365 | items: [ | 365 | items: [ |
366 | { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, | 366 | { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, |
367 | { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, | 367 | { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, |
368 | { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, | 368 | { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, |
369 | { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } | 369 | { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } |
370 | ] | 370 | ] |
371 | }, | 371 | }, |
372 | { | 372 | { |
373 | title: 'Library', | 373 | title: 'Library', |
374 | group: 'Library', | 374 | group: 'Library', |
375 | component: 'Library', | 375 | component: 'Library', |
376 | icon: '/static/icon/library.png', | 376 | icon: '/static/icon/library.png', |
377 | items: [ | 377 | items: [ |
378 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, | 378 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, |
379 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } | 379 | { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } |
380 | 380 | ||
381 | ] | 381 | ] |
382 | }, | 382 | }, |
383 | { | 383 | { |
384 | title: 'Meet', | 384 | title: 'Meet', |
385 | name: 'Meet', | 385 | name: 'Meet', |
386 | icon: '/static/icon/parents.png', | 386 | icon: '/static/icon/meet_icon_navigation.png', |
387 | } | 387 | } |
388 | ]; | 388 | ]; |
389 | 389 | ||
390 | const parentMenu = [{ | 390 | const parentMenu = [{ |
391 | title: 'Dashboard', | 391 | title: 'Dashboard', |
392 | name: 'Dashboard', | 392 | name: 'Dashboard', |
393 | icon: '/static/icon/dashboard.png', | 393 | icon: '/static/icon/dashboard.png', |
394 | }, | 394 | }, |
395 | { | 395 | { |
396 | title: "Change Student", | 396 | title: "Change Student", |
397 | name: 'Change Students', | 397 | name: 'Change Students', |
398 | Vicon: "face", | 398 | Vicon: "face", |
399 | click: e => { | 399 | click: e => { |
400 | console.log(e); | 400 | console.log(e); |
401 | } | 401 | } |
402 | }]; | 402 | }]; |
403 | // reorder menu | 403 | // reorder menu |
404 | // Menu.forEach((item) => { | 404 | // Menu.forEach((item) => { |
405 | // if (item.items) { | 405 | // if (item.items) { |
406 | // item.items.sort((x, y) => { | 406 | // item.items.sort((x, y) => { |
407 | // let textA = x.title.toUpperCase(); | 407 | // let textA = x.title.toUpperCase(); |
408 | // let textB = y.title.toUpperCase(); | 408 | // let textB = y.title.toUpperCase(); |
409 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; | 409 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; |
410 | // }); | 410 | // }); |
411 | // } | 411 | // } |
412 | // }); | 412 | // }); |
413 | 413 | ||
414 | export default { adminMenu, schoolMenu, teacherMenu, libraryMenu, accountMenu, parentMenu }; | 414 | export default { adminMenu, schoolMenu, teacherMenu, libraryMenu, accountMenu, parentMenu }; |
src/pages/Dashboard/ChapterInfo.vue
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
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 class="pt-0"> | 22 | <v-container class="pt-0"> |
23 | <v-layout row class="mt-1"> | 23 | <v-layout row class="mt-1"> |
24 | <v-flex xs8> | 24 | <v-flex xs8> |
25 | <!-- CHAPTER INFO --> | 25 | <!-- CHAPTER INFO --> |
26 | <div class="title side-bar-color font-weight-bold">{{chapter.chapters[0].chapterName}}</div> | 26 | <div class="title side-bar-color font-weight-bold">{{chapter.chapters[0].chapterName}}</div> |
27 | <div class="subheading grey--text lighten-1">{{chapter.chapters[0].description}}</div> | 27 | <div class="subheading grey--text lighten-1">{{chapter.chapters[0].description}}</div> |
28 | <div | 28 | <div |
29 | v-for="(point,index) in chapter.chapters[0].chapterPoints" | 29 | v-for="(point,index) in chapter.chapters[0].chapterPoints" |
30 | :key="index" | 30 | :key="index" |
31 | class="ml-2 mt-2" | 31 | class="ml-2 mt-2" |
32 | > | 32 | > |
33 | <span class="subheading grey--text lighten-1">{{index +1}}. {{point}}</span> | 33 | <span class="subheading grey--text lighten-1">{{index +1}}. {{point}}</span> |
34 | </div> | 34 | </div> |
35 | <!-- ACTIVITIES --> | 35 | <!-- ACTIVITIES --> |
36 | <div class="mt-5"> | 36 | <div class="mt-5"> |
37 | <v-icon>library_books</v-icon> | 37 | <v-icon>library_books</v-icon> |
38 | <span class="subheading font-weight-bold">Activities</span> | 38 | <span class="subheading font-weight-bold">Activities</span> |
39 | </div> | 39 | </div> |
40 | <!-- OTHER OPTIONS --> | 40 | <!-- OTHER OPTIONS --> |
41 | <div class="mt-5"> | 41 | <div class="mt-5"> |
42 | <ul class="subheading"> | 42 | <ul class="subheading"> |
43 | <!-- LIVE ONLINE CLASSES --> | 43 | <!-- LIVE ONLINE CLASSES --> |
44 | <div> | 44 | <div> |
45 | <v-btn flat class="px-4"> | 45 | <v-btn flat class="px-4"> |
46 | <li | 46 | <li |
47 | @click="$router.push({name: 'Live Online Class', query: {chapterId: $route.query.selectedChapterId, chapterName: chapter.chapters[0].chapterName, courseId: $route.query.courseId, classId: localStorage.getItem('parentClassId') } })" | 47 | @click="$router.push({name: 'Live Online Class', query: {chapterId: $route.query.selectedChapterId, chapterName: chapter.chapters[0].chapterName, courseId: $route.query.courseId, classId: localStorage.getItem('parentClassId') } })" |
48 | >Live online classes</li> | 48 | >Live online classes</li> |
49 | </v-btn> | 49 | </v-btn> |
50 | </div> | 50 | </div> |
51 | <!-- OPEN PDF IN NEW TAB --> | 51 | <!-- OPEN PDF IN NEW TAB --> |
52 | <div> | 52 | <div> |
53 | <a | 53 | <a |
54 | :href="chapter.chapters[0].pdfFileUrl" | 54 | :href="chapter.chapters[0].pdfFileUrl" |
55 | target="_blank" | 55 | target="_blank" |
56 | style="text-decoration: none!important;" | 56 | style="text-decoration: none!important;" |
57 | > | 57 | > |
58 | <v-btn flat class="px-4"> | 58 | <v-btn flat class="px-4"> |
59 | <li>Open PDF</li> | 59 | <li>Open PDF</li> |
60 | </v-btn> | 60 | </v-btn> |
61 | </a> | 61 | </a> |
62 | </div> | 62 | </div> |
63 | 63 | ||
64 | <!-- <li> | 64 | <!-- <li> |
65 | <v-btn flat>HSP Interactive content</v-btn> | 65 | <v-btn flat>HSP Interactive content</v-btn> |
66 | </li> | 66 | </li> |
67 | <li> | 67 | <li> |
68 | <v-btn flat>Assessment</v-btn> | 68 | <v-btn flat>Assessment</v-btn> |
69 | </li>--> | 69 | </li>--> |
70 | </ul> | 70 | </ul> |
71 | </div> | 71 | </div> |
72 | 72 | ||
73 | <!-- SELECT CHAPTERS --> | 73 | <!-- SELECT CHAPTERS --> |
74 | <v-layout row class="mt-5"> | 74 | <v-layout row class="mt-5"> |
75 | <!-- PREVIOUS CHAPTER --> | 75 | <!-- PREVIOUS CHAPTER --> |
76 | <v-flex | 76 | <v-flex |
77 | style="cursor: pointer;" | 77 | style="cursor: pointer;" |
78 | class="subheading font-weight-bold text-xs-left" | 78 | class="subheading font-weight-bold text-xs-left" |
79 | v-if="indexSelectedChapter > 0" | 79 | v-if="indexSelectedChapter > 0" |
80 | @click="showSelectedChapter('back')" | 80 | @click="showSelectedChapter('back')" |
81 | > | 81 | > |
82 | <v-icon class="black--text" style="position:relative; top: 4px;">chevron_left</v-icon> | 82 | <v-icon class="black--text" style="position:relative; top: 4px;">chevron_left</v-icon> |
83 | {{chapterNames[indexSelectedChapter - 1]}} | 83 | {{chapterNames[indexSelectedChapter - 1]}} |
84 | </v-flex> | 84 | </v-flex> |
85 | <v-spacer></v-spacer> | 85 | <v-spacer></v-spacer> |
86 | <!-- NEXT CHAPTER --> | 86 | <!-- NEXT CHAPTER --> |
87 | <v-flex | 87 | <v-flex |
88 | style="cursor: pointer;" | 88 | style="cursor: pointer;" |
89 | class="subheading font-weight-bold text-xs-right" | 89 | class="subheading font-weight-bold text-xs-right" |
90 | v-if="indexSelectedChapter < chapterNames.length -1" | 90 | v-if="indexSelectedChapter < chapterNames.length -1" |
91 | @click="showSelectedChapter('forward')" | 91 | @click="showSelectedChapter('forward')" |
92 | > | 92 | > |
93 | {{chapterNames[indexSelectedChapter + 1]}} | 93 | {{chapterNames[indexSelectedChapter + 1]}} |
94 | <v-icon class="black--text" style="position:relative; top: 4px;">chevron_right</v-icon> | 94 | <v-icon class="black--text" style="position:relative; top: 4px;">chevron_right</v-icon> |
95 | </v-flex> | 95 | </v-flex> |
96 | </v-layout> | 96 | </v-layout> |
97 | <!-- <v-flex class="text-xs-right mt-5" v-else> | 97 | <!-- <v-flex class="text-xs-right mt-5" v-else> |
98 | <span class="subheading font-weight-bold">Return to chapter one</span> | 98 | <span class="subheading font-weight-bold">Return to chapter one</span> |
99 | </v-flex>--> | 99 | </v-flex>--> |
100 | </v-flex> | 100 | </v-flex> |
101 | 101 | ||
102 | <v-spacer></v-spacer> | 102 | <v-spacer></v-spacer> |
103 | 103 | ||
104 | <!-- COURSES SIDE BAR- positioned to the right of the page --> | 104 | <!-- COURSES SIDE BAR- positioned to the right of the page --> |
105 | <v-flex xs3> | 105 | <v-flex xs3> |
106 | <v-card class="elevation-0 card-border" height="100%"> | 106 | <v-card class="elevation-0 card-border" height="100%"> |
107 | <CoursesSideBar></CoursesSideBar> | 107 | <CoursesSideBar></CoursesSideBar> |
108 | </v-card> | 108 | </v-card> |
109 | </v-flex> | 109 | </v-flex> |
110 | </v-layout> | 110 | </v-layout> |
111 | </v-container> | 111 | </v-container> |
112 | </div> | 112 | </div> |
113 | </template> | 113 | </template> |
114 | <script> | 114 | <script> |
115 | import http from "@/Services/http.js"; | 115 | import http from "@/Services/http.js"; |
116 | import AllApiCalls from "@/Services/AllApiCalls.js"; | 116 | import AllApiCalls from "@/Services/AllApiCalls.js"; |
117 | import CoursesSideBar from "@/pages/Common/CoursesSideBar.vue"; | 117 | import CoursesSideBar from "@/pages/Common/CoursesSideBar.vue"; |
118 | export default { | 118 | export default { |
119 | mixins: [AllApiCalls], | 119 | mixins: [AllApiCalls], |
120 | components: { | 120 | components: { |
121 | CoursesSideBar | 121 | CoursesSideBar |
122 | }, | 122 | }, |
123 | data() { | 123 | data() { |
124 | return { | 124 | return { |
125 | // courseData: [], | 125 | // courseData: [], |
126 | localStorage: localStorage, | 126 | localStorage: localStorage, |
127 | showLoader: false, | 127 | showLoader: false, |
128 | chapter: { chapters: [{}] }, | 128 | chapter: { chapters: [{}] }, |
129 | chapterNames: [], | 129 | chapterNames: [], |
130 | chapterIds: [], | 130 | chapterIds: [], |
131 | selectedChapterId: "", | 131 | selectedChapterId: "", |
132 | indexSelectedChapter: "", | 132 | indexSelectedChapter: "", |
133 | pdfLink: "" | 133 | pdfLink: "" |
134 | }; | 134 | }; |
135 | }, | 135 | }, |
136 | methods: { | 136 | methods: { |
137 | showSelectedChapter(newChapter) { | 137 | showSelectedChapter(newChapter) { |
138 | if (newChapter == "forward") { | 138 | if (newChapter == "forward") { |
139 | this.indexSelectedChapter += 1; | 139 | this.indexSelectedChapter += 1; |
140 | this.selectedChapterId = this.chapterIds[this.indexSelectedChapter]; | 140 | this.selectedChapterId = this.chapterIds[this.indexSelectedChapter]; |
141 | this.getParticularChapterDetail(); | 141 | this.getParticularChapterDetail(); |
142 | } | 142 | } |
143 | if (newChapter == "back") { | 143 | if (newChapter == "back") { |
144 | this.indexSelectedChapter -= 1; | 144 | this.indexSelectedChapter -= 1; |
145 | this.selectedChapterId = this.chapterIds[this.indexSelectedChapter]; | 145 | this.selectedChapterId = this.chapterIds[this.indexSelectedChapter]; |
146 | this.getParticularChapterDetail(); | 146 | this.getParticularChapterDetail(); |
147 | } | 147 | } |
148 | }, | 148 | }, |
149 | getParticularChapterDetail() { | 149 | getParticularChapterDetail() { |
150 | http() | 150 | http() |
151 | .get("/getParticularChapterDetail", { | 151 | .get("/getParticularChapterDetail", { |
152 | params: { | 152 | params: { |
153 | courseDetailId: this.$route.query.courseDetailId, | 153 | courseDetailId: this.$route.query.courseDetailId, |
154 | chapterId: this.selectedChapterId | 154 | chapterId: this.selectedChapterId |
155 | } | 155 | } |
156 | }) | 156 | }) |
157 | .then(response => { | 157 | .then(response => { |
158 | this.chapter = response.data.data; | 158 | this.chapter = response.data.data; |
159 | this.showLoader = false; | 159 | this.showLoader = false; |
160 | }) | 160 | }) |
161 | .catch(err => { | 161 | .catch(err => { |
162 | console.log("err in getParticularChapterDetail====>", err); | 162 | console.log("err in getParticularChapterDetail====>", err); |
163 | this.showLoader = false; | 163 | this.showLoader = false; |
164 | }); | 164 | }); |
165 | } | 165 | } |
166 | }, | 166 | }, |
167 | // computed:{ | 167 | // computed:{ |
168 | // nextChapterIndex(){ | 168 | // nextChapterIndex(){ |
169 | 169 | ||
170 | // } | 170 | // } |
171 | // } | 171 | // } |
172 | async created() { | 172 | async created() { |
173 | console.log("route query - ", this.$route.query); | 173 | console.log("route query - ", this.$route.query); |
174 | 174 | ||
175 | this.selectedChapterId = this.$route.query.selectedChapterId; | 175 | this.selectedChapterId = this.$route.query.selectedChapterId; |
176 | 176 | ||
177 | /* set chapterNames array */ | 177 | /* set chapterNames array */ |
178 | this.chapterNames = Object.keys(this.$route.query); | 178 | this.chapterNames = Object.keys(this.$route.query); |
179 | this.chapterNames.pop(); | 179 | this.chapterNames.pop(); |
180 | this.chapterNames.pop(); | 180 | this.chapterNames.pop(); |
181 | this.chapterNames.pop(); | 181 | this.chapterNames.pop(); |
182 | 182 | ||
183 | /* set chapter Ids */ | 183 | /* set chapter Ids */ |
184 | this.chapterIds = Object.values(this.$route.query); | 184 | this.chapterIds = Object.values(this.$route.query); |
185 | this.chapterIds.pop(); | 185 | this.chapterIds.pop(); |
186 | this.chapterIds.pop(); | 186 | this.chapterIds.pop(); |
187 | this.chapterIds.pop(); | 187 | this.chapterIds.pop(); |
188 | 188 | ||
189 | this.indexSelectedChapter = this.chapterIds.findIndex(id => { | 189 | this.indexSelectedChapter = this.chapterIds.findIndex(id => { |
190 | return id == this.selectedChapterId; | 190 | return id == this.selectedChapterId; |
191 | }); | 191 | }); |
192 | 192 | ||
193 | /* get chapter clicked on using the id */ | 193 | /* get chapter clicked on using the id */ |
194 | await this.getParticularChapterDetail(this.selectedChapterId); | 194 | await this.getParticularChapterDetail(this.selectedChapterId); |
195 | } | 195 | } |
196 | }; | 196 | }; |
197 | </script> | 197 | </script> |
198 | <style scoped> | 198 | <style scoped> |
199 | .side-bar-color { | 199 | .side-bar-color { |
200 | color: #827bfa !important; | 200 | color: #827bfa !important; |
201 | /* border-top-right-radius: 74px !important; */ | 201 | /* border-top-right-radius: 74px !important; */ |
202 | } | 202 | } |
203 | .card-border { | 203 | .card-border { |
204 | border: 1px #bdbdbd solid; | 204 | border: 1px #bdbdbd solid; |
205 | border-radius: 3px; | 205 | border-radius: 3px; |
206 | } | 206 | } |
207 | </style> | 207 | </style> |
208 | 208 |
src/pages/Dashboard/CourseDetails.vue
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
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 class="pt-0"> | 22 | <v-container class="pt-0"> |
23 | <v-layout row wrap class="mt-1"> | 23 | <v-layout row wrap class="mt-1"> |
24 | <v-flex xs12 md8> | 24 | <v-flex xs12 md8> |
25 | <div | 25 | <div |
26 | class="title side-bar-color font-weight-bold" | 26 | class="title side-bar-color font-weight-bold" |
27 | >Welcome to the {{courseDetails[0].courseId.courseName}} Course for {{courseDetails[0].classId.classNum}} class</div> | 27 | >Welcome to the {{courseDetails[0].courseId.courseName}} Course for {{courseDetails[0].classId.classNum}} class</div> |
28 | <v-flex xs12 class="subheading mt-2"> | 28 | <v-flex xs12 class="subheading mt-2"> |
29 | Lorem Ipsum sdjjkhsdf sdklfjs dkfjskdjfk fjsdklf sdjfksljf sdfkls fljlkj kl | 29 | Lorem Ipsum sdjjkhsdf sdklfjs dkfjskdjfk fjsdklf sdjfksljf sdfkls fljlkj kl |
30 | jkhjkfhjksd sdfjkhsdjk fsdjkl sfkljkl ldkfjkl kjlfs dlkjlskd fljsldk fklj | 30 | jkhjkfhjksd sdfjkhsdjk fsdjkl sfkljkl ldkfjkl kjlfs dlkjlskd fljsldk fklj |
31 | lksjdfljklsdj flkjs dflkjsd flkjsd lfkjsd lfjsdjf lkj kl | 31 | lksjdfljklsdj flkjs dflkjsd flkjsd lfkjsd lfjsdjf lkj kl |
32 | </v-flex> | 32 | </v-flex> |
33 | 33 | ||
34 | <div class="mt-5"> | 34 | <div class="mt-5"> |
35 | <v-btn | 35 | <v-btn |
36 | @click="$router.push({name: 'Announcement', query:{courseId: $route.query.courseId}})" | 36 | @click="$router.push({name: 'Announcement', query:{courseId: $route.query.courseId}})" |
37 | flat | 37 | flat |
38 | class="grey--text lighten-1" | 38 | class="grey--text lighten-1" |
39 | > | 39 | > |
40 | <v-icon>volume_up</v-icon> | 40 | <v-avatar size="30"> |
41 | <img src="/static/icon/announcement_icon.png" alt="icon" /> | ||
42 | </v-avatar> | ||
41 | <span class="ml-2">Announcement</span> | 43 | <span>Announcement</span> |
42 | </v-btn> | 44 | </v-btn> |
43 | </div> | 45 | </div> |
44 | <div> | 46 | <div> |
45 | <v-btn | 47 | <v-btn |
46 | @click="$router.push({name: 'Course Discussion Forum', query:{courseId: $route.query.courseId}})" | 48 | @click="$router.push({name: 'Course Discussion Forum', query:{courseId: $route.query.courseId}})" |
47 | class="grey--text lighten-1" | 49 | class="grey--text lighten-1" |
48 | flat | 50 | flat |
49 | > | 51 | > |
50 | <v-icon>forum</v-icon> | 52 | <v-avatar size="30"> |
51 | <span class="ml-2">Course discussion forum</span> | 53 | <img src="/static/icon/courseDiscussion_icon.png" alt="icon" /> |
54 | </v-avatar> | ||
55 | <span>Course discussion forum</span> | ||
52 | </v-btn> | 56 | </v-btn> |
53 | </div> | 57 | </div> |
54 | <!-- CHAPTERS --> | 58 | <!-- CHAPTERS --> |
55 | <v-layout column class="mt-5"> | 59 | <v-layout column class="mt-5"> |
56 | <v-flex | 60 | <v-flex |
57 | v-for="(chapter,index) in courseDetails[0].chapters" | 61 | v-for="(chapter,index) in courseDetails[0].chapters" |
58 | :key="index" | 62 | :key="index" |
59 | style="cursor: pointer;" | 63 | style="cursor: pointer;" |
60 | @click="routeToChapterInfo(chapter._id)" | 64 | @click="routeToChapterInfo(chapter._id)" |
61 | > | 65 | > |
62 | <v-card class="mt-2 elevation-0 card-border"> | 66 | <v-card class="mt-2 elevation-0 card-border"> |
63 | <v-container class="pt-0"> | 67 | <v-container class="pt-0"> |
64 | <div class="title side-bar-color font-weight-bold">{{chapter.chapterName}}</div> | 68 | <div class="title side-bar-color font-weight-bold">{{chapter.chapterName}}</div> |
65 | <div class="grey--text lighten-1 subheading">{{chapter.description}}</div> | 69 | <div class="grey--text lighten-1 subheading">{{chapter.description}}</div> |
66 | <div | 70 | <div |
67 | v-for="(point,index) in chapter.chapterPoints" | 71 | v-for="(point,index) in chapter.chapterPoints" |
68 | :key="index" | 72 | :key="index" |
69 | class="ml-2 mt-2" | 73 | class="ml-2 mt-2" |
70 | > | 74 | > |
71 | <span class="grey--text lighten-1 subheading">{{index +1}}. {{point}}</span> | 75 | <span class="grey--text lighten-1 subheading">{{index +1}}. {{point}}</span> |
72 | </div> | 76 | </div> |
73 | </v-container> | 77 | </v-container> |
74 | </v-card> | 78 | </v-card> |
75 | </v-flex> | 79 | </v-flex> |
76 | </v-layout> | 80 | </v-layout> |
77 | </v-flex> | 81 | </v-flex> |
78 | <v-spacer></v-spacer> | 82 | <v-spacer></v-spacer> |
79 | 83 | ||
80 | <!-- COURSES --> | 84 | <!-- COURSES --> |
81 | <v-flex xs12 md3> | 85 | <v-flex xs12 md3> |
82 | <v-card class="elevation-0 card-border" height="100%"> | 86 | <v-card class="elevation-0 card-border" height="100%"> |
83 | <v-container class="pt-0"> | 87 | <v-container class="pt-0"> |
84 | <div class="side-bar-color font-weight-bold title">Courses</div> | 88 | <div class="side-bar-color font-weight-bold title">Courses</div> |
85 | 89 | ||
86 | <div v-for="(course,index) in courseData"> | 90 | <div v-for="(course,index) in courseData"> |
87 | <v-btn | 91 | <v-btn |
88 | flat | 92 | flat |
89 | class="subheading text-xs-start justify-left" | 93 | class="subheading text-xs-start justify-left" |
90 | style="cursor: pointer;" | 94 | style="cursor: pointer;" |
91 | block | 95 | block |
92 | @click="routeToCourseDetails(course._id)" | 96 | @click="routeToCourseDetails(course._id)" |
93 | > | 97 | > |
94 | <div style="width: 100%;text-align: left;"> | 98 | <div style="width: 100%;text-align: left;"> |
95 | <v-icon style="color: red;padding-bottom: 3px;" size="15">play_arrow</v-icon> | 99 | <v-icon style="color: red;padding-bottom: 3px;" size="15">play_arrow</v-icon> |
96 | {{course.courseName}} | 100 | {{course.courseName}} |
97 | </div> | 101 | </div> |
98 | </v-btn> | 102 | </v-btn> |
99 | </div> | 103 | </div> |
100 | <!-- <v-expansion-panel focusable class="elevation-0"> | 104 | <!-- <v-expansion-panel focusable class="elevation-0"> |
101 | <v-expansion-panel-content v-for="(item,i) in courseData" :key="i"> | 105 | <v-expansion-panel-content v-for="(item,i) in courseData" :key="i"> |
102 | <template v-slot:header> | 106 | <template v-slot:header> |
103 | <div class="subheading">{{item.courseName}}</div> | 107 | <div class="subheading">{{item.courseName}}</div> |
104 | </template> | 108 | </template> |
105 | </v-expansion-panel-content> | 109 | </v-expansion-panel-content> |
106 | </v-expansion-panel>--> | 110 | </v-expansion-panel>--> |
107 | </v-container> | 111 | </v-container> |
108 | </v-card> | 112 | </v-card> |
109 | </v-flex> | 113 | </v-flex> |
110 | </v-layout> | 114 | </v-layout> |
111 | </v-container> | 115 | </v-container> |
112 | </div> | 116 | </div> |
113 | </template> | 117 | </template> |
114 | <script> | 118 | <script> |
115 | import AllApiCalls from "@/Services/AllApiCalls.js"; | 119 | import AllApiCalls from "@/Services/AllApiCalls.js"; |
116 | import http from "@/Services/http.js"; | 120 | import http from "@/Services/http.js"; |
117 | import moment from "moment"; | 121 | import moment from "moment"; |
118 | export default { | 122 | export default { |
119 | mixins: [AllApiCalls], | 123 | mixins: [AllApiCalls], |
120 | data() { | 124 | data() { |
121 | return { | 125 | return { |
122 | showLoader: false, | 126 | showLoader: false, |
123 | courseDetails: [{ courseId: {}, classId: {} }], | 127 | courseDetails: [{ courseId: {}, classId: {} }], |
124 | chapterIds: [], | 128 | chapterIds: [], |
125 | // courseData: [], | 129 | // courseData: [], |
126 | courseDataTree: [] | 130 | courseDataTree: [] |
127 | }; | 131 | }; |
128 | }, | 132 | }, |
129 | methods: { | 133 | methods: { |
130 | routeToChapterInfo(selectedChapterId) { | 134 | routeToChapterInfo(selectedChapterId) { |
131 | /* set value of present chapter selected, and other chapters ids in the obj */ | 135 | /* set value of present chapter selected, and other chapters ids in the obj */ |
132 | let obj = {}; | 136 | let obj = {}; |
133 | for (var i = 0; i < this.courseDetails[0].chapters.length; i++) { | 137 | for (var i = 0; i < this.courseDetails[0].chapters.length; i++) { |
134 | obj[ | 138 | obj[ |
135 | this.courseDetails[0].chapters[i].chapterName | 139 | this.courseDetails[0].chapters[i].chapterName |
136 | ] = this.courseDetails[0].chapters[i]._id; | 140 | ] = this.courseDetails[0].chapters[i]._id; |
137 | } | 141 | } |
138 | obj.selectedChapterId = selectedChapterId; | 142 | obj.selectedChapterId = selectedChapterId; |
139 | obj.courseDetailId = this.courseDetails[0]._id; | 143 | obj.courseDetailId = this.courseDetails[0]._id; |
140 | obj.courseId = this.$route.query.courseId; | 144 | obj.courseId = this.$route.query.courseId; |
141 | this.$router.push({ | 145 | this.$router.push({ |
142 | name: "Chapter Info", | 146 | name: "Chapter Info", |
143 | query: obj | 147 | query: obj |
144 | }); | 148 | }); |
145 | }, | 149 | }, |
146 | async routeToCourseDetails(courseId) { | 150 | async routeToCourseDetails(courseId) { |
147 | /* getParticularCourseDetail- To get courseDetail - defined in GetApis.js*/ | 151 | /* getParticularCourseDetail- To get courseDetail - defined in GetApis.js*/ |
148 | let response = await this.getParticularCourseDetail(courseId); | 152 | let response = await this.getParticularCourseDetail(courseId); |
149 | 153 | ||
150 | /* If the response is null then dont route */ | 154 | /* If the response is null then dont route */ |
151 | if (response.data.data.length > 0) { | 155 | if (response.data.data.length > 0) { |
152 | // REQUIRED TO WAIT FOR UPDATE CYCLE | 156 | // REQUIRED TO WAIT FOR UPDATE CYCLE |
153 | this.$nextTick(() => { | 157 | this.$nextTick(() => { |
154 | // this.filters.locEmitted = "emitted"; | 158 | // this.filters.locEmitted = "emitted"; |
155 | this.$router.push({ query: { courseId: courseId } }); | 159 | this.$router.push({ query: { courseId: courseId } }); |
156 | }); | 160 | }); |
157 | } else { | 161 | } else { |
158 | this.seeSnackbar("No Data Available", "warning"); | 162 | this.seeSnackbar("No Data Available", "warning"); |
159 | } | 163 | } |
160 | } | 164 | } |
161 | }, | 165 | }, |
162 | async created() { | 166 | async created() { |
163 | console.log("its working"); | 167 | console.log("its working"); |
164 | /* getParticularCourseDetail- To get courseDetail - defined in GetApis.js*/ | 168 | /* getParticularCourseDetail- To get courseDetail - defined in GetApis.js*/ |
165 | let response = await this.getParticularCourseDetail( | 169 | let response = await this.getParticularCourseDetail( |
166 | this.$route.query.courseId | 170 | this.$route.query.courseId |
167 | ); | 171 | ); |
168 | this.courseDetails = response.data.data; | 172 | this.courseDetails = response.data.data; |
169 | console.log("its working courseDetails - ", this.courseDetails); | 173 | console.log("its working courseDetails - ", this.courseDetails); |
170 | 174 | ||
171 | /* getStudentCourses - to get courseData - defined in GetApis.js*/ | 175 | /* getStudentCourses - to get courseData - defined in GetApis.js*/ |
172 | await this.getStudentCourses({ | 176 | await this.getStudentCourses({ |
173 | classId: localStorage.getItem("parentClassId"), | 177 | classId: localStorage.getItem("parentClassId"), |
174 | studentId: localStorage.getItem("parentStudentId") | 178 | studentId: localStorage.getItem("parentStudentId") |
175 | }); | 179 | }); |
176 | } | 180 | } |
177 | }; | 181 | }; |
178 | </script> | 182 | </script> |
179 | <style scoped> | 183 | <style scoped> |
180 | .side-bar-color { | 184 | .side-bar-color { |
181 | color: #827bfa !important; | 185 | color: #827bfa !important; |
182 | /* border-top-right-radius: 74px !important; */ | 186 | /* border-top-right-radius: 74px !important; */ |
183 | } | 187 | } |
184 | .card-border { | 188 | .card-border { |
185 | border: 1px #bdbdbd solid; | 189 | border: 1px #bdbdbd solid; |
186 | border-radius: 3px; | 190 | border-radius: 3px; |
187 | } | 191 | } |
188 | /* .v-treeview-node__toggle { | 192 | /* .v-treeview-node__toggle { |
189 | color: red !important; | 193 | color: red !important; |
190 | } */ | 194 | } */ |
191 | </style> | 195 | </style> |
static/icon/announcement_icon.png
934 Bytes
static/icon/courseDiscussion_icon.png
884 Bytes
static/icon/dashboard icons-54.png
707 Bytes
static/icon/dashboard icons-56.png
770 Bytes
static/icon/intrack logo white.png
55.6 KB
static/icon/meet_icon_navigation.png
656 Bytes
static/icon/meeting_icon.png
802 Bytes