Commit dea4d2889746cb7b62acba1f1d51c56e26799349
1 parent
6a40df7c7f
Exists in
master
and in
2 other branches
task commited
Showing
6 changed files
with
902 additions
and
85 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: '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: 'Routine', title: 'Routine', component: 'Routine', 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/parents.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 | // reorder menu | 395 | // reorder menu |
396 | // Menu.forEach((item) => { | 396 | // Menu.forEach((item) => { |
397 | // if (item.items) { | 397 | // if (item.items) { |
398 | // item.items.sort((x, y) => { | 398 | // item.items.sort((x, y) => { |
399 | // let textA = x.title.toUpperCase(); | 399 | // let textA = x.title.toUpperCase(); |
400 | // let textB = y.title.toUpperCase(); | 400 | // let textB = y.title.toUpperCase(); |
401 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; | 401 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; |
402 | // }); | 402 | // }); |
403 | // } | 403 | // } |
404 | // }); | 404 | // }); |
405 | 405 | ||
406 | export default { adminMenu, schoolMenu, teacherMenu, libraryMenu, accountMenu, parentMenu }; | 406 | export default { adminMenu, schoolMenu, teacherMenu, libraryMenu, accountMenu, parentMenu }; |
src/pages/Course/courseDiscussion.vue
File was created | 1 | <template> | |
2 | <v-container fluid class="body-color"> | ||
3 | <v-dialog v-model="editDialog" max-width="600px" scrollable> | ||
4 | <v-card flat class="card-style pa-2" dark> | ||
5 | <v-layout> | ||
6 | <v-flex xs12> | ||
7 | <label class="title text-xs-center">Edit Course Discussion</label> | ||
8 | <v-icon size="24" class="right" @click="editDialog = false">cancel</v-icon> | ||
9 | </v-flex> | ||
10 | </v-layout> | ||
11 | <v-card-text> | ||
12 | <v-form ref="form"> | ||
13 | <v-container fluid> | ||
14 | <v-layout> | ||
15 | <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center"> | ||
16 | <v-avatar size="100px" v-if="!editedItem.attachementUrl && !editImageUrl"> | ||
17 | <img src="/static/icon/user.png" /> | ||
18 | </v-avatar> | ||
19 | <img | ||
20 | :src="editedItem.attachementUrl" | ||
21 | v-else-if="editedItem.attachementUrl && !editImageUrl" | ||
22 | height="150" | ||
23 | style="border-radius:50%; width:150px" | ||
24 | /> | ||
25 | <img | ||
26 | v-if="editImageUrl" | ||
27 | :src="editImageUrl" | ||
28 | style="border-radius:50%; width:150px;height:150px" | ||
29 | /> | ||
30 | <input | ||
31 | type="file" | ||
32 | style="display: none" | ||
33 | ref="editDataImage" | ||
34 | accept="image/*" | ||
35 | @change="onEditFilePicked" | ||
36 | /> | ||
37 | </v-flex> | ||
38 | </v-layout> | ||
39 | <v-layout wrap> | ||
40 | <v-flex xs12 sm12> | ||
41 | <v-layout> | ||
42 | <v-flex xs4 sm5 class="pt-4 subheading"> | ||
43 | <label class="right hidden-xs-only hidden-sm-only">Select Class:</label> | ||
44 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Class:</label> | ||
45 | </v-flex> | ||
46 | <v-flex xs8 sm7 class="ml-3"> | ||
47 | <v-select | ||
48 | :items="addclass" | ||
49 | v-model="editedItem.classId" | ||
50 | item-text="classNum" | ||
51 | item-value="_id" | ||
52 | name="Select Class" | ||
53 | required | ||
54 | @change="editGetCourses(editedItem.classId)" | ||
55 | ></v-select> | ||
56 | </v-flex> | ||
57 | </v-layout> | ||
58 | <v-layout> | ||
59 | <v-flex xs12 sm12> | ||
60 | <v-layout> | ||
61 | <v-flex xs4 sm5 class="pt-4 subheading"> | ||
62 | <label class="right">Select Course:</label> | ||
63 | </v-flex> | ||
64 | <v-flex xs8 sm7 class="ml-3"> | ||
65 | <v-select | ||
66 | :items="editCourseData" | ||
67 | label="Select Course" | ||
68 | v-model="editedItem.courseId" | ||
69 | item-text="courseName" | ||
70 | item-value="_id" | ||
71 | required | ||
72 | class="ml-2" | ||
73 | ></v-select> | ||
74 | </v-flex> | ||
75 | </v-layout> | ||
76 | </v-flex> | ||
77 | </v-layout> | ||
78 | <v-layout> | ||
79 | <v-flex xs4 sm5 class="pt-4 subheading"> | ||
80 | <label class="right">Subject:</label> | ||
81 | </v-flex> | ||
82 | <v-flex xs8 sm7 class="ml-3"> | ||
83 | <v-text-field v-model="editedItem.subject" type="text" required></v-text-field> | ||
84 | </v-flex> | ||
85 | </v-layout> | ||
86 | <v-layout> | ||
87 | <v-flex xs4 sm5 class="pt-4 subheading"> | ||
88 | <label class="right">Description:</label> | ||
89 | </v-flex> | ||
90 | <v-flex xs8 sm7 class="ml-3"> | ||
91 | <v-text-field v-model="editedItem.description" type="text" required></v-text-field> | ||
92 | </v-flex> | ||
93 | </v-layout> | ||
94 | <v-layout> | ||
95 | <v-flex xs4 sm5 class="pt-4 subheading"> | ||
96 | <label class="right hidden-xs-only hidden-sm-only">Upload Image:</label> | ||
97 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Upload:</label> | ||
98 | </v-flex> | ||
99 | <v-flex xs8 sm7 class="ml-3"> | ||
100 | <v-text-field | ||
101 | @click="pickEditFile" | ||
102 | v-model="editImageName" | ||
103 | append-icon="attach_file" | ||
104 | ></v-text-field> | ||
105 | </v-flex> | ||
106 | </v-layout> | ||
107 | </v-flex> | ||
108 | </v-layout> | ||
109 | <v-layout> | ||
110 | <v-flex xs12 sm12 class="px-0 mx-0"> | ||
111 | <v-layout class="right"> | ||
112 | <v-btn @click="save" round dark :loading="editLoading" class="add-button">Save</v-btn> | ||
113 | </v-layout> | ||
114 | </v-flex> | ||
115 | </v-layout> | ||
116 | </v-container> | ||
117 | </v-form> | ||
118 | </v-card-text> | ||
119 | </v-card> | ||
120 | </v-dialog> | ||
121 | <!-- ****** DIsCUSIION TABLE ****** --> | ||
122 | <v-toolbar color="transparent" flat> | ||
123 | <v-spacer></v-spacer> | ||
124 | <v-flex xs12 sm4 md2> | ||
125 | <v-select | ||
126 | small | ||
127 | :items="addclass" | ||
128 | label="Select Class" | ||
129 | v-model="getSelectedData.classId" | ||
130 | item-text="classNum" | ||
131 | item-value="_id" | ||
132 | name="Select Class" | ||
133 | @change="getCourses(getSelectedData.classId)" | ||
134 | class="mr-2" | ||
135 | required | ||
136 | ></v-select> | ||
137 | </v-flex> | ||
138 | <v-flex xs12 sm4 md2> | ||
139 | <v-select | ||
140 | :items="courseData" | ||
141 | label="Select Course" | ||
142 | v-model="getSelectedData.courseId" | ||
143 | item-text="courseName" | ||
144 | item-value="_id" | ||
145 | required | ||
146 | class="ml-2" | ||
147 | @change="getCourseDiscussionTable(getSelectedData.courseId)" | ||
148 | ></v-select> | ||
149 | </v-flex> | ||
150 | <v-card-title class="body-1" v-show="show"> | ||
151 | <v-btn icon large flat @click="displaySearch"> | ||
152 | <v-avatar size="27"> | ||
153 | <img src="/static/icon/search.png" alt="icon" /> | ||
154 | </v-avatar> | ||
155 | </v-btn> | ||
156 | </v-card-title> | ||
157 | <v-flex xs8 sm8 md3 lg2 v-show="showSearch"> | ||
158 | <v-layout> | ||
159 | <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field> | ||
160 | <v-icon @click="closeSearch" color="error">close</v-icon> | ||
161 | </v-layout> | ||
162 | </v-flex> | ||
163 | </v-toolbar> | ||
164 | <v-data-table | ||
165 | :headers="headers" | ||
166 | :items="courseDiscussionData" | ||
167 | :pagination.sync="pagination" | ||
168 | :search="search" | ||
169 | > | ||
170 | <template slot="items" slot-scope="props"> | ||
171 | <tr class="tr"> | ||
172 | <td class="text-xs-center td td-row"> | ||
173 | <v-avatar size="40"> | ||
174 | <img :src="props.item.attachementUrl" v-if="props.item.attachementUrl" /> | ||
175 | <img src="/static/icon/user.png" v-else-if="!props.item.attachementUrl" /> | ||
176 | </v-avatar> | ||
177 | </td> | ||
178 | <td class="text-xs-center td td-row"> | ||
179 | <router-link | ||
180 | :to="{ name:'Course Discussiones Form',params: { discussionId:props.item._id } }" | ||
181 | >{{ props.item.subject }}</router-link> | ||
182 | </td> | ||
183 | <td class="text-xs-center td td-row">{{ props.item.studentId.name}}</td> | ||
184 | <td class="text-xs-center td td-row">-</td> | ||
185 | <td class="text-xs-center td td-row">{{ props.item.forumThread.length }}</td> | ||
186 | <td class="text-xs-center td td-row"> | ||
187 | <span> | ||
188 | <v-tooltip top> | ||
189 | <img | ||
190 | slot="activator" | ||
191 | style="cursor:pointer; width:20px; height:18px; " | ||
192 | class="mr-3" | ||
193 | @click="editItem(props.item)" | ||
194 | src="/static/icon/edit.png" | ||
195 | /> | ||
196 | <span>Edit</span> | ||
197 | </v-tooltip> | ||
198 | <v-tooltip top> | ||
199 | <img | ||
200 | slot="activator" | ||
201 | style="cursor:pointer; width:20px; height:20px; " | ||
202 | class="mr-3" | ||
203 | @click="deleteItem(props.item)" | ||
204 | src="/static/icon/delete.png" | ||
205 | /> | ||
206 | <span>Delete</span> | ||
207 | </v-tooltip> | ||
208 | </span> | ||
209 | </td> | ||
210 | </tr> | ||
211 | </template> | ||
212 | <v-alert | ||
213 | slot="no-results" | ||
214 | :value="true" | ||
215 | color="error" | ||
216 | icon="warning" | ||
217 | >Your search for "{{ search }}" found no results.</v-alert> | ||
218 | </v-data-table> | ||
219 | <v-snackbar | ||
220 | :timeout="timeout" | ||
221 | :top="y === 'top'" | ||
222 | :right="x === 'right'" | ||
223 | :vertical="mode === 'vertical'" | ||
224 | v-model="snackbar" | ||
225 | color="success" | ||
226 | >{{ text }}</v-snackbar> | ||
227 | <div class="loader" v-if="showLoader"> | ||
228 | <v-progress-circular indeterminate color="white"></v-progress-circular> | ||
229 | </div> | ||
230 | </v-container> | ||
231 | </template> | ||
232 | |||
233 | <script> | ||
234 | import http from "@/Services/http.js"; | ||
235 | import moment from "moment"; | ||
236 | |||
237 | export default { | ||
238 | data: () => ({ | ||
239 | snackbar: false, | ||
240 | y: "top", | ||
241 | x: "right", | ||
242 | mode: "", | ||
243 | timeout: 3000, | ||
244 | text: "", | ||
245 | show: true, | ||
246 | showSearch: false, | ||
247 | showLoader: false, | ||
248 | loading: false, | ||
249 | date: null, | ||
250 | search: "", | ||
251 | addclass: [], | ||
252 | pagination: { | ||
253 | rowsPerPage: 10 | ||
254 | }, | ||
255 | headers: [ | ||
256 | { | ||
257 | text: "Image", | ||
258 | value: "subjattachementUrlect", | ||
259 | sortable: false, | ||
260 | align: "center" | ||
261 | }, | ||
262 | { | ||
263 | text: "Discussion", | ||
264 | value: "subject", | ||
265 | sortable: false, | ||
266 | align: "center" | ||
267 | }, | ||
268 | { text: "Started", value: "studentId", sortable: false, align: "center" }, | ||
269 | { | ||
270 | text: "Last Post", | ||
271 | value: "forumThread", | ||
272 | sortable: false, | ||
273 | align: "center" | ||
274 | }, | ||
275 | { text: "replies", value: "email", sortable: false, align: "center" }, | ||
276 | { text: "Action", value: "", sortable: false, align: "center" } | ||
277 | ], | ||
278 | token: "", | ||
279 | selectStudents: { | ||
280 | select: "", | ||
281 | selectSection: "" | ||
282 | }, | ||
283 | |||
284 | role: "", | ||
285 | schoolRole: "", | ||
286 | menu: false, | ||
287 | valid: true, | ||
288 | |||
289 | getSelectedData: {}, | ||
290 | courseDiscussionData: [], | ||
291 | courseData: [], | ||
292 | editCourseData: [], | ||
293 | addSection: [], | ||
294 | editedItem: {}, | ||
295 | editDialog: false, | ||
296 | editedIndex: -1, | ||
297 | editiImageFile: "", | ||
298 | editImageName: "", | ||
299 | editImageUrl: "", | ||
300 | editLoading: false | ||
301 | }), | ||
302 | methods: { | ||
303 | // save(date) { | ||
304 | // this.$refs.menu.save(date); | ||
305 | // }, | ||
306 | pickEditFile() { | ||
307 | this.$refs.editDataImage.click(); | ||
308 | }, | ||
309 | onEditFilePicked(e) { | ||
310 | console.log(e); | ||
311 | const files = e.target.files; | ||
312 | if (files[0] !== undefined) { | ||
313 | this.editImageName = files[0].name; | ||
314 | console.log("this.editImageName", this.editImageName); | ||
315 | |||
316 | if (this.editImageName.lastIndexOf(".") <= 0) { | ||
317 | return; | ||
318 | } | ||
319 | const fr = new FileReader(); | ||
320 | fr.readAsDataURL(files[0]); | ||
321 | fr.addEventListener("load", () => { | ||
322 | this.editImageUrl = fr.result; | ||
323 | this.editiImageFile = files[0]; // this is an image file that can be sent to server... | ||
324 | }); | ||
325 | } else { | ||
326 | this.editImageName = ""; | ||
327 | this.editiImageFile = ""; | ||
328 | } | ||
329 | }, | ||
330 | getAllClass() { | ||
331 | http() | ||
332 | .get("/getClassesList", { | ||
333 | headers: { Authorization: "Bearer " + this.token } | ||
334 | }) | ||
335 | .then(response => { | ||
336 | this.addclass = response.data.data; | ||
337 | }) | ||
338 | .catch(error => { | ||
339 | // console.log("err====>", err); | ||
340 | // this.$router.replace({ path: "/" }); | ||
341 | }); | ||
342 | }, | ||
343 | getCourses(classId) { | ||
344 | this.showLoader = true; | ||
345 | http() | ||
346 | .get("/getCourseesList", { | ||
347 | params: { | ||
348 | classId: classId | ||
349 | } | ||
350 | }) | ||
351 | .then(response => { | ||
352 | this.courseData = response.data.data; | ||
353 | this.showLoader = false; | ||
354 | }) | ||
355 | .catch(err => { | ||
356 | console.log("err====>", err); | ||
357 | this.showLoader = false; | ||
358 | }); | ||
359 | }, | ||
360 | editGetCourses(classId) { | ||
361 | this.showLoader = true; | ||
362 | http() | ||
363 | .get("/getCourseesList", { | ||
364 | params: { | ||
365 | classId: classId | ||
366 | } | ||
367 | }) | ||
368 | .then(response => { | ||
369 | this.editCourseData = response.data.data; | ||
370 | this.showLoader = false; | ||
371 | }) | ||
372 | .catch(err => { | ||
373 | console.log("err====>", err); | ||
374 | this.showLoader = false; | ||
375 | }); | ||
376 | }, | ||
377 | getCourseDiscussionTable(id) { | ||
378 | // console.log("id", this.getSelectedData.courseId); | ||
379 | this.showLoader = true; | ||
380 | http() | ||
381 | .get("/getCourseDiscussionesList", { | ||
382 | params: { | ||
383 | classId: this.getSelectedData.classId, | ||
384 | courseId: id | ||
385 | } | ||
386 | }) | ||
387 | .then(response => { | ||
388 | // console.log("response", response.data.data); | ||
389 | this.courseDiscussionData = response.data.data; | ||
390 | this.showLoader = false; | ||
391 | }) | ||
392 | .catch(error => { | ||
393 | console.log("err====>", error); | ||
394 | this.showLoader = false; | ||
395 | }); | ||
396 | }, | ||
397 | editItem(item) { | ||
398 | this.editedIndex = this.courseDiscussionData.indexOf(item); | ||
399 | this.editedItem = Object.assign({}, item); | ||
400 | this.editDialog = true; | ||
401 | }, | ||
402 | save() { | ||
403 | console.log("this.editedItem", this.editedItem); | ||
404 | let editCourseDiscuss = { | ||
405 | courseDiscussionId: this.editedItem._id, | ||
406 | courseId: this.editedItem.courseId, | ||
407 | studentId: this.editedItem.studentId._id, | ||
408 | subject: this.editedItem.subject, | ||
409 | description: this.editedItem.description | ||
410 | }; | ||
411 | if (this.editedItem.classId._id) { | ||
412 | editCourseDiscuss.classId = this.editedItem.classId._id; | ||
413 | } | ||
414 | if (!this.editedItem.classId._id) { | ||
415 | editCourseDiscuss.classId = this.editedItem.classId; | ||
416 | } | ||
417 | if (this.editImageUrl) { | ||
418 | var str = this.editImageUrl; | ||
419 | const [baseUrl, editImageUrl] = str.split(/,/); | ||
420 | editCourse.upload = editImageUrl; | ||
421 | } | ||
422 | this.editLoading = true; | ||
423 | http() | ||
424 | .put("/updateCourseDiscussion", editCourseDiscuss) | ||
425 | .then(response => { | ||
426 | this.snackbar = true; | ||
427 | this.text = response.data.message; | ||
428 | this.color = "green"; | ||
429 | this.imageUrl = ""; | ||
430 | this.getCourseDiscussionTable(); | ||
431 | this.editDialog = false; | ||
432 | this.editLoading = false; | ||
433 | }) | ||
434 | .catch(error => { | ||
435 | this.editLoading = false; | ||
436 | this.snackbar = true; | ||
437 | this.text = error.response.data.statusText; | ||
438 | this.color = "error"; | ||
439 | }); | ||
440 | }, | ||
441 | deleteItem(item) { | ||
442 | let deleteCourseDiscussion = { | ||
443 | courseDiscussionId: item._id | ||
444 | }; | ||
445 | http() | ||
446 | .delete( | ||
447 | "/deleteCourseDiscussion", | ||
448 | confirm("Are you sure you want to delete this?") && { | ||
449 | params: deleteCourseDiscussion | ||
450 | } | ||
451 | ) | ||
452 | .then(response => { | ||
453 | this.snackbar = true; | ||
454 | this.text = response.data.message; | ||
455 | this.color = "green"; | ||
456 | this.getCourseDiscussionTable(); | ||
457 | }) | ||
458 | .catch(error => { | ||
459 | this.snackbar = true; | ||
460 | this.text = error.response.data.message; | ||
461 | this.color = "error"; | ||
462 | }); | ||
463 | }, | ||
464 | displaySearch() { | ||
465 | this.show = false; | ||
466 | this.showSearch = true; | ||
467 | }, | ||
468 | closeSearch() { | ||
469 | this.showSearch = false; | ||
470 | this.show = true; | ||
471 | this.search = ""; | ||
472 | } | ||
473 | }, | ||
474 | mounted() { | ||
475 | // this.getStudentList(); | ||
476 | this.token = this.$store.state.token; | ||
477 | this.role = this.$store.state.role; | ||
478 | this.getAllClass(); | ||
479 | } | ||
480 | }; | ||
481 | </script> |
src/pages/Course/discussion.vue
File was created | 1 | <template> | |
2 | <v-container fluid class="body-color"> | ||
3 | <!-- ******COURSE DISCUSIION COMMENT ****** --> | ||
4 | <v-layout> | ||
5 | <v-flex xs12 v-for="(courseDiscussionData,i) in courseDiscussionData" :key="i"> | ||
6 | <v-card class="elevation-0 grey lighten-3 pa-2" flat> | ||
7 | <v-list two-line subheader> | ||
8 | <v-list-tile> | ||
9 | <v-list-tile-avatar> | ||
10 | <v-avatar size="46"> | ||
11 | <img | ||
12 | :src="courseDiscussionData.attachementUrl" | ||
13 | v-if="courseDiscussionData.attachementUrl" | ||
14 | /> | ||
15 | <img src="/static/icon/user.png" v-else-if="!courseDiscussionData.attachementUrl" /> | ||
16 | </v-avatar> | ||
17 | </v-list-tile-avatar> | ||
18 | <v-list-tile-content> | ||
19 | <v-list-tile-title>{{ courseDiscussionData.subject }}</v-list-tile-title> | ||
20 | <v-list-tile-sub-title> | ||
21 | By | ||
22 | <span class="info--text">{{ courseDiscussionData.studentId.name }}</span> | ||
23 | - {{dates(courseDiscussionData.created ) }} | ||
24 | </v-list-tile-sub-title> | ||
25 | </v-list-tile-content> | ||
26 | <v-list-tile-action> | ||
27 | <div> | ||
28 | <v-btn flat round dark class="reply-btn" @click="showReplyBox = true">Reply</v-btn> | ||
29 | </div> | ||
30 | </v-list-tile-action> | ||
31 | </v-list-tile> | ||
32 | </v-list> | ||
33 | </v-card> | ||
34 | <v-flex | ||
35 | xs12 | ||
36 | class="mt-4 pl-5 mx-auto" | ||
37 | v-for="(replyThread,i) in courseDiscussionData.forumThread" | ||
38 | :key="i" | ||
39 | > | ||
40 | <v-card class="elevation-0 grey lighten-3" flat> | ||
41 | <v-list two-line subheader class="grey lighten-3 pa-1"> | ||
42 | <v-list-tile> | ||
43 | <v-list-tile-avatar> | ||
44 | <v-avatar size="46"> | ||
45 | <img | ||
46 | :src="courseDiscussionData.attachementUrl" | ||
47 | v-if="courseDiscussionData.attachementUrl" | ||
48 | /> | ||
49 | <img | ||
50 | src="/static/icon/user.png" | ||
51 | v-else-if="!courseDiscussionData.attachementUrl" | ||
52 | /> | ||
53 | </v-avatar> | ||
54 | </v-list-tile-avatar> | ||
55 | <v-list-tile-content> | ||
56 | <v-list-tile-title>Re: {{ courseDiscussionData.subject }}</v-list-tile-title> | ||
57 | <v-list-tile-sub-title> | ||
58 | By | ||
59 | <span class="info--text">{{ replyThread.teacherId.name }}</span> | ||
60 | - {{dates(replyThread.created ) }} | ||
61 | </v-list-tile-sub-title> | ||
62 | </v-list-tile-content> | ||
63 | </v-list-tile> | ||
64 | </v-list> | ||
65 | <v-list class="pa-2 reply-desc"> | ||
66 | <v-list-tile-content> | ||
67 | <v-list-tile-title | ||
68 | v-show="replyThread.showDescriptionReplyThread" | ||
69 | >{{ replyThread.description }}</v-list-tile-title> | ||
70 | <v-flex xs12 sm12 md4 v-show="replyThread.showUpdateReplyThread == true"> | ||
71 | <v-text-field v-model="replyThread.description"></v-text-field> | ||
72 | <v-btn | ||
73 | flat | ||
74 | round | ||
75 | dark | ||
76 | class="reply-btn right" | ||
77 | @click="updateRelpyThreadDiscussion(replyThread)" | ||
78 | >Save</v-btn> | ||
79 | </v-flex> | ||
80 | </v-list-tile-content> | ||
81 | </v-list> | ||
82 | <v-list class="grey lighten-4 pa-0"> | ||
83 | <v-list-tile-action> | ||
84 | <v-spacer></v-spacer> | ||
85 | <div> | ||
86 | <v-btn | ||
87 | flat | ||
88 | round | ||
89 | dark | ||
90 | class="reply-btn" | ||
91 | @click="deleteRelpyThreadDiscussion(replyThread._id)" | ||
92 | >Delete</v-btn> | ||
93 | <v-btn | ||
94 | flat | ||
95 | round | ||
96 | dark | ||
97 | class="reply-btn mr-4" | ||
98 | @click="showUpdateReplyThreadDiscussion(replyThread)" | ||
99 | >Edit</v-btn> | ||
100 | </div> | ||
101 | </v-list-tile-action> | ||
102 | </v-list> | ||
103 | </v-card> | ||
104 | </v-flex> | ||
105 | <v-flex xs12 class="mt-4" v-show="showReplyBox"> | ||
106 | <v-textarea | ||
107 | name="input-7-1" | ||
108 | solo | ||
109 | label="Label Text" | ||
110 | multi-line | ||
111 | v-model="replyDescription" | ||
112 | ></v-textarea> | ||
113 | <v-btn round dark class="open-dialog-button" flat @click="showReplyBox = false">Cancel</v-btn> | ||
114 | <v-btn | ||
115 | round | ||
116 | dark | ||
117 | :loading="loading" | ||
118 | class="reply-btn" | ||
119 | @click="replyThreadDiscussion()" | ||
120 | >Submit</v-btn> | ||
121 | </v-flex> | ||
122 | </v-flex> | ||
123 | </v-layout> | ||
124 | <v-snackbar | ||
125 | :timeout="timeout" | ||
126 | :top="y === 'top'" | ||
127 | :right="x === 'right'" | ||
128 | :vertical="mode === 'vertical'" | ||
129 | v-model="snackbar" | ||
130 | color="success" | ||
131 | >{{ text }}</v-snackbar> | ||
132 | <div class="loader" v-if="showLoader"> | ||
133 | <v-progress-circular indeterminate color="white"></v-progress-circular> | ||
134 | </div> | ||
135 | </v-container> | ||
136 | </template> | ||
137 | |||
138 | <script> | ||
139 | import http from "@/Services/http.js"; | ||
140 | import moment from "moment"; | ||
141 | |||
142 | export default { | ||
143 | data: () => ({ | ||
144 | snackbar: false, | ||
145 | y: "top", | ||
146 | x: "right", | ||
147 | mode: "", | ||
148 | timeout: 3000, | ||
149 | text: "", | ||
150 | showLoader: false, | ||
151 | loading: false, | ||
152 | date: null, | ||
153 | token: "", | ||
154 | role: "", | ||
155 | schoolRole: "", | ||
156 | menu: false, | ||
157 | courseDiscussionData: {}, | ||
158 | showReplyBox: false, | ||
159 | replyDescription: "", | ||
160 | loginId: "", | ||
161 | editedIndex: -1 | ||
162 | }), | ||
163 | methods: { | ||
164 | dates: function(date) { | ||
165 | return moment(date).format("MMMM DD, YYYY hh:mm A"); | ||
166 | }, | ||
167 | getDiscussionesThread() { | ||
168 | // console.log("id", this.getSelectedData.courseId); | ||
169 | this.showLoader = true; | ||
170 | http() | ||
171 | .get("/getParticularCourseDiscussion", { | ||
172 | params: { | ||
173 | courseDiscussionId: this.$route.params.discussionId | ||
174 | } | ||
175 | }) | ||
176 | .then(response => { | ||
177 | // console.log("response", response.data.data); | ||
178 | this.courseDiscussionData = response.data.data; | ||
179 | for (let i = 0; i < this.courseDiscussionData.length; i++) { | ||
180 | for ( | ||
181 | let j = 0; | ||
182 | j < this.courseDiscussionData[i].forumThread.length; | ||
183 | j++ | ||
184 | ) { | ||
185 | this.courseDiscussionData[i].forumThread[ | ||
186 | j | ||
187 | ].showUpdateReplyThread = false; | ||
188 | this.courseDiscussionData[i].forumThread[ | ||
189 | j | ||
190 | ].showDescriptionReplyThread = true; | ||
191 | } | ||
192 | } | ||
193 | this.showLoader = false; | ||
194 | this.showReplyBox = false; | ||
195 | }) | ||
196 | .catch(error => { | ||
197 | console.log("err====>", error); | ||
198 | this.showLoader = false; | ||
199 | }); | ||
200 | }, | ||
201 | replyThreadDiscussion() { | ||
202 | this.showLoader = true; | ||
203 | var payloadData = { | ||
204 | courseDiscussionId: this.$route.params.discussionId, | ||
205 | teacherId: this.loginId, | ||
206 | description: this.replyDescription | ||
207 | }; | ||
208 | http() | ||
209 | .put("/replyForumThread", payloadData) | ||
210 | .then(response => { | ||
211 | // console.log("response", response.data.data); | ||
212 | this.showLoader = false; | ||
213 | this.getDiscussionesThread(); | ||
214 | }) | ||
215 | .catch(error => { | ||
216 | this.showLoader = false; | ||
217 | }); | ||
218 | }, | ||
219 | showUpdateReplyThreadDiscussion(item) { | ||
220 | this.editedIndex = this.courseDiscussionData.indexOf(item); | ||
221 | var editedItem = Object.assign({}, item); | ||
222 | var arrayOfcourseDiscussionData = []; | ||
223 | for (let i = 0; i < this.courseDiscussionData.length; i++) { | ||
224 | for ( | ||
225 | let j = 0; | ||
226 | j < this.courseDiscussionData[i].forumThread.length; | ||
227 | j++ | ||
228 | ) { | ||
229 | if ( | ||
230 | editedItem._id == this.courseDiscussionData[i].forumThread[j]._id | ||
231 | ) { | ||
232 | this.courseDiscussionData[i].forumThread[ | ||
233 | j | ||
234 | ].showUpdateReplyThread = true; | ||
235 | this.courseDiscussionData[i].forumThread[ | ||
236 | j | ||
237 | ].showDescriptionReplyThread = false; | ||
238 | } | ||
239 | } | ||
240 | arrayOfcourseDiscussionData.push(this.courseDiscussionData[i]); | ||
241 | } | ||
242 | this.courseDiscussionData = arrayOfcourseDiscussionData; | ||
243 | }, | ||
244 | updateRelpyThreadDiscussion(replyThread) { | ||
245 | this.showLoader = true; | ||
246 | var payloadData = { | ||
247 | forumThreadId: replyThread._id, | ||
248 | courseDiscussionId: this.$route.params.discussionId, | ||
249 | teacherId: this.loginId, | ||
250 | description: replyThread.description | ||
251 | }; | ||
252 | http() | ||
253 | .put("/updateForumThread", payloadData) | ||
254 | .then(response => { | ||
255 | this.showLoader = false; | ||
256 | this.getDiscussionesThread(); | ||
257 | }) | ||
258 | .catch(error => { | ||
259 | this.showLoader = false; | ||
260 | }); | ||
261 | }, | ||
262 | deleteRelpyThreadDiscussion(id) { | ||
263 | this.showLoader = true; | ||
264 | var payloadData = { | ||
265 | forumThreadId: id, | ||
266 | courseDiscussionId: this.$route.params.discussionId | ||
267 | }; | ||
268 | http() | ||
269 | .put( | ||
270 | "/deleteForumThread", | ||
271 | confirm("Are you sure you want to delete this?") && payloadData | ||
272 | ) | ||
273 | .then(response => { | ||
274 | this.showLoader = false; | ||
275 | this.getDiscussionesThread(); | ||
276 | }) | ||
277 | .catch(error => { | ||
278 | this.showLoader = false; | ||
279 | }); | ||
280 | } | ||
281 | }, | ||
282 | mounted() { | ||
283 | // this.getStudentList(); | ||
284 | this.token = this.$store.state.token; | ||
285 | this.role = this.$store.state.role; | ||
286 | this.loginId = this.$store.state.id; | ||
287 | this.getDiscussionesThread(); | ||
288 | } | ||
289 | }; | ||
290 | </script> | ||
291 | |||
292 | <style> | ||
293 | .reply-desc { | ||
294 | border: 1px solid #f2f2f2; | ||
295 | } | ||
296 | .open-dialog-button { | ||
297 | background: #827bfa !important; | ||
298 | border-color: #827bfa !important; | ||
299 | text-transform: none !important; | ||
300 | } | ||
301 | |||
302 | .reply-btn { | ||
303 | background: #feb83c !important; | ||
304 | border-color: #feb83c !important; | ||
305 | text-transform: none !important; | ||
306 | -webkit-box-shadow: none !important; | ||
307 | box-shadow: none !important; | ||
308 | } | ||
309 | </style> |
src/pages/Course/enrollStudents.vue
1 | <template> | 1 | <template> |
2 | <v-container fluid class="body-color"> | 2 | <v-container fluid class="body-color"> |
3 | <!-- ****** STUDENTS TABLE ****** --> | 3 | <!-- ****** STUDENTS TABLE ****** --> |
4 | <v-toolbar color="transparent" flat> | 4 | <v-toolbar color="transparent" flat> |
5 | <v-spacer></v-spacer> | 5 | <v-spacer></v-spacer> |
6 | <v-flex xs12 sm4 md2> | 6 | <v-flex xs12 sm4 md2> |
7 | <v-select | 7 | <v-select |
8 | small | 8 | small |
9 | :items="addclass" | 9 | :items="addclass" |
10 | label="Select Class" | 10 | label="Select Class" |
11 | v-model="getReport.classId" | 11 | v-model="getReport.classId" |
12 | item-text="classNum" | 12 | item-text="classNum" |
13 | item-value="_id" | 13 | item-value="_id" |
14 | name="Select Class" | 14 | name="Select Class" |
15 | @change="getCourses(getReport.classId)" | 15 | @change="getCourses(getReport.classId)" |
16 | class="mr-2" | 16 | class="mr-2" |
17 | required | 17 | required |
18 | ></v-select> | 18 | ></v-select> |
19 | </v-flex> | 19 | </v-flex> |
20 | <v-flex xs12 sm4 md2> | 20 | <v-flex xs12 sm4 md2> |
21 | <v-select | 21 | <v-select |
22 | :items="courseData" | 22 | :items="courseData" |
23 | label="Select Course" | 23 | label="Select Course" |
24 | v-model="getReport.courseId" | 24 | v-model="getReport.courseId" |
25 | item-text="courseName" | 25 | item-text="courseName" |
26 | item-value="_id" | 26 | item-value="_id" |
27 | required | 27 | required |
28 | class="ml-2" | 28 | class="ml-2" |
29 | @change="getStudentTable(getReport.courseId)" | 29 | @change="getStudentTable(getReport.courseId)" |
30 | ></v-select> | 30 | ></v-select> |
31 | </v-flex> | 31 | </v-flex> |
32 | <v-card-title class="body-1" v-show="show"> | 32 | <v-card-title class="body-1" v-show="show"> |
33 | <v-btn icon large flat @click="displaySearch"> | 33 | <v-btn icon large flat @click="displaySearch"> |
34 | <v-avatar size="27"> | 34 | <v-avatar size="27"> |
35 | <img src="/static/icon/search.png" alt="icon" /> | 35 | <img src="/static/icon/search.png" alt="icon" /> |
36 | </v-avatar> | 36 | </v-avatar> |
37 | </v-btn> | 37 | </v-btn> |
38 | </v-card-title> | 38 | </v-card-title> |
39 | <v-flex xs8 sm8 md3 lg2 v-show="showSearch"> | 39 | <v-flex xs8 sm8 md3 lg2 v-show="showSearch"> |
40 | <v-layout> | 40 | <v-layout> |
41 | <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field> | 41 | <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field> |
42 | <v-icon @click="closeSearch" color="error">close</v-icon> | 42 | <v-icon @click="closeSearch" color="error">close</v-icon> |
43 | </v-layout> | 43 | </v-layout> |
44 | </v-flex> | 44 | </v-flex> |
45 | </v-toolbar> | 45 | </v-toolbar> |
46 | <v-data-table | 46 | <v-data-table |
47 | :headers="headers" | 47 | :headers="headers" |
48 | :items="studentsData" | 48 | :items="studentsData" |
49 | :pagination.sync="pagination" | 49 | :pagination.sync="pagination" |
50 | :search="search" | 50 | :search="search" |
51 | select-all | 51 | select-all |
52 | v-model="selected" | 52 | v-model="selected" |
53 | item-key="name" | 53 | item-key="name" |
54 | > | 54 | > |
55 | <template slot="items" slot-scope="props"> | 55 | <template slot="items" slot-scope="props"> |
56 | <tr class="tr" :active="props.selected" @click="props.selected = !props.selected"> | 56 | <tr class="tr" :active="props.selected" @click="props.selected = !props.selected"> |
57 | <td class="text-xs-center td td-row"> | 57 | <td class="text-xs-center td td-row"> |
58 | <v-checkbox | 58 | <v-checkbox |
59 | v-model="props.item.enroll" | 59 | v-model="props.item.enroll" |
60 | @change="selectParticularStudent(props.item)" | 60 | @change="selectParticularStudent(props.item)" |
61 | primary | 61 | primary |
62 | hide-details | 62 | hide-details |
63 | ></v-checkbox> | 63 | ></v-checkbox> |
64 | </td> | 64 | </td> |
65 | <td class="text-xs-center td td-row"> | 65 | <td class="text-xs-center td td-row"> |
66 | <v-avatar size="40"> | 66 | <v-avatar size="40"> |
67 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | 67 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> |
68 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | 68 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> |
69 | </v-avatar> | 69 | </v-avatar> |
70 | </td> | 70 | </td> |
71 | <td class="text-xs-center td td-row">{{ props.item.name}}</td> | 71 | <td class="text-xs-center td td-row">{{ props.item.name}}</td> |
72 | <td class="text-xs-center td td-row">{{ props.item.fatherCellNo}}</td> | 72 | <td class="text-xs-center td td-row">{{ props.item.fatherCellNo}}</td> |
73 | <td class="text-xs-center td td-row">{{ props.item.email }}</td> | 73 | <td class="text-xs-center td td-row">{{ props.item.email }}</td> |
74 | </tr> | 74 | </tr> |
75 | </template> | 75 | </template> |
76 | <template slot="headers" slot-scope="props"> | 76 | <template slot="headers" slot-scope="props"> |
77 | <tr> | 77 | <tr> |
78 | <th> | 78 | <th> |
79 | <v-checkbox | 79 | <v-checkbox |
80 | :input-value="props.all" | 80 | :input-value="props.all" |
81 | :indeterminate="props.indeterminate" | 81 | :indeterminate="props.indeterminate" |
82 | primary | 82 | primary |
83 | hide-details | 83 | hide-details |
84 | @click.native="toggleAll" | 84 | @click.native="toggleAll" |
85 | ></v-checkbox> | 85 | ></v-checkbox> |
86 | </th> | 86 | </th> |
87 | <th | 87 | <th |
88 | v-for="header in props.headers" | 88 | v-for="header in props.headers" |
89 | :key="header.text" | 89 | :key="header.text" |
90 | :class="['column sortable', pagination.descending ? 'desc' : 'asc', header.value === pagination.sortBy ? 'active' : '']" | 90 | :class="['column sortable', pagination.descending ? 'desc' : 'asc', header.value === pagination.sortBy ? 'active' : '']" |
91 | @click="changeSort(header.value)" | 91 | @click="changeSort(header.value)" |
92 | > | 92 | > |
93 | <v-icon small>arrow_upward</v-icon> | 93 | <v-icon small>arrow_upward</v-icon> |
94 | {{ header.text }} | 94 | {{ header.text }} |
95 | </th> | 95 | </th> |
96 | </tr> | 96 | </tr> |
97 | </template> | 97 | </template> |
98 | <v-alert | 98 | <v-alert |
99 | slot="no-results" | 99 | slot="no-results" |
100 | :value="true" | 100 | :value="true" |
101 | color="error" | 101 | color="error" |
102 | icon="warning" | 102 | icon="warning" |
103 | >Your search for "{{ search }}" found no results.</v-alert> | 103 | >Your search for "{{ search }}" found no results.</v-alert> |
104 | </v-data-table> | 104 | </v-data-table> |
105 | <v-snackbar | 105 | <v-snackbar |
106 | :timeout="timeout" | 106 | :timeout="timeout" |
107 | :top="y === 'top'" | 107 | :top="y === 'top'" |
108 | :right="x === 'right'" | 108 | :right="x === 'right'" |
109 | :vertical="mode === 'vertical'" | 109 | :vertical="mode === 'vertical'" |
110 | v-model="snackbar" | 110 | v-model="snackbar" |
111 | color="success" | 111 | color="success" |
112 | >{{ text }}</v-snackbar> | 112 | >{{ text }}</v-snackbar> |
113 | <div class="loader" v-if="showLoader"> | 113 | <div class="loader" v-if="showLoader"> |
114 | <v-progress-circular indeterminate color="white"></v-progress-circular> | 114 | <v-progress-circular indeterminate color="white"></v-progress-circular> |
115 | </div> | 115 | </div> |
116 | </v-container> | 116 | </v-container> |
117 | </template> | 117 | </template> |
118 | 118 | ||
119 | <script> | 119 | <script> |
120 | import http from "@/Services/http.js"; | 120 | import http from "@/Services/http.js"; |
121 | import moment from "moment"; | 121 | import moment from "moment"; |
122 | 122 | ||
123 | export default { | 123 | export default { |
124 | data: () => ({ | 124 | data: () => ({ |
125 | snackbar: false, | 125 | snackbar: false, |
126 | y: "top", | 126 | y: "top", |
127 | x: "right", | 127 | x: "right", |
128 | mode: "", | 128 | mode: "", |
129 | timeout: 3000, | 129 | timeout: 3000, |
130 | text: "", | 130 | text: "", |
131 | show: true, | 131 | show: true, |
132 | showSearch: false, | 132 | showSearch: false, |
133 | showLoader: false, | 133 | showLoader: false, |
134 | loading: false, | 134 | loading: false, |
135 | date: null, | 135 | date: null, |
136 | search: "", | 136 | search: "", |
137 | addclass: [], | 137 | addclass: [], |
138 | pagination: { | 138 | pagination: { |
139 | rowsPerPage: 10 | 139 | rowsPerPage: 10 |
140 | }, | 140 | }, |
141 | headers: [ | 141 | headers: [ |
142 | { | 142 | { |
143 | text: "Profile Pic", | 143 | text: "Profile Pic", |
144 | value: "profilprofilePicUrlePicUrl", | 144 | value: "profilprofilePicUrlePicUrl", |
145 | sortable: false, | 145 | sortable: false, |
146 | align: "center" | 146 | align: "center" |
147 | }, | 147 | }, |
148 | { text: "Name", value: "name", sortable: false, align: "center" }, | 148 | { text: "Name", value: "name", sortable: false, align: "center" }, |
149 | { | 149 | { |
150 | text: "Mobile No", | 150 | text: "Mobile No", |
151 | value: "fatherCellNo", | 151 | value: "fatherCellNo", |
152 | sortable: false, | 152 | sortable: false, |
153 | align: "center" | 153 | align: "center" |
154 | }, | 154 | }, |
155 | { text: "Email", value: "email", sortable: false, align: "center" } | 155 | { text: "Email", value: "email", sortable: false, align: "center" } |
156 | // { text: "Action", value: "", sortable: false, align: "center" } | 156 | // { text: "Action", value: "", sortable: false, align: "center" } |
157 | ], | 157 | ], |
158 | token: "", | 158 | token: "", |
159 | selectStudents: { | 159 | selectStudents: { |
160 | select: "", | 160 | select: "", |
161 | selectSection: "" | 161 | selectSection: "" |
162 | }, | 162 | }, |
163 | 163 | ||
164 | role: "", | 164 | role: "", |
165 | schoolRole: "", | 165 | schoolRole: "", |
166 | menu: false, | 166 | menu: false, |
167 | valid: true, | 167 | valid: true, |
168 | 168 | ||
169 | getReport: {}, | 169 | getReport: {}, |
170 | studentsData: [], | 170 | studentsData: [], |
171 | courseData: [], | 171 | courseData: [], |
172 | addSection: [], | 172 | addSection: [], |
173 | selected: [] | 173 | selected: [] |
174 | }), | 174 | }), |
175 | methods: { | 175 | methods: { |
176 | save(date) { | 176 | save(date) { |
177 | this.$refs.menu.save(date); | 177 | this.$refs.menu.save(date); |
178 | }, | 178 | }, |
179 | getAllClass() { | 179 | getAllClass() { |
180 | http() | 180 | http() |
181 | .get("/getClassesList", { | 181 | .get("/getClassesList", { |
182 | headers: { Authorization: "Bearer " + this.token } | 182 | headers: { Authorization: "Bearer " + this.token } |
183 | }) | 183 | }) |
184 | .then(response => { | 184 | .then(response => { |
185 | this.addclass = response.data.data; | 185 | this.addclass = response.data.data; |
186 | }) | 186 | }) |
187 | .catch(error => { | 187 | .catch(error => { |
188 | // console.log("err====>", err); | 188 | // console.log("err====>", err); |
189 | // this.$router.replace({ path: "/" }); | 189 | // this.$router.replace({ path: "/" }); |
190 | }); | 190 | }); |
191 | }, | 191 | }, |
192 | getCourses(classId) { | 192 | getCourses(classId) { |
193 | this.showLoader = true; | 193 | this.showLoader = true; |
194 | http() | 194 | http() |
195 | .get("/getCourseesList", { | 195 | .get("/getCourseesList", { |
196 | params: { | 196 | params: { |
197 | classId: classId | 197 | classId: classId |
198 | } | 198 | } |
199 | }) | 199 | }) |
200 | .then(response => { | 200 | .then(response => { |
201 | this.courseData = response.data.data; | 201 | this.courseData = response.data.data; |
202 | this.showLoader = false; | 202 | this.showLoader = false; |
203 | }) | 203 | }) |
204 | .catch(err => { | 204 | .catch(err => { |
205 | console.log("err====>", err); | 205 | console.log("err====>", err); |
206 | this.showLoader = false; | 206 | this.showLoader = false; |
207 | }); | 207 | }); |
208 | }, | 208 | }, |
209 | getStudents() { | 209 | getStudents() { |
210 | this.showLoader = true; | 210 | this.showLoader = true; |
211 | http() | 211 | http() |
212 | .get("/getStudentsList", { | 212 | .get("/getStudentsList", { |
213 | params: { | 213 | params: { |
214 | classId: this.getReport.classId | 214 | classId: this.getReport.classId |
215 | } | 215 | } |
216 | }) | 216 | }) |
217 | .then(response => { | 217 | .then(response => { |
218 | this.studentsData = response.data.data; | 218 | this.studentsData = response.data.data; |
219 | this.showLoader = false; | 219 | this.showLoader = false; |
220 | // this.addStudentAttendenceDialog = false; | 220 | // this.addStudentAttendenceDialog = false; |
221 | var attendence = ""; | 221 | var attendence = ""; |
222 | for (let i = 0; i < this.studentsData.length; i++) { | 222 | for (let i = 0; i < this.studentsData.length; i++) { |
223 | this.studentsData[i].attendence = true; | 223 | this.studentsData[i].attendence = true; |
224 | } | 224 | } |
225 | this.getParticularCourse(); | 225 | this.getParticularCourse(); |
226 | }) | 226 | }) |
227 | .catch(error => { | 227 | .catch(error => { |
228 | console.log("err====>", error); | 228 | console.log("err====>", error); |
229 | this.showLoader = false; | 229 | this.showLoader = false; |
230 | }); | 230 | }); |
231 | }, | 231 | }, |
232 | getStudentTable(id) { | 232 | getStudentTable(id) { |
233 | // console.log("id", this.getReport.courseId); | 233 | // console.log("id", this.getReport.courseId); |
234 | this.getStudents(); | 234 | this.getStudents(); |
235 | }, | 235 | }, |
236 | update() { | 236 | update() { |
237 | var studentsAttendence = []; | 237 | var studentsAttendence = []; |
238 | for (var j = 0; j < this.studentsData.length; j++) { | 238 | for (var j = 0; j < this.studentsData.length; j++) { |
239 | studentsAttendence.push({ | 239 | studentsAttendence.push({ |
240 | studentId: this.studentsData[j]._id, | 240 | studentId: this.studentsData[j]._id, |
241 | isPresent: this.studentsData[j].attendence | 241 | isPresent: this.studentsData[j].attendence |
242 | }); | 242 | }); |
243 | } | 243 | } |
244 | if (this.$refs.form.validate()) { | 244 | if (this.$refs.form.validate()) { |
245 | let attendanceData = { | 245 | let attendanceData = { |
246 | sectionId: this.getReport.sectionId, | 246 | sectionId: this.getReport.sectionId, |
247 | date: this.date, | 247 | date: this.date, |
248 | students: studentsAttendence | 248 | students: studentsAttendence |
249 | }; | 249 | }; |
250 | http() | 250 | http() |
251 | .put("/updateAttendance", attendanceData) | 251 | .put("/updateAttendance", attendanceData) |
252 | .then(response => { | 252 | .then(response => { |
253 | this.snackbar = true; | 253 | this.snackbar = true; |
254 | this.text = response.data.message; | 254 | this.text = response.data.message; |
255 | this.addStudentAttendenceDialog = false; | 255 | this.addStudentAttendenceDialog = false; |
256 | }) | 256 | }) |
257 | .catch(error => { | 257 | .catch(error => { |
258 | this.snackbar = true; | 258 | this.snackbar = true; |
259 | this.text = error.response.data.message; | 259 | this.text = error.response.data.message; |
260 | }); | 260 | }); |
261 | } | 261 | } |
262 | }, | 262 | }, |
263 | toggleAll() { | 263 | toggleAll() { |
264 | if (this.selected.length) this.selected = []; | 264 | if (this.selected.length) this.selected = []; |
265 | else this.selected = this.studentsData.slice(); | 265 | else this.selected = this.studentsData.slice(); |
266 | let selectedStudentsArray = []; | 266 | let selectedStudentsArray = []; |
267 | for (let i = 0; i < this.selected.length; i++) { | 267 | for (let i = 0; i < this.selected.length; i++) { |
268 | selectedStudentsArray.push({ studentId: this.selected[i]._id }); | 268 | selectedStudentsArray.push({ studentId: this.selected[i]._id }); |
269 | } | 269 | } |
270 | // console.log("selectedStudentsArray", selectedStudentsArray); | 270 | // console.log("selectedStudentsArray", selectedStudentsArray); |
271 | var payload = { | 271 | var payload = { |
272 | courseId: this.getReport.courseId, | 272 | courseId: this.getReport.courseId, |
273 | enrollStudents: selectedStudentsArray | 273 | enrollStudents: selectedStudentsArray |
274 | }; | 274 | }; |
275 | http() | 275 | http() |
276 | .put("/enrollStudents", payload) | 276 | .put("/enrollStudents", payload) |
277 | .then(response => { | 277 | .then(response => { |
278 | this.snackbar = true; | 278 | this.snackbar = true; |
279 | this.text = response.data.message; | 279 | this.text = response.data.message; |
280 | this.getParticularCourse() | 280 | this.getParticularCourse(); |
281 | }) | 281 | }) |
282 | .catch(error => { | 282 | .catch(error => { |
283 | this.snackbar = true; | 283 | this.snackbar = true; |
284 | this.text = error.response.data.message; | 284 | this.text = error.response.data.message; |
285 | }); | 285 | }); |
286 | }, | 286 | }, |
287 | selectParticularStudent(selected) { | 287 | selectParticularStudent(selected) { |
288 | console.log("selected", selected); | 288 | console.log("selected", selected); |
289 | let selectedStudentsArray = []; | 289 | let selectedStudentsArray = []; |
290 | selectedStudentsArray.push({ studentId: selected._id }); | 290 | selectedStudentsArray.push({ studentId: selected._id }); |
291 | if ( | 291 | // console.log("selected.enroll", selected.enroll); |
292 | selected.enroll === true && | 292 | if (selected.enroll === true) { |
293 | selected.enroll === undefined && | ||
294 | selected.enroll === null | ||
295 | ) { | ||
296 | var payload = { | 293 | var payload = { |
297 | courseId: this.getReport.courseId, | 294 | courseId: this.getReport.courseId, |
298 | enrollStudents: selectedStudentsArray | 295 | enrollStudents: selectedStudentsArray |
299 | }; | 296 | }; |
300 | http() | 297 | http() |
301 | .put("/enrollStudents", payload) | 298 | .put("/enrollStudents", payload) |
302 | .then(response => { | 299 | .then(response => { |
303 | this.snackbar = true; | 300 | this.snackbar = true; |
304 | this.text = response.data.message; | 301 | this.text = response.data.message; |
302 | this.getParticularCourse(); | ||
305 | }) | 303 | }) |
306 | .catch(error => { | 304 | .catch(error => { |
307 | this.snackbar = true; | 305 | this.snackbar = true; |
308 | this.text = error.response.data.message; | 306 | this.text = error.response.data.message; |
309 | }); | 307 | }); |
310 | } | 308 | } |
311 | if ( | 309 | if ( |
312 | selected.enroll == false && | 310 | selected.enroll == false && |
313 | selected.enroll != undefined && | 311 | selected.enroll != undefined && |
314 | selected.enroll != null | 312 | selected.enroll != null |
315 | ) { | 313 | ) { |
316 | var payloadDeleteStudents = { | 314 | var payloadDeleteStudents = { |
317 | courseId: this.getReport.courseId, | 315 | courseId: this.getReport.courseId, |
318 | enrollStudentsId: selected.enrollId | 316 | enrollStudentsId: selected.enrollId |
319 | }; | 317 | }; |
320 | http() | 318 | http() |
321 | .put("/deleteStudents", payloadDeleteStudents) | 319 | .put("/deleteStudents", payloadDeleteStudents) |
322 | .then(response => { | 320 | .then(response => { |
323 | this.snackbar = true; | 321 | this.snackbar = true; |
324 | this.text = response.data.message; | 322 | this.text = response.data.message; |
323 | this.getParticularCourse(); | ||
325 | }) | 324 | }) |
326 | .catch(error => { | 325 | .catch(error => { |
327 | this.snackbar = true; | 326 | this.snackbar = true; |
328 | this.text = error.response.data.message; | 327 | this.text = error.response.data.message; |
329 | }); | 328 | }); |
330 | } | 329 | } |
331 | }, | 330 | }, |
332 | getParticularCourse() { | 331 | getParticularCourse() { |
333 | var payload = { | 332 | var payload = { |
334 | courseId: this.getReport.courseId | 333 | courseId: this.getReport.courseId |
335 | }; | 334 | }; |
336 | http() | 335 | http() |
337 | .get("/getParticularCourse", { | 336 | .get("/getParticularCourse", { |
338 | params: payload | 337 | params: payload |
339 | }) | 338 | }) |
340 | .then(response => { | 339 | .then(response => { |
341 | for (let i = 0; i < response.data.data.enrollStudents.length; i++) { | 340 | for (let i = 0; i < response.data.data.enrollStudents.length; i++) { |
342 | var studentId = {}; | 341 | var studentId = {}; |
343 | studentId = response.data.data.enrollStudents[i]; | 342 | studentId = response.data.data.enrollStudents[i]; |
344 | for (let j = 0; j < this.studentsData.length; j++) { | 343 | for (let j = 0; j < this.studentsData.length; j++) { |
345 | if (studentId.studentId == this.studentsData[j]._id) { | 344 | if (studentId.studentId == this.studentsData[j]._id) { |
346 | console.log("studentId._id", studentId._id); | 345 | // console.log("studentId._id", studentId._id); |
347 | this.studentsData[j].enroll = true; | 346 | this.studentsData[j].enroll = true; |
348 | this.studentsData[j].enrollId = studentId._id; | 347 | this.studentsData[j].enrollId = studentId._id; |
349 | } | 348 | } |
350 | } | 349 | } |
351 | } | 350 | } |
352 | this.snackbar = true; | 351 | this.snackbar = true; |
353 | this.text = response.data.message; | 352 | this.text = response.data.message; |
354 | }) | 353 | }) |
355 | .catch(error => { | 354 | .catch(error => { |
356 | this.snackbar = true; | 355 | this.snackbar = true; |
357 | this.text = error.response.data.message; | 356 | this.text = error.response.data.message; |
358 | }); | 357 | }); |
359 | }, | 358 | }, |
360 | changeSort(column) { | 359 | changeSort(column) { |
361 | if (this.pagination.sortBy === column) { | 360 | if (this.pagination.sortBy === column) { |
362 | this.pagination.descending = !this.pagination.descending; | 361 | this.pagination.descending = !this.pagination.descending; |
363 | } else { | 362 | } else { |
364 | this.pagination.sortBy = column; | 363 | this.pagination.sortBy = column; |
365 | this.pagination.descending = false; | 364 | this.pagination.descending = false; |
366 | } | 365 | } |
367 | }, | 366 | }, |
368 | displaySearch() { | 367 | displaySearch() { |
369 | this.show = false; | 368 | this.show = false; |
370 | this.showSearch = true; | 369 | this.showSearch = true; |
371 | }, | 370 | }, |
372 | closeSearch() { | 371 | closeSearch() { |
373 | this.showSearch = false; | 372 | this.showSearch = false; |
374 | this.show = true; | 373 | this.show = true; |
375 | this.search = ""; | 374 | this.search = ""; |
376 | } | 375 | } |
377 | }, | 376 | }, |
378 | mounted() { | 377 | mounted() { |
379 | // this.getStudentList(); | 378 | // this.getStudentList(); |
380 | this.token = this.$store.state.token; | 379 | this.token = this.$store.state.token; |
381 | this.role = this.$store.state.role; | 380 | this.role = this.$store.state.role; |
382 | this.getAllClass(); | 381 | this.getAllClass(); |
383 | } | 382 | } |
src/pages/Dashboard/dashboard.vue
1 | <template> | 1 | <template> |
2 | <v-app id="pages-dasboard"> | 2 | <v-app id="pages-dasboard"> |
3 | <!-- ****** VIEW PROFIL NOTICE BOARD ****** --> | 3 | <!-- ****** VIEW PROFIL NOTICE BOARD ****** --> |
4 | <!-- <v-dialog v-model="dialogNotice" max-width="940px" scrollable> | 4 | <!-- <v-dialog v-model="dialogNotice" max-width="940px" scrollable> |
5 | <v-card> | 5 | <v-card> |
6 | <v-toolbar color="grey lighten-2" flat> | 6 | <v-toolbar color="grey lighten-2" flat> |
7 | <v-spacer></v-spacer> | 7 | <v-spacer></v-spacer> |
8 | <v-toolbar-title> | 8 | <v-toolbar-title> |
9 | <h3>Notice Board</h3> | 9 | <h3>Notice Board</h3> |
10 | </v-toolbar-title> | 10 | </v-toolbar-title> |
11 | <v-spacer></v-spacer> | 11 | <v-spacer></v-spacer> |
12 | <v-icon @click="closeNotice">close</v-icon> | 12 | <v-icon @click="closeNotice">close</v-icon> |
13 | </v-toolbar> | 13 | </v-toolbar> |
14 | <v-card-text> | 14 | <v-card-text> |
15 | <v-layout> | 15 | <v-layout> |
16 | <v-flex align-center justify-center layout text-xs-center class="mt-2"> | 16 | <v-flex align-center justify-center layout text-xs-center class="mt-2"> |
17 | <img src="/static/icon/user.png" width="70px" v-if="!notice.eventImageUrl" /> | 17 | <img src="/static/icon/user.png" width="70px" v-if="!notice.eventImageUrl" /> |
18 | <img :src="notice.eventImageUrl" width="280px" v-else-if="notice.eventImageUrl" /> | 18 | <img :src="notice.eventImageUrl" width="280px" v-else-if="notice.eventImageUrl" /> |
19 | </v-flex> | 19 | </v-flex> |
20 | </v-layout> | 20 | </v-layout> |
21 | <v-container grid-list-md> | 21 | <v-container grid-list-md> |
22 | <v-layout wrap> | 22 | <v-layout wrap> |
23 | <v-flex> | 23 | <v-flex> |
24 | <v-layout> | 24 | <v-layout> |
25 | <v-flex xs5 sm6> | 25 | <v-flex xs5 sm6> |
26 | <h5 class="right my-1"> | 26 | <h5 class="right my-1"> |
27 | <b>Title:</b> | 27 | <b>Title:</b> |
28 | </h5> | 28 | </h5> |
29 | </v-flex> | 29 | </v-flex> |
30 | <v-flex sm6 xs8> | 30 | <v-flex sm6 xs8> |
31 | <h5 class="my-1">{{ notice.title }}</h5> | 31 | <h5 class="my-1">{{ notice.title }}</h5> |
32 | </v-flex> | 32 | </v-flex> |
33 | </v-layout> | 33 | </v-layout> |
34 | <v-layout> | 34 | <v-layout> |
35 | <v-flex xs5 sm6> | 35 | <v-flex xs5 sm6> |
36 | <h5 class="right my-1"> | 36 | <h5 class="right my-1"> |
37 | <b>Description:</b> | 37 | <b>Description:</b> |
38 | </h5> | 38 | </h5> |
39 | </v-flex> | 39 | </v-flex> |
40 | <v-flex sm6 xs8> | 40 | <v-flex sm6 xs8> |
41 | <h5 class="my-1">{{ notice.description }}</h5> | 41 | <h5 class="my-1">{{ notice.description }}</h5> |
42 | </v-flex> | 42 | </v-flex> |
43 | </v-layout> | 43 | </v-layout> |
44 | </v-flex> | 44 | </v-flex> |
45 | </v-layout> | 45 | </v-layout> |
46 | </v-container> | 46 | </v-container> |
47 | </v-card-text> | 47 | </v-card-text> |
48 | </v-card> | 48 | </v-card> |
49 | </v-dialog>--> | 49 | </v-dialog>--> |
50 | <!-- <v-container fluid grid-list-xl> --> | 50 | <!-- <v-container fluid grid-list-xl> --> |
51 | 51 | ||
52 | <!-- LOADER --> | 52 | <!-- LOADER --> |
53 | <div class="loader" v-if="showLoader"> | 53 | <div class="loader" v-if="showLoader"> |
54 | <v-progress-circular indeterminate color="white"></v-progress-circular> | 54 | <v-progress-circular indeterminate color="white"></v-progress-circular> |
55 | </div> | 55 | </div> |
56 | 56 | ||
57 | <!-- SNACKBAR --> | 57 | <!-- SNACKBAR --> |
58 | <v-snackbar | 58 | <v-snackbar |
59 | :timeout="timeout" | 59 | :timeout="timeout" |
60 | :top="y === 'top'" | 60 | :top="y === 'top'" |
61 | :right="x === 'right'" | 61 | :right="x === 'right'" |
62 | :vertical="mode === 'vertical'" | 62 | :vertical="mode === 'vertical'" |
63 | v-model="snackbar" | 63 | v-model="snackbar" |
64 | :color="snackbarColor" | 64 | :color="snackbarColor" |
65 | > | 65 | > |
66 | {{ text }} | 66 | {{ text }} |
67 | <v-spacer></v-spacer> | 67 | <v-spacer></v-spacer> |
68 | <v-btn flat text @click="snackbar = false">X</v-btn> | 68 | <v-btn flat text @click="snackbar = false">X</v-btn> |
69 | </v-snackbar> | 69 | </v-snackbar> |
70 | 70 | ||
71 | <v-layout wrap row> | 71 | <v-layout wrap row> |
72 | <v-flex xs12 sm12 md9> | 72 | <v-flex xs12 sm12 md9> |
73 | <v-container fluid grid-list-xl> | 73 | <v-container fluid grid-list-xl> |
74 | <!-- ***** Total Students ***** --> | 74 | <!-- ***** Total Students ***** --> |
75 | <!-- <v-flex xs12 sm12 md12> | 75 | <!-- <v-flex xs12 sm12 md12> |
76 | <v-layout wrap class> | 76 | <v-layout wrap class> |
77 | <v-flex xs12 sm12 md3> | 77 | <v-flex xs12 sm12 md3> |
78 | <router-link :to="{ name:'Students' }"> | 78 | <router-link :to="{ name:'Students' }"> |
79 | <v-card class="card pink-bgcolor"> | 79 | <v-card class="card pink-bgcolor"> |
80 | <v-card-title primary-title class="titleCard white--text py-3">Students</v-card-title> | 80 | <v-card-title primary-title class="titleCard white--text py-3">Students</v-card-title> |
81 | <img src="/static/icon/student.png" class="ml-2" width="40" alt="icons" /> | 81 | <img src="/static/icon/student.png" class="ml-2" width="40" alt="icons" /> |
82 | <v-card-title class="headline py-1 white--text">{{ students.length }}</v-card-title> | 82 | <v-card-title class="headline py-1 white--text">{{ students.length }}</v-card-title> |
83 | </v-card> | 83 | </v-card> |
84 | </router-link> | 84 | </router-link> |
85 | </v-flex>--> | 85 | </v-flex>--> |
86 | <!-- ***** Total Teachers***** --> | 86 | <!-- ***** Total Teachers***** --> |
87 | <!-- <v-flex xs12 sm12 md3> | 87 | <!-- <v-flex xs12 sm12 md3> |
88 | <router-link :to="{ name:'Teachers' }"> | 88 | <router-link :to="{ name:'Teachers' }"> |
89 | <v-card flat class="card elevation-2 firozi-bgcolor"> | 89 | <v-card flat class="card elevation-2 firozi-bgcolor"> |
90 | <v-card-title primary-title class="titleCard white--text py-3">Teachers</v-card-title> | 90 | <v-card-title primary-title class="titleCard white--text py-3">Teachers</v-card-title> |
91 | <img src="/static/icon/teacher.png" class="ml-2" width="40" alt="icons" /> | 91 | <img src="/static/icon/teacher.png" class="ml-2" width="40" alt="icons" /> |
92 | 92 | ||
93 | <v-card-title class="headline py-1 white--text">{{ teachers.length }}</v-card-title> | 93 | <v-card-title class="headline py-1 white--text">{{ teachers.length }}</v-card-title> |
94 | </v-card> | 94 | </v-card> |
95 | </router-link> | 95 | </router-link> |
96 | </v-flex>--> | 96 | </v-flex>--> |
97 | <!-- ***** Total Parents ***** --> | 97 | <!-- ***** Total Parents ***** --> |
98 | <!-- <v-flex xs12 sm12 md3> | 98 | <!-- <v-flex xs12 sm12 md3> |
99 | <router-link :to="{ name:'Parents' }"> | 99 | <router-link :to="{ name:'Parents' }"> |
100 | <v-card flat class="card yellow darken-3"> | 100 | <v-card flat class="card yellow darken-3"> |
101 | <v-card-title primary-title class="titleCard white--text py-3">Parents</v-card-title> | 101 | <v-card-title primary-title class="titleCard white--text py-3">Parents</v-card-title> |
102 | <img src="/static/icon/parents.png" class="ml-3" width="40px" alt="icons" /> | 102 | <img src="/static/icon/parents.png" class="ml-3" width="40px" alt="icons" /> |
103 | <v-card-title class="headline py-1 white--text">{{ parents.length }}</v-card-title> | 103 | <v-card-title class="headline py-1 white--text">{{ parents.length }}</v-card-title> |
104 | </v-card> | 104 | </v-card> |
105 | </router-link> | 105 | </router-link> |
106 | </v-flex>--> | 106 | </v-flex>--> |
107 | <!-- ***** Total Class***** --> | 107 | <!-- ***** Total Class***** --> |
108 | <!-- <v-flex xs12 sm12 md3> | 108 | <!-- <v-flex xs12 sm12 md3> |
109 | <router-link :to="{ name:'Class' }"> | 109 | <router-link :to="{ name:'Class' }"> |
110 | <v-card flat class="card darkBlue-bgcolor"> | 110 | <v-card flat class="card darkBlue-bgcolor"> |
111 | <v-card-title primary-title class="titleCard white--text py-3">Class</v-card-title> | 111 | <v-card-title primary-title class="titleCard white--text py-3">Class</v-card-title> |
112 | <img src="/static/icon/class.png" width="40" alt="icons" class="ml-2" /> | 112 | <img src="/static/icon/class.png" width="40" alt="icons" class="ml-2" /> |
113 | <v-card-title class="headline py-1 white--text">{{ classes.length }}</v-card-title> | 113 | <v-card-title class="headline py-1 white--text">{{ classes.length }}</v-card-title> |
114 | </v-card> | 114 | </v-card> |
115 | </router-link> | 115 | </router-link> |
116 | </v-flex> | 116 | </v-flex> |
117 | </v-layout> | 117 | </v-layout> |
118 | </v-flex>--> | 118 | </v-flex>--> |
119 | <p | 119 | <p |
120 | v-if="studentsData.length === 0 && role == 'PARENT'" | 120 | v-if="studentsData.length === 0 && role == 'PARENT'" |
121 | class="text-center title grey lighten-4 error--text" | 121 | class="text-center title grey lighten-4 error--text" |
122 | >You have no student registered with school</p> | 122 | >You have no student registered with school</p> |
123 | <v-layout v-if="role != 'PARENT'"> | 123 | <v-layout v-if="role != 'PARENT'"> |
124 | <v-flex xs12> | 124 | <v-flex xs12> |
125 | <v-card class="card mt-2 account-Card"> | 125 | <v-card class="card mt-2 account-Card"> |
126 | <h4> | 126 | <h4> |
127 | <b>Account</b> | 127 | <b>Account</b> |
128 | </h4> | 128 | </h4> |
129 | <v-layout wrap> | 129 | <v-layout wrap> |
130 | <v-flex xs12 sm12 md3> | 130 | <v-flex xs12 sm12 md3> |
131 | <v-list two-line> | 131 | <v-list two-line> |
132 | <template> | 132 | <template> |
133 | <v-list-tile> | 133 | <v-list-tile> |
134 | <v-list-tile-avatar> | 134 | <v-list-tile-avatar> |
135 | <v-icon class="account-circle darkBlue-color">panorama_fish_eye</v-icon> | 135 | <v-icon class="account-circle darkBlue-color">panorama_fish_eye</v-icon> |
136 | </v-list-tile-avatar> | 136 | </v-list-tile-avatar> |
137 | <v-list-tile-content> | 137 | <v-list-tile-content> |
138 | <v-list-tile-title class="mt-2"> | 138 | <v-list-tile-title class="mt-2"> |
139 | <p class="subheading font-color">Fees</p> | 139 | <p class="subheading font-color">Fees</p> |
140 | </v-list-tile-title> | 140 | </v-list-tile-title> |
141 | <v-list-tile-title>Rs. {{ feeData.totalFees }}</v-list-tile-title> | 141 | <v-list-tile-title>Rs. {{ feeData.totalFees }}</v-list-tile-title> |
142 | </v-list-tile-content> | 142 | </v-list-tile-content> |
143 | </v-list-tile> | 143 | </v-list-tile> |
144 | <v-list-tile> | 144 | <v-list-tile> |
145 | <v-list-tile-avatar> | 145 | <v-list-tile-avatar> |
146 | <v-icon class="account-circle yellowDark-color">panorama_fish_eye</v-icon> | 146 | <v-icon class="account-circle yellowDark-color">panorama_fish_eye</v-icon> |
147 | </v-list-tile-avatar> | 147 | </v-list-tile-avatar> |
148 | <v-list-tile-content> | 148 | <v-list-tile-content> |
149 | <v-list-tile-title class="mt-2"> | 149 | <v-list-tile-title class="mt-2"> |
150 | <p class="subheading font-color">Collection</p> | 150 | <p class="subheading font-color">Collection</p> |
151 | </v-list-tile-title> | 151 | </v-list-tile-title> |
152 | <v-list-tile-title>Rs. {{ feeData.totalCollection }}</v-list-tile-title> | 152 | <v-list-tile-title>Rs. {{ feeData.totalCollection }}</v-list-tile-title> |
153 | </v-list-tile-content> | 153 | </v-list-tile-content> |
154 | </v-list-tile> | 154 | </v-list-tile> |
155 | <v-list-tile> | 155 | <v-list-tile> |
156 | <v-list-tile-avatar> | 156 | <v-list-tile-avatar> |
157 | <v-icon class="account-circle pink-color">panorama_fish_eye</v-icon> | 157 | <v-icon class="account-circle pink-color">panorama_fish_eye</v-icon> |
158 | </v-list-tile-avatar> | 158 | </v-list-tile-avatar> |
159 | <v-list-tile-content> | 159 | <v-list-tile-content> |
160 | <v-list-tile-title class="mt-2"> | 160 | <v-list-tile-title class="mt-2"> |
161 | <p class="subheading font-color">Expences</p> | 161 | <p class="subheading font-color">Expences</p> |
162 | </v-list-tile-title> | 162 | </v-list-tile-title> |
163 | <v-list-tile-title>Rs. {{ expenseData.sum }}</v-list-tile-title> | 163 | <v-list-tile-title>Rs. {{ expenseData.sum }}</v-list-tile-title> |
164 | </v-list-tile-content> | 164 | </v-list-tile-content> |
165 | </v-list-tile> | 165 | </v-list-tile> |
166 | </template> | 166 | </template> |
167 | </v-list> | 167 | </v-list> |
168 | </v-flex> | 168 | </v-flex> |
169 | <v-flex xs12 sm12 md9 lg9> | 169 | <v-flex xs12 sm12 md9 lg9> |
170 | <div id="chart"> | 170 | <div id="chart"> |
171 | <div v-if="this.series"> | 171 | <div v-if="this.series"> |
172 | <apexchart | 172 | <apexchart |
173 | type="bar" | 173 | type="bar" |
174 | height="250" | 174 | height="250" |
175 | style="max-width: 800px !important" | 175 | style="max-width: 800px !important" |
176 | :options="chartOptions" | 176 | :options="chartOptions" |
177 | :series="series" | 177 | :series="series" |
178 | v-show="true" | 178 | v-show="true" |
179 | ></apexchart> | 179 | ></apexchart> |
180 | </div> | 180 | </div> |
181 | </div> | 181 | </div> |
182 | </v-flex> | 182 | </v-flex> |
183 | </v-layout> | 183 | </v-layout> |
184 | </v-card> | 184 | </v-card> |
185 | </v-flex> | 185 | </v-flex> |
186 | </v-layout> | 186 | </v-layout> |
187 | <v-card class="mt-2 card" v-if="role != 'PARENT'"> | 187 | <v-card class="mt-2 card" v-if="role != 'PARENT'"> |
188 | <!-- <full-calendar | 188 | <!-- <full-calendar |
189 | ref="calendar" | 189 | ref="calendar" |
190 | defaultView="month" | 190 | defaultView="month" |
191 | droppable="false" | 191 | droppable="false" |
192 | :events="events" | 192 | :events="events" |
193 | :config="config" | 193 | :config="config" |
194 | ></full-calendar>--> | 194 | ></full-calendar>--> |
195 | <h4 class="pa-3"> | 195 | <h4 class="pa-3"> |
196 | <b>Notice</b> | 196 | <b>Notice</b> |
197 | </h4> | 197 | </h4> |
198 | 198 | ||
199 | <v-data-table | 199 | <v-data-table |
200 | :items="noticeData" | 200 | :items="noticeData" |
201 | class="elevation-0" | 201 | class="elevation-0" |
202 | flat | 202 | flat |
203 | hide-actions | 203 | hide-actions |
204 | hide-headers | 204 | hide-headers |
205 | style="border-spacing: 0 !important;" | 205 | style="border-spacing: 0 !important;" |
206 | > | 206 | > |
207 | <template | 207 | <template |
208 | slot="items" | 208 | slot="items" |
209 | slot-scope="props" | 209 | slot-scope="props" |
210 | v-if="props.index < 5" | 210 | v-if="props.index < 5" |
211 | style="border-spacing: 0 !important;" | 211 | style="border-spacing: 0 !important;" |
212 | > | 212 | > |
213 | <tr class="td-notice"> | 213 | <tr class="td-notice"> |
214 | <td class="grey--text" style="width:18px">{{ props.index + 1}}</td> | 214 | <td class="grey--text" style="width:18px">{{ props.index + 1}}</td> |
215 | <td> | 215 | <td> |
216 | <span class="grey--text caption">{{ date(props.item.created) }}</span> | 216 | <span class="grey--text caption">{{ date(props.item.created) }}</span> |
217 | <br /> | 217 | <br /> |
218 | <span class="body-2">{{ props.item.title}}</span> | 218 | <span class="body-2">{{ props.item.title}}</span> |
219 | </td> | 219 | </td> |
220 | <td class="noticeDecritpion grey--text mt-2">{{ props.item.description}}</td> | 220 | <td class="noticeDecritpion grey--text mt-2">{{ props.item.description}}</td> |
221 | 221 | ||
222 | <td class="text-xs-center"> | 222 | <td class="text-xs-center"> |
223 | <span> | 223 | <span> |
224 | <v-tooltip top> | 224 | <v-tooltip top> |
225 | <img | 225 | <img |
226 | slot="activator" | 226 | slot="activator" |
227 | style="cursor:pointer; width:25px; height:25px; " | 227 | style="cursor:pointer; width:25px; height:25px; " |
228 | @click="profile" | 228 | @click="profile" |
229 | src="/static/icon/view.png" | 229 | src="/static/icon/view.png" |
230 | /> | 230 | /> |
231 | <span>View</span> | 231 | <span>View</span> |
232 | </v-tooltip> | 232 | </v-tooltip> |
233 | </span> | 233 | </span> |
234 | </td> | 234 | </td> |
235 | </tr> | 235 | </tr> |
236 | </template> | 236 | </template> |
237 | </v-data-table> | 237 | </v-data-table> |
238 | </v-card> | 238 | </v-card> |
239 | <!-- COURSES --> | 239 | <!-- COURSES --> |
240 | <v-layout v-if="role == 'PARENT'"> | 240 | <v-layout v-if="role == 'PARENT'"> |
241 | <v-flex xs12> | 241 | <v-flex xs12> |
242 | <v-card class="card mt-2 account-Card"> | 242 | <v-card class="card mt-2 account-Card"> |
243 | <h4> | 243 | <h4> |
244 | <b>My Courses</b> | 244 | <b>My Courses</b> |
245 | </h4> | 245 | </h4> |
246 | <v-layout wrap> | 246 | <v-layout wrap> |
247 | <v-flex xs12 sm12> | 247 | <v-flex xs12 sm12> |
248 | <v-list two-line> | 248 | <v-list two-line> |
249 | <template> | 249 | <template> |
250 | <v-list-tile v-for="(course,i) in courseData" :key="i"> | 250 | <v-list-tile v-for="(course,i) in courseData" :key="i"> |
251 | <v-list-tile-avatar> | 251 | <v-list-tile-avatar> |
252 | <v-icon | 252 | <v-icon |
253 | class="account-circle darkBlue-color" | 253 | class="account-circle darkBlue-color" |
254 | style="cursor: pointer;" | 254 | style="cursor: pointer;" |
255 | >panorama_fish_eye</v-icon> | 255 | >panorama_fish_eye</v-icon> |
256 | </v-list-tile-avatar> | 256 | </v-list-tile-avatar> |
257 | <v-list-tile-content> | 257 | <v-list-tile-content> |
258 | <v-list-tile-title | 258 | <v-list-tile-title |
259 | style="cursor: pointer;" | 259 | style="cursor: pointer;" |
260 | @click="routeToCourseDetails(course._id)" | 260 | @click="routeToCourseDetails(course._id)" |
261 | >{{ course.courseName }}</v-list-tile-title> | 261 | >{{ course.courseName }}</v-list-tile-title> |
262 | </v-list-tile-content> | 262 | </v-list-tile-content> |
263 | </v-list-tile> | 263 | </v-list-tile> |
264 | </template> | 264 | </template> |
265 | </v-list> | 265 | </v-list> |
266 | </v-flex> | 266 | </v-flex> |
267 | </v-layout> | 267 | </v-layout> |
268 | </v-card> | 268 | </v-card> |
269 | </v-flex> | 269 | </v-flex> |
270 | </v-layout> | 270 | </v-layout> |
271 | <v-layout v-if="role == 'PARENT'"> | 271 | <v-layout v-if="role == 'PARENT'"> |
272 | <v-flex xs6> | 272 | <v-flex xs6> |
273 | <v-card class="mt-2 card"> | 273 | <v-card class="mt-2 card"> |
274 | <h4 class="pa-3"> | 274 | <h4 class="pa-3"> |
275 | <b>Latest Annoucements</b> | 275 | <b>Latest Annoucements</b> |
276 | </h4> | 276 | </h4> |
277 | 277 | ||
278 | <v-data-table | 278 | <v-data-table |
279 | :items="annoucementData" | 279 | :items="annoucementData" |
280 | class="elevation-0" | 280 | class="elevation-0" |
281 | flat | 281 | flat |
282 | hide-actions | 282 | hide-actions |
283 | hide-headers | 283 | hide-headers |
284 | style="border-spacing: 0 !important;" | 284 | style="border-spacing: 0 !important;" |
285 | > | 285 | > |
286 | <template | 286 | <template |
287 | slot="items" | 287 | slot="items" |
288 | slot-scope="props" | 288 | slot-scope="props" |
289 | v-if="props.index < 5" | 289 | v-if="props.index < 5" |
290 | style="border-spacing: 0 !important;" | 290 | style="border-spacing: 0 !important;" |
291 | > | 291 | > |
292 | <tr class="td-notice"> | 292 | <tr class="td-notice"> |
293 | <td class="grey--text" style="width:18px">{{ props.index + 1}}</td> | 293 | <td class="grey--text" style="width:18px">{{ props.index + 1}}</td> |
294 | <td> | 294 | <td> |
295 | <span class="grey--text caption">{{ date(props.item.created) }}</span> | 295 | <span class="grey--text caption">{{ date(props.item.created) }}</span> |
296 | <br /> | 296 | <br /> |
297 | <span class="body-2">{{ props.item.discussionType}}</span> | 297 | <span class="body-2">{{ props.item.discussionType}}</span> |
298 | </td> | 298 | </td> |
299 | <td class="text-xs-center"> | 299 | <td class="text-xs-center"> |
300 | <span> | 300 | <span> |
301 | <v-tooltip top> | 301 | <v-tooltip top> |
302 | <img | 302 | <img |
303 | slot="activator" | 303 | slot="activator" |
304 | style="cursor:pointer; width:25px; height:25px; " | 304 | style="cursor:pointer; width:25px; height:25px; " |
305 | src="/static/icon/view.png" | 305 | src="/static/icon/view.png" |
306 | /> | 306 | /> |
307 | <span>View</span> | 307 | <span>View</span> |
308 | </v-tooltip> | 308 | </v-tooltip> |
309 | </span> | 309 | </span> |
310 | </td> | 310 | </td> |
311 | </tr> | 311 | </tr> |
312 | </template> | 312 | </template> |
313 | </v-data-table> | 313 | </v-data-table> |
314 | </v-card> | 314 | </v-card> |
315 | </v-flex> | 315 | </v-flex> |
316 | <v-flex xs6> | 316 | <v-flex xs6> |
317 | <v-card class="mt-2 card"> | 317 | <v-card class="mt-2 card"> |
318 | <h4 class="pa-3"> | 318 | <h4 class="pa-3"> |
319 | <b>Online User</b> | 319 | <b>Online User</b> |
320 | </h4> | 320 | </h4> |
321 | 321 | ||
322 | <v-data-table | 322 | <v-data-table |
323 | :items="onlineUser" | 323 | :items="onlineUser" |
324 | class="elevation-0" | 324 | class="elevation-0" |
325 | flat | 325 | flat |
326 | hide-actions | 326 | hide-actions |
327 | hide-headers | 327 | hide-headers |
328 | style="border-spacing: 0 !important;" | 328 | style="border-spacing: 0 !important;" |
329 | > | 329 | > |
330 | <template | 330 | <template |
331 | slot="items" | 331 | slot="items" |
332 | slot-scope="props" | 332 | slot-scope="props" |
333 | v-if="props.index < 5" | 333 | v-if="props.index < 5" |
334 | style="border-spacing: 0 !important;" | 334 | style="border-spacing: 0 !important;" |
335 | > | 335 | > |
336 | <tr class="td-notice"> | 336 | <tr class="td-notice"> |
337 | <td class="grey--text" style="width:18px">{{ props.index + 1}}</td> | 337 | <td class="grey--text" style="width:18px">{{ props.index + 1}}</td> |
338 | <td> | 338 | <td> |
339 | <span class="body-2">{{ props.item.user }}</span> | 339 | <span class="body-2">{{ props.item.user }}</span> |
340 | </td> | 340 | </td> |
341 | <td class="text-xs-center"> | 341 | <td class="text-xs-center"> |
342 | <span> | 342 | <span> |
343 | <v-tooltip top> | 343 | <v-tooltip top> |
344 | <img | 344 | <img |
345 | slot="activator" | 345 | slot="activator" |
346 | style="cursor:pointer; width:25px; height:25px; " | 346 | style="cursor:pointer; width:25px; height:25px; " |
347 | src="/static/icon/view.png" | 347 | src="/static/icon/view.png" |
348 | /> | 348 | /> |
349 | <span>View</span> | 349 | <span>View</span> |
350 | </v-tooltip> | 350 | </v-tooltip> |
351 | </span> | 351 | </span> |
352 | </td> | 352 | </td> |
353 | </tr> | 353 | </tr> |
354 | </template> | 354 | </template> |
355 | </v-data-table> | 355 | </v-data-table> |
356 | </v-card> | 356 | </v-card> |
357 | </v-flex> | 357 | </v-flex> |
358 | </v-layout> | 358 | </v-layout> |
359 | </v-container> | 359 | </v-container> |
360 | </v-flex> | 360 | </v-flex> |
361 | <v-spacer></v-spacer> | 361 | <v-spacer></v-spacer> |
362 | <!-- SIDE BAR --> | 362 | <!-- SIDE BAR --> |
363 | <v-flex xs12 sm12 md3> | 363 | <v-flex xs12 sm12 md3> |
364 | <v-card height="100%" class="elevation-0 mt-3 profileDasboard"> | 364 | <v-card height="100%" class="elevation-0 mt-3 profileDasboard"> |
365 | <v-card-text class="px-2"> | 365 | <v-card-text class="px-2"> |
366 | <h4 class="text-xs-center py-3"> | 366 | <h4 class="text-xs-center py-3"> |
367 | <b>Profile</b> | 367 | <b>Profile</b> |
368 | </h4> | 368 | </h4> |
369 | <v-flex xs12 class="py-3"> | 369 | <v-flex xs12 class="py-3"> |
370 | <v-layout wrap> | 370 | <v-layout wrap> |
371 | <v-flex xs12 sm12 md4> | 371 | <v-flex xs12 sm12 md4> |
372 | <img src="/static/icon/user.png" v-if="!userData.schoolLogoUrl" width="80" /> | 372 | <img src="/static/icon/user.png" v-if="!userData.schoolLogoUrl" width="80" /> |
373 | <img :src="userData.schoolLogoUrl" v-else-if="userData.schoolLogoUrl" width="80" /> | 373 | <img :src="userData.schoolLogoUrl" v-else-if="userData.schoolLogoUrl" width="80" /> |
374 | </v-flex> | 374 | </v-flex> |
375 | <v-flex xs12 sm12 md6> | 375 | <v-flex xs12 sm12 md6> |
376 | <p class="mb-0 body-1"> | 376 | <p class="mb-0 body-1"> |
377 | <i>{{ userData.name }}</i> | 377 | <i>{{ userData.name }}</i> |
378 | </p> | 378 | </p> |
379 | <p class="mb-0 caption grey--text">{{ userData.email }}</p> | 379 | <p class="mb-0 caption grey--text">{{ userData.email }}</p> |
380 | <p class="mb-0 caption grey--text">{{ userData.mobile }}</p> | 380 | <p class="mb-0 caption grey--text">{{ userData.mobile }}</p> |
381 | <address class="caption grey--text mb-3">{{ userData.address }}</address> | 381 | <address class="caption grey--text mb-3">{{ userData.address }}</address> |
382 | </v-flex> | 382 | </v-flex> |
383 | </v-layout> | 383 | </v-layout> |
384 | </v-flex> | 384 | </v-flex> |
385 | <hr /> | 385 | <hr /> |
386 | <div class="text-xs-center py-3 subheading font-weight-bold">Calender</div> | 386 | <div class="text-xs-center py-3 subheading font-weight-bold">Calender</div> |
387 | <vue-event-calendar :events="activityEvents"></vue-event-calendar> | 387 | <vue-event-calendar :events="activityEvents"></vue-event-calendar> |
388 | <!-- LATEST ACTIVITY --> | 388 | <!-- LATEST ACTIVITY --> |
389 | <v-card class="my-3 elevation-0"> | 389 | <v-card class="my-3 elevation-0" v-if="role == 'PARENT'"> |
390 | <v-card-text> | 390 | <v-card-text> |
391 | <v-card-title class="justify-center subheading font-weight-bold">Latest Activity</v-card-title> | 391 | <v-card-title class="justify-center subheading font-weight-bold">Latest Activity</v-card-title> |
392 | <div v-for="(activity,index) in activityList" :key="index" class="mt-2"> | 392 | <div v-for="(activity,index) in activityList" :key="index" class="mt-2"> |
393 | <span | 393 | <span |
394 | :style="{ 'background-color': colorsArray[index%colorsArray.length] }" | 394 | :style="{ 'background-color': colorsArray[index%colorsArray.length] }" |
395 | style="height: 12px;width: 12px;border-radius: 50%;display: inline-block;vertical-align: top;" | 395 | style="height: 12px;width: 12px;border-radius: 50%;display: inline-block;vertical-align: top;" |
396 | ></span> | 396 | ></span> |
397 | <div style="display: inline-block;" class="ml-2"> | 397 | <div style="display: inline-block;" class="ml-2"> |
398 | <div | 398 | <div |
399 | class="grey--text lighten-1 caption" | 399 | class="grey--text lighten-1 caption" |
400 | >{{moment(activity.meetingEvent.dateOfEvent).format("DD MMMM, YYYY")}}</div> | 400 | >{{moment(activity.meetingEvent.dateOfEvent).format("DD MMMM, YYYY")}}</div> |
401 | <div class="body-2">{{activity.meetingEvent.title}}</div> | 401 | <div class="body-2">{{activity.meetingEvent.title}}</div> |
402 | </div> | 402 | </div> |
403 | </div> | 403 | </div> |
404 | </v-card-text> | 404 | </v-card-text> |
405 | </v-card> | 405 | </v-card> |
406 | </v-card-text> | 406 | </v-card-text> |
407 | </v-card> | 407 | </v-card> |
408 | </v-flex> | 408 | </v-flex> |
409 | </v-layout> | 409 | </v-layout> |
410 | 410 | ||
411 | <v-dialog v-model="dialog" max-width="500"> | 411 | <v-dialog v-model="dialog" max-width="500"> |
412 | <v-card color="grey lighten-4" flat> | 412 | <v-card color="grey lighten-4" flat> |
413 | <v-toolbar dark color="fixcolors"> | 413 | <v-toolbar dark color="fixcolors"> |
414 | <v-spacer></v-spacer> | 414 | <v-spacer></v-spacer> |
415 | <v-btn icon @click="dialog= false"> | 415 | <v-btn icon @click="dialog= false"> |
416 | <v-icon>close</v-icon> | 416 | <v-icon>close</v-icon> |
417 | </v-btn> | 417 | </v-btn> |
418 | </v-toolbar> | 418 | </v-toolbar> |
419 | <v-flex class="py-4"> | 419 | <v-flex class="py-4"> |
420 | <v-list-tile> | 420 | <v-list-tile> |
421 | <v-list-tile-action> | 421 | <v-list-tile-action> |
422 | <v-icon>edit</v-icon> | 422 | <v-icon>edit</v-icon> |
423 | </v-list-tile-action> | 423 | </v-list-tile-action> |
424 | <v-list-tile-content> | 424 | <v-list-tile-content> |
425 | <v-list-tile-title>{{ selected.title }}</v-list-tile-title> | 425 | <v-list-tile-title>{{ selected.title }}</v-list-tile-title> |
426 | </v-list-tile-content> | 426 | </v-list-tile-content> |
427 | </v-list-tile> | 427 | </v-list-tile> |
428 | <v-list-tile> | 428 | <v-list-tile> |
429 | <v-list-tile-action> | 429 | <v-list-tile-action> |
430 | <v-icon>access_time</v-icon> | 430 | <v-icon>access_time</v-icon> |
431 | </v-list-tile-action> | 431 | </v-list-tile-action> |
432 | <v-list-tile-content> | 432 | <v-list-tile-content> |
433 | <v-list-tile-title>{{ date(selected.start)}}</v-list-tile-title> | 433 | <v-list-tile-title>{{ date(selected.start)}}</v-list-tile-title> |
434 | </v-list-tile-content> | 434 | </v-list-tile-content> |
435 | </v-list-tile> | 435 | </v-list-tile> |
436 | </v-flex> | 436 | </v-flex> |
437 | </v-card> | 437 | </v-card> |
438 | </v-dialog> | 438 | </v-dialog> |
439 | </v-app> | 439 | </v-app> |
440 | </template> | 440 | </template> |
441 | 441 | ||
442 | <script> | 442 | <script> |
443 | import http from "@/Services/http.js"; | 443 | import http from "@/Services/http.js"; |
444 | import moment from "moment"; | 444 | import moment from "moment"; |
445 | import AllApiCalls from "@/Services/AllApiCalls.js"; | 445 | import AllApiCalls from "@/Services/AllApiCalls.js"; |
446 | // import { FunctionalCalendar } from "vue-functional-calendar"; | 446 | // import { FunctionalCalendar } from "vue-functional-calendar"; |
447 | 447 | ||
448 | export default { | 448 | export default { |
449 | components: { | 449 | components: { |
450 | // FunctionalCalendar | 450 | // FunctionalCalendar |
451 | }, | 451 | }, |
452 | mixins: [AllApiCalls], | 452 | mixins: [AllApiCalls], |
453 | data() { | 453 | data() { |
454 | return { | 454 | return { |
455 | // data: { | 455 | // data: { |
456 | // clieckedToday: false | 456 | // clieckedToday: false |
457 | // }, | 457 | // }, |
458 | // markedDates: ["16/4/2019", "18/4/2019", "20/4/2019", "21/4/2019"], | 458 | // markedDates: ["16/4/2019", "18/4/2019", "20/4/2019", "21/4/2019"], |
459 | // calendarData: {}, | 459 | // calendarData: {}, |
460 | // calendar: {}, | 460 | // calendar: {}, |
461 | 461 | ||
462 | // CALENDER | 462 | // CALENDER |
463 | moment: moment, | 463 | moment: moment, |
464 | activityEvents: [], | 464 | activityEvents: [], |
465 | onlineUser: [ | 465 | onlineUser: [ |
466 | { | 466 | { |
467 | user: "Student Demo" | 467 | user: "Student Demo" |
468 | }, | 468 | }, |
469 | { | 469 | { |
470 | user: "Teacher Demo" | 470 | user: "Teacher Demo" |
471 | }, | 471 | }, |
472 | { | 472 | { |
473 | user: "Priyansh Gupta" | 473 | user: "Priyansh Gupta" |
474 | }, | 474 | }, |
475 | { | 475 | { |
476 | user: "Gaurav Aggarwal" | 476 | user: "Gaurav Aggarwal" |
477 | }, | 477 | }, |
478 | { | 478 | { |
479 | user: "Approve Arorra" | 479 | user: "Approve Arorra" |
480 | } | 480 | } |
481 | ], | 481 | ], |
482 | showLoader: false, | 482 | showLoader: false, |
483 | calendarData: {}, | 483 | calendarData: {}, |
484 | dialog: false, | 484 | dialog: false, |
485 | dialogNotice: false, | 485 | dialogNotice: false, |
486 | HolidaysList: [], | 486 | HolidaysList: [], |
487 | EventsList: [], | 487 | EventsList: [], |
488 | events: [], | 488 | events: [], |
489 | config: { | 489 | config: { |
490 | eventClick: event => { | 490 | eventClick: event => { |
491 | this.selected = event; | 491 | this.selected = event; |
492 | this.dialog = true; | 492 | this.dialog = true; |
493 | } | 493 | } |
494 | }, | 494 | }, |
495 | selected: {}, | 495 | selected: {}, |
496 | barGraph: [], | 496 | barGraph: [], |
497 | // notice: {}, | 497 | // notice: {}, |
498 | userData: {}, | 498 | userData: {}, |
499 | dated: new Date(2018, 0, 9), | 499 | dated: new Date(2018, 0, 9), |
500 | userList: [], | 500 | userList: [], |
501 | sectionList: [], | 501 | sectionList: [], |
502 | students: "", | 502 | students: "", |
503 | parents: "", | 503 | parents: "", |
504 | teachers: "", | 504 | teachers: "", |
505 | classes: "", | 505 | classes: "", |
506 | noticeData: [], | 506 | noticeData: [], |
507 | expenseData: [], | 507 | expenseData: [], |
508 | feeData: [], | 508 | feeData: [], |
509 | collectionData: [], | 509 | collectionData: [], |
510 | courseData: [], | 510 | courseData: [], |
511 | studentsData: [], | 511 | studentsData: [], |
512 | annoucementData: [], | 512 | annoucementData: [], |
513 | role: "", | 513 | role: "", |
514 | attrs: [ | 514 | attrs: [ |
515 | { | 515 | { |
516 | key: "today", | 516 | key: "today", |
517 | highlight: true, | 517 | highlight: true, |
518 | dates: new Date() | 518 | dates: new Date() |
519 | } | 519 | } |
520 | ], | 520 | ], |
521 | drawer: true, | 521 | drawer: true, |
522 | items: [ | 522 | items: [ |
523 | { title: "Home", icon: "dashboard" }, | 523 | { title: "Home", icon: "dashboard" }, |
524 | { title: "About", icon: "question_answer" } | 524 | { title: "About", icon: "question_answer" } |
525 | ], | 525 | ], |
526 | right: null, | 526 | right: null, |
527 | 527 | ||
528 | series: [ | 528 | series: [ |
529 | { | 529 | { |
530 | name: "Total", | 530 | name: "Total", |
531 | data: [] | 531 | data: [] |
532 | } | 532 | } |
533 | ], | 533 | ], |
534 | chartOptions: { | 534 | chartOptions: { |
535 | chart: { | 535 | chart: { |
536 | type: "bar", | 536 | type: "bar", |
537 | height: 150, | 537 | height: 150, |
538 | stacked: true | 538 | stacked: true |
539 | // animations: { | 539 | // animations: { |
540 | // enabled: true, | 540 | // enabled: true, |
541 | // easing: "easeinout", | 541 | // easing: "easeinout", |
542 | // speed: 1200, | 542 | // speed: 1200, |
543 | // animateGradually: { | 543 | // animateGradually: { |
544 | // enabled: true, | 544 | // enabled: true, |
545 | // delay: 450 | 545 | // delay: 450 |
546 | // }, | 546 | // }, |
547 | // dynamicAnimation: { | 547 | // dynamicAnimation: { |
548 | // enabled: true, | 548 | // enabled: true, |
549 | // speed: 450 | 549 | // speed: 450 |
550 | // } | 550 | // } |
551 | // } | 551 | // } |
552 | }, | 552 | }, |
553 | plotOptions: { | 553 | plotOptions: { |
554 | bar: { | 554 | bar: { |
555 | horizontal: false, | 555 | horizontal: false, |
556 | columnWidth: "25%", | 556 | columnWidth: "25%", |
557 | // endingShape: "rounded", | 557 | // endingShape: "rounded", |
558 | distributed: true | 558 | distributed: true |
559 | } | 559 | } |
560 | }, | 560 | }, |
561 | responsive: [ | 561 | responsive: [ |
562 | { | 562 | { |
563 | breakpoint: 480, | 563 | breakpoint: 480, |
564 | options: { | 564 | options: { |
565 | legend: { | 565 | legend: { |
566 | position: "bottom", | 566 | position: "bottom", |
567 | offsetX: -10, | 567 | offsetX: -10, |
568 | offsetY: 0 | 568 | offsetY: 0 |
569 | } | 569 | } |
570 | } | 570 | } |
571 | } | 571 | } |
572 | ], | 572 | ], |
573 | legend: { | 573 | legend: { |
574 | show: false | 574 | show: false |
575 | }, | 575 | }, |
576 | colors: ["#7852cc", "#f9a825", "#ff8a89"], | 576 | colors: ["#7852cc", "#f9a825", "#ff8a89"], |
577 | dataLabels: { | 577 | dataLabels: { |
578 | enabled: false | 578 | enabled: false |
579 | }, | 579 | }, |
580 | stroke: { | 580 | stroke: { |
581 | show: true, | 581 | show: true, |
582 | width: 2, | 582 | width: 2, |
583 | colors: ["transparent"] | 583 | colors: ["transparent"] |
584 | }, | 584 | }, |
585 | xaxis: { | 585 | xaxis: { |
586 | categories: ["Fee", "Collections", "Expences"] | 586 | categories: ["Fee", "Collections", "Expences"] |
587 | }, | 587 | }, |
588 | yaxis: { | 588 | yaxis: { |
589 | title: { | 589 | title: { |
590 | text: "" | 590 | text: "" |
591 | } | 591 | } |
592 | }, | 592 | }, |
593 | fill: { | 593 | fill: { |
594 | opacity: 1 | 594 | opacity: 1 |
595 | }, | 595 | }, |
596 | tooltip: { | 596 | tooltip: { |
597 | y: { | 597 | y: { |
598 | formatter: function(val, opts) { | 598 | formatter: function(val, opts) { |
599 | // console.log("opts",opts.w.config.xaxis.categories) | 599 | // console.log("opts",opts.w.config.xaxis.categories) |
600 | return "" + val + " "; | 600 | return "" + val + " "; |
601 | } | 601 | } |
602 | } | 602 | } |
603 | } | 603 | } |
604 | }, | 604 | }, |
605 | 605 | ||
606 | // LATEST ACTIVITY | 606 | // LATEST ACTIVITY |
607 | colorsArray: ["#ff8a89", "#71d9ea", "#7852cc", "#F9A825"], | 607 | colorsArray: ["#ff8a89", "#71d9ea", "#7852cc", "#F9A825"], |
608 | activityList: [] | 608 | activityList: [] |
609 | }; | 609 | }; |
610 | }, | 610 | }, |
611 | mounted() { | 611 | mounted() { |
612 | // = this.$store.state.schoolToken; | 612 | // = this.$store.state.schoolToken; |
613 | // console.log("this.$store.state.role", this.token); | 613 | // console.log("this.$store.state.role", this.token); |
614 | if (this.$store.state.role === "ADMIN") { | 614 | if (this.$store.state.role === "ADMIN") { |
615 | this.token = this.$store.state.token; | 615 | this.token = this.$store.state.token; |
616 | } else if (this.$store.state.schoolRole === "SUPERADMIN") { | 616 | } else if (this.$store.state.schoolRole === "SUPERADMIN") { |
617 | this.token = this.$store.state.schoolToken; | 617 | this.token = this.$store.state.schoolToken; |
618 | } else if (this.$store.state.role === "TEACHER") { | 618 | } else if (this.$store.state.role === "TEACHER") { |
619 | this.token = this.$store.state.token; | 619 | this.token = this.$store.state.token; |
620 | } else if (this.$store.state.role === "ACCOUNTANT") { | 620 | } else if (this.$store.state.role === "ACCOUNTANT") { |
621 | this.token = this.$store.state.token; | 621 | this.token = this.$store.state.token; |
622 | } else if (this.$store.state.role === "LIBRARIAN") { | 622 | } else if (this.$store.state.role === "LIBRARIAN") { |
623 | this.token = this.$store.state.token; | 623 | this.token = this.$store.state.token; |
624 | } else if (this.$store.state.role === "PARENT") { | 624 | } else if (this.$store.state.role === "PARENT") { |
625 | this.token = this.$store.state.token; | 625 | this.token = this.$store.state.token; |
626 | } | 626 | } |
627 | this.role = this.$store.state.role; | 627 | this.role = this.$store.state.role; |
628 | // console.log("role", this.$store.state.schoolRole,"tt",this.$store.state.schoolToken); | 628 | // console.log("role", this.$store.state.schoolRole,"tt",this.$store.state.schoolToken); |
629 | // this.getData(); | 629 | // this.getData(); |
630 | this.getStudents(); | 630 | this.getStudents(); |
631 | this.getTeachers(); | 631 | this.getTeachers(); |
632 | this.getParents(); | 632 | this.getParents(); |
633 | this.getClasses(); | 633 | this.getClasses(); |
634 | this.getNoticeData(); | 634 | this.getNoticeData(); |
635 | this.getUserData(); | 635 | this.getUserData(); |
636 | this.getFeesAndCollectionsData(); | 636 | this.getFeesAndCollectionsData(); |
637 | this.getExpensesData(); | 637 | this.getExpensesData(); |
638 | this.getparentStudents(); | 638 | this.getparentStudents(); |
639 | // this.getUsersList(); | 639 | // this.getUsersList(); |
640 | }, | 640 | }, |
641 | methods: { | 641 | methods: { |
642 | async routeToCourseDetails(courseId) { | 642 | async routeToCourseDetails(courseId) { |
643 | /* getParticularCourseDetail- To get courseDetail - defined in GetApis.js*/ | 643 | /* getParticularCourseDetail- To get courseDetail - defined in GetApis.js*/ |
644 | let response = await this.getParticularCourseDetail(courseId); | 644 | let response = await this.getParticularCourseDetail(courseId); |
645 | 645 | ||
646 | /* If the response is null then dont route */ | 646 | /* If the response is null then dont route */ |
647 | if (response.data.data.length > 0) { | 647 | if (response.data.data.length > 0) { |
648 | this.$router.push({ | 648 | this.$router.push({ |
649 | name: "Course Details", | 649 | name: "Course Details", |
650 | query: { courseId: courseId } | 650 | query: { courseId: courseId } |
651 | }); | 651 | }); |
652 | } else { | 652 | } else { |
653 | this.seeSnackbar("No Data Available", "warning"); | 653 | this.seeSnackbar("No Data Available", "warning"); |
654 | } | 654 | } |
655 | }, | 655 | }, |
656 | 656 | ||
657 | closeNotice() { | 657 | closeNotice() { |
658 | this.dialogNotice = false; | 658 | this.dialogNotice = false; |
659 | }, | 659 | }, |
660 | profile() { | 660 | profile() { |
661 | // this.editedIndex = this.desserts.indexOf(item); | 661 | // this.editedIndex = this.desserts.indexOf(item); |
662 | // this.notice = Object.assign({}, item); | 662 | // this.notice = Object.assign({}, item); |
663 | // this.dialogNotice = true; | 663 | // this.dialogNotice = true; |
664 | this.$router.push({ name: "NoticeBoard" }); | 664 | this.$router.push({ name: "NoticeBoard" }); |
665 | }, | 665 | }, |
666 | date: function(date) { | 666 | date: function(date) { |
667 | return moment(date).format("MMMM DD, YYYY HH:mm"); | 667 | return moment(date).format("MMMM DD, YYYY HH:mm"); |
668 | }, | 668 | }, |
669 | activityDate(date) { | 669 | activityDate(date) { |
670 | return moment(date).format("MMMM DD, YYYY"); | 670 | return moment(date).format("MMMM DD, YYYY"); |
671 | }, | 671 | }, |
672 | refreshEvents() { | 672 | refreshEvents() { |
673 | this.$refs.calendar.$emit("refetch-events"); | 673 | this.$refs.calendar.$emit("refetch-events"); |
674 | }, | 674 | }, |
675 | removeEvent() { | 675 | removeEvent() { |
676 | this.$refs.calendar.$emit("remove-event", this.selected); | 676 | this.$refs.calendar.$emit("remove-event", this.selected); |
677 | this.selected = {}; | 677 | this.selected = {}; |
678 | }, | 678 | }, |
679 | eventSelected(event) { | 679 | eventSelected(event) { |
680 | this.selected = event; | 680 | this.selected = event; |
681 | console.log("this.selected", this.selected); | 681 | console.log("this.selected", this.selected); |
682 | }, | 682 | }, |
683 | // eventDropStart: function(event) { | 683 | // eventDropStart: function(event) { |
684 | // event.editable = false; | 684 | // event.editable = false; |
685 | // }, | 685 | // }, |
686 | eventCreated(...test) { | 686 | eventCreated(...test) { |
687 | console.log(test); | 687 | console.log(test); |
688 | }, | 688 | }, |
689 | getStudents() { | 689 | getStudents() { |
690 | http() | 690 | http() |
691 | .get("/getStudentsList", { | 691 | .get("/getStudentsList", { |
692 | headers: { | 692 | headers: { |
693 | Authorization: "Bearer " + this.token | 693 | Authorization: "Bearer " + this.token |
694 | } | 694 | } |
695 | }) | 695 | }) |
696 | .then(response => { | 696 | .then(response => { |
697 | this.students = response.data.data; | 697 | this.students = response.data.data; |
698 | this.showLoader = false; | 698 | this.showLoader = false; |
699 | }) | 699 | }) |
700 | .catch(error => { | 700 | .catch(error => { |
701 | // console.log("err====>", err); | 701 | // console.log("err====>", err); |
702 | this.showLoader = false; | 702 | this.showLoader = false; |
703 | if (error.response.status === 401) { | 703 | if (error.response.status === 401) { |
704 | this.$router.replace({ path: "/" }); | 704 | this.$router.replace({ path: "/" }); |
705 | this.$store.dispatch("setToken", null); | 705 | this.$store.dispatch("setToken", null); |
706 | this.$store.dispatch("Id", null); | 706 | this.$store.dispatch("Id", null); |
707 | } | 707 | } |
708 | }); | 708 | }); |
709 | }, | 709 | }, |
710 | getParents() { | 710 | getParents() { |
711 | http() | 711 | http() |
712 | .get("/getParentsList", { | 712 | .get("/getParentsList", { |
713 | headers: { | 713 | headers: { |
714 | Authorization: "Bearer " + this.token | 714 | Authorization: "Bearer " + this.token |
715 | } | 715 | } |
716 | }) | 716 | }) |
717 | .then(response => { | 717 | .then(response => { |
718 | this.parents = response.data.data; | 718 | this.parents = response.data.data; |
719 | this.showLoader = false; | 719 | this.showLoader = false; |
720 | }) | 720 | }) |
721 | .catch(error => { | 721 | .catch(error => { |
722 | // console.log("err====>", err); | 722 | // console.log("err====>", err); |
723 | this.showLoader = false; | 723 | this.showLoader = false; |
724 | }); | 724 | }); |
725 | }, | 725 | }, |
726 | getTeachers() { | 726 | getTeachers() { |
727 | http() | 727 | http() |
728 | .get("/getTeachersList", { | 728 | .get("/getTeachersList", { |
729 | headers: { | 729 | headers: { |
730 | Authorization: "Bearer " + this.token | 730 | Authorization: "Bearer " + this.token |
731 | } | 731 | } |
732 | }) | 732 | }) |
733 | .then(response => { | 733 | .then(response => { |
734 | this.teachers = response.data.data; | 734 | this.teachers = response.data.data; |
735 | this.showLoader = false; | 735 | this.showLoader = false; |
736 | }) | 736 | }) |
737 | .catch(error => { | 737 | .catch(error => { |
738 | // console.log("err====>", err); | 738 | // console.log("err====>", err); |
739 | this.showLoader = false; | 739 | this.showLoader = false; |
740 | }); | 740 | }); |
741 | }, | 741 | }, |
742 | getClasses() { | 742 | getClasses() { |
743 | http() | 743 | http() |
744 | .get("/getClassesList", { | 744 | .get("/getClassesList", { |
745 | headers: { | 745 | headers: { |
746 | Authorization: "Bearer " + this.token | 746 | Authorization: "Bearer " + this.token |
747 | } | 747 | } |
748 | }) | 748 | }) |
749 | .then(response => { | 749 | .then(response => { |
750 | this.classes = response.data.data; | 750 | this.classes = response.data.data; |
751 | this.showLoader = false; | 751 | this.showLoader = false; |
752 | }) | 752 | }) |
753 | .catch(error => { | 753 | .catch(error => { |
754 | this.showLoader = false; | 754 | this.showLoader = false; |
755 | }); | 755 | }); |
756 | }, | 756 | }, |
757 | getNoticeData() { | 757 | getNoticeData() { |
758 | this.showLoader = true; | 758 | this.showLoader = true; |
759 | http() | 759 | http() |
760 | .get("/getEventsList", { | 760 | .get("/getEventsList", { |
761 | headers: { | 761 | headers: { |
762 | Authorization: "Bearer " + this.token | 762 | Authorization: "Bearer " + this.token |
763 | } | 763 | } |
764 | }) | 764 | }) |
765 | .then(response => { | 765 | .then(response => { |
766 | this.noticeData = response.data.data; | 766 | this.noticeData = response.data.data; |
767 | this.showLoader = false; | 767 | this.showLoader = false; |
768 | }) | 768 | }) |
769 | .catch(error => { | 769 | .catch(error => { |
770 | this.showLoader = false; | 770 | this.showLoader = false; |
771 | }); | 771 | }); |
772 | }, | 772 | }, |
773 | getUserData() { | 773 | getUserData() { |
774 | // this.showLoader = true; | 774 | // this.showLoader = true; |
775 | if (this.$store.state.role === "PARENT") { | 775 | if (this.$store.state.role === "PARENT") { |
776 | http() | 776 | http() |
777 | .get("/getParticularUserDetail", { | 777 | .get("/getParticularUserDetail", { |
778 | headers: { | 778 | headers: { |
779 | Authorization: "Bearer " + this.token | 779 | Authorization: "Bearer " + this.token |
780 | }, | 780 | }, |
781 | params: { | 781 | params: { |
782 | studentId: localStorage.getItem("parentStudentId") | 782 | studentId: localStorage.getItem("parentStudentId") |
783 | } | 783 | } |
784 | }) | 784 | }) |
785 | .then(response => { | 785 | .then(response => { |
786 | this.userData = response.data.data; | 786 | this.userData = response.data.data; |
787 | this.showLoader = false; | 787 | this.showLoader = false; |
788 | console.log("sdsdfsdfsd - ", response); | 788 | console.log("sdsdfsdfsd - ", response); |
789 | }) | 789 | }) |
790 | .catch(error => { | 790 | .catch(error => { |
791 | this.showLoader = false; | 791 | this.showLoader = false; |
792 | }); | 792 | }); |
793 | } else { | 793 | } else { |
794 | http() | 794 | http() |
795 | .get("/getParticularUserDetail", { | 795 | .get("/getParticularUserDetail", { |
796 | headers: { | 796 | headers: { |
797 | Authorization: "Bearer " + this.token | 797 | Authorization: "Bearer " + this.token |
798 | } | 798 | } |
799 | }) | 799 | }) |
800 | .then(response => { | 800 | .then(response => { |
801 | this.userData = response.data.data; | 801 | this.userData = response.data.data; |
802 | this.showLoader = false; | 802 | this.showLoader = false; |
803 | }) | 803 | }) |
804 | .catch(error => { | 804 | .catch(error => { |
805 | this.showLoader = false; | 805 | this.showLoader = false; |
806 | }); | 806 | }); |
807 | } | 807 | } |
808 | }, | 808 | }, |
809 | 809 | ||
810 | getFeesAndCollectionsData() { | 810 | getFeesAndCollectionsData() { |
811 | http() | 811 | http() |
812 | .get("/getTotalFeesAndCollections", { | 812 | .get("/getTotalFeesAndCollections", { |
813 | headers: { | 813 | headers: { |
814 | Authorization: "Bearer " + this.token | 814 | Authorization: "Bearer " + this.token |
815 | } | 815 | } |
816 | }) | 816 | }) |
817 | .then(response => { | 817 | .then(response => { |
818 | this.feeData = response.data.data; | 818 | this.feeData = response.data.data; |
819 | // this.collectionData = response.data.data; | 819 | // this.collectionData = response.data.data; |
820 | this.series[0].data[0] = this.feeData.totalFees; | 820 | this.series[0].data[0] = this.feeData.totalFees; |
821 | this.series[0].data[1] = this.feeData.totalCollection; | 821 | this.series[0].data[1] = this.feeData.totalCollection; |
822 | // console.log("this.series====", this.series); | 822 | // console.log("this.series====", this.series); |
823 | 823 | ||
824 | this.showLoader = false; | 824 | this.showLoader = false; |
825 | }) | 825 | }) |
826 | .catch(error => { | 826 | .catch(error => { |
827 | this.showLoader = false; | 827 | this.showLoader = false; |
828 | }); | 828 | }); |
829 | }, | 829 | }, |
830 | getExpensesData() { | 830 | getExpensesData() { |
831 | http() | 831 | http() |
832 | .get("/getTotalExpenses", { | 832 | .get("/getTotalExpenses", { |
833 | headers: { | 833 | headers: { |
834 | Authorization: "Bearer " + this.token | 834 | Authorization: "Bearer " + this.token |
835 | } | 835 | } |
836 | }) | 836 | }) |
837 | .then(response => { | 837 | .then(response => { |
838 | this.expenseData = response.data.data; | 838 | this.expenseData = response.data.data; |
839 | // var array = response.data.data.sum; | 839 | // var array = response.data.data.sum; |
840 | this.series[0].data[2] = this.expenseData.sum; | 840 | this.series[0].data[2] = this.expenseData.sum; |
841 | // this.series = [ | 841 | // this.series = [ |
842 | // { | 842 | // { |
843 | // name: "Total", | 843 | // name: "Total", |
844 | // data: array | 844 | // data: array |
845 | // } | 845 | // } |
846 | // ]; | 846 | // ]; |
847 | // console.log("this.series====", this.series); | 847 | // console.log("this.series====", this.series); |
848 | this.showLoader = false; | 848 | this.showLoader = false; |
849 | }) | 849 | }) |
850 | .catch(error => { | 850 | .catch(error => { |
851 | this.showLoader = false; | 851 | this.showLoader = false; |
852 | }); | 852 | }); |
853 | }, | 853 | }, |
854 | getparentStudents() { | 854 | getparentStudents() { |
855 | this.showLoader = true; | 855 | this.showLoader = true; |
856 | http() | 856 | http() |
857 | .get("/parentStudentsList") | 857 | .get("/parentStudentsList") |
858 | .then(response => { | 858 | .then(response => { |
859 | // console.log("resssssss", response.data.data.students[0].classId); | 859 | // console.log("resssssss", response.data.data.students[0].classId); |
860 | this.studentsData = response.data.data; | 860 | this.studentsData = response.data.data; |
861 | // localStorage.setItem( | 861 | // localStorage.setItem( |
862 | // "parentStudentId", | 862 | // "parentStudentId", |
863 | // this.studentsData.students[0]._id | 863 | // this.studentsData.students[0]._id |
864 | // ); | 864 | // ); |
865 | // localStorage.setItem( | 865 | // localStorage.setItem( |
866 | // "parentClassId", | 866 | // "parentClassId", |
867 | // this.studentsData.students[0].classId | 867 | // this.studentsData.students[0].classId |
868 | // ); | 868 | // ); |
869 | 869 | ||
870 | if (localStorage.getItem("parentStudentId") == null) { | 870 | if (localStorage.getItem("parentStudentId") == null) { |
871 | var parentStudentsId = response.data.data.students[0].classId; | 871 | var parentStudentsId = response.data.data.students[0].classId; |
872 | var classId = response.data.data.students[0]._id; | 872 | var classId = response.data.data.students[0]._id; |
873 | } | 873 | } |
874 | if (localStorage.getItem("parentStudentId")) { | 874 | if (localStorage.getItem("parentStudentId")) { |
875 | var parentStudentsId = localStorage.getItem("parentStudentId"); | 875 | var parentStudentsId = localStorage.getItem("parentStudentId"); |
876 | var classId = localStorage.getItem("parentClassId"); | 876 | var classId = localStorage.getItem("parentClassId"); |
877 | } | 877 | } |
878 | this.getCourses(parentStudentsId, classId); | 878 | this.getCourses(parentStudentsId, classId); |
879 | this.getAnnoucementes(classId); | 879 | this.getAnnoucementes(classId); |
880 | this.showLoader = false; | 880 | this.showLoader = false; |
881 | }) | 881 | }) |
882 | .catch(err => { | 882 | .catch(err => { |
883 | console.log("err====>", err); | 883 | console.log("err====>", err); |
884 | this.showLoader = false; | 884 | this.showLoader = false; |
885 | }); | 885 | }); |
886 | }, | 886 | }, |
887 | async getCourses(parentStudentsId, classId) { | 887 | async getCourses(parentStudentsId, classId) { |
888 | /* getStudentCourses - to get courseData - defined in GetApis.js*/ | 888 | /* getStudentCourses - to get courseData - defined in GetApis.js*/ |
889 | await this.getStudentCourses({ | 889 | await this.getStudentCourses({ |
890 | classId: classId, | 890 | classId: classId, |
891 | studentId: parentStudentsId | 891 | studentId: parentStudentsId |
892 | }); | 892 | }); |
893 | }, | 893 | }, |
894 | getAnnoucementes(classId) { | 894 | getAnnoucementes(classId) { |
895 | this.showLoader = true; | 895 | this.showLoader = true; |
896 | http() | 896 | http() |
897 | .get("/getAnnoucementesList", { | 897 | .get("/getAnnoucementesList", { |
898 | params: { | 898 | params: { |
899 | classId: classId | 899 | classId: classId |
900 | } | 900 | } |
901 | }) | 901 | }) |
902 | .then(response => { | 902 | .then(response => { |
903 | this.annoucementData = response.data.data; | 903 | this.annoucementData = response.data.data; |
904 | this.showLoader = false; | 904 | this.showLoader = false; |
905 | }) | 905 | }) |
906 | .catch(err => { | 906 | .catch(err => { |
907 | console.log("err====>", err); | 907 | console.log("err====>", err); |
908 | this.showLoader = false; | 908 | this.showLoader = false; |
909 | }); | 909 | }); |
910 | } | 910 | } |
911 | }, | 911 | }, |
912 | async created() { | 912 | async created() { |
913 | /* get Latest events list */ | 913 | /* get Latest events list */ |
914 | let response = await this.studentMeetingEvents({ | 914 | let response = await this.studentMeetingEvents({ |
915 | studentId: localStorage.getItem("parentStudentId") | 915 | studentId: localStorage.getItem("parentStudentId") |
916 | }); | 916 | }); |
917 | this.activityList = response.data.data; | 917 | this.activityList = response.data.data; |
918 | 918 | ||
919 | /* set activityEvents array to highlight event dates in calender */ | 919 | /* set activityEvents array to highlight event dates in calender */ |
920 | for (var i = 0; i < this.activityList.length; i++) { | 920 | for (var i = 0; i < this.activityList.length; i++) { |
921 | let obj = {}; | 921 | let obj = {}; |
922 | obj.date = moment(this.activityList[i].meetingEvent.dateOfEvent).format( | 922 | obj.date = moment(this.activityList[i].meetingEvent.dateOfEvent).format( |
923 | "YYYY/MM/DD" | 923 | "YYYY/MM/DD" |
924 | ); | 924 | ); |
925 | obj.title = this.activityList[i].meetingEvent.title; | 925 | obj.title = this.activityList[i].meetingEvent.title; |
926 | this.activityEvents.push(obj); | 926 | this.activityEvents.push(obj); |
927 | } | 927 | } |
928 | } | 928 | } |
929 | }; | 929 | }; |
930 | </script> | 930 | </script> |
931 | 931 | ||
932 | <style scoped> | 932 | <style scoped> |
933 | @import "fullcalendar/dist/fullcalendar.css"; | 933 | @import "fullcalendar/dist/fullcalendar.css"; |
934 | </style> | 934 | </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: '/changepassword', | 51 | path: '/changepassword', |
52 | meta: {}, | 52 | meta: {}, |
53 | name: 'changepassword', | 53 | name: 'changepassword', |
54 | props: (route) => ({ | 54 | props: (route) => ({ |
55 | type: route.query.type | 55 | type: route.query.type |
56 | }), | 56 | }), |
57 | component: () => | 57 | component: () => |
58 | import( | 58 | import ( |
59 | /* webpackChunkName: "routes" */ | 59 | /* webpackChunkName: "routes" */ |
60 | /* webpackMode: "lazy-once" */ | 60 | /* webpackMode: "lazy-once" */ |
61 | `@/pages/Authentication/changepassword.vue` | 61 | `@/pages/Authentication/changepassword.vue` |
62 | ) | 62 | ) |
63 | }, | 63 | }, |
64 | { | 64 | { |
65 | path: '/teachers', | 65 | path: '/teachers', |
66 | meta: { | 66 | meta: { |
67 | breadcrumb: false | 67 | breadcrumb: false |
68 | }, | 68 | }, |
69 | name: 'Teachers', | 69 | name: 'Teachers', |
70 | component: () => | 70 | component: () => |
71 | import( | 71 | import ( |
72 | /* webpackChunkName: "routes" */ | 72 | /* webpackChunkName: "routes" */ |
73 | /* webpackMode: "lazy-once" */ | 73 | /* webpackMode: "lazy-once" */ |
74 | `@/pages/Teachers/teachers.vue` | 74 | `@/pages/Teachers/teachers.vue` |
75 | ) | 75 | ) |
76 | }, | 76 | }, |
77 | { | 77 | { |
78 | path: '/', | 78 | path: '/', |
79 | meta: { | 79 | meta: { |
80 | public: true, | 80 | public: true, |
81 | }, | 81 | }, |
82 | name: 'Login', | 82 | name: 'Login', |
83 | component: () => | 83 | component: () => |
84 | import( | 84 | import ( |
85 | /* webpackChunkName: "routes" */ | 85 | /* webpackChunkName: "routes" */ |
86 | /* webpackMode: "lazy-once" */ | 86 | /* webpackMode: "lazy-once" */ |
87 | `@/pages/Authentication/Login.vue` | 87 | `@/pages/Authentication/Login.vue` |
88 | ) | 88 | ) |
89 | }, | 89 | }, |
90 | { | 90 | { |
91 | path: '/forgetpassword', | 91 | path: '/forgetpassword', |
92 | meta: { | 92 | meta: { |
93 | public: true, | 93 | public: true, |
94 | }, | 94 | }, |
95 | name: 'forgetpassword', | 95 | name: 'forgetpassword', |
96 | component: () => | 96 | component: () => |
97 | import( | 97 | import ( |
98 | /* webpackChunkName: "routes" */ | 98 | /* webpackChunkName: "routes" */ |
99 | /* webpackMode: "lazy-once" */ | 99 | /* webpackMode: "lazy-once" */ |
100 | `@/pages/Authentication/forgetpassword.vue` | 100 | `@/pages/Authentication/forgetpassword.vue` |
101 | ) | 101 | ) |
102 | }, | 102 | }, |
103 | { | 103 | { |
104 | path: '/students', | 104 | path: '/students', |
105 | meta: {}, | 105 | meta: {}, |
106 | name: 'Students', | 106 | name: 'Students', |
107 | props: (route) => ({ | 107 | props: (route) => ({ |
108 | type: route.query.type | 108 | type: route.query.type |
109 | }), | 109 | }), |
110 | component: () => | 110 | component: () => |
111 | import( | 111 | import ( |
112 | /* webpackChunkName: "routes" */ | 112 | /* webpackChunkName: "routes" */ |
113 | /* webpackMode: "lazy-once" */ | 113 | /* webpackMode: "lazy-once" */ |
114 | `@/pages/Students/students.vue` | 114 | `@/pages/Students/students.vue` |
115 | ) | 115 | ) |
116 | }, | 116 | }, |
117 | { | 117 | { |
118 | path: '/class', | 118 | path: '/class', |
119 | meta: {}, | 119 | meta: {}, |
120 | name: 'Class', | 120 | name: 'Class', |
121 | props: (route) => ({ | 121 | props: (route) => ({ |
122 | type: route.query.type | 122 | type: route.query.type |
123 | }), | 123 | }), |
124 | component: () => | 124 | component: () => |
125 | import( | 125 | import ( |
126 | /* webpackChunkName: "routes" */ | 126 | /* webpackChunkName: "routes" */ |
127 | /* webpackMode: "lazy-once" */ | 127 | /* webpackMode: "lazy-once" */ |
128 | `@/pages/Class/addclass.vue` | 128 | `@/pages/Class/addclass.vue` |
129 | ) | 129 | ) |
130 | }, | 130 | }, |
131 | { | 131 | { |
132 | path: '/section', | 132 | path: '/section', |
133 | meta: {}, | 133 | meta: {}, |
134 | name: 'Section', | 134 | name: 'Section', |
135 | props: (route) => ({ | 135 | props: (route) => ({ |
136 | type: route.query.type | 136 | type: route.query.type |
137 | }), | 137 | }), |
138 | component: () => | 138 | component: () => |
139 | import( | 139 | import ( |
140 | /* webpackChunkName: "routes" */ | 140 | /* webpackChunkName: "routes" */ |
141 | /* webpackMode: "lazy-once" */ | 141 | /* webpackMode: "lazy-once" */ |
142 | `@/pages/Section/section.vue` | 142 | `@/pages/Section/section.vue` |
143 | ) | 143 | ) |
144 | }, | 144 | }, |
145 | { | 145 | { |
146 | path: '/noticeBoard', | 146 | path: '/noticeBoard', |
147 | meta: {}, | 147 | meta: {}, |
148 | name: 'Notice Board', | 148 | name: 'Notice Board', |
149 | props: (route) => ({ | 149 | props: (route) => ({ |
150 | type: route.query.type | 150 | type: route.query.type |
151 | }), | 151 | }), |
152 | component: () => | 152 | component: () => |
153 | import( | 153 | import ( |
154 | /* webpackChunkName: "routes" */ | 154 | /* webpackChunkName: "routes" */ |
155 | /* webpackMode: "lazy-once" */ | 155 | /* webpackMode: "lazy-once" */ |
156 | `@/pages/NoticeBoard/noticeBoard.vue` | 156 | `@/pages/NoticeBoard/noticeBoard.vue` |
157 | ) | 157 | ) |
158 | }, | 158 | }, |
159 | { | 159 | { |
160 | path: '/news', | 160 | path: '/news', |
161 | meta: {}, | 161 | meta: {}, |
162 | name: 'News', | 162 | name: 'News', |
163 | props: (route) => ({ | 163 | props: (route) => ({ |
164 | type: route.query.type | 164 | type: route.query.type |
165 | }), | 165 | }), |
166 | component: () => | 166 | component: () => |
167 | import( | 167 | import ( |
168 | /* webpackChunkName: "routes" */ | 168 | /* webpackChunkName: "routes" */ |
169 | /* webpackMode: "lazy-once" */ | 169 | /* webpackMode: "lazy-once" */ |
170 | `@/pages/News/news.vue` | 170 | `@/pages/News/news.vue` |
171 | ) | 171 | ) |
172 | }, | 172 | }, |
173 | // { | 173 | // { |
174 | // path: '/reminder', | 174 | // path: '/reminder', |
175 | // meta: { }, | 175 | // meta: { }, |
176 | // name: 'reminder', | 176 | // name: 'reminder', |
177 | // props: (route) => ({ type: route.query.type }), | 177 | // props: (route) => ({ type: route.query.type }), |
178 | // component: () => import( | 178 | // component: () => import( |
179 | // /* webpackChunkName: "routes" */ | 179 | // /* webpackChunkName: "routes" */ |
180 | // /* webpackMode: "lazy-once" */ | 180 | // /* webpackMode: "lazy-once" */ |
181 | // `@/pages/Reminder/reminder.vue` | 181 | // `@/pages/Reminder/reminder.vue` |
182 | // ) | 182 | // ) |
183 | // }, | 183 | // }, |
184 | { | 184 | { |
185 | path: '/timeTable', | 185 | path: '/timeTable', |
186 | meta: {}, | 186 | meta: {}, |
187 | name: 'Time Table', | 187 | name: 'Time Table', |
188 | props: (route) => ({ | 188 | props: (route) => ({ |
189 | type: route.query.type | 189 | type: route.query.type |
190 | }), | 190 | }), |
191 | component: () => | 191 | component: () => |
192 | import( | 192 | import ( |
193 | /* webpackChunkName: "routes" */ | 193 | /* webpackChunkName: "routes" */ |
194 | /* webpackMode: "lazy-once" */ | 194 | /* webpackMode: "lazy-once" */ |
195 | `@/pages/TimeTable/timeTable.vue` | 195 | `@/pages/TimeTable/timeTable.vue` |
196 | ) | 196 | ) |
197 | }, | 197 | }, |
198 | { | 198 | { |
199 | path: '/notification', | 199 | path: '/notification', |
200 | meta: {}, | 200 | meta: {}, |
201 | name: 'Notification', | 201 | name: 'Notification', |
202 | props: (route) => ({ | 202 | props: (route) => ({ |
203 | type: route.query.type | 203 | type: route.query.type |
204 | }), | 204 | }), |
205 | component: () => | 205 | component: () => |
206 | import( | 206 | import ( |
207 | /* webpackChunkName: "routes" */ | 207 | /* webpackChunkName: "routes" */ |
208 | /* webpackMode: "lazy-once" */ | 208 | /* webpackMode: "lazy-once" */ |
209 | `@/pages/Notification/notification.vue` | 209 | `@/pages/Notification/notification.vue` |
210 | ) | 210 | ) |
211 | }, | 211 | }, |
212 | { | 212 | { |
213 | path: '/parents', | 213 | path: '/parents', |
214 | meta: {}, | 214 | meta: {}, |
215 | name: 'Parents', | 215 | name: 'Parents', |
216 | props: (route) => ({ | 216 | props: (route) => ({ |
217 | type: route.query.type | 217 | type: route.query.type |
218 | }), | 218 | }), |
219 | component: () => | 219 | component: () => |
220 | import( | 220 | import ( |
221 | /* webpackChunkName: "routes" */ | 221 | /* webpackChunkName: "routes" */ |
222 | /* webpackMode: "lazy-once" */ | 222 | /* webpackMode: "lazy-once" */ |
223 | `@/pages/Parent/parents.vue` | 223 | `@/pages/Parent/parents.vue` |
224 | ) | 224 | ) |
225 | }, | 225 | }, |
226 | // { | 226 | // { |
227 | // path: '/subject', | 227 | // path: '/subject', |
228 | // meta: {}, | 228 | // meta: {}, |
229 | // name: 'Subject', | 229 | // name: 'Subject', |
230 | // props: (route) => ({ type: route.query.type }), | 230 | // props: (route) => ({ type: route.query.type }), |
231 | // component: () => | 231 | // component: () => |
232 | // import ( | 232 | // import ( |
233 | // /* webpackChunkName: "routes" */ | 233 | // /* webpackChunkName: "routes" */ |
234 | // /* webpackMode: "lazy-once" */ | 234 | // /* webpackMode: "lazy-once" */ |
235 | // `@/pages/Subjects/subjects.vue` | 235 | // `@/pages/Subjects/subjects.vue` |
236 | // ) | 236 | // ) |
237 | // }, | 237 | // }, |
238 | { | 238 | { |
239 | path: '/dashboard', | 239 | path: '/dashboard', |
240 | meta: {}, | 240 | meta: {}, |
241 | name: 'Dashboard', | 241 | name: 'Dashboard', |
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/Dashboard/dashboard.vue` | 249 | `@/pages/Dashboard/dashboard.vue` |
250 | ) | 250 | ) |
251 | }, | 251 | }, |
252 | { | 252 | { |
253 | path: '/CourseDetails', | 253 | path: '/CourseDetails', |
254 | meta: {}, | 254 | meta: {}, |
255 | name: 'Course Details', | 255 | name: 'Course Details', |
256 | props: (route) => ({ | 256 | props: (route) => ({ |
257 | type: route.query.type | 257 | type: route.query.type |
258 | }), | 258 | }), |
259 | component: () => | 259 | component: () => |
260 | import( | 260 | import ( |
261 | /* webpackChunkName: "routes" */ | 261 | /* webpackChunkName: "routes" */ |
262 | /* webpackMode: "lazy-once" */ | 262 | /* webpackMode: "lazy-once" */ |
263 | `@/pages/Dashboard/CourseDetails.vue` | 263 | `@/pages/Dashboard/CourseDetails.vue` |
264 | ) | 264 | ) |
265 | }, | 265 | }, |
266 | { | 266 | { |
267 | path: '/ChapterInfo', | 267 | path: '/ChapterInfo', |
268 | meta: {}, | 268 | meta: {}, |
269 | name: 'Chapter Info', | 269 | name: 'Chapter Info', |
270 | props: (route) => ({ | 270 | props: (route) => ({ |
271 | type: route.query.type | 271 | type: route.query.type |
272 | }), | 272 | }), |
273 | component: () => | 273 | component: () => |
274 | import( | 274 | import ( |
275 | /* webpackChunkName: "routes" */ | 275 | /* webpackChunkName: "routes" */ |
276 | /* webpackMode: "lazy-once" */ | 276 | /* webpackMode: "lazy-once" */ |
277 | `@/pages/Dashboard/ChapterInfo.vue` | 277 | `@/pages/Dashboard/ChapterInfo.vue` |
278 | ) | 278 | ) |
279 | }, | 279 | }, |
280 | { | 280 | { |
281 | path: '/CourseDiscussionForum', | 281 | path: '/CourseDiscussionForum', |
282 | meta: {}, | 282 | meta: {}, |
283 | name: 'Course Discussion Forum', | 283 | name: 'Course Discussion Forum', |
284 | props: (route) => ({ | 284 | props: (route) => ({ |
285 | type: route.query.type | 285 | type: route.query.type |
286 | }), | 286 | }), |
287 | component: () => | 287 | component: () => |
288 | import( | 288 | import ( |
289 | /* webpackChunkName: "routes" */ | 289 | /* webpackChunkName: "routes" */ |
290 | /* webpackMode: "lazy-once" */ | 290 | /* webpackMode: "lazy-once" */ |
291 | `@/pages/Dashboard/CourseDiscussionForum.vue` | 291 | `@/pages/Dashboard/CourseDiscussionForum.vue` |
292 | ) | 292 | ) |
293 | }, | 293 | }, |
294 | { | 294 | { |
295 | path: '/courseDiscussion', | ||
296 | meta: {}, | ||
297 | name: 'Course Discussion', | ||
298 | props: (route) => ({ | ||
299 | type: route.query.type | ||
300 | }), | ||
301 | component: () => | ||
302 | import ( | ||
303 | /* webpackChunkName: "routes" */ | ||
304 | /* webpackMode: "lazy-once" */ | ||
305 | `@/pages/Course/courseDiscussion.vue` | ||
306 | ) | ||
307 | }, | ||
308 | { | ||
309 | path: '/courseDiscussionesForm/:discussionId', | ||
310 | meta: {}, | ||
311 | name: 'Course Discussiones Form', | ||
312 | props: (route) => ({ | ||
313 | type: route.query.type | ||
314 | }), | ||
315 | component: () => | ||
316 | import ( | ||
317 | /* webpackChunkName: "routes" */ | ||
318 | /* webpackMode: "lazy-once" */ | ||
319 | `@/pages/Course/discussion.vue` | ||
320 | ) | ||
321 | }, | ||
322 | { | ||
295 | path: '/Announcement', | 323 | path: '/Announcement', |
296 | meta: {}, | 324 | meta: {}, |
297 | name: 'Announcement', | 325 | name: 'Announcement', |
298 | props: (route) => ({ | 326 | props: (route) => ({ |
299 | type: route.query.type | 327 | type: route.query.type |
300 | }), | 328 | }), |
301 | component: () => | 329 | component: () => |
302 | import( | 330 | import ( |
303 | /* webpackChunkName: "routes" */ | 331 | /* webpackChunkName: "routes" */ |
304 | /* webpackMode: "lazy-once" */ | 332 | /* webpackMode: "lazy-once" */ |
305 | `@/pages/Dashboard/Announcement.vue` | 333 | `@/pages/Dashboard/Announcement.vue` |
306 | ) | 334 | ) |
307 | }, | 335 | }, |
308 | { | 336 | { |
309 | path: '/socialMedia', | 337 | path: '/socialMedia', |
310 | meta: {}, | 338 | meta: {}, |
311 | name: 'Social Media', | 339 | name: 'Social Media', |
312 | props: (route) => ({ | 340 | props: (route) => ({ |
313 | type: route.query.type | 341 | type: route.query.type |
314 | }), | 342 | }), |
315 | component: () => | 343 | component: () => |
316 | import( | 344 | import ( |
317 | /* webpackChunkName: "routes" */ | 345 | /* webpackChunkName: "routes" */ |
318 | /* webpackMode: "lazy-once" */ | 346 | /* webpackMode: "lazy-once" */ |
319 | `@/pages/socialMedia/socialMedia.vue` | 347 | `@/pages/socialMedia/socialMedia.vue` |
320 | ) | 348 | ) |
321 | }, | 349 | }, |
322 | { | 350 | { |
323 | path: '/gallery', | 351 | path: '/gallery', |
324 | meta: {}, | 352 | meta: {}, |
325 | name: 'Gallery', | 353 | name: 'Gallery', |
326 | props: (route) => ({ | 354 | props: (route) => ({ |
327 | type: route.query.type | 355 | type: route.query.type |
328 | }), | 356 | }), |
329 | component: () => | 357 | component: () => |
330 | import( | 358 | import ( |
331 | /* webpackChunkName: "routes" */ | 359 | /* webpackChunkName: "routes" */ |
332 | /* webpackMode: "lazy-once" */ | 360 | /* webpackMode: "lazy-once" */ |
333 | `@/pages/Gallery/gallery.vue` | 361 | `@/pages/Gallery/gallery.vue` |
334 | ) | 362 | ) |
335 | }, | 363 | }, |
336 | { | 364 | { |
337 | path: '/event', | 365 | path: '/event', |
338 | meta: {}, | 366 | meta: {}, |
339 | name: 'Event', | 367 | name: 'Event', |
340 | props: (route) => ({ | 368 | props: (route) => ({ |
341 | type: route.query.type | 369 | type: route.query.type |
342 | }), | 370 | }), |
343 | component: () => | 371 | component: () => |
344 | import( | 372 | import ( |
345 | /* webpackChunkName: "routes" */ | 373 | /* webpackChunkName: "routes" */ |
346 | /* webpackMode: "lazy-once" */ | 374 | /* webpackMode: "lazy-once" */ |
347 | `@/pages/Event/event.vue` | 375 | `@/pages/Event/event.vue` |
348 | ) | 376 | ) |
349 | }, | 377 | }, |
350 | { | 378 | { |
351 | path: '/holiday', | 379 | path: '/holiday', |
352 | meta: {}, | 380 | meta: {}, |
353 | name: 'Holiday', | 381 | name: 'Holiday', |
354 | props: (route) => ({ | 382 | props: (route) => ({ |
355 | type: route.query.type | 383 | type: route.query.type |
356 | }), | 384 | }), |
357 | component: () => | 385 | component: () => |
358 | import( | 386 | import ( |
359 | /* webpackChunkName: "routes" */ | 387 | /* webpackChunkName: "routes" */ |
360 | /* webpackMode: "lazy-once" */ | 388 | /* webpackMode: "lazy-once" */ |
361 | `@/pages/Holiday/holiday.vue` | 389 | `@/pages/Holiday/holiday.vue` |
362 | ) | 390 | ) |
363 | }, | 391 | }, |
364 | { | 392 | { |
365 | path: '/user', | 393 | path: '/user', |
366 | meta: {}, | 394 | meta: {}, |
367 | name: 'User', | 395 | name: 'User', |
368 | props: (route) => ({ | 396 | props: (route) => ({ |
369 | type: route.query.type | 397 | type: route.query.type |
370 | }), | 398 | }), |
371 | component: () => | 399 | component: () => |
372 | import( | 400 | import ( |
373 | /* webpackChunkName: "routes" */ | 401 | /* webpackChunkName: "routes" */ |
374 | /* webpackMode: "lazy-once" */ | 402 | /* webpackMode: "lazy-once" */ |
375 | `@/pages/User/user.vue` | 403 | `@/pages/User/user.vue` |
376 | ) | 404 | ) |
377 | }, | 405 | }, |
378 | { | 406 | { |
379 | path: '/AttendenceStudent', | 407 | path: '/AttendenceStudent', |
380 | meta: {}, | 408 | meta: {}, |
381 | name: 'Student Attendence', | 409 | name: 'Student Attendence', |
382 | props: (route) => ({ | 410 | props: (route) => ({ |
383 | type: route.query.type | 411 | type: route.query.type |
384 | }), | 412 | }), |
385 | component: () => | 413 | component: () => |
386 | import( | 414 | import ( |
387 | /* webpackChunkName: "routes" */ | 415 | /* webpackChunkName: "routes" */ |
388 | /* webpackMode: "lazy-once" */ | 416 | /* webpackMode: "lazy-once" */ |
389 | `@/pages/Attendence/studentAttendence.vue` | 417 | `@/pages/Attendence/studentAttendence.vue` |
390 | ) | 418 | ) |
391 | }, | 419 | }, |
392 | { | 420 | { |
393 | path: '/AttendenceTeacher', | 421 | path: '/AttendenceTeacher', |
394 | meta: {}, | 422 | meta: {}, |
395 | name: 'Teacher Attendence', | 423 | name: 'Teacher Attendence', |
396 | props: (route) => ({ | 424 | props: (route) => ({ |
397 | type: route.query.type | 425 | type: route.query.type |
398 | }), | 426 | }), |
399 | component: () => | 427 | component: () => |
400 | import( | 428 | import ( |
401 | /* webpackChunkName: "routes" */ | 429 | /* webpackChunkName: "routes" */ |
402 | /* webpackMode: "lazy-once" */ | 430 | /* webpackMode: "lazy-once" */ |
403 | `@/pages/Attendence/teacherAttendence.vue` | 431 | `@/pages/Attendence/teacherAttendence.vue` |
404 | ) | 432 | ) |
405 | }, | 433 | }, |
406 | { | 434 | { |
407 | path: '/salaryTemplate', | 435 | path: '/salaryTemplate', |
408 | meta: {}, | 436 | meta: {}, |
409 | name: 'Salary Template', | 437 | name: 'Salary Template', |
410 | props: (route) => ({ | 438 | props: (route) => ({ |
411 | type: route.query.type | 439 | type: route.query.type |
412 | }), | 440 | }), |
413 | component: () => | 441 | component: () => |
414 | import( | 442 | import ( |
415 | `@/pages/Payroll/salaryTemplate.vue` | 443 | `@/pages/Payroll/salaryTemplate.vue` |
416 | ) | 444 | ) |
417 | }, | 445 | }, |
418 | { | 446 | { |
419 | path: '/hourlyTemplate', | 447 | path: '/hourlyTemplate', |
420 | meta: {}, | 448 | meta: {}, |
421 | name: 'Hourly Template', | 449 | name: 'Hourly Template', |
422 | props: (route) => ({ | 450 | props: (route) => ({ |
423 | type: route.query.type | 451 | type: route.query.type |
424 | }), | 452 | }), |
425 | component: () => | 453 | component: () => |
426 | import( | 454 | import ( |
427 | `@/pages/Payroll/hourlyTemplate.vue` | 455 | `@/pages/Payroll/hourlyTemplate.vue` |
428 | ) | 456 | ) |
429 | }, | 457 | }, |
430 | { | 458 | { |
431 | path: '/manageSalary', | 459 | path: '/manageSalary', |
432 | meta: {}, | 460 | meta: {}, |
433 | name: 'Manage Salary', | 461 | name: 'Manage Salary', |
434 | props: (route) => ({ | 462 | props: (route) => ({ |
435 | type: route.query.type | 463 | type: route.query.type |
436 | }), | 464 | }), |
437 | component: () => | 465 | component: () => |
438 | import( | 466 | import ( |
439 | `@/pages/Payroll/manageSalary.vue` | 467 | `@/pages/Payroll/manageSalary.vue` |
440 | ) | 468 | ) |
441 | }, | 469 | }, |
442 | // { | 470 | // { |
443 | // path: '/makePayment', | 471 | // path: '/makePayment', |
444 | // meta: {}, | 472 | // meta: {}, |
445 | // name: 'Make Payment', | 473 | // name: 'Make Payment', |
446 | // props: (route) => ({ type: route.query.type }), | 474 | // props: (route) => ({ type: route.query.type }), |
447 | // component: () => | 475 | // component: () => |
448 | // import ( | 476 | // import ( |
449 | // `@/pages/Payroll/makePayment.vue` | 477 | // `@/pages/Payroll/makePayment.vue` |
450 | // ) | 478 | // ) |
451 | // }, | 479 | // }, |
452 | { | 480 | { |
453 | path: '/AttendenceUser', | 481 | path: '/AttendenceUser', |
454 | meta: {}, | 482 | meta: {}, |
455 | name: 'User Attendence', | 483 | name: 'User Attendence', |
456 | props: (route) => ({ | 484 | props: (route) => ({ |
457 | type: route.query.type | 485 | type: route.query.type |
458 | }), | 486 | }), |
459 | component: () => | 487 | component: () => |
460 | import( | 488 | import ( |
461 | /* webpackChunkName: "routes" */ | 489 | /* webpackChunkName: "routes" */ |
462 | /* webpackMode: "lazy-once" */ | 490 | /* webpackMode: "lazy-once" */ |
463 | `@/pages/Attendence/userAttendence.vue` | 491 | `@/pages/Attendence/userAttendence.vue` |
464 | ) | 492 | ) |
465 | }, | 493 | }, |
466 | { | 494 | { |
467 | path: '/feeTypes', | 495 | path: '/feeTypes', |
468 | meta: {}, | 496 | meta: {}, |
469 | name: 'Fee Types', | 497 | name: 'Fee Types', |
470 | props: (route) => ({ | 498 | props: (route) => ({ |
471 | type: route.query.type | 499 | type: route.query.type |
472 | }), | 500 | }), |
473 | component: () => | 501 | component: () => |
474 | import( | 502 | import ( |
475 | /* webpackChunkName: "routes" */ | 503 | /* webpackChunkName: "routes" */ |
476 | /* webpackMode: "lazy-once" */ | 504 | /* webpackMode: "lazy-once" */ |
477 | `@/pages/Account/feeTypes.vue` | 505 | `@/pages/Account/feeTypes.vue` |
478 | ) | 506 | ) |
479 | }, | 507 | }, |
480 | { | 508 | { |
481 | path: '/invoice', | 509 | path: '/invoice', |
482 | meta: {}, | 510 | meta: {}, |
483 | name: 'Invoice', | 511 | name: 'Invoice', |
484 | props: (route) => ({ | 512 | props: (route) => ({ |
485 | type: route.query.type | 513 | type: route.query.type |
486 | }), | 514 | }), |
487 | component: () => | 515 | component: () => |
488 | import( | 516 | import ( |
489 | /* webpackChunkName: "routes" */ | 517 | /* webpackChunkName: "routes" */ |
490 | /* webpackMode: "lazy-once" */ | 518 | /* webpackMode: "lazy-once" */ |
491 | `@/pages/Account/invoice.vue` | 519 | `@/pages/Account/invoice.vue` |
492 | ) | 520 | ) |
493 | }, | 521 | }, |
494 | { | 522 | { |
495 | path: '/paymentHistory', | 523 | path: '/paymentHistory', |
496 | meta: {}, | 524 | meta: {}, |
497 | name: 'Payment History', | 525 | name: 'Payment History', |
498 | props: (route) => ({ | 526 | props: (route) => ({ |
499 | type: route.query.type | 527 | type: route.query.type |
500 | }), | 528 | }), |
501 | component: () => | 529 | component: () => |
502 | import( | 530 | import ( |
503 | /* webpackChunkName: "routes" */ | 531 | /* webpackChunkName: "routes" */ |
504 | /* webpackMode: "lazy-once" */ | 532 | /* webpackMode: "lazy-once" */ |
505 | `@/pages/Account/paymentHistory.vue` | 533 | `@/pages/Account/paymentHistory.vue` |
506 | ) | 534 | ) |
507 | }, | 535 | }, |
508 | { | 536 | { |
509 | path: '/expense', | 537 | path: '/expense', |
510 | meta: {}, | 538 | meta: {}, |
511 | name: 'Expense', | 539 | name: 'Expense', |
512 | props: (route) => ({ | 540 | props: (route) => ({ |
513 | type: route.query.type | 541 | type: route.query.type |
514 | }), | 542 | }), |
515 | component: () => | 543 | component: () => |
516 | import( | 544 | import ( |
517 | /* webpackChunkName: "routes" */ | 545 | /* webpackChunkName: "routes" */ |
518 | /* webpackMode: "lazy-once" */ | 546 | /* webpackMode: "lazy-once" */ |
519 | `@/pages/Account/expense.vue` | 547 | `@/pages/Account/expense.vue` |
520 | ) | 548 | ) |
521 | }, | 549 | }, |
522 | { | 550 | { |
523 | path: '/income', | 551 | path: '/income', |
524 | meta: {}, | 552 | meta: {}, |
525 | name: 'Income', | 553 | name: 'Income', |
526 | props: (route) => ({ | 554 | props: (route) => ({ |
527 | type: route.query.type | 555 | type: route.query.type |
528 | }), | 556 | }), |
529 | component: () => | 557 | component: () => |
530 | import( | 558 | import ( |
531 | /* webpackChunkName: "routes" */ | 559 | /* webpackChunkName: "routes" */ |
532 | /* webpackMode: "lazy-once" */ | 560 | /* webpackMode: "lazy-once" */ |
533 | `@/pages/Account/income.vue` | 561 | `@/pages/Account/income.vue` |
534 | ) | 562 | ) |
535 | }, | 563 | }, |
536 | { | 564 | { |
537 | path: '/libraryMember', | 565 | path: '/libraryMember', |
538 | meta: {}, | 566 | meta: {}, |
539 | name: 'Library Member', | 567 | name: 'Library Member', |
540 | props: (route) => ({ | 568 | props: (route) => ({ |
541 | type: route.query.type | 569 | type: route.query.type |
542 | }), | 570 | }), |
543 | component: () => | 571 | component: () => |
544 | import( | 572 | import ( |
545 | /* webpackChunkName: "routes" */ | 573 | /* webpackChunkName: "routes" */ |
546 | /* webpackMode: "lazy-once" */ | 574 | /* webpackMode: "lazy-once" */ |
547 | `@/pages/Library/member.vue` | 575 | `@/pages/Library/member.vue` |
548 | ) | 576 | ) |
549 | }, | 577 | }, |
550 | { | 578 | { |
551 | path: '/books', | 579 | path: '/books', |
552 | meta: {}, | 580 | meta: {}, |
553 | name: 'Books', | 581 | name: 'Books', |
554 | props: (route) => ({ | 582 | props: (route) => ({ |
555 | type: route.query.type | 583 | type: route.query.type |
556 | }), | 584 | }), |
557 | component: () => | 585 | component: () => |
558 | import( | 586 | import ( |
559 | /* webpackChunkName: "routes" */ | 587 | /* webpackChunkName: "routes" */ |
560 | /* webpackMode: "lazy-once" */ | 588 | /* webpackMode: "lazy-once" */ |
561 | `@/pages/Library/books.vue` | 589 | `@/pages/Library/books.vue` |
562 | ) | 590 | ) |
563 | }, | 591 | }, |
564 | { | 592 | { |
565 | path: '/issue', | 593 | path: '/issue', |
566 | meta: {}, | 594 | meta: {}, |
567 | name: 'Issue', | 595 | name: 'Issue', |
568 | props: (route) => ({ | 596 | props: (route) => ({ |
569 | type: route.query.type | 597 | type: route.query.type |
570 | }), | 598 | }), |
571 | component: () => | 599 | component: () => |
572 | import( | 600 | import ( |
573 | /* webpackChunkName: "routes" */ | 601 | /* webpackChunkName: "routes" */ |
574 | /* webpackMode: "lazy-once" */ | 602 | /* webpackMode: "lazy-once" */ |
575 | `@/pages/Library/issue.vue` | 603 | `@/pages/Library/issue.vue` |
576 | ) | 604 | ) |
577 | }, | 605 | }, |
578 | { | 606 | { |
579 | path: '/e-books', | 607 | path: '/e-books', |
580 | meta: {}, | 608 | meta: {}, |
581 | name: 'E-Books', | 609 | name: 'E-Books', |
582 | props: (route) => ({ | 610 | props: (route) => ({ |
583 | type: route.query.type | 611 | type: route.query.type |
584 | }), | 612 | }), |
585 | component: () => | 613 | component: () => |
586 | import( | 614 | import ( |
587 | /* webpackChunkName: "routes" */ | 615 | /* webpackChunkName: "routes" */ |
588 | /* webpackMode: "lazy-once" */ | 616 | /* webpackMode: "lazy-once" */ |
589 | `@/pages/Library/eBook.vue` | 617 | `@/pages/Library/eBook.vue` |
590 | ) | 618 | ) |
591 | }, | 619 | }, |
592 | { | 620 | { |
593 | path: '/editInvoice/:invoiceid', | 621 | path: '/editInvoice/:invoiceid', |
594 | meta: {}, | 622 | meta: {}, |
595 | name: 'Edit Invoice', | 623 | name: 'Edit Invoice', |
596 | // props: (route) => ({ type: route.query.type }), | 624 | // props: (route) => ({ type: route.query.type }), |
597 | component: () => | 625 | component: () => |
598 | import( | 626 | import ( |
599 | /* webpackChunkName: "routes" */ | 627 | /* webpackChunkName: "routes" */ |
600 | /* webpackMode: "lazy-once" */ | 628 | /* webpackMode: "lazy-once" */ |
601 | `@/pages/Account/editInvoice.vue` | 629 | `@/pages/Account/editInvoice.vue` |
602 | ) | 630 | ) |
603 | }, | 631 | }, |
604 | { | 632 | { |
605 | path: '/StudentsAttendence/:id', | 633 | path: '/StudentsAttendence/:id', |
606 | meta: {}, | 634 | meta: {}, |
607 | name: 'View Students Attendence', | 635 | name: 'View Students Attendence', |
608 | props: (route) => ({ | 636 | props: (route) => ({ |
609 | type: route.query.type | 637 | type: route.query.type |
610 | }), | 638 | }), |
611 | component: () => | 639 | component: () => |
612 | import( | 640 | import ( |
613 | /* webpackChunkName: "routes" */ | 641 | /* webpackChunkName: "routes" */ |
614 | /* webpackMode: "lazy-once" */ | 642 | /* webpackMode: "lazy-once" */ |
615 | `@/pages/Attendence/viewStudentsAttendence.vue` | 643 | `@/pages/Attendence/viewStudentsAttendence.vue` |
616 | ) | 644 | ) |
617 | }, | 645 | }, |
618 | { | 646 | { |
619 | path: '/TeacherAttendence/:teacherId', | 647 | path: '/TeacherAttendence/:teacherId', |
620 | meta: {}, | 648 | meta: {}, |
621 | name: 'View Teacher Attendence', | 649 | name: 'View Teacher Attendence', |
622 | props: (route) => ({ | 650 | props: (route) => ({ |
623 | type: route.query.type | 651 | type: route.query.type |
624 | }), | 652 | }), |
625 | component: () => | 653 | component: () => |
626 | import( | 654 | import ( |
627 | /* webpackChunkName: "routes" */ | 655 | /* webpackChunkName: "routes" */ |
628 | /* webpackMode: "lazy-once" */ | 656 | /* webpackMode: "lazy-once" */ |
629 | `@/pages/Attendence/viewTeacherAttendence.vue` | 657 | `@/pages/Attendence/viewTeacherAttendence.vue` |
630 | ) | 658 | ) |
631 | }, | 659 | }, |
632 | { | 660 | { |
633 | path: '/viewInvoice/:viewInvoiceId', | 661 | path: '/viewInvoice/:viewInvoiceId', |
634 | meta: {}, | 662 | meta: {}, |
635 | name: 'View Invoice', | 663 | name: 'View Invoice', |
636 | props: (route) => ({ | 664 | props: (route) => ({ |
637 | type: route.query.type | 665 | type: route.query.type |
638 | }), | 666 | }), |
639 | component: () => | 667 | component: () => |
640 | import( | 668 | import ( |
641 | /* webpackChunkName: "routes" */ | 669 | /* webpackChunkName: "routes" */ |
642 | /* webpackMode: "lazy-once" */ | 670 | /* webpackMode: "lazy-once" */ |
643 | `@/pages/Account/viewInvoice.vue` | 671 | `@/pages/Account/viewInvoice.vue` |
644 | ) | 672 | ) |
645 | }, | 673 | }, |
646 | { | 674 | { |
647 | path: '/viewPaymentInvoice/:viewPaymentInvoiceId', | 675 | path: '/viewPaymentInvoice/:viewPaymentInvoiceId', |
648 | meta: {}, | 676 | meta: {}, |
649 | name: 'View Payment Invoice', | 677 | name: 'View Payment Invoice', |
650 | props: (route) => ({ | 678 | props: (route) => ({ |
651 | type: route.query.type | 679 | type: route.query.type |
652 | }), | 680 | }), |
653 | component: () => | 681 | component: () => |
654 | import( | 682 | import ( |
655 | /* webpackChunkName: "routes" */ | 683 | /* webpackChunkName: "routes" */ |
656 | /* webpackMode: "lazy-once" */ | 684 | /* webpackMode: "lazy-once" */ |
657 | `@/pages/Account/viewPaymentInvoice.vue` | 685 | `@/pages/Account/viewPaymentInvoice.vue` |
658 | ) | 686 | ) |
659 | }, | 687 | }, |
660 | { | 688 | { |
661 | path: '/globalPayment', | 689 | path: '/globalPayment', |
662 | meta: {}, | 690 | meta: {}, |
663 | name: 'Global Payment', | 691 | name: 'Global Payment', |
664 | props: (route) => ({ | 692 | props: (route) => ({ |
665 | type: route.query.type | 693 | type: route.query.type |
666 | }), | 694 | }), |
667 | component: () => | 695 | component: () => |
668 | import( | 696 | import ( |
669 | /* webpackChunkName: "routes" */ | 697 | /* webpackChunkName: "routes" */ |
670 | /* webpackMode: "lazy-once" */ | 698 | /* webpackMode: "lazy-once" */ |
671 | `@/pages/Account/globalPayment.vue` | 699 | `@/pages/Account/globalPayment.vue` |
672 | ) | 700 | ) |
673 | }, | 701 | }, |
674 | { | 702 | { |
675 | path: '/exam', | 703 | path: '/exam', |
676 | meta: {}, | 704 | meta: {}, |
677 | name: 'Exam', | 705 | name: 'Exam', |
678 | props: (route) => ({ | 706 | props: (route) => ({ |
679 | type: route.query.type | 707 | type: route.query.type |
680 | }), | 708 | }), |
681 | component: () => | 709 | component: () => |
682 | import( | 710 | import ( |
683 | /* webpackChunkName: "routes" */ | 711 | /* webpackChunkName: "routes" */ |
684 | /* webpackMode: "lazy-once" */ | 712 | /* webpackMode: "lazy-once" */ |
685 | `@/pages/Exam/exam.vue` | 713 | `@/pages/Exam/exam.vue` |
686 | ) | 714 | ) |
687 | }, | 715 | }, |
688 | { | 716 | { |
689 | path: '/grade', | 717 | path: '/grade', |
690 | meta: {}, | 718 | meta: {}, |
691 | name: 'Grade', | 719 | name: 'Grade', |
692 | props: (route) => ({ | 720 | props: (route) => ({ |
693 | type: route.query.type | 721 | type: route.query.type |
694 | }), | 722 | }), |
695 | component: () => | 723 | component: () => |
696 | import( | 724 | import ( |
697 | /* webpackChunkName: "routes" */ | 725 | /* webpackChunkName: "routes" */ |
698 | /* webpackMode: "lazy-once" */ | 726 | /* webpackMode: "lazy-once" */ |
699 | `@/pages/Exam/grade.vue` | 727 | `@/pages/Exam/grade.vue` |
700 | ) | 728 | ) |
701 | }, | 729 | }, |
702 | { | 730 | { |
703 | path: '/examSchedule', | 731 | path: '/examSchedule', |
704 | meta: {}, | 732 | meta: {}, |
705 | name: 'Exam Schedule', | 733 | name: 'Exam Schedule', |
706 | props: (route) => ({ | 734 | props: (route) => ({ |
707 | type: route.query.type | 735 | type: route.query.type |
708 | }), | 736 | }), |
709 | component: () => | 737 | component: () => |
710 | import( | 738 | import ( |
711 | /* webpackChunkName: "routes" */ | 739 | /* webpackChunkName: "routes" */ |
712 | /* webpackMode: "lazy-once" */ | 740 | /* webpackMode: "lazy-once" */ |
713 | `@/pages/Exam/examSchedule.vue` | 741 | `@/pages/Exam/examSchedule.vue` |
714 | ) | 742 | ) |
715 | }, | 743 | }, |
716 | { | 744 | { |
717 | path: '/examAttendence', | 745 | path: '/examAttendence', |
718 | meta: {}, | 746 | meta: {}, |
719 | name: 'Exam Attendence', | 747 | name: 'Exam Attendence', |
720 | props: (route) => ({ | 748 | props: (route) => ({ |
721 | type: route.query.type | 749 | type: route.query.type |
722 | }), | 750 | }), |
723 | component: () => | 751 | component: () => |
724 | import( | 752 | import ( |
725 | /* webpackChunkName: "routes" */ | 753 | /* webpackChunkName: "routes" */ |
726 | /* webpackMode: "lazy-once" */ | 754 | /* webpackMode: "lazy-once" */ |
727 | `@/pages/Exam/examAttendence.vue` | 755 | `@/pages/Exam/examAttendence.vue` |
728 | ) | 756 | ) |
729 | }, | 757 | }, |
730 | { | 758 | { |
731 | path: '/mark', | 759 | path: '/mark', |
732 | meta: {}, | 760 | meta: {}, |
733 | name: 'Mark', | 761 | name: 'Mark', |
734 | props: (route) => ({ | 762 | props: (route) => ({ |
735 | type: route.query.type | 763 | type: route.query.type |
736 | }), | 764 | }), |
737 | component: () => | 765 | component: () => |
738 | import( | 766 | import ( |
739 | /* webpackChunkName: "routes" */ | 767 | /* webpackChunkName: "routes" */ |
740 | /* webpackMode: "lazy-once" */ | 768 | /* webpackMode: "lazy-once" */ |
741 | `@/pages/Mark/mark.vue` | 769 | `@/pages/Mark/mark.vue` |
742 | ) | 770 | ) |
743 | }, | 771 | }, |
744 | { | 772 | { |
745 | path: '/viewMark/:markId', | 773 | path: '/viewMark/:markId', |
746 | meta: {}, | 774 | meta: {}, |
747 | name: 'view Mark', | 775 | name: 'view Mark', |
748 | props: (route) => ({ | 776 | props: (route) => ({ |
749 | type: route.query.type | 777 | type: route.query.type |
750 | }), | 778 | }), |
751 | component: () => | 779 | component: () => |
752 | import( | 780 | import ( |
753 | /* webpackChunkName: "routes" */ | 781 | /* webpackChunkName: "routes" */ |
754 | /* webpackMode: "lazy-once" */ | 782 | /* webpackMode: "lazy-once" */ |
755 | `@/pages/Mark/viewMark.vue` | 783 | `@/pages/Mark/viewMark.vue` |
756 | ) | 784 | ) |
757 | }, | 785 | }, |
758 | { | 786 | { |
759 | path: '/markDistribution', | 787 | path: '/markDistribution', |
760 | meta: {}, | 788 | meta: {}, |
761 | name: 'Mark Distribution', | 789 | name: 'Mark Distribution', |
762 | props: (route) => ({ | 790 | props: (route) => ({ |
763 | type: route.query.type | 791 | type: route.query.type |
764 | }), | 792 | }), |
765 | component: () => | 793 | component: () => |
766 | import( | 794 | import ( |
767 | /* webpackChunkName: "routes" */ | 795 | /* webpackChunkName: "routes" */ |
768 | /* webpackMode: "lazy-once" */ | 796 | /* webpackMode: "lazy-once" */ |
769 | `@/pages/Mark/markDistribution.vue` | 797 | `@/pages/Mark/markDistribution.vue` |
770 | ) | 798 | ) |
771 | }, | 799 | }, |
772 | { | 800 | { |
773 | path: '/meet', | 801 | path: '/meet', |
774 | meta: {}, | 802 | meta: {}, |
775 | name: 'Meet', | 803 | name: 'Meet', |
776 | props: (route) => ({ | 804 | props: (route) => ({ |
777 | type: route.query.type | 805 | type: route.query.type |
778 | }), | 806 | }), |
779 | component: () => | 807 | component: () => |
780 | import( | 808 | import ( |
781 | /* webpackChunkName: "routes" */ | 809 | /* webpackChunkName: "routes" */ |
782 | /* webpackMode: "lazy-once" */ | 810 | /* webpackMode: "lazy-once" */ |
783 | `@/pages/Meet/meet.vue` | 811 | `@/pages/Meet/meet.vue` |
784 | ) | 812 | ) |
785 | }, | 813 | }, |
786 | { | 814 | { |
787 | path: '/academicYear', | 815 | path: '/academicYear', |
788 | meta: {}, | 816 | meta: {}, |
789 | name: 'Academic Year', | 817 | name: 'Academic Year', |
790 | props: (route) => ({ | 818 | props: (route) => ({ |
791 | type: route.query.type | 819 | type: route.query.type |
792 | }), | 820 | }), |
793 | component: () => | 821 | component: () => |
794 | import( | 822 | import ( |
795 | /* webpackChunkName: "routes" */ | 823 | /* webpackChunkName: "routes" */ |
796 | /* webpackMode: "lazy-once" */ | 824 | /* webpackMode: "lazy-once" */ |
797 | `@/pages/Administrator/academicYear.vue` | 825 | `@/pages/Administrator/academicYear.vue` |
798 | ) | 826 | ) |
799 | }, | 827 | }, |
800 | { | 828 | { |
801 | path: '/systemAdmin', | 829 | path: '/systemAdmin', |
802 | meta: {}, | 830 | meta: {}, |
803 | name: 'System Admin', | 831 | name: 'System Admin', |
804 | props: (route) => ({ | 832 | props: (route) => ({ |
805 | type: route.query.type | 833 | type: route.query.type |
806 | }), | 834 | }), |
807 | component: () => | 835 | component: () => |
808 | import( | 836 | import ( |
809 | /* webpackChunkName: "routes" */ | 837 | /* webpackChunkName: "routes" */ |
810 | /* webpackMode: "lazy-once" */ | 838 | /* webpackMode: "lazy-once" */ |
811 | `@/pages/Administrator/systemAdmin.vue` | 839 | `@/pages/Administrator/systemAdmin.vue` |
812 | ) | 840 | ) |
813 | }, | 841 | }, |
814 | { | 842 | { |
815 | path: '/resetPassword', | 843 | path: '/resetPassword', |
816 | meta: {}, | 844 | meta: {}, |
817 | name: 'Change Password', | 845 | name: 'Change Password', |
818 | props: (route) => ({ | 846 | props: (route) => ({ |
819 | type: route.query.type | 847 | type: route.query.type |
820 | }), | 848 | }), |
821 | component: () => | 849 | component: () => |
822 | import( | 850 | import ( |
823 | /* webpackChunkName: "routes" */ | 851 | /* webpackChunkName: "routes" */ |
824 | /* webpackMode: "lazy-once" */ | 852 | /* webpackMode: "lazy-once" */ |
825 | `@/pages/Administrator/resetPassword.vue` | 853 | `@/pages/Administrator/resetPassword.vue` |
826 | ) | 854 | ) |
827 | }, | 855 | }, |
828 | { | 856 | { |
829 | path: '/role', | 857 | path: '/role', |
830 | meta: {}, | 858 | meta: {}, |
831 | name: 'Role', | 859 | name: 'Role', |
832 | props: (route) => ({ | 860 | props: (route) => ({ |
833 | type: route.query.type | 861 | type: route.query.type |
834 | }), | 862 | }), |
835 | component: () => | 863 | component: () => |
836 | import( | 864 | import ( |
837 | /* webpackChunkName: "routes" */ | 865 | /* webpackChunkName: "routes" */ |
838 | /* webpackMode: "lazy-once" */ | 866 | /* webpackMode: "lazy-once" */ |
839 | `@/pages/Administrator/role.vue` | 867 | `@/pages/Administrator/role.vue` |
840 | ) | 868 | ) |
841 | }, | 869 | }, |
842 | { | 870 | { |
843 | path: '/bulkImport', | 871 | path: '/bulkImport', |
844 | meta: {}, | 872 | meta: {}, |
845 | name: 'Bulk Import', | 873 | name: 'Bulk Import', |
846 | props: (route) => ({ | 874 | props: (route) => ({ |
847 | type: route.query.type | 875 | type: route.query.type |
848 | }), | 876 | }), |
849 | component: () => | 877 | component: () => |
850 | import( | 878 | import ( |
851 | /* webpackChunkName: "routes" */ | 879 | /* webpackChunkName: "routes" */ |
852 | /* webpackMode: "lazy-once" */ | 880 | /* webpackMode: "lazy-once" */ |
853 | `@/pages/Administrator/bulkImport.vue` | 881 | `@/pages/Administrator/bulkImport.vue` |
854 | ) | 882 | ) |
855 | }, | 883 | }, |
856 | { | 884 | { |
857 | path: '/studentReport', | 885 | path: '/studentReport', |
858 | meta: {}, | 886 | meta: {}, |
859 | name: 'Student Report', | 887 | name: 'Student Report', |
860 | props: (route) => ({ | 888 | props: (route) => ({ |
861 | type: route.query.type | 889 | type: route.query.type |
862 | }), | 890 | }), |
863 | component: () => | 891 | component: () => |
864 | import( | 892 | import ( |
865 | /* webpackChunkName: "routes" */ | 893 | /* webpackChunkName: "routes" */ |
866 | /* webpackMode: "lazy-once" */ | 894 | /* webpackMode: "lazy-once" */ |
867 | `@/pages/Report/studentReport.vue` | 895 | `@/pages/Report/studentReport.vue` |
868 | ) | 896 | ) |
869 | }, | 897 | }, |
870 | { | 898 | { |
871 | path: '/progressCardReport', | 899 | path: '/progressCardReport', |
872 | meta: {}, | 900 | meta: {}, |
873 | name: 'Progress Card Report', | 901 | name: 'Progress Card Report', |
874 | props: (route) => ({ | 902 | props: (route) => ({ |
875 | type: route.query.type | 903 | type: route.query.type |
876 | }), | 904 | }), |
877 | component: () => | 905 | component: () => |
878 | import( | 906 | import ( |
879 | /* webpackChunkName: "routes" */ | 907 | /* webpackChunkName: "routes" */ |
880 | /* webpackMode: "lazy-once" */ | 908 | /* webpackMode: "lazy-once" */ |
881 | `@/pages/Report/progressCardReport.vue` | 909 | `@/pages/Report/progressCardReport.vue` |
882 | ) | 910 | ) |
883 | }, | 911 | }, |
884 | { | 912 | { |
885 | path: '/idCard', | 913 | path: '/idCard', |
886 | meta: {}, | 914 | meta: {}, |
887 | name: 'Id Card Report', | 915 | name: 'Id Card Report', |
888 | props: (route) => ({ | 916 | props: (route) => ({ |
889 | type: route.query.type | 917 | type: route.query.type |
890 | }), | 918 | }), |
891 | component: () => | 919 | component: () => |
892 | import( | 920 | import ( |
893 | `@/pages/Report/idCard.vue` | 921 | `@/pages/Report/idCard.vue` |
894 | ) | 922 | ) |
895 | }, | 923 | }, |
896 | { | 924 | { |
897 | path: '/admitCard', | 925 | path: '/admitCard', |
898 | meta: {}, | 926 | meta: {}, |
899 | name: 'Admit Card Report', | 927 | name: 'Admit Card Report', |
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 | `@/pages/Report/admitCard.vue` | 933 | `@/pages/Report/admitCard.vue` |
906 | ) | 934 | ) |
907 | }, | 935 | }, |
908 | { | 936 | { |
909 | path: '/generalSetting', | 937 | path: '/generalSetting', |
910 | meta: {}, | 938 | meta: {}, |
911 | name: 'General Setting', | 939 | name: 'General Setting', |
912 | props: (route) => ({ | 940 | props: (route) => ({ |
913 | type: route.query.type | 941 | type: route.query.type |
914 | }), | 942 | }), |
915 | component: () => | 943 | component: () => |
916 | import( | 944 | import ( |
917 | /* webpackChunkName: "routes" */ | 945 | /* webpackChunkName: "routes" */ |
918 | /* webpackMode: "lazy-once" */ | 946 | /* webpackMode: "lazy-once" */ |
919 | `@/pages/generalSetting/generalSetting.vue` | 947 | `@/pages/generalSetting/generalSetting.vue` |
920 | ) | 948 | ) |
921 | }, | 949 | }, |
922 | { | 950 | { |
923 | path: '/assignment', | 951 | path: '/assignment', |
924 | meta: {}, | 952 | meta: {}, |
925 | name: 'Assignment', | 953 | name: 'Assignment', |
926 | props: (route) => ({ | 954 | props: (route) => ({ |
927 | type: route.query.type | 955 | type: route.query.type |
928 | }), | 956 | }), |
929 | component: () => | 957 | component: () => |
930 | import( | 958 | import ( |
931 | `@/pages/Academic/assignment.vue` | 959 | `@/pages/Academic/assignment.vue` |
932 | ) | 960 | ) |
933 | }, | 961 | }, |
934 | { | 962 | { |
935 | path: '/routine', | 963 | path: '/routine', |
936 | meta: {}, | 964 | meta: {}, |
937 | name: 'Routine', | 965 | name: 'Routine', |
938 | props: (route) => ({ | 966 | props: (route) => ({ |
939 | type: route.query.type | 967 | type: route.query.type |
940 | }), | 968 | }), |
941 | component: () => | 969 | component: () => |
942 | import( | 970 | import ( |
943 | `@/pages/Academic/routine.vue` | 971 | `@/pages/Academic/routine.vue` |
944 | ) | 972 | ) |
945 | }, | 973 | }, |
946 | { | 974 | { |
947 | path: '/subject', | 975 | path: '/subject', |
948 | meta: {}, | 976 | meta: {}, |
949 | name: 'Subject', | 977 | name: 'Subject', |
950 | props: (route) => ({ | 978 | props: (route) => ({ |
951 | type: route.query.type | 979 | type: route.query.type |
952 | }), | 980 | }), |
953 | component: () => | 981 | component: () => |
954 | import( | 982 | import ( |
955 | `@/pages/Academic/subject.vue` | 983 | `@/pages/Academic/subject.vue` |
956 | ) | 984 | ) |
957 | }, | 985 | }, |
958 | { | 986 | { |
959 | path: '/syllabus', | 987 | path: '/syllabus', |
960 | meta: {}, | 988 | meta: {}, |
961 | name: 'Syllabus', | 989 | name: 'Syllabus', |
962 | props: (route) => ({ | 990 | props: (route) => ({ |
963 | type: route.query.type | 991 | type: route.query.type |
964 | }), | 992 | }), |
965 | component: () => | 993 | component: () => |
966 | import( | 994 | import ( |
967 | `@/pages/Academic/syllabus.vue` | 995 | `@/pages/Academic/syllabus.vue` |
968 | ) | 996 | ) |
969 | }, | 997 | }, |
970 | { | 998 | { |
971 | path: '/course', | 999 | path: '/course', |
972 | meta: {}, | 1000 | meta: {}, |
973 | name: 'Course', | 1001 | name: 'Course', |
974 | props: (route) => ({ | 1002 | props: (route) => ({ |
975 | type: route.query.type | 1003 | type: route.query.type |
976 | }), | 1004 | }), |
977 | component: () => | 1005 | component: () => |
978 | import( | 1006 | import ( |
979 | /* webpackChunkName: "routes" */ | 1007 | /* webpackChunkName: "routes" */ |
980 | /* webpackMode: "lazy-once" */ | 1008 | /* webpackMode: "lazy-once" */ |
981 | `@/pages/Course/course.vue` | 1009 | `@/pages/Course/course.vue` |
982 | ) | 1010 | ) |
983 | }, | 1011 | }, |
984 | { | 1012 | { |
985 | path: '/courseDetail', | 1013 | path: '/courseDetail', |
986 | meta: {}, | 1014 | meta: {}, |
987 | name: 'Course Detail', | 1015 | name: 'Course Detail', |
988 | props: (route) => ({ | 1016 | props: (route) => ({ |
989 | type: route.query.type | 1017 | type: route.query.type |
990 | }), | 1018 | }), |
991 | component: () => | 1019 | component: () => |
992 | import( | 1020 | import ( |
993 | /* webpackChunkName: "routes" */ | 1021 | /* webpackChunkName: "routes" */ |
994 | /* webpackMode: "lazy-once" */ | 1022 | /* webpackMode: "lazy-once" */ |
995 | `@/pages/Course/courseDetail.vue` | 1023 | `@/pages/Course/courseDetail.vue` |
996 | ) | 1024 | ) |
997 | }, | 1025 | }, |
998 | { | 1026 | { |
999 | path: '/enrollStudents', | 1027 | path: '/enrollStudents', |
1000 | meta: {}, | 1028 | meta: {}, |
1001 | name: 'Enroll Students', | 1029 | name: 'Enroll Students', |
1002 | props: (route) => ({ | 1030 | props: (route) => ({ |
1003 | type: route.query.type | 1031 | type: route.query.type |
1004 | }), | 1032 | }), |
1005 | component: () => | 1033 | component: () => |
1006 | import( | 1034 | import ( |
1007 | /* webpackChunkName: "routes" */ | 1035 | /* webpackChunkName: "routes" */ |
1008 | /* webpackMode: "lazy-once" */ | 1036 | /* webpackMode: "lazy-once" */ |
1009 | `@/pages/Course/enrollStudents.vue` | 1037 | `@/pages/Course/enrollStudents.vue` |
1010 | ) | 1038 | ) |
1011 | }, | 1039 | }, |
1012 | { | 1040 | { |
1013 | path: '/changeStudents', | 1041 | path: '/changeStudents', |
1014 | meta: {}, | 1042 | meta: {}, |
1015 | name: 'Change Students', | 1043 | name: 'Change Students', |
1016 | props: (route) => ({ | 1044 | props: (route) => ({ |
1017 | type: route.query.type | 1045 | type: route.query.type |
1018 | }), | 1046 | }), |
1019 | component: () => | 1047 | component: () => |
1020 | import( | 1048 | import ( |
1021 | /* webpackChunkName: "routes" */ | 1049 | /* webpackChunkName: "routes" */ |
1022 | /* webpackMode: "lazy-once" */ | 1050 | /* webpackMode: "lazy-once" */ |
1023 | `@/pages/changeStudents/changeStudents.vue` | 1051 | `@/pages/changeStudents/changeStudents.vue` |
1024 | ) | 1052 | ) |
1025 | }, | 1053 | }, |
1026 | { | 1054 | { |
1027 | path: '/annoucement', | 1055 | path: '/annoucement', |
1028 | meta: {}, | 1056 | meta: {}, |
1029 | name: 'Annoucement', | 1057 | name: 'Annoucement', |
1030 | props: (route) => ({ | 1058 | props: (route) => ({ |
1031 | type: route.query.type | 1059 | type: route.query.type |
1032 | }), | 1060 | }), |
1033 | component: () => | 1061 | component: () => |
1034 | import( | 1062 | import ( |
1035 | /* webpackChunkName: "routes" */ | 1063 | /* webpackChunkName: "routes" */ |
1036 | /* webpackMode: "lazy-once" */ | 1064 | /* webpackMode: "lazy-once" */ |
1037 | `@/pages/Annoucement/annoucement.vue` | 1065 | `@/pages/Annoucement/annoucement.vue` |
1038 | ) | 1066 | ) |
1039 | }, | 1067 | }, |
1040 | { | 1068 | { |
1041 | path: '/meetingEvent', | 1069 | path: '/meetingEvent', |
1042 | meta: {}, | 1070 | meta: {}, |
1043 | name: 'Meeting Event', | 1071 | name: 'Meeting Event', |
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 | /* webpackChunkName: "routes" */ | 1077 | /* webpackChunkName: "routes" */ |
1050 | /* webpackMode: "lazy-once" */ | 1078 | /* webpackMode: "lazy-once" */ |
1051 | `@/pages/meetingEvent/meetingEvent.vue` | 1079 | `@/pages/meetingEvent/meetingEvent.vue` |
1052 | ) | 1080 | ) |
1053 | }, | 1081 | }, |
1054 | //////SCHOOL | 1082 | //////SCHOOL |
1055 | 1083 | ||
1056 | { | 1084 | { |
1057 | path: '/school', | 1085 | path: '/school', |
1058 | meta: {}, | 1086 | meta: {}, |
1059 | name: 'School', | 1087 | name: 'School', |
1060 | props: (route) => ({ | 1088 | props: (route) => ({ |
1061 | type: route.query.type | 1089 | type: route.query.type |
1062 | }), | 1090 | }), |
1063 | component: () => | 1091 | component: () => |
1064 | import( | 1092 | import ( |
1065 | /* webpackChunkName: "routes" */ | 1093 | /* webpackChunkName: "routes" */ |
1066 | /* webpackMode: "lazy-once" */ | 1094 | /* webpackMode: "lazy-once" */ |
1067 | `@/pages/School/school.vue` | 1095 | `@/pages/School/school.vue` |
1068 | ) | 1096 | ) |
1069 | }, | 1097 | }, |
1070 | { | 1098 | { |
1071 | path: '/schooldashboard', | 1099 | path: '/schooldashboard', |
1072 | meta: {}, | 1100 | meta: {}, |
1073 | name: 'View School Dashboard', | 1101 | name: 'View School Dashboard', |
1074 | props: (route) => ({ | 1102 | props: (route) => ({ |
1075 | type: route.query.type | 1103 | type: route.query.type |
1076 | }), | 1104 | }), |
1077 | component: () => | 1105 | component: () => |
1078 | import( | 1106 | import ( |
1079 | /* webpackChunkName: "routes" */ | 1107 | /* webpackChunkName: "routes" */ |
1080 | /* webpackMode: "lazy-once" */ | 1108 | /* webpackMode: "lazy-once" */ |
1081 | `@/pages/School/viewSchoolDashboard.vue` | 1109 | `@/pages/School/viewSchoolDashboard.vue` |
1082 | ) | 1110 | ) |
1083 | } | 1111 | } |
1084 | ]; | 1112 | ]; |