Commit 813e55a7930fcf35599672a129a91f8f08684b3f
1 parent
1159d4f6d0
Exists in
master
and in
3 other branches
implement parents all api and fix others bugs
Showing
6 changed files
with
1240 additions
and
337 deletions
Show diff stats
src/api/menu.js
1 | -const Menu = [ | |
2 | -// { header: 'Apps' }, | |
3 | - { | |
4 | - title: 'Class', | |
5 | - // group: 'apps', | |
6 | - name: 'addclass', | |
7 | - icon: 'local_library', | |
8 | - }, | |
9 | - { | |
10 | - title: 'Section', | |
11 | - // group: 'apps', | |
12 | - name: 'section', | |
13 | - icon: 'view_module', | |
14 | - }, | |
15 | - { | |
16 | - title: 'Teachers', | |
17 | - // group: '', | |
18 | - name: 'teachers', | |
19 | - icon: 'group', | |
20 | - }, | |
21 | - { | |
22 | - title: 'Students', | |
23 | - // group: 'apps', | |
24 | - name: 'Students', | |
25 | - icon: 'school', | |
26 | - }, | |
27 | - // { | |
28 | - // title: 'Event', | |
29 | - // name: 'event', | |
30 | - // icon: 'event_available', | |
31 | - // }, | |
32 | - { | |
33 | - title: 'News', | |
34 | - name: 'news', | |
35 | - icon: 'notification_important', | |
36 | - }, | |
37 | - // { | |
38 | - // title: 'Reminder', | |
39 | - // name: 'reminder', | |
40 | - // icon: 'alarm_add', | |
41 | - // }, | |
42 | - { | |
43 | - title: 'Time Table', | |
44 | - name: 'timeTable', | |
45 | - icon: 'event_note', | |
46 | - }, | |
47 | - { | |
48 | - title: 'Notification', | |
49 | - name: 'notification', | |
50 | - icon: 'notifications_active', | |
51 | - }, | |
1 | +const Menu = [ | |
2 | + // { header: 'Apps' }, | |
3 | + { | |
4 | + title: 'Class', | |
5 | + // group: 'apps', | |
6 | + name: 'addclass', | |
7 | + icon: 'local_library', | |
8 | + }, | |
9 | + { | |
10 | + title: 'Section', | |
11 | + // group: 'apps', | |
12 | + name: 'section', | |
13 | + icon: 'view_module', | |
14 | + }, | |
15 | + { | |
16 | + title: 'Parents', | |
17 | + // group: 'apps', | |
18 | + name: 'parents', | |
19 | + icon: 'group', | |
20 | + }, | |
21 | + { | |
22 | + title: 'Teachers', | |
23 | + // group: '', | |
24 | + name: 'teachers', | |
25 | + icon: 'person', | |
26 | + }, | |
27 | + { | |
28 | + title: 'Students', | |
29 | + // group: 'apps', | |
30 | + name: 'Students', | |
31 | + icon: 'school', | |
32 | + }, | |
33 | + // { | |
34 | + // title: 'Event', | |
35 | + // name: 'event', | |
36 | + // icon: 'event_available', | |
37 | + // }, | |
38 | + { | |
39 | + title: 'News', | |
40 | + name: 'news', | |
41 | + icon: 'notification_important', | |
42 | + }, | |
43 | + // { | |
44 | + // title: 'Reminder', | |
45 | + // name: 'reminder', | |
46 | + // icon: 'alarm_add', | |
47 | + // }, | |
48 | + { | |
49 | + title: 'Time Table', | |
50 | + name: 'timeTable', | |
51 | + icon: 'event_note', | |
52 | + }, | |
53 | + { | |
54 | + title: 'Notification', | |
55 | + name: 'notification', | |
56 | + icon: 'notifications_active', | |
57 | + }, | |
52 | 58 | ]; |
53 | 59 | |
54 | 60 | |
55 | 61 | // reorder menu |
56 | 62 | Menu.forEach((item) => { |
57 | - if (item.items) { | |
58 | - item.items.sort((x, y) => { | |
59 | - let textA = x.title.toUpperCase(); | |
60 | - let textB = y.title.toUpperCase(); | |
61 | - return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; | |
62 | - }); | |
63 | - } | |
63 | + if (item.items) { | |
64 | + item.items.sort((x, y) => { | |
65 | + let textA = x.title.toUpperCase(); | |
66 | + let textB = y.title.toUpperCase(); | |
67 | + return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; | |
68 | + }); | |
69 | + } | |
64 | 70 | }); |
65 | 71 | |
66 | 72 | -export default Menu; |
73 | +export default Menu; | |
67 | 74 | \ No newline at end of file | ... | ... |
src/pages/Parent/parents.vue
... | ... | @@ -0,0 +1,845 @@ |
1 | +<template> | |
2 | + <v-app id="pages-dasboard"> | |
3 | + <v-toolbar class="fixcolors" fixed app> | |
4 | + <v-toolbar-title class="ml-0 pl-3"> | |
5 | + <v-toolbar-side-icon @click.stop="handleDrawerToggle" class="hide"></v-toolbar-side-icon> | |
6 | + </v-toolbar-title> | |
7 | + | |
8 | + <!-- ****** SEARCH ALL EXISTING PARENT ****** --> | |
9 | + | |
10 | + <v-flex xs7 sm3 class="userSearch"> | |
11 | + <v-text-field | |
12 | + flat | |
13 | + append-icon="search" | |
14 | + label="Find Parents" | |
15 | + v-model="search" | |
16 | + color="white" | |
17 | + dark | |
18 | + ></v-text-field> | |
19 | + </v-flex> | |
20 | + <v-spacer></v-spacer> | |
21 | + <v-menu offset-y origin="center center" :nudge-bottom="10" transition="scale-transition"> | |
22 | + <v-btn icon large flat slot="activator"> | |
23 | + <v-avatar size="40px"> | |
24 | + <img src="/static/icon/user.png" /> | |
25 | + </v-avatar> | |
26 | + </v-btn> | |
27 | + <v-list class="pa-0"> | |
28 | + <v-list-tile | |
29 | + v-for="(item,index) in items" | |
30 | + :to="!item.href ? { name: item.name } : null" | |
31 | + :href="item.href" | |
32 | + @click="item.click" | |
33 | + ripple="ripple" | |
34 | + :disabled="item.disabled" | |
35 | + :target="item.target" | |
36 | + rel="noopener" | |
37 | + :key="index" | |
38 | + > | |
39 | + <v-list-tile-action v-if="item.icon"> | |
40 | + <v-icon>{{ item.icon }}</v-icon> | |
41 | + </v-list-tile-action> | |
42 | + <v-list-tile-content> | |
43 | + <v-list-tile-title>{{ item.title }}</v-list-tile-title> | |
44 | + </v-list-tile-content> | |
45 | + </v-list-tile> | |
46 | + </v-list> | |
47 | + </v-menu> | |
48 | + </v-toolbar> | |
49 | + <v-tabs grow slider-color="black"> | |
50 | + <v-tab | |
51 | + ripple | |
52 | + @click="activeTab('existing')" | |
53 | + v-bind:class="{ active: isActive }" | |
54 | + id="tab" | |
55 | + class="subheading" | |
56 | + >Existing Parents</v-tab> | |
57 | + <v-tab | |
58 | + ripple | |
59 | + @click="activeTab('new')" | |
60 | + v-bind:class="{ active: newActive }" | |
61 | + id="tab1" | |
62 | + User | |
63 | + class="subheading" | |
64 | + >Add New Parents</v-tab> | |
65 | + | |
66 | + <!-- ****** EDITS Parents DETAILS ****** --> | |
67 | + | |
68 | + <v-tab-item> | |
69 | + <v-snackbar | |
70 | + :timeout="timeout" | |
71 | + :top="y === 'top'" | |
72 | + :right="x === 'right'" | |
73 | + :vertical="mode === 'vertical'" | |
74 | + v-model="snackbar" | |
75 | + color="success" | |
76 | + >{{ text }}</v-snackbar> | |
77 | + <v-dialog v-model="dialog" max-width="700px" scrollable> | |
78 | + <v-card flat> | |
79 | + <v-toolbar color="grey lighten-2" flat> | |
80 | + <v-spacer></v-spacer> | |
81 | + <v-toolbar-title> | |
82 | + <h3>Edit Parent Profile</h3> | |
83 | + </v-toolbar-title> | |
84 | + <v-spacer></v-spacer> | |
85 | + <v-icon @click="close">close</v-icon> | |
86 | + </v-toolbar> | |
87 | + <v-card-text style="height: 410px;"> | |
88 | + <v-form ref="form"> | |
89 | + <v-container fluid> | |
90 | + <v-layout> | |
91 | + <v-flex xs12> | |
92 | + <v-layout> | |
93 | + <v-flex xs4 class="pt-4 subheading"> | |
94 | + <label class="right">Email ID:</label> | |
95 | + </v-flex> | |
96 | + <v-flex xs8 class="ml-3"> | |
97 | + <v-text-field | |
98 | + placeholder="fill your email" | |
99 | + v-model="editedItem.email" | |
100 | + type="text" | |
101 | + name="email" | |
102 | + required | |
103 | + ></v-text-field> | |
104 | + </v-flex> | |
105 | + </v-layout> | |
106 | + </v-flex> | |
107 | + </v-layout> | |
108 | + <v-layout> | |
109 | + <v-flex xs12> | |
110 | + <v-layout> | |
111 | + <v-flex xs4 class="pt-4 subheading"> | |
112 | + <label class="right">Father Cell No:</label> | |
113 | + </v-flex> | |
114 | + <v-flex xs8 class="ml-3"> | |
115 | + <v-text-field | |
116 | + v-model="editedItem.fatherCellNo" | |
117 | + placeholder="fill your father Cell Number" | |
118 | + name="state" | |
119 | + type="number" | |
120 | + required | |
121 | + ></v-text-field> | |
122 | + </v-flex> | |
123 | + </v-layout> | |
124 | + </v-flex> | |
125 | + <v-flex xs12> | |
126 | + <v-layout> | |
127 | + <v-flex xs4 class="pt-4 subheading"> | |
128 | + <label class="right">Mother Name:</label> | |
129 | + </v-flex> | |
130 | + <v-flex xs8 class="ml-3"> | |
131 | + <v-text-field | |
132 | + v-model="editedItem.motherName" | |
133 | + placeholder="fill your Mother Name" | |
134 | + name="state" | |
135 | + type="text" | |
136 | + required | |
137 | + ></v-text-field> | |
138 | + </v-flex> | |
139 | + </v-layout> | |
140 | + </v-flex> | |
141 | + <v-flex xs12> | |
142 | + <v-layout> | |
143 | + <v-flex xs4 class="pt-4 subheading"> | |
144 | + <label class="right">Mother Cell No:</label> | |
145 | + </v-flex> | |
146 | + <v-flex xs8 class="ml-3"> | |
147 | + <v-text-field | |
148 | + v-model="editedItem.motherCellNo" | |
149 | + placeholder="fill your Mother Cell Number" | |
150 | + name="state" | |
151 | + type="number" | |
152 | + required | |
153 | + ></v-text-field> | |
154 | + </v-flex> | |
155 | + </v-layout> | |
156 | + </v-flex> | |
157 | + </v-layout> | |
158 | + <v-layout> | |
159 | + <v-flex xs12 sm12> | |
160 | + <v-card-actions> | |
161 | + <v-spacer></v-spacer> | |
162 | + <v-btn round dark @click="save">Save</v-btn> | |
163 | + <v-spacer></v-spacer> | |
164 | + </v-card-actions> | |
165 | + </v-flex> | |
166 | + </v-layout> | |
167 | + </v-container> | |
168 | + </v-form> | |
169 | + </v-card-text> | |
170 | + </v-card> | |
171 | + </v-dialog> | |
172 | + | |
173 | + <!-- ****** PROFILE VIEW Parents DEATILS ****** --> | |
174 | + | |
175 | + <v-dialog v-model="dialog1" max-width="800px" scrollable> | |
176 | + <v-card> | |
177 | + <v-toolbar color="grey lighten-2" flat> | |
178 | + <v-spacer></v-spacer> | |
179 | + <v-toolbar-title>Parent Profile</v-toolbar-title> | |
180 | + <v-spacer></v-spacer> | |
181 | + <v-icon @click="close1">close</v-icon> | |
182 | + </v-toolbar> | |
183 | + <v-card-text style="height: 300px;"> | |
184 | + <!-- <v-flex align-center justify-center layout text-xs-center class="mt-3"> | |
185 | + <v-avatar size="160px"> | |
186 | + <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> | |
187 | + <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> | |
188 | + </v-avatar> | |
189 | + </v-flex>--> | |
190 | + <v-container grid-list-md> | |
191 | + <v-layout wrap> | |
192 | + <v-flex> | |
193 | + <v-layout> | |
194 | + <v-flex xs12 sm12> | |
195 | + <v-layout> | |
196 | + <v-flex xs6> | |
197 | + <h5 class="right my-1"> | |
198 | + <b>Email:</b> | |
199 | + </h5> | |
200 | + </v-flex> | |
201 | + <v-flex xs6> | |
202 | + <h5 class="my-1 left">{{ editedItem.email }}</h5> | |
203 | + </v-flex> | |
204 | + </v-layout> | |
205 | + </v-flex> | |
206 | + </v-layout> | |
207 | + <v-layout> | |
208 | + <v-flex xs12> | |
209 | + <v-layout> | |
210 | + <v-flex xs6> | |
211 | + <b> | |
212 | + <h5 class="right my-1"> | |
213 | + <b>Fahter Name:</b> | |
214 | + </h5> | |
215 | + </b> | |
216 | + </v-flex> | |
217 | + <v-flex xs6> | |
218 | + <h5 class="my-1">{{ editedItem.fatherName }}</h5> | |
219 | + </v-flex> | |
220 | + </v-layout> | |
221 | + </v-flex> | |
222 | + </v-layout> | |
223 | + <v-layout> | |
224 | + <v-flex xs12> | |
225 | + <v-layout> | |
226 | + <v-flex xs6> | |
227 | + <b> | |
228 | + <h5 class="right my-1"> | |
229 | + <b>Mother Name:</b> | |
230 | + </h5> | |
231 | + </b> | |
232 | + </v-flex> | |
233 | + <v-flex xs6> | |
234 | + <h5 class="my-1">{{ editedItem.motherName }}</h5> | |
235 | + </v-flex> | |
236 | + </v-layout> | |
237 | + </v-flex> | |
238 | + </v-layout> | |
239 | + <v-layout> | |
240 | + <v-flex xs12> | |
241 | + <v-layout> | |
242 | + <v-flex sm6> | |
243 | + <b> | |
244 | + <h5 class="right my-1"> | |
245 | + <b>Father Cell No:</b> | |
246 | + </h5> | |
247 | + </b> | |
248 | + </v-flex> | |
249 | + <v-flex sm6> | |
250 | + <h5 class="my-1">{{ editedItem.fatherCellNo }}</h5> | |
251 | + </v-flex> | |
252 | + </v-layout> | |
253 | + </v-flex> | |
254 | + </v-layout> | |
255 | + <v-layout> | |
256 | + <v-flex xs12> | |
257 | + <v-layout> | |
258 | + <v-flex xs6> | |
259 | + <b> | |
260 | + <h5 class="right my-1"> | |
261 | + <b>Mother Cell No:</b> | |
262 | + </h5> | |
263 | + </b> | |
264 | + </v-flex> | |
265 | + <v-flex xs6> | |
266 | + <h5 class="my-1">{{ editedItem.motherCellNo }}</h5> | |
267 | + </v-flex> | |
268 | + </v-layout> | |
269 | + </v-flex> | |
270 | + </v-layout> | |
271 | + </v-flex> | |
272 | + </v-layout> | |
273 | + </v-container> | |
274 | + </v-card-text> | |
275 | + </v-card> | |
276 | + </v-dialog> | |
277 | + | |
278 | + <v-snackbar | |
279 | + :timeout="timeout" | |
280 | + :top="y === 'top'" | |
281 | + :right="x === 'right'" | |
282 | + :vertical="mode === 'vertical'" | |
283 | + v-model="snackbar" | |
284 | + color="success" | |
285 | + >{{ text }}</v-snackbar> | |
286 | + | |
287 | + <!-- ****** EXISTING-USERS Parents TABLE ****** --> | |
288 | + <v-data-table | |
289 | + :headers="headers" | |
290 | + :items="parentsList" | |
291 | + :pagination.sync="pagination" | |
292 | + :search="search" | |
293 | + > | |
294 | + <template slot="items" slot-scope="props"> | |
295 | + <td id="td" class="text-xs-center">{{ props.index}}</td> | |
296 | + <td id="td" class="text-xs-center">{{ props.item.email }}</td> | |
297 | + <td id="td" class="text-xs-center">{{ props.item.fatherName }}</td> | |
298 | + <td id="td" class="text-xs-center">{{ props.item.fatherCellNo }}</td> | |
299 | + <td id="td" class="text-xs-center">{{ props.item.motherName }}</td> | |
300 | + <td id="td" class="text-xs-center">{{ props.item.motherCellNo }}</td> | |
301 | + <td class="text-xs-center"> | |
302 | + <span> | |
303 | + <img | |
304 | + style="cursor:pointer; width:25px; height:18px; " | |
305 | + class="mr-5" | |
306 | + @click="profile(props.item)" | |
307 | + src="/static/icon/eye1.png" | |
308 | + /> | |
309 | + <img | |
310 | + style="cursor:pointer; width:20px; height:18px; " | |
311 | + class="mr-5" | |
312 | + @click="editItem(props.item)" | |
313 | + src="/static/icon/edit1.png" | |
314 | + /> | |
315 | + </span> | |
316 | + </td> | |
317 | + </template> | |
318 | + <v-alert | |
319 | + slot="no-results" | |
320 | + :value="true" | |
321 | + color="error" | |
322 | + icon="warning" | |
323 | + >Your search for "{{ search }}" found no results.</v-alert> | |
324 | + </v-data-table> | |
325 | + </v-tab-item> | |
326 | + | |
327 | + <!-- ****** ADD PARENTS DETAILS****** --> | |
328 | + <v-tab-item> | |
329 | + <v-container fluid class="mt-5"> | |
330 | + <v-layout align-center justify-center fill-height> | |
331 | + <v-flex xs12 sm8 md7 lg8> | |
332 | + <v-card> | |
333 | + <v-container fluid class> | |
334 | + <v-layout> | |
335 | + <v-flex xs12> | |
336 | + <v-snackbar | |
337 | + :timeout="timeout" | |
338 | + :top="y === 'top'" | |
339 | + :right="x === 'right'" | |
340 | + :vertical="mode === 'vertical'" | |
341 | + v-model="snackbar" | |
342 | + color="success" | |
343 | + >{{ text }}</v-snackbar> | |
344 | + <v-flex xs12 sm12> | |
345 | + <v-form ref="parentForm" v-model="valid" lazy-validation> | |
346 | + <v-container fluid> | |
347 | + <v-layout> | |
348 | + <v-flex xs12 sm6> | |
349 | + <v-layout> | |
350 | + <v-flex xs4 class="pt-4 subheading"> | |
351 | + <label class="right">Parent Email Id:</label> | |
352 | + </v-flex> | |
353 | + <v-flex xs8 class="ml-3"> | |
354 | + <v-text-field | |
355 | + placeholder="fill Parent email" | |
356 | + :rules="emailRules" | |
357 | + v-model="parentData.email" | |
358 | + type="text" | |
359 | + v-on:keyup="getParentDetails" | |
360 | + name="email" | |
361 | + required | |
362 | + ></v-text-field> | |
363 | + </v-flex> | |
364 | + </v-layout> | |
365 | + </v-flex> | |
366 | + <v-flex xs12 sm6> | |
367 | + <v-layout> | |
368 | + <v-flex xs4 class="pt-4 subheading"> | |
369 | + <label class="right">Father Name:</label> | |
370 | + </v-flex> | |
371 | + <v-flex xs8 class="ml-3"> | |
372 | + <v-text-field | |
373 | + v-model="parentData.fatherName" | |
374 | + :rules="fatherNameRules" | |
375 | + placeholder="Fill your father Name" | |
376 | + required | |
377 | + ></v-text-field> | |
378 | + </v-flex> | |
379 | + </v-layout> | |
380 | + </v-flex> | |
381 | + </v-layout> | |
382 | + <v-layout> | |
383 | + <v-flex xs12 sm6> | |
384 | + <v-layout> | |
385 | + <v-flex xs4 class="pt-4 subheading"> | |
386 | + <label class="right">Father Cell No:</label> | |
387 | + </v-flex> | |
388 | + <v-flex xs8 class="ml-3"> | |
389 | + <v-text-field | |
390 | + v-model="parentData.fatherCellNo" | |
391 | + placeholder="fill your father Cell Number" | |
392 | + name="state" | |
393 | + type="number" | |
394 | + :rules="fatheCellNoRules" | |
395 | + required | |
396 | + ></v-text-field> | |
397 | + </v-flex> | |
398 | + </v-layout> | |
399 | + </v-flex> | |
400 | + <v-flex xs12 sm6> | |
401 | + <v-layout> | |
402 | + <v-flex xs4 class="pt-4 subheading"> | |
403 | + <label class="right">Mother Name:</label> | |
404 | + </v-flex> | |
405 | + <v-flex xs8 class="ml-3"> | |
406 | + <v-text-field | |
407 | + v-model="parentData.motherName" | |
408 | + placeholder="fill your Mother Name" | |
409 | + name="state" | |
410 | + type="text" | |
411 | + :rules="motherNameRules" | |
412 | + required | |
413 | + ></v-text-field> | |
414 | + </v-flex> | |
415 | + </v-layout> | |
416 | + </v-flex> | |
417 | + </v-layout> | |
418 | + <v-layout> | |
419 | + <v-flex xs12 sm6> | |
420 | + <v-layout> | |
421 | + <v-flex xs4 class="pt-4 subheading"> | |
422 | + <label class="right">Mother Cell No:</label> | |
423 | + </v-flex> | |
424 | + <v-flex xs8 class="ml-3"> | |
425 | + <v-text-field | |
426 | + v-model="parentData.motherCellNo" | |
427 | + placeholder="fill your Mother Cell Number" | |
428 | + name="state" | |
429 | + type="number" | |
430 | + :rules="motherCellNoRules" | |
431 | + required | |
432 | + ></v-text-field> | |
433 | + </v-flex> | |
434 | + </v-layout> | |
435 | + </v-flex> | |
436 | + </v-layout> | |
437 | + <v-flex xs12 sm12> | |
438 | + <v-card-actions> | |
439 | + <v-btn @click="clear" round dark class="ml-4">clear</v-btn> | |
440 | + <v-spacer></v-spacer> | |
441 | + <v-btn | |
442 | + @click="submitParentDetails" | |
443 | + round | |
444 | + dark | |
445 | + :loading="loading" | |
446 | + v-show="showParent" | |
447 | + >Add</v-btn> | |
448 | + </v-card-actions> | |
449 | + </v-flex> | |
450 | + </v-container> | |
451 | + </v-form> | |
452 | + </v-flex> | |
453 | + </v-flex> | |
454 | + </v-layout> | |
455 | + </v-container> | |
456 | + </v-card> | |
457 | + </v-flex> | |
458 | + </v-layout> | |
459 | + </v-container> | |
460 | + </v-tab-item> | |
461 | + </v-tabs> | |
462 | + <div class="loader" v-if="showLoader"> | |
463 | + <v-progress-circular indeterminate color="white"></v-progress-circular> | |
464 | + </div> | |
465 | + </v-app> | |
466 | +</template> | |
467 | + | |
468 | +<script> | |
469 | +import http from "@/Services/http.js"; | |
470 | +import Util from "@/util"; | |
471 | +import moment from "moment"; | |
472 | + | |
473 | +export default { | |
474 | + data: () => ({ | |
475 | + showParent: true, | |
476 | + snackbar: false, | |
477 | + y: "top", | |
478 | + x: "right", | |
479 | + mode: "", | |
480 | + timeout: 3000, | |
481 | + text: "", | |
482 | + showLoader: false, | |
483 | + loading: false, | |
484 | + date: null, | |
485 | + search: "", | |
486 | + menu: false, | |
487 | + menu1: false, | |
488 | + dialog: false, | |
489 | + dialog1: false, | |
490 | + valid: true, | |
491 | + isActive: true, | |
492 | + newActive: false, | |
493 | + AddUsercredentials: {}, | |
494 | + pagination: { | |
495 | + rowsPerPage: 15 | |
496 | + }, | |
497 | + fatherNameRules: [v => !!v || " Father Name is required"], | |
498 | + fatheCellNoRules: [v => !!v || " father Cell Number is required"], | |
499 | + motherNameRules: [v => !!v || " Mother Name is required"], | |
500 | + motherCellNoRules: [v => !!v || " Mother Cell Number is required"], | |
501 | + errorMessages: "", | |
502 | + emailRules: [ | |
503 | + v => !!v || "E-mail is required", | |
504 | + v => | |
505 | + /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || | |
506 | + "E-mail must be valid" | |
507 | + ], | |
508 | + headers: [ | |
509 | + { | |
510 | + text: "No", | |
511 | + align: "center", | |
512 | + sortable: false, | |
513 | + value: "No" | |
514 | + }, | |
515 | + { text: "Email", value: "email", sortable: false, align: "center" }, | |
516 | + { | |
517 | + text: "Father Name", | |
518 | + value: "fatherName", | |
519 | + sortable: false, | |
520 | + align: "center" | |
521 | + }, | |
522 | + { | |
523 | + text: "Father Cell No", | |
524 | + value: "fatherName", | |
525 | + sortable: false, | |
526 | + align: "center" | |
527 | + }, | |
528 | + { | |
529 | + text: "Mother Name", | |
530 | + value: "motherName", | |
531 | + sortable: false, | |
532 | + align: "center" | |
533 | + }, | |
534 | + { | |
535 | + text: "Mother Cell No", | |
536 | + value: "motherCellNo", | |
537 | + sortable: false, | |
538 | + align: "center" | |
539 | + }, | |
540 | + { text: "Action", value: "", sortable: false, align: "center" } | |
541 | + ], | |
542 | + parentsList: [], | |
543 | + editedIndex: -1, | |
544 | + parentData: {}, | |
545 | + editedItem: { | |
546 | + fatherName: "", | |
547 | + fatherCellNo: "", | |
548 | + motherName: "", | |
549 | + motherCellNo: "", | |
550 | + email: "" | |
551 | + }, | |
552 | + items: [ | |
553 | + { | |
554 | + href: "/changepassword", | |
555 | + title: "Change Password", | |
556 | + click: e => { | |
557 | + console.log(e); | |
558 | + } | |
559 | + }, | |
560 | + { | |
561 | + href: "#", | |
562 | + title: "Logout", | |
563 | + click: e => { | |
564 | + window.getApp.$emit("APP_LOGOUT"); | |
565 | + } | |
566 | + } | |
567 | + ] | |
568 | + }), | |
569 | + watch: { | |
570 | + menu(val) { | |
571 | + val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); | |
572 | + }, | |
573 | + menu1(val) { | |
574 | + val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); | |
575 | + } | |
576 | + }, | |
577 | + methods: { | |
578 | + editItem(item) { | |
579 | + this.editedIndex = this.parentsList.indexOf(item); | |
580 | + this.editedItem = Object.assign({}, item); | |
581 | + this.dialog = true; | |
582 | + }, | |
583 | + profile(item) { | |
584 | + console.log("item", item); | |
585 | + this.editedIndex = this.parentsList.indexOf(item); | |
586 | + this.editedItem = Object.assign({}, item); | |
587 | + this.dialog1 = true; | |
588 | + }, | |
589 | + activeTab(type) { | |
590 | + switch (type) { | |
591 | + case "existing": | |
592 | + this.newActive = false; | |
593 | + this.isActive = true; | |
594 | + break; | |
595 | + | |
596 | + default: | |
597 | + this.newActive = true; | |
598 | + this.isActive = false; | |
599 | + break; | |
600 | + } | |
601 | + }, | |
602 | + close() { | |
603 | + this.dialog = false; | |
604 | + setTimeout(() => { | |
605 | + this.editedItem = Object.assign({}, this.defaultItem); | |
606 | + this.editedIndex = -1; | |
607 | + }, 300); | |
608 | + }, | |
609 | + close1() { | |
610 | + this.dialog1 = false; | |
611 | + }, | |
612 | + clear() { | |
613 | + this.$refs.parentForm.reset(); | |
614 | + }, | |
615 | + save() { | |
616 | + this.editedItem.parentId = this.editedItem._id; | |
617 | + http() | |
618 | + .put("/updateParent", this.editedItem) | |
619 | + .then(response => { | |
620 | + if ((this.snackbar = true)) { | |
621 | + this.text = "Successfully Student Existing User"; | |
622 | + } | |
623 | + this.getParentDetails(); | |
624 | + this.close(); | |
625 | + }) | |
626 | + .catch(error => { | |
627 | + if ((this.snackbar = true)) { | |
628 | + this.text = error.response.data.statusText; | |
629 | + } | |
630 | + }); | |
631 | + }, | |
632 | + submitParentDetails() { | |
633 | + if (this.$refs.parentForm.validate()) { | |
634 | + let addparentDetails = { | |
635 | + email: this.parentData.email, | |
636 | + fatherName: this.parentData.fatherName, | |
637 | + fatherCellNo: this.parentData.fatherCellNo, | |
638 | + motherName: this.parentData.motherName, | |
639 | + motherCellNo: this.parentData.motherCellNo, | |
640 | + role: "PARENT" | |
641 | + }; | |
642 | + this.loading = true; | |
643 | + http() | |
644 | + .post("/createParent", addparentDetails) | |
645 | + .then(response => { | |
646 | + this.parentId = response.data.data.id; | |
647 | + if ((this.snackbar = true)) { | |
648 | + this.text = "successfully"; | |
649 | + } | |
650 | + this.getParentDetails(); | |
651 | + this.clear(); | |
652 | + this.loading = false; | |
653 | + }) | |
654 | + .catch(error => { | |
655 | + console.log(error.response.data); | |
656 | + if ((this.snackbar = true)) { | |
657 | + this.text = error.response.data.message; | |
658 | + this.text = error.response.data.statusText; | |
659 | + } | |
660 | + this.loading = false; | |
661 | + }); | |
662 | + } | |
663 | + }, | |
664 | + getParentDetails() { | |
665 | + http() | |
666 | + .get("getParentsList", { | |
667 | + headers: { | |
668 | + Authorization: "Bearer " + this.$store.state.token | |
669 | + } | |
670 | + }) | |
671 | + .then(response => { | |
672 | + this.parentsList = response.data.data; | |
673 | + }) | |
674 | + .catch(error => { | |
675 | + console.log("err====>", error.response.data.message); | |
676 | + }); | |
677 | + }, | |
678 | + handleDrawerToggle() { | |
679 | + window.getApp.$emit("APP_DRAWER_TOGGLED"); | |
680 | + }, | |
681 | + handleFullScreen() { | |
682 | + Util.toggleFullScreen(); | |
683 | + } | |
684 | + }, | |
685 | + mounted() { | |
686 | + this.getParentDetails(); | |
687 | + }, | |
688 | + computed: { | |
689 | + toolbarColor() { | |
690 | + return this.$vuetify.options.extra.mainNav; | |
691 | + } | |
692 | + } | |
693 | +}; | |
694 | +</script> | |
695 | +<style scoped> | |
696 | +.v-tabs__div { | |
697 | + text-transform: none; | |
698 | +} | |
699 | +.v-input__prepend-outer { | |
700 | + margin-right: 0px !important; | |
701 | +} | |
702 | +.v-card__actions .v-btn { | |
703 | + margin: 0 15px; | |
704 | + min-width: 120px; | |
705 | +} | |
706 | +.primary { | |
707 | + background-color: #aaa !important; | |
708 | + border-color: #aaa !important; | |
709 | +} | |
710 | +h4 { | |
711 | + background-repeat: no-repeat; | |
712 | + padding: 8px; | |
713 | + margin: auto; | |
714 | + font-size: 25px; | |
715 | +} | |
716 | +#name { | |
717 | + position: absolute; | |
718 | + left: 100px; | |
719 | + top: 17px; | |
720 | +} | |
721 | +#icon { | |
722 | + position: absolute; | |
723 | + right: 8px; | |
724 | + top: 8px; | |
725 | +} | |
726 | +#m { | |
727 | + position: relative; | |
728 | + left: 135px; | |
729 | + top: -15px; | |
730 | +} | |
731 | +#G { | |
732 | + position: absolute; | |
733 | + top: 38px; | |
734 | + color: white; | |
735 | +} | |
736 | +#bt { | |
737 | + position: relative; | |
738 | + top: -20px; | |
739 | + left: 115px; | |
740 | +} | |
741 | +#e { | |
742 | + position: relative; | |
743 | + top: 5px; | |
744 | + right: -30px; | |
745 | + height: 17px; | |
746 | + cursor: pointer; | |
747 | +} | |
748 | +#d { | |
749 | + position: relative; | |
750 | + top: 5px; | |
751 | + right: -70px; | |
752 | + height: 17px; | |
753 | + cursor: pointer; | |
754 | +} | |
755 | +#td { | |
756 | + border: 1px solid #dddddd; | |
757 | + text-align: left; | |
758 | + padding: 8px; | |
759 | +} | |
760 | +#dialog { | |
761 | + height: 550px; | |
762 | +} | |
763 | +.active { | |
764 | + background-color: black; | |
765 | + color: white !important; | |
766 | +} | |
767 | +.activebtn { | |
768 | + color: black !important; | |
769 | +} | |
770 | +#flex { | |
771 | + height: 300px; | |
772 | +} | |
773 | +.top { | |
774 | + margin-top: 100px; | |
775 | +} | |
776 | +.v-tabs__item a { | |
777 | + font-size: 16px !important; | |
778 | +} | |
779 | +@media screen and (max-width: 769px) { | |
780 | + .top { | |
781 | + margin-top: 0 !important; | |
782 | + } | |
783 | + .userSearch .v-icon { | |
784 | + font-size: 20px !important; | |
785 | + margin-left: 20px; | |
786 | + } | |
787 | +} | |
788 | +@media screen and (max-width: 380px) { | |
789 | + .pl-3 { | |
790 | + padding-left: 0px !important; | |
791 | + } | |
792 | + .right { | |
793 | + float: none !important; | |
794 | + } | |
795 | + .subheading { | |
796 | + font-size: 14px !important; | |
797 | + } | |
798 | + .v-card__actions .v-btn { | |
799 | + margin: 0 0px; | |
800 | + min-width: 100px; | |
801 | + } | |
802 | + /* .searchIcon .v-icon { | |
803 | + font-size: 20px; | |
804 | + margin-left: 20px; | |
805 | +} */ | |
806 | + .subheading { | |
807 | + font-size: 12px !important; | |
808 | + } | |
809 | + h5 { | |
810 | + font-size: 13px; | |
811 | + } | |
812 | +} | |
813 | +.v-icon { | |
814 | + font-size: 30px; | |
815 | +} | |
816 | +@media screen and (min-width: 1270px) { | |
817 | + .hide { | |
818 | + display: none; | |
819 | + } | |
820 | + /* } | |
821 | +@media screen and (max-width: 962px) { | |
822 | +.imglogo{ | |
823 | + position: absolute; | |
824 | + top: 13px; | |
825 | + left: 13px !important; | |
826 | + width: 70px; | |
827 | + height: 24px; | |
828 | +} */ | |
829 | +} | |
830 | +@media screen and (max-width: 420px) { | |
831 | + .userSearch .v-text-field .v-label { | |
832 | + line-height: 24px !important; | |
833 | + } | |
834 | + .userSearch .v-label { | |
835 | + font-size: 13px !important; | |
836 | + } | |
837 | + .v-list__tile { | |
838 | + font-size: 14px; | |
839 | + padding: 0 10px; | |
840 | + } | |
841 | + .name { | |
842 | + font-size: 15px; | |
843 | + } | |
844 | +} | |
845 | +</style> | |
0 | 846 | \ No newline at end of file | ... | ... |
src/pages/Students/students.vue
... | ... | @@ -2036,8 +2036,6 @@ export default { |
2036 | 2036 | this.imageUrl = fr.result; |
2037 | 2037 | this.imageFile = files[0]; // this is an image file that can be sent to server... |
2038 | 2038 | this.imageData.imageUrl = URL.createObjectURL(this.imageFile); |
2039 | - console.log("upload=======>", this.imageData.imageUrl); | |
2040 | - console.log("imageFile", this.imageFile); | |
2041 | 2039 | }); |
2042 | 2040 | } else { |
2043 | 2041 | this.imageName = ""; |
... | ... | @@ -2224,11 +2222,9 @@ export default { |
2224 | 2222 | if (this.imageUrl) { |
2225 | 2223 | editStudent.upload = this.imageUrl; |
2226 | 2224 | } |
2227 | - console.log("editStudent", editStudent); | |
2228 | 2225 | http() |
2229 | 2226 | .put("/updateStudent", editStudent) |
2230 | 2227 | .then(response => { |
2231 | - console.log("editStudent", editStudent); | |
2232 | 2228 | if ((this.snackbar = true)) { |
2233 | 2229 | this.text = "Successfully Student Existing User"; |
2234 | 2230 | } |
... | ... | @@ -2311,7 +2307,6 @@ export default { |
2311 | 2307 | }) |
2312 | 2308 | .then(response => { |
2313 | 2309 | this.addclass = response.data.data; |
2314 | - // console.log("getClassesList=====>",this.addclass) | |
2315 | 2310 | }) |
2316 | 2311 | .catch(err => { |
2317 | 2312 | // console.log("err====>", err); | ... | ... |
src/pages/Teachers/teachers.vue
1 | 1 | <template> |
2 | 2 | <v-app id="pages-dasboard"> |
3 | - <v-toolbar class="fixcolors" fixed app> | |
3 | + <v-toolbar class="fixcolors" fixed app> | |
4 | 4 | <v-toolbar-title class="ml-0 pl-3"> |
5 | 5 | <v-toolbar-side-icon @click.stop="handleDrawerToggle" class="hide"></v-toolbar-side-icon> |
6 | 6 | </v-toolbar-title> |
... | ... | @@ -19,7 +19,7 @@ |
19 | 19 | <v-menu offset-y origin="center center" :nudge-bottom="10" transition="scale-transition"> |
20 | 20 | <v-btn icon large flat slot="activator"> |
21 | 21 | <v-avatar size="40px"> |
22 | - <img src="/static/icon/user.png"> | |
22 | + <img src="/static/icon/user.png" /> | |
23 | 23 | </v-avatar> |
24 | 24 | </v-btn> |
25 | 25 | <v-list class="pa-0"> |
... | ... | @@ -71,13 +71,13 @@ |
71 | 71 | color="success" |
72 | 72 | >{{ text }}</v-snackbar> |
73 | 73 | <v-dialog v-model="dialog" max-width="1100px" scrollable> |
74 | - <v-card flat> | |
75 | - <v-toolbar color="grey lighten-2" flat> | |
74 | + <v-card flat> | |
75 | + <v-toolbar color="grey lighten-2" flat> | |
76 | 76 | <v-spacer></v-spacer> |
77 | 77 | <v-toolbar-title>Edit Teacher Profile</v-toolbar-title> |
78 | 78 | <v-spacer></v-spacer> |
79 | - </v-toolbar> | |
80 | - <v-card-text style="height: 800px;"> | |
79 | + </v-toolbar> | |
80 | + <v-card-text style="height: 800px;"> | |
81 | 81 | <v-form ref="form"> |
82 | 82 | <v-container fluid> |
83 | 83 | <v-layout> |
... | ... | @@ -86,14 +86,20 @@ |
86 | 86 | class="text-xs-center text-sm-center text-md-center text-lg-center my-4 mr-4" |
87 | 87 | > |
88 | 88 | <v-avatar size="160px"> |
89 | - <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl && !imageUrl"> | |
90 | - <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl && !imageUrl"> | |
91 | 89 | <img |
92 | - v-if="imageUrl" | |
93 | - :src="imageUrl" | |
94 | - height="150" | |
95 | - style="border-radius:50%; width:200px" | |
96 | - > | |
90 | + src="/static/icon/user.png" | |
91 | + v-if="!editedItem.profilePicUrl && !imageUrl" | |
92 | + /> | |
93 | + <img | |
94 | + :src="editedItem.profilePicUrl" | |
95 | + v-else-if="editedItem.profilePicUrl && !imageUrl" | |
96 | + /> | |
97 | + <img | |
98 | + v-if="imageUrl" | |
99 | + :src="imageUrl" | |
100 | + height="150" | |
101 | + style="border-radius:50%; width:200px" | |
102 | + /> | |
97 | 103 | </v-avatar> |
98 | 104 | <input |
99 | 105 | type="file" |
... | ... | @@ -101,7 +107,7 @@ |
101 | 107 | ref="image" |
102 | 108 | accept="image/*" |
103 | 109 | @change="onFilePicked" |
104 | - > | |
110 | + /> | |
105 | 111 | </v-flex> |
106 | 112 | </v-layout> |
107 | 113 | <v-layout> |
... | ... | @@ -349,29 +355,31 @@ |
349 | 355 | </v-layout> |
350 | 356 | </v-container> |
351 | 357 | </v-form> |
352 | - </v-card-text> | |
353 | - </v-card> | |
358 | + </v-card-text> | |
359 | + </v-card> | |
354 | 360 | </v-dialog> |
355 | 361 | |
356 | -<!-- ****** PROFILE VIEW TEACHERS DETAILS ****** --> | |
362 | + <!-- ****** PROFILE VIEW TEACHERS DETAILS ****** --> | |
357 | 363 | |
358 | 364 | <v-dialog v-model="dialog1" max-width="600px" scrollable> |
359 | 365 | <v-card> |
360 | 366 | <v-toolbar color="grey lighten-2" flat> |
361 | - <v-spacer></v-spacer> | |
362 | - <v-toolbar-title><h3>Teacher Profile</h3></v-toolbar-title> | |
363 | - <v-spacer></v-spacer> | |
364 | - <v-icon @click="close1">close</v-icon> | |
365 | - </v-toolbar> | |
367 | + <v-spacer></v-spacer> | |
368 | + <v-toolbar-title> | |
369 | + <h3>Teacher Profile</h3> | |
370 | + </v-toolbar-title> | |
371 | + <v-spacer></v-spacer> | |
372 | + <v-icon @click="close1">close</v-icon> | |
373 | + </v-toolbar> | |
366 | 374 | <v-card-text style="height: 700px;"> |
367 | 375 | <v-container grid-list-md> |
368 | 376 | <v-layout wrap> |
369 | 377 | <v-flex> |
370 | - <v-flex align-center justify-center layout text-xs-center> | |
371 | - <v-avatar size="160px"> | |
372 | - <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl"> | |
373 | - <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl"> | |
374 | - </v-avatar> | |
378 | + <v-flex align-center justify-center layout text-xs-center> | |
379 | + <v-avatar size="160px"> | |
380 | + <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> | |
381 | + <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> | |
382 | + </v-avatar> | |
375 | 383 | </v-flex> |
376 | 384 | <v-layout> |
377 | 385 | <v-flex xs5 sm6> |
... | ... | @@ -421,7 +429,7 @@ |
421 | 429 | <h5 class="my-1">{{ editedItem.pincode }}</h5> |
422 | 430 | </v-flex> |
423 | 431 | </v-layout> |
424 | - <v-layout> | |
432 | + <v-layout> | |
425 | 433 | <v-flex xs5 sm6> |
426 | 434 | <h5 class="right my-1">Mobile No:</h5> |
427 | 435 | </v-flex> |
... | ... | @@ -446,20 +454,20 @@ |
446 | 454 | </v-flex> |
447 | 455 | </v-layout> |
448 | 456 | <v-layout> |
449 | - <v-flex xs6 sm6 > | |
450 | - <h5 class="right my-1">Permanent Address:</h5> | |
451 | - </v-flex> | |
452 | - <v-flex sm6 xs8> | |
453 | - <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> | |
454 | - </v-flex> | |
457 | + <v-flex xs6 sm6> | |
458 | + <h5 class="right my-1">Permanent Address:</h5> | |
459 | + </v-flex> | |
460 | + <v-flex sm6 xs8> | |
461 | + <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> | |
462 | + </v-flex> | |
455 | 463 | </v-layout> |
456 | 464 | <v-layout> |
457 | - <v-flex xs6 sm6 > | |
458 | - <h5 class="right my-1">present Address:</h5> | |
459 | - </v-flex> | |
460 | - <v-flex sm6 xs8> | |
461 | - <h5 class="my-1">{{ editedItem.presentAddress }}</h5> | |
462 | - </v-flex> | |
465 | + <v-flex xs6 sm6> | |
466 | + <h5 class="right my-1">present Address:</h5> | |
467 | + </v-flex> | |
468 | + <v-flex sm6 xs8> | |
469 | + <h5 class="my-1">{{ editedItem.presentAddress }}</h5> | |
470 | + </v-flex> | |
463 | 471 | </v-layout> |
464 | 472 | </v-flex> |
465 | 473 | </v-layout> |
... | ... | @@ -487,9 +495,11 @@ |
487 | 495 | <template slot="items" slot-scope="props"> |
488 | 496 | <td id="td" class="text-xs-center">{{ props.index}}</td> |
489 | 497 | <td id="td" class="text-xs-center"> |
490 | - <v-avatar><img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl"> | |
491 | - <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl"> | |
492 | - </v-avatar></td> | |
498 | + <v-avatar> | |
499 | + <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | |
500 | + <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | |
501 | + </v-avatar> | |
502 | + </td> | |
493 | 503 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> |
494 | 504 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> |
495 | 505 | <td id="td" class="text-xs-center">{{ dates(props.item.dob) }}</td> |
... | ... | @@ -502,19 +512,19 @@ |
502 | 512 | class="mr-5" |
503 | 513 | @click="profile(props.item)" |
504 | 514 | src="/static/icon/eye1.png" |
505 | - > | |
515 | + /> | |
506 | 516 | <img |
507 | 517 | style="cursor:pointer; width:20px; height:18px; " |
508 | 518 | class="mr-5" |
509 | 519 | @click="editItem(props.item)" |
510 | 520 | src="/static/icon/edit1.png" |
511 | - > | |
521 | + /> | |
512 | 522 | <img |
513 | 523 | style="cursor:pointer; height:20px; " |
514 | 524 | class="mr-5" |
515 | 525 | @click="deleteItem(props.item)" |
516 | 526 | src="/static/icon/delete1.png" |
517 | - > | |
527 | + /> | |
518 | 528 | </span> |
519 | 529 | </td> |
520 | 530 | </template> |
... | ... | @@ -548,14 +558,14 @@ |
548 | 558 | class="text-xs-center text-sm-center text-md-center text-lg-center my-4 mr-4" |
549 | 559 | > |
550 | 560 | <v-avatar size="100px"> |
551 | - <img src="/static/icon/user.png" v-if="!imageUrl"> | |
561 | + <img src="/static/icon/user.png" v-if="!imageUrl" /> | |
552 | 562 | </v-avatar> |
553 | 563 | <img |
554 | 564 | :src="imageUrl" |
555 | 565 | height="150" |
556 | 566 | v-if="imageUrl" |
557 | 567 | style="border-radius:50%; width:200px" |
558 | - > | |
568 | + /> | |
559 | 569 | </v-flex> |
560 | 570 | </v-layout> |
561 | 571 | <v-layout> |
... | ... | @@ -724,33 +734,33 @@ |
724 | 734 | <v-flex xs4 class="pt-4 subheading"> |
725 | 735 | <label class="right">Join Date</label> |
726 | 736 | </v-flex> |
727 | - <v-flex xs8 class="ml-3"> | |
728 | - <v-menu | |
729 | - ref="menu1" | |
730 | - :close-on-content-click="false" | |
731 | - v-model="menu1" | |
732 | - :nudge-right="40" | |
733 | - lazy | |
734 | - transition="scale-transition" | |
735 | - offset-y | |
736 | - full-width | |
737 | - min-width="290px" | |
738 | - > | |
739 | - <v-text-field | |
740 | - slot="activator" | |
741 | - :rules="joinDateRules" | |
742 | - v-model="addTeachers.joinDate" | |
743 | - placeholder="Select date" | |
744 | - ></v-text-field> | |
745 | - <v-date-picker | |
746 | - ref="picker" | |
747 | - v-model="addTeachers.joinDate" | |
748 | - :max="new Date().toISOString().substr(0, 10)" | |
749 | - min="1950-01-01" | |
750 | - @input="menu1 = false" | |
751 | - ></v-date-picker> | |
752 | - </v-menu> | |
753 | - </v-flex> | |
737 | + <v-flex xs8 class="ml-3"> | |
738 | + <v-menu | |
739 | + ref="menu1" | |
740 | + :close-on-content-click="false" | |
741 | + v-model="menu1" | |
742 | + :nudge-right="40" | |
743 | + lazy | |
744 | + transition="scale-transition" | |
745 | + offset-y | |
746 | + full-width | |
747 | + min-width="290px" | |
748 | + > | |
749 | + <v-text-field | |
750 | + slot="activator" | |
751 | + :rules="joinDateRules" | |
752 | + v-model="addTeachers.joinDate" | |
753 | + placeholder="Select date" | |
754 | + ></v-text-field> | |
755 | + <v-date-picker | |
756 | + ref="picker" | |
757 | + v-model="addTeachers.joinDate" | |
758 | + :max="new Date().toISOString().substr(0, 10)" | |
759 | + min="1950-01-01" | |
760 | + @input="menu1 = false" | |
761 | + ></v-date-picker> | |
762 | + </v-menu> | |
763 | + </v-flex> | |
754 | 764 | </v-layout> |
755 | 765 | </v-flex> |
756 | 766 | <v-flex xs12 sm6> |
... | ... | @@ -765,13 +775,13 @@ |
765 | 775 | v-model="imageName" |
766 | 776 | append-icon="attach_file" |
767 | 777 | ></v-text-field> |
768 | - <input | |
769 | - type="file" | |
770 | - style="display:none" | |
771 | - ref="image" | |
772 | - accept="image/*" | |
773 | - @change="onFilePicked" | |
774 | - > | |
778 | + <input | |
779 | + type="file" | |
780 | + style="display:none" | |
781 | + ref="image" | |
782 | + accept="image/*" | |
783 | + @change="onFilePicked" | |
784 | + /> | |
775 | 785 | </v-flex> |
776 | 786 | </v-layout> |
777 | 787 | </v-flex> |
... | ... | @@ -850,13 +860,13 @@ export default { |
850 | 860 | mode: "", |
851 | 861 | timeout: 3000, |
852 | 862 | text: "", |
853 | - showLoader:false, | |
863 | + showLoader: false, | |
854 | 864 | loading: false, |
855 | 865 | date: null, |
856 | 866 | search: "", |
857 | 867 | menu: false, |
858 | 868 | menu1: false, |
859 | - menu2: false, | |
869 | + menu2: false, | |
860 | 870 | menu3: false, |
861 | 871 | dialog: false, |
862 | 872 | dialog1: false, |
... | ... | @@ -1102,17 +1112,32 @@ export default { |
1102 | 1112 | sortable: false, |
1103 | 1113 | value: "No" |
1104 | 1114 | }, |
1105 | - { text: "Profile Pic", value: "profilePicUrl", sortable: false, align: "center" }, | |
1115 | + { | |
1116 | + text: "Profile Pic", | |
1117 | + value: "profilePicUrl", | |
1118 | + sortable: false, | |
1119 | + align: "center" | |
1120 | + }, | |
1106 | 1121 | { text: "Name", value: "name", sortable: false, align: "center" }, |
1107 | 1122 | { text: "Email", value: "email", sortable: false, align: "center" }, |
1108 | 1123 | { text: "DOB", value: "dob", sortable: false, align: "center" }, |
1109 | - { text: "Join Date", value: "joinDate", sortable: false, align: "center" }, | |
1110 | - { text: "Mobile No", value: "mobileNo", sortable: false, align: "center" }, | |
1124 | + { | |
1125 | + text: "Join Date", | |
1126 | + value: "joinDate", | |
1127 | + sortable: false, | |
1128 | + align: "center" | |
1129 | + }, | |
1130 | + { | |
1131 | + text: "Mobile No", | |
1132 | + value: "mobileNo", | |
1133 | + sortable: false, | |
1134 | + align: "center" | |
1135 | + }, | |
1111 | 1136 | { text: "Action", value: "", sortable: false, align: "center" } |
1112 | 1137 | ], |
1113 | 1138 | desserts: [], |
1114 | 1139 | editedIndex: -1, |
1115 | - upload:'', | |
1140 | + upload: "", | |
1116 | 1141 | editedItem: { |
1117 | 1142 | role: "TEACHER", |
1118 | 1143 | name: "", |
... | ... | @@ -1173,20 +1198,20 @@ export default { |
1173 | 1198 | } |
1174 | 1199 | }, |
1175 | 1200 | methods: { |
1176 | - save (date) { | |
1177 | - this.$refs.menu.save(date) | |
1201 | + save(date) { | |
1202 | + this.$refs.menu.save(date); | |
1178 | 1203 | }, |
1179 | - save (date) { | |
1180 | - this.$refs.menu1.save(date) | |
1204 | + save(date) { | |
1205 | + this.$refs.menu1.save(date); | |
1181 | 1206 | }, |
1182 | 1207 | pickFile() { |
1183 | - this.$refs.image.click (); | |
1208 | + this.$refs.image.click(); | |
1184 | 1209 | }, |
1185 | 1210 | onFilePicked(e) { |
1186 | 1211 | // console.log(e) |
1187 | 1212 | const files = e.target.files; |
1188 | 1213 | this.upload = e.target.files[0]; |
1189 | - console.log("imageData-upload========>",this.upload) | |
1214 | + console.log("imageData-upload========>", this.upload); | |
1190 | 1215 | if (files[0] !== undefined) { |
1191 | 1216 | this.imageName = files[0].name; |
1192 | 1217 | if (this.imageName.lastIndexOf(".") <= 0) { |
... | ... | @@ -1199,7 +1224,7 @@ export default { |
1199 | 1224 | this.imageFile = files[0]; // this is an image file that can be sent to server... |
1200 | 1225 | // this.imageData.imageUrl = URL.createObjectURL(this.imageFile); |
1201 | 1226 | // console.log("upload=======>", this.imageData.imageUrl); |
1202 | - console.log("imageFile", this.imageUrl ); | |
1227 | + console.log("imageFile", this.imageUrl); | |
1203 | 1228 | }); |
1204 | 1229 | } else { |
1205 | 1230 | this.imageName = ""; |
... | ... | @@ -1213,7 +1238,7 @@ export default { |
1213 | 1238 | getTeacherList() { |
1214 | 1239 | this.showLoader = true; |
1215 | 1240 | var token = this.$store.state.token; |
1216 | - console.log("token",token) | |
1241 | + console.log("token", token); | |
1217 | 1242 | http() |
1218 | 1243 | .get("/getTeachersList", { |
1219 | 1244 | headers: { Authorization: "Bearer " + token } |
... | ... | @@ -1232,8 +1257,17 @@ export default { |
1232 | 1257 | editItem(item) { |
1233 | 1258 | this.editedIndex = this.desserts.indexOf(item); |
1234 | 1259 | this.editedItem = Object.assign({}, item); |
1235 | - this.editedItem.dob = this.editedItem.dob != undefined ? this.editedItem.dob = this.editedItem.dob.substring(0, 10): this.editedItem.dob = '' | |
1236 | - this.editedItem.joinDate = this.editedItem.joinDate != undefined ? this.editedItem.joinDate = this.editedItem.joinDate.substring(0, 10): this.editedItem.joinDate = '' | |
1260 | + this.editedItem.dob = | |
1261 | + this.editedItem.dob != undefined | |
1262 | + ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10)) | |
1263 | + : (this.editedItem.dob = ""); | |
1264 | + this.editedItem.joinDate = | |
1265 | + this.editedItem.joinDate != undefined | |
1266 | + ? (this.editedItem.joinDate = this.editedItem.joinDate.substring( | |
1267 | + 0, | |
1268 | + 10 | |
1269 | + )) | |
1270 | + : (this.editedItem.joinDate = ""); | |
1237 | 1271 | |
1238 | 1272 | this.dialog = true; |
1239 | 1273 | }, |
... | ... | @@ -1280,7 +1314,7 @@ export default { |
1280 | 1314 | }, |
1281 | 1315 | close() { |
1282 | 1316 | this.dialog = false; |
1283 | - setTimeout(() => { | |
1317 | + setTimeout(() => { | |
1284 | 1318 | this.editedItem = Object.assign({}, this.defaultItem); |
1285 | 1319 | this.editedIndex = -1; |
1286 | 1320 | }, 300); |
... | ... | @@ -1318,7 +1352,7 @@ export default { |
1318 | 1352 | mobileNo: this.addTeachers.mobileNo, |
1319 | 1353 | state: this.addTeachers.state, |
1320 | 1354 | joinDate: this.addTeachers.joinDate, |
1321 | - upload:this.imageUrl | |
1355 | + upload: this.imageUrl | |
1322 | 1356 | // upload:this.imageFile |
1323 | 1357 | }; |
1324 | 1358 | // console.log("addTeacher============>", addTeacher); |
... | ... | @@ -1350,6 +1384,7 @@ export default { |
1350 | 1384 | this.$refs.form.reset(); |
1351 | 1385 | }, |
1352 | 1386 | save() { |
1387 | + this.loading = true; | |
1353 | 1388 | let editTeacher = { |
1354 | 1389 | teacherId: this.editedItem._id, |
1355 | 1390 | name: this.editedItem.name, |
... | ... | @@ -1363,21 +1398,21 @@ export default { |
1363 | 1398 | presentAddress: this.editedItem.presentAddress, |
1364 | 1399 | mobileNo: this.editedItem.mobileNo, |
1365 | 1400 | state: this.editedItem.state, |
1366 | - joinDate: this.editedItem.joinDate, | |
1367 | - upload:this.imageUrl | |
1401 | + joinDate: this.editedItem.joinDate | |
1368 | 1402 | }; |
1369 | - this.loading = true; | |
1403 | + if (this.imageUrl) { | |
1404 | + editTeacher.upload = this.imageUrl; | |
1405 | + } | |
1370 | 1406 | http() |
1371 | 1407 | .put("/updateTeacher", editTeacher) |
1372 | 1408 | .then(response => { |
1373 | - console.log("editTeacher",editTeacher); | |
1409 | + console.log("editTeacher", editTeacher); | |
1374 | 1410 | if ((this.snackbar = true)) { |
1375 | 1411 | this.text = "Successfully Edit Existing Teacher"; |
1376 | 1412 | } |
1377 | 1413 | this.loading = false; |
1378 | 1414 | this.getTeacherList(); |
1379 | 1415 | this.close(); |
1380 | - | |
1381 | 1416 | }) |
1382 | 1417 | .catch(error => { |
1383 | 1418 | console.log(error); |
... | ... | @@ -1496,7 +1531,7 @@ h4 { |
1496 | 1531 | |
1497 | 1532 | @media screen and (max-width: 380px) { |
1498 | 1533 | .pl-3 { |
1499 | - padding-left: 0px !important; | |
1534 | + padding-left: 0px !important; | |
1500 | 1535 | } |
1501 | 1536 | .right { |
1502 | 1537 | float: none !important; |
... | ... | @@ -1508,8 +1543,8 @@ h4 { |
1508 | 1543 | margin: 0 0px; |
1509 | 1544 | min-width: 100px; |
1510 | 1545 | } |
1511 | - .presentInput{ | |
1512 | - padding-left:48px !important; | |
1546 | + .presentInput { | |
1547 | + padding-left: 48px !important; | |
1513 | 1548 | } |
1514 | 1549 | /* .searchIcon .v-icon { |
1515 | 1550 | font-size: 20px; |
... | ... | @@ -1521,9 +1556,8 @@ h4 { |
1521 | 1556 | h5 { |
1522 | 1557 | font-size: 13px; |
1523 | 1558 | } |
1524 | - .pl-4{ | |
1559 | + .pl-4 { | |
1525 | 1560 | padding-left: 0px !important; |
1526 | - | |
1527 | 1561 | } |
1528 | 1562 | } |
1529 | 1563 | .v-icon { | ... | ... |
src/pages/TimeTable/timeTable.vue
... | ... | @@ -1031,7 +1031,6 @@ export default { |
1031 | 1031 | .then(response => { |
1032 | 1032 | this.timeTableList = response.data.data; |
1033 | 1033 | this.showLoader = false; |
1034 | - // console.log("getParticularTimeTable=====>", this.timeTableList); | |
1035 | 1034 | }) |
1036 | 1035 | .catch(err => { |
1037 | 1036 | this.showLoader = false; | ... | ... |
src/router/paths.js
1 | 1 | export default [ |
2 | 2 | |
3 | - { | |
4 | - path: '*', | |
5 | - meta: { | |
6 | - public: true, | |
3 | + { | |
4 | + path: '*', | |
5 | + meta: { | |
6 | + public: true, | |
7 | + }, | |
8 | + redirect: { | |
9 | + path: '/404' | |
10 | + } | |
7 | 11 | }, |
8 | - redirect: { | |
9 | - path: '/404' | |
10 | - } | |
11 | - }, | |
12 | - { | |
13 | - path: '/404', | |
14 | - meta: { | |
15 | - public: true, | |
12 | + { | |
13 | + path: '/404', | |
14 | + meta: { | |
15 | + public: true, | |
16 | + }, | |
17 | + name: 'NotFound', | |
18 | + component: () => | |
19 | + import ( | |
20 | + /* webpackChunkName: "routes" */ | |
21 | + /* webpackMode: "lazy-once" */ | |
22 | + `@/pages/NotFound/NotFound.vue` | |
23 | + ) | |
24 | + }, | |
25 | + { | |
26 | + path: '/500', | |
27 | + meta: { | |
28 | + public: true, | |
29 | + }, | |
30 | + name: 'ServerError', | |
31 | + component: () => | |
32 | + import ( | |
33 | + /* webpackChunkName: "routes" */ | |
34 | + /* webpackMode: "lazy-once" */ | |
35 | + `@/pages/NotFound/Error.vue` | |
36 | + ) | |
37 | + }, | |
38 | + { | |
39 | + path: '/changepassword', | |
40 | + meta: {}, | |
41 | + name: 'changepassword', | |
42 | + props: (route) => ({ type: route.query.type }), | |
43 | + component: () => | |
44 | + import ( | |
45 | + /* webpackChunkName: "routes" */ | |
46 | + /* webpackMode: "lazy-once" */ | |
47 | + `@/pages/Authentication/changepassword.vue` | |
48 | + ) | |
49 | + }, | |
50 | + { | |
51 | + path: '/teachers', | |
52 | + meta: { breadcrumb: false }, | |
53 | + name: 'teachers', | |
54 | + component: () => | |
55 | + import ( | |
56 | + /* webpackChunkName: "routes" */ | |
57 | + /* webpackMode: "lazy-once" */ | |
58 | + `@/pages/Teachers/teachers.vue` | |
59 | + ) | |
60 | + }, | |
61 | + { | |
62 | + path: '/', | |
63 | + meta: { | |
64 | + public: true, | |
65 | + }, | |
66 | + name: 'Login', | |
67 | + component: () => | |
68 | + import ( | |
69 | + /* webpackChunkName: "routes" */ | |
70 | + /* webpackMode: "lazy-once" */ | |
71 | + `@/pages/Authentication/Login.vue` | |
72 | + ) | |
16 | 73 | }, |
17 | - name: 'NotFound', | |
18 | - component: () => import( | |
19 | - /* webpackChunkName: "routes" */ | |
20 | - /* webpackMode: "lazy-once" */ | |
21 | - `@/pages/NotFound/NotFound.vue` | |
22 | - ) | |
23 | - }, | |
24 | - { | |
25 | - path: '/500', | |
26 | - meta: { | |
27 | - public: true, | |
74 | + { | |
75 | + path: '/forgetpassword', | |
76 | + meta: { | |
77 | + public: true, | |
78 | + }, | |
79 | + name: 'forgetpassword', | |
80 | + component: () => | |
81 | + import ( | |
82 | + /* webpackChunkName: "routes" */ | |
83 | + /* webpackMode: "lazy-once" */ | |
84 | + `@/pages/Authentication/forgetpassword.vue` | |
85 | + ) | |
28 | 86 | }, |
29 | - name: 'ServerError', | |
30 | - component: () => import( | |
31 | - /* webpackChunkName: "routes" */ | |
32 | - /* webpackMode: "lazy-once" */ | |
33 | - `@/pages/NotFound/Error.vue` | |
34 | - ) | |
35 | - }, | |
36 | - { | |
37 | - path: '/changepassword', | |
38 | - meta: { }, | |
39 | - name: 'changepassword', | |
40 | - props: (route) => ({ type: route.query.type }), | |
41 | - component: () => import( | |
42 | - /* webpackChunkName: "routes" */ | |
43 | - /* webpackMode: "lazy-once" */ | |
44 | - `@/pages/Authentication/changepassword.vue` | |
45 | - ) | |
46 | - }, | |
47 | - { | |
48 | - path: '/teachers', | |
49 | - meta: { breadcrumb: false }, | |
50 | - name: 'teachers', | |
51 | - component: () => import( | |
52 | - /* webpackChunkName: "routes" */ | |
53 | - /* webpackMode: "lazy-once" */ | |
54 | - `@/pages/Teachers/teachers.vue` | |
55 | - ) | |
56 | - }, | |
57 | - { | |
58 | - path: '/', | |
59 | - meta: { | |
60 | - public: true, | |
87 | + { | |
88 | + path: '/students', | |
89 | + meta: {}, | |
90 | + name: 'Students', | |
91 | + props: (route) => ({ type: route.query.type }), | |
92 | + component: () => | |
93 | + import ( | |
94 | + /* webpackChunkName: "routes" */ | |
95 | + /* webpackMode: "lazy-once" */ | |
96 | + `@/pages/Students/students.vue` | |
97 | + ) | |
61 | 98 | }, |
62 | - name: 'Login', | |
63 | - component: () => import( | |
64 | - /* webpackChunkName: "routes" */ | |
65 | - /* webpackMode: "lazy-once" */ | |
66 | - `@/pages/Authentication/Login.vue` | |
67 | - ) | |
68 | - }, | |
69 | - { | |
70 | - path: '/forgetpassword', | |
71 | - meta: { | |
72 | - public: true, | |
99 | + { | |
100 | + path: '/addclass', | |
101 | + meta: {}, | |
102 | + name: 'addclass', | |
103 | + props: (route) => ({ type: route.query.type }), | |
104 | + component: () => | |
105 | + import ( | |
106 | + /* webpackChunkName: "routes" */ | |
107 | + /* webpackMode: "lazy-once" */ | |
108 | + `@/pages/Class/addclass.vue` | |
109 | + ) | |
73 | 110 | }, |
74 | - name: 'forgetpassword', | |
75 | - component: () => import( | |
76 | - /* webpackChunkName: "routes" */ | |
77 | - /* webpackMode: "lazy-once" */ | |
78 | - `@/pages/Authentication/forgetpassword.vue` | |
79 | - ) | |
80 | - }, | |
81 | - { | |
82 | - path: '/students', | |
83 | - meta: { }, | |
84 | - name: 'Students', | |
85 | - props: (route) => ({ type: route.query.type }), | |
86 | - component: () => import( | |
87 | - /* webpackChunkName: "routes" */ | |
88 | - /* webpackMode: "lazy-once" */ | |
89 | - `@/pages/Students/students.vue` | |
90 | - ) | |
91 | - }, | |
92 | - { | |
93 | - path: '/addclass', | |
94 | - meta: { }, | |
95 | - name: 'addclass', | |
96 | - props: (route) => ({ type: route.query.type }), | |
97 | - component: () => import( | |
98 | - /* webpackChunkName: "routes" */ | |
99 | - /* webpackMode: "lazy-once" */ | |
100 | - `@/pages/Class/addclass.vue` | |
101 | - ) | |
102 | - }, | |
103 | - { | |
104 | - path: '/section', | |
105 | - meta: { }, | |
106 | - name: 'section', | |
107 | - props: (route) => ({ type: route.query.type }), | |
108 | - component: () => import( | |
109 | - /* webpackChunkName: "routes" */ | |
110 | - /* webpackMode: "lazy-once" */ | |
111 | - `@/pages/Section/section.vue` | |
112 | - ) | |
113 | - }, | |
114 | - // { | |
115 | - // path: '/event', | |
116 | - // meta: { }, | |
117 | - // name: 'event', | |
118 | - // props: (route) => ({ type: route.query.type }), | |
119 | - // component: () => import( | |
120 | - // /* webpackChunkName: "routes" */ | |
121 | - // /* webpackMode: "lazy-once" */ | |
122 | - // `@/pages/Event/event.vue` | |
123 | - // ) | |
124 | - // }, | |
125 | - { | |
126 | - path: '/news', | |
127 | - meta: { }, | |
128 | - name: 'news', | |
129 | - props: (route) => ({ type: route.query.type }), | |
130 | - component: () => import( | |
131 | - /* webpackChunkName: "routes" */ | |
132 | - /* webpackMode: "lazy-once" */ | |
133 | - `@/pages/News/news.vue` | |
134 | - ) | |
135 | - }, | |
136 | - // { | |
137 | - // path: '/reminder', | |
138 | - // meta: { }, | |
139 | - // name: 'reminder', | |
140 | - // props: (route) => ({ type: route.query.type }), | |
141 | - // component: () => import( | |
142 | - // /* webpackChunkName: "routes" */ | |
143 | - // /* webpackMode: "lazy-once" */ | |
144 | - // `@/pages/Reminder/reminder.vue` | |
145 | - // ) | |
146 | - // }, | |
147 | - { | |
148 | - path: '/timeTable', | |
149 | - meta: { }, | |
150 | - name: 'timeTable', | |
151 | - props: (route) => ({ type: route.query.type }), | |
152 | - component: () => import( | |
153 | - /* webpackChunkName: "routes" */ | |
154 | - /* webpackMode: "lazy-once" */ | |
155 | - `@/pages/TimeTable/timeTable.vue` | |
156 | - ) | |
157 | - }, | |
158 | - { | |
159 | - path: '/notification', | |
160 | - meta: { }, | |
161 | - name: 'notification', | |
162 | - props: (route) => ({ type: route.query.type }), | |
163 | - component: () => import( | |
164 | - /* webpackChunkName: "routes" */ | |
165 | - /* webpackMode: "lazy-once" */ | |
166 | - `@/pages/Notification/notification.vue` | |
167 | - ) | |
168 | - } | |
169 | -]; | |
111 | + { | |
112 | + path: '/section', | |
113 | + meta: {}, | |
114 | + name: 'section', | |
115 | + props: (route) => ({ type: route.query.type }), | |
116 | + component: () => | |
117 | + import ( | |
118 | + /* webpackChunkName: "routes" */ | |
119 | + /* webpackMode: "lazy-once" */ | |
120 | + `@/pages/Section/section.vue` | |
121 | + ) | |
122 | + }, | |
123 | + // { | |
124 | + // path: '/event', | |
125 | + // meta: { }, | |
126 | + // name: 'event', | |
127 | + // props: (route) => ({ type: route.query.type }), | |
128 | + // component: () => import( | |
129 | + // /* webpackChunkName: "routes" */ | |
130 | + // /* webpackMode: "lazy-once" */ | |
131 | + // `@/pages/Event/event.vue` | |
132 | + // ) | |
133 | + // }, | |
134 | + { | |
135 | + path: '/news', | |
136 | + meta: {}, | |
137 | + name: 'news', | |
138 | + props: (route) => ({ type: route.query.type }), | |
139 | + component: () => | |
140 | + import ( | |
141 | + /* webpackChunkName: "routes" */ | |
142 | + /* webpackMode: "lazy-once" */ | |
143 | + `@/pages/News/news.vue` | |
144 | + ) | |
145 | + }, | |
146 | + // { | |
147 | + // path: '/reminder', | |
148 | + // meta: { }, | |
149 | + // name: 'reminder', | |
150 | + // props: (route) => ({ type: route.query.type }), | |
151 | + // component: () => import( | |
152 | + // /* webpackChunkName: "routes" */ | |
153 | + // /* webpackMode: "lazy-once" */ | |
154 | + // `@/pages/Reminder/reminder.vue` | |
155 | + // ) | |
156 | + // }, | |
157 | + { | |
158 | + path: '/timeTable', | |
159 | + meta: {}, | |
160 | + name: 'timeTable', | |
161 | + props: (route) => ({ type: route.query.type }), | |
162 | + component: () => | |
163 | + import ( | |
164 | + /* webpackChunkName: "routes" */ | |
165 | + /* webpackMode: "lazy-once" */ | |
166 | + `@/pages/TimeTable/timeTable.vue` | |
167 | + ) | |
168 | + }, | |
169 | + { | |
170 | + path: '/notification', | |
171 | + meta: {}, | |
172 | + name: 'notification', | |
173 | + props: (route) => ({ type: route.query.type }), | |
174 | + component: () => | |
175 | + import ( | |
176 | + /* webpackChunkName: "routes" */ | |
177 | + /* webpackMode: "lazy-once" */ | |
178 | + `@/pages/Notification/notification.vue` | |
179 | + ) | |
180 | + }, | |
181 | + { | |
182 | + path: '/parents', | |
183 | + meta: {}, | |
184 | + name: 'parents', | |
185 | + props: (route) => ({ type: route.query.type }), | |
186 | + component: () => | |
187 | + import ( | |
188 | + /* webpackChunkName: "routes" */ | |
189 | + /* webpackMode: "lazy-once" */ | |
190 | + `@/pages/Parent/parents.vue` | |
191 | + ) | |
192 | + } | |
193 | +]; | |
170 | 194 | \ No newline at end of file | ... | ... |