Commit 1fb5f9af3967f7005974760002cff2b8978c66aa

Authored by Shikha Mishra
1 parent 5ceb88b444

minor change in routine

Showing 1 changed file with 7 additions and 3 deletions   Show diff stats
src/pages/Academic/routine.vue
1 <template> 1 <template>
2 <v-container fluid class="body-color"> 2 <v-container fluid class="body-color">
3 <!-- ****** EDIT Subject ****** --> 3 <!-- ****** EDIT Subject ****** -->
4 <v-dialog v-model="editRoutineDialog" max-width="600px"> 4 <v-dialog v-model="editRoutineDialog" max-width="600px">
5 <v-card flat class="card-style pa-2" dark> 5 <v-card flat class="card-style pa-2" dark>
6 <v-layout> 6 <v-layout>
7 <v-flex xs12> 7 <v-flex xs12>
8 <label class="title text-xs-center">Edit Routine</label> 8 <label class="title text-xs-center">Edit Routine</label>
9 <v-icon size="24" class="right" @click="editRoutineDialog = false">cancel</v-icon> 9 <v-icon size="24" class="right" @click="editRoutineDialog = false">cancel</v-icon>
10 </v-flex> 10 </v-flex>
11 </v-layout> 11 </v-layout>
12 <v-container fluid> 12 <v-container fluid>
13 <v-form ref="formEditRoutine" v-model="validEditRoutine" lazy-validation> 13 <v-form ref="formEditRoutine" v-model="validEditRoutine" lazy-validation>
14 <v-layout> 14 <v-layout>
15 <v-flex xs4 sm4 class="pt-4 subheading"> 15 <v-flex xs4 sm4 class="pt-4 subheading">
16 <label class="right">School Year :</label> 16 <label class="right">School Year :</label>
17 </v-flex> 17 </v-flex>
18 <v-flex xs8 sm8 class="ml-3"> 18 <v-flex xs8 sm8 class="ml-3">
19 <v-text-field v-model="editedItem.schoolYear" label="Select Year"></v-text-field> 19 <v-text-field v-model="editedItem.schoolYear" label="Select Year"></v-text-field>
20 </v-flex> 20 </v-flex>
21 </v-layout> 21 </v-layout>
22 <v-layout> 22 <v-layout>
23 <v-flex xs4 sm4 class="pt-4 subheading"> 23 <v-flex xs4 sm4 class="pt-4 subheading">
24 <label class="right">Class :</label> 24 <label class="right">Class :</label>
25 </v-flex> 25 </v-flex>
26 <v-flex xs8 sm8 class="ml-3"> 26 <v-flex xs8 sm8 class="ml-3">
27 <v-select 27 <v-select
28 :items="classList" 28 :items="classList"
29 label="Select Class" 29 label="Select Class"
30 item-text="classNum" 30 item-text="classNum"
31 item-value="_id" 31 item-value="_id"
32 v-model="editedItem.classId" 32 v-model="editedItem.classId"
33 name="Select Class" 33 name="Select Class"
34 :rules="classRules" 34 :rules="classRules"
35 @change="getSections(addRoutine.classId)" 35 @change="getSections(addRoutine.classId)"
36 class="pl-2" 36 class="pl-2"
37 required 37 required
38 ></v-select> 38 ></v-select>
39 </v-flex> 39 </v-flex>
40 </v-layout> 40 </v-layout>
41 <v-layout> 41 <v-layout>
42 <v-flex xs4 sm4 class="pt-4 subheading"> 42 <v-flex xs4 sm4 class="pt-4 subheading">
43 <label class="right">Section :</label> 43 <label class="right">Section :</label>
44 </v-flex> 44 </v-flex>
45 <v-flex xs8 sm8 class="ml-3"> 45 <v-flex xs8 sm8 class="ml-3">
46 <v-select 46 <v-select
47 :items="addSection" 47 :items="addSection"
48 label="Select Section" 48 label="Select Section"
49 item-text="name" 49 item-text="name"
50 item-value="_id" 50 item-value="_id"
51 v-model="editedItem.sectionId" 51 v-model="editedItem.sectionId"
52 name="Select Section" 52 name="Select Section"
53 :rules="sectionRules" 53 :rules="sectionRules"
54 @change="getClassSubject(addRoutine.classId)" 54 @change="getClassSubject(addRoutine.classId)"
55 class="px-2" 55 class="px-2"
56 required 56 required
57 ></v-select> 57 ></v-select>
58 </v-flex> 58 </v-flex>
59 </v-layout> 59 </v-layout>
60 <v-layout> 60 <v-layout>
61 <v-flex xs3 sm4 class="pt-4 subheading"> 61 <v-flex xs3 sm4 class="pt-4 subheading">
62 <label class="right">Subject :</label> 62 <label class="right">Subject :</label>
63 </v-flex> 63 </v-flex>
64 <v-flex xs8 sm8 class="ml-2"> 64 <v-flex xs8 sm8 class="ml-2">
65 <v-select 65 <v-select
66 :items="subjectList.subjects" 66 :items="subjectList.subjects"
67 label="Select your subject" 67 label="Select your subject"
68 v-model="editedItem.subjectName" 68 v-model="editedItem.subjectName"
69 item-text="subjectName" 69 item-text="subjectName"
70 item-value="_id" 70 item-value="_id"
71 :rules="subjectRules" 71 :rules="subjectRules"
72 required 72 required
73 ></v-select> 73 ></v-select>
74 </v-flex> 74 </v-flex>
75 </v-layout> 75 </v-layout>
76 <v-layout> 76 <v-layout>
77 <v-flex xs3 sm4 class="pt-4 subheading"> 77 <v-flex xs3 sm4 class="pt-4 subheading">
78 <label class="right">Day :</label> 78 <label class="right">Day :</label>
79 </v-flex> 79 </v-flex>
80 <v-flex xs8 sm8 class="ml-2"> 80 <v-flex xs8 sm8 class="ml-2">
81 <v-select 81 <v-select
82 :items="day" 82 :items="day"
83 label="Select your day" 83 label="Select your day"
84 v-model="editedItem.day" 84 v-model="editedItem.day"
85 item-text="text" 85 item-text="text"
86 :rules="dayRules" 86 :rules="dayRules"
87 required 87 required
88 ></v-select> 88 ></v-select>
89 </v-flex> 89 </v-flex>
90 </v-layout> 90 </v-layout>
91 <v-layout> 91 <v-layout>
92 <v-flex xs4 sm4 class="pt-4 subheading"> 92 <v-flex xs4 sm4 class="pt-4 subheading">
93 <label class="right">Teacher Name :</label> 93 <label class="right">Teacher Name :</label>
94 </v-flex> 94 </v-flex>
95 <v-flex xs8 sm8 class="ml-3"> 95 <v-flex xs8 sm8 class="ml-3">
96 <v-select 96 <v-select
97 v-model="editedItem.teacherId" 97 v-model="editedItem.teacherId"
98 label="Select your teacher" 98 label="Select your teacher"
99 type="text" 99 type="text"
100 :items="teacherList" 100 :items="teacherList"
101 item-text="name" 101 item-text="name"
102 item-value="_id" 102 item-value="_id"
103 :rules="teacherRules" 103 :rules="teacherRules"
104 required 104 required
105 ></v-select> 105 ></v-select>
106 </v-flex> 106 </v-flex>
107 </v-layout> 107 </v-layout>
108 <v-layout> 108 <v-layout>
109 <v-flex xs4 sm4 class="pt-4 subheading"> 109 <v-flex xs4 sm4 class="pt-4 subheading">
110 <label class="right">Starting time:</label> 110 <label class="right">Starting time:</label>
111 </v-flex> 111 </v-flex>
112 <v-flex xs8 sm8 class="ml-3"> 112 <v-flex xs8 sm8 class="ml-3">
113 <v-menu 113 <v-menu
114 ref="menuA" 114 ref="menuA"
115 :close-on-content-click="false" 115 :close-on-content-click="false"
116 v-model="menuB" 116 v-model="menuB"
117 :nudge-right="40" 117 :nudge-right="40"
118 :return-value.sync="addRoutine.startingTime" 118 :return-value.sync="addRoutine.startingTime"
119 lazy 119 lazy
120 transition="scale-transition" 120 transition="scale-transition"
121 offset-y 121 offset-y
122 full-width 122 full-width
123 max-width="290px" 123 max-width="290px"
124 min-width="290px" 124 min-width="290px"
125 > 125 >
126 <v-text-field 126 <v-text-field
127 slot="activator" 127 slot="activator"
128 v-model="editedItem.startingTime" 128 v-model="editedItem.startingTime"
129 label="Select your starting time" 129 label="Select your starting time"
130 append-icon="access_time" 130 append-icon="access_time"
131 :rules="timeInRules" 131 :rules="timeInRules"
132 readonly 132 readonly
133 ></v-text-field> 133 ></v-text-field>
134 <v-time-picker 134 <v-time-picker
135 v-model="editedItem.startingTime" 135 v-model="editedItem.startingTime"
136 @change="$refs.menuA.save(addRoutine.startingTime)" 136 @change="$refs.menuA.save(addRoutine.startingTime)"
137 ></v-time-picker> 137 ></v-time-picker>
138 </v-menu> 138 </v-menu>
139 </v-flex> 139 </v-flex>
140 </v-layout> 140 </v-layout>
141 <v-layout> 141 <v-layout>
142 <v-flex xs4 sm4 class="pt-4 subheading"> 142 <v-flex xs4 sm4 class="pt-4 subheading">
143 <label class="right">Ending Time:</label> 143 <label class="right">Ending Time:</label>
144 </v-flex> 144 </v-flex>
145 <v-flex xs8 sm8 class="ml-3"> 145 <v-flex xs8 sm8 class="ml-3">
146 <v-menu 146 <v-menu
147 ref="menu" 147 ref="menu"
148 :close-on-content-click="false" 148 :close-on-content-click="false"
149 v-model="menu1" 149 v-model="menu1"
150 :nudge-right="40" 150 :nudge-right="40"
151 :return-value.sync="addRoutine.endingTime" 151 :return-value.sync="addRoutine.endingTime"
152 lazy 152 lazy
153 transition="scale-transition" 153 transition="scale-transition"
154 offset-y 154 offset-y
155 full-width 155 full-width
156 max-width="290px" 156 max-width="290px"
157 min-width="290px" 157 min-width="290px"
158 > 158 >
159 <v-text-field 159 <v-text-field
160 slot="activator" 160 slot="activator"
161 v-model="editedItem.endingTime" 161 v-model="editedItem.endingTime"
162 label="Select your end time" 162 label="Select your end time"
163 append-icon="access_time" 163 append-icon="access_time"
164 :rules="timeOutRules" 164 :rules="timeOutRules"
165 readonly 165 readonly
166 ></v-text-field> 166 ></v-text-field>
167 <v-time-picker 167 <v-time-picker
168 v-model="editedItem.endingTime" 168 v-model="editedItem.endingTime"
169 @change="$refs.menu.save(addRoutine.endingTime)" 169 @change="$refs.menu.save(addRoutine.endingTime)"
170 ></v-time-picker> 170 ></v-time-picker>
171 </v-menu> 171 </v-menu>
172 </v-flex> 172 </v-flex>
173 </v-layout> 173 </v-layout>
174 <v-layout> 174 <v-layout>
175 <v-flex xs4 sm4 class="pt-4 subheading"> 175 <v-flex xs4 sm4 class="pt-4 subheading">
176 <label class="right">Room:</label> 176 <label class="right">Room:</label>
177 </v-flex> 177 </v-flex>
178 <v-flex xs8 sm8 class="ml-3"> 178 <v-flex xs8 sm8 class="ml-3">
179 <v-text-field 179 <v-text-field
180 label="fill your room" 180 label="fill your room"
181 :rules="roomRules" 181 :rules="roomRules"
182 v-model="editedItem.room" 182 v-model="editedItem.room"
183 @keyup.enter="submit" 183 @keyup.enter="submit"
184 ></v-text-field> 184 ></v-text-field>
185 </v-flex> 185 </v-flex>
186 </v-layout> 186 </v-layout>
187 <v-layout> 187 <v-layout>
188 <v-flex xs4 sm4 class="pt-4 subheading"> 188 <v-flex xs4 sm4 class="pt-4 subheading">
189 <label class="right">Period:</label> 189 <label class="right">Period:</label>
190 </v-flex> 190 </v-flex>
191 <v-flex xs8 sm8 class="ml-3"> 191 <v-flex xs8 sm8 class="ml-3">
192 <v-text-field 192 <v-text-field
193 label="fill your period" 193 label="fill your period"
194 :rules="periodRules" 194 :rules="periodRules"
195 v-model="editedItem.period" 195 v-model="editedItem.period"
196 @keyup.enter="submit" 196 @keyup.enter="submit"
197 ></v-text-field> 197 ></v-text-field>
198 </v-flex> 198 </v-flex>
199 </v-layout> 199 </v-layout>
200 <v-layout> 200 <v-layout>
201 <v-flex xs12 sm12> 201 <v-flex xs12 sm12>
202 <v-card-actions> 202 <v-card-actions>
203 <v-spacer></v-spacer> 203 <v-spacer></v-spacer>
204 <v-btn 204 <v-btn
205 @click="update" 205 @click="update"
206 round 206 round
207 dark 207 dark
208 :loading="loading" 208 :loading="loading"
209 class="add-button" 209 class="add-button"
210 >Update Routine</v-btn> 210 >Update Routine</v-btn>
211 </v-card-actions> 211 </v-card-actions>
212 </v-flex> 212 </v-flex>
213 </v-layout> 213 </v-layout>
214 </v-form> 214 </v-form>
215 </v-container> 215 </v-container>
216 </v-card> 216 </v-card>
217 </v-dialog> 217 </v-dialog>
218 218
219 <!-- ****** EXISTING ROUTINE TABLE ****** --> 219 <!-- ****** EXISTING ROUTINE TABLE ****** -->
220 <v-toolbar color="transparent" flat> 220 <v-toolbar color="transparent" flat>
221 <v-btn 221 <v-btn
222 fab 222 fab
223 dark 223 dark
224 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only" 224 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
225 small 225 small
226 @click="addRoutineDialog = true" 226 @click="addRoutineDialog = true"
227 > 227 >
228 <v-icon dark>add</v-icon> 228 <v-icon dark>add</v-icon>
229 </v-btn> 229 </v-btn>
230 <v-flex xs1 class="hidden-sm-only hidden-xs-only"> 230 <v-flex xs1 class="hidden-sm-only hidden-xs-only">
231 <v-btn 231 <v-btn
232 round 232 round
233 class="open-dialog-button" 233 class="open-dialog-button"
234 dark 234 dark
235 @click="addRoutineDialog = true" 235 @click="addRoutineDialog = true"
236 v-if="role != 'TEACHER' " 236 v-if="role != 'TEACHER' "
237 > 237 >
238 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Routine 238 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Routine
239 </v-btn> 239 </v-btn>
240 </v-flex> 240 </v-flex>
241 <v-spacer></v-spacer> 241 <v-spacer></v-spacer>
242 <v-flex lg2 md2 xs12 v-show="show"> 242 <v-flex lg2 md2 xs12 v-show="show">
243 <v-select 243 <v-select
244 :items="classList" 244 :items="classList"
245 label="Select Your Class" 245 label="Select Your Class"
246 v-model="addRoutine.classId" 246 v-model="addRoutine.classId"
247 item-text="classNum" 247 item-text="classNum"
248 item-value="_id" 248 item-value="_id"
249 name="Select Class" 249 name="Select Class"
250 :rules="classRules" 250 :rules="classRules"
251 @change="getSections(addRoutine.classId)" 251 @change="getSections(addRoutine.classId)"
252 class="pl-2" 252 class="pl-2"
253 required 253 required
254 ></v-select> 254 ></v-select>
255 </v-flex> 255 </v-flex>
256 <v-flex xs8 sm3 md2 class="mr-3"> 256 <v-flex xs8 sm3 md2 class="mr-3">
257 <v-select 257 <v-select
258 v-model="addRoutine.sectionId" 258 v-model="addRoutine.sectionId"
259 label="Select your section" 259 label="Select your section"
260 :items="addSection" 260 :items="addSection"
261 item-text="name" 261 item-text="name"
262 item-value="_id" 262 item-value="_id"
263 name="Select Section" 263 name="Select Section"
264 :rules="sectionRules" 264 :rules="sectionRules"
265 @change="getRoutineList()" 265 @change="getRoutineList()"
266 class="pl-2" 266 class="pl-2"
267 required 267 required
268 ></v-select> 268 ></v-select>
269 </v-flex> 269 </v-flex>
270 <v-card-title class="body-1" v-show="show"> 270 <v-card-title class="body-1" v-show="show">
271 <v-btn icon flat @click="displaySearch"> 271 <v-btn icon flat @click="displaySearch">
272 <v-avatar size="27"> 272 <v-avatar size="27">
273 <img src="/static/icon/search.png" alt="icon" /> 273 <img src="/static/icon/search.png" alt="icon" />
274 </v-avatar> 274 </v-avatar>
275 </v-btn> 275 </v-btn>
276 </v-card-title> 276 </v-card-title>
277 <v-flex xs9 sm9 md2 lg2 xl2 v-show="showSearch"> 277 <v-flex xs9 sm9 md2 lg2 xl2 v-show="showSearch">
278 <v-layout> 278 <v-layout>
279 <v-text-field 279 <v-text-field
280 v-model="search" 280 v-model="search"
281 label="Search" 281 label="Search"
282 prepend-inner-icon="search" 282 prepend-inner-icon="search"
283 color="primary" 283 color="primary"
284 style="transition: 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); !important" 284 style="transition: 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); !important"
285 ></v-text-field> 285 ></v-text-field>
286 <v-icon @click="closeSearch" color="error">close</v-icon> 286 <v-icon @click="closeSearch" color="error">close</v-icon>
287 </v-layout> 287 </v-layout>
288 </v-flex> 288 </v-flex>
289 </v-toolbar> 289 </v-toolbar>
290 290
291 <div class="col-sm-12"> 291 <div class="col-sm-12">
292 <div class="box-body"> 292 <div class="box-body">
293 <div class="row"> 293 <div class="row">
294 <div class="col-sm-12"> 294 <div class="col-sm-12">
295 <div class="nav-tabs-custom"> 295 <div class="nav-tabs-custom">
296 <ul class="nav nav-tabs"> 296 <ul class="nav nav-tabs">
297 <li class="active"> 297 <li class="active">
298 <a data-toggle="tab" href="#all" aria-expanded="true">All Routines</a> 298 <a data-toggle="tab" href="#all" aria-expanded="true">All Routines</a>
299 </li> 299 </li>
300 </ul> 300 </ul>
301 301
302 <div class="tab-content" v-show="hideTable"> 302 <div class="tab-content" v-show="hideTable">
303 <div id="all" class="tab-pane active mCustomScrollbar _mCS_1 mCS_no_scrollbar"> 303 <div id="all" class="tab-pane active mCustomScrollbar _mCS_1 mCS_no_scrollbar">
304 <div 304 <div
305 id="mCSB_1" 305 id="mCSB_1"
306 class="mCustomScrollBox mCS-light" 306 class="mCustomScrollBox mCS-light"
307 style="max-height: none;" 307 style="max-height: none;"
308 tabindex="0" 308 tabindex="0"
309 > 309 >
310 <div 310 <div
311 id="mCSB_1_container" 311 id="mCSB_1_container"
312 class="mCSB_container mCS_x_hidden mCS_no_scrollbar_x" 312 class="mCSB_container mCS_x_hidden mCS_no_scrollbar_x"
313 style="position: relative; top: 0px; left: 0px; width: 100%;" 313 style="position: relative; top: 0px; left: 0px; width: 100%;"
314 dir="ltr" 314 dir="ltr"
315 > 315 >
316 <div id="hide-table-2"> 316 <div id="hide-table-2">
317 <table id="table" class="table table-striped"> 317 <table id="table" class="table table-striped">
318 <tbody> 318 <tbody>
319 <tr> 319 <tr>
320 <td>MONDAY</td> 320 <td>MONDAY</td>
321 </tr> 321 </tr>
322 <tr> 322 <tr>
323 <td>TUESDAY</td> 323 <td>TUESDAY</td>
324 </tr> 324 </tr>
325 <tr> 325 <tr>
326 <td>WEDNESDAY</td> 326 <td>WEDNESDAY</td>
327 </tr> 327 </tr>
328 <tr> 328 <tr>
329 <td>THURSDAY</td> 329 <td>THURSDAY</td>
330 </tr> 330 </tr>
331 <tr> 331 <tr>
332 <td>FRIDAY</td> 332 <td>FRIDAY</td>
333 </tr> 333 </tr>
334 <tr> 334 <tr>
335 <td>SATURDAY</td> 335 <td>SATURDAY</td>
336 </tr> 336 </tr>
337 </tbody> 337 </tbody>
338 </table> 338 </table>
339 </div> 339 </div>
340 </div> 340 </div>
341 <div 341 <div
342 id="mCSB_1_scrollbar_horizontal" 342 id="mCSB_1_scrollbar_horizontal"
343 class="mCSB_scrollTools mCSB_1_scrollbar mCS-light mCSB_scrollTools_horizontal" 343 class="mCSB_scrollTools mCSB_1_scrollbar mCS-light mCSB_scrollTools_horizontal"
344 style="display: none;" 344 style="display: none;"
345 > 345 >
346 <div class="mCSB_draggerContainer"> 346 <div class="mCSB_draggerContainer">
347 <div 347 <div
348 id="mCSB_1_dragger_horizontal" 348 id="mCSB_1_dragger_horizontal"
349 class="mCSB_dragger" 349 class="mCSB_dragger"
350 style="position: absolute; min-width: 30px; width: 0px; left: 0px;" 350 style="position: absolute; min-width: 30px; width: 0px; left: 0px;"
351 > 351 >
352 <div class="mCSB_dragger_bar"></div> 352 <div class="mCSB_dragger_bar"></div>
353 </div> 353 </div>
354 <div class="mCSB_draggerRail"></div> 354 <div class="mCSB_draggerRail"></div>
355 </div> 355 </div>
356 </div> 356 </div>
357 </div> 357 </div>
358 </div> 358 </div>
359 </div> 359 </div>
360 <div> 360 <div>
361 <table id="table" class="table table-bordered" v-show="showTable"> 361 <table id="table" class="table table-bordered" v-show="showTable">
362 <tbody> 362 <tbody>
363 <div class="nav-tabs-custom"> 363 <div class="nav-tabs-custom">
364 <div class="tab-content" id="scrolling"> 364 <div class="tab-content" id="scrolling">
365 <div id="hide-table-2"> 365 <div id="hide-table-2">
366 <v-data-table :items="routineList"> 366 <v-data-table :items="routineList">
367 <template slot="items" slot-scope="props"> 367 <template slot="items" slot-scope="props">
368 <tr class="tr"> 368 <tr class="tr">
369 <td>{{ props.item.day }}</td> 369 <td>{{ props.item.day }}</td>
370 <td class="text-center"> 370 <!-- <td class="text-center"> -->
371 <!-- <br /> -->
372 <!-- {{ props.item.classId.classNum }}
371 <br /> 373 <br />
374 {{ props.item.sectionId.name }} -->
375 <!-- </td> -->
376 <td class="text-center" v-for="list in props.item.lectureRoutine">
372 {{ props.item.classId.classNum }} 377 {{ props.item.classId.classNum }}
373 <br /> 378 <br />
374 {{ props.item.sectionId.name }} 379 {{ props.item.sectionId.name }}
375 </td> 380 <br />
376 <td class="text-center" v-for="list in props.item.lectureRoutine">
377 {{ list.startingTime }} - {{ list.endingTime }} 381 {{ list.startingTime }} - {{ list.endingTime }}
378 <br /> 382 <br />
379 {{ list.room }} 383 {{ list.room }}
380 <br /> 384 <br />
381 {{ list.subjectName }} 385 {{ list.subjectName }}
382 <br /> 386 <br />
383 {{ list.teacherId .name}} 387 {{ list.teacherId .name}}
384 <br /> 388 <br />
385 <span> 389 <span>
386 <v-tooltip top> 390 <v-tooltip top>
387 <img 391 <img
388 slot="activator" 392 slot="activator"
389 style="cursor:pointer; width:20px; height:18px; " 393 style="cursor:pointer; width:20px; height:18px; "
390 class="mr-3" 394 class="mr-3"
391 @click="editItem()" 395 @click="editItem()"
392 src="/static/icon/edit.png" 396 src="/static/icon/edit.png"
393 /> 397 />
394 <span>Edit</span> 398 <span>Edit</span>
395 </v-tooltip> 399 </v-tooltip>
396 <v-tooltip top> 400 <v-tooltip top>
397 <img 401 <img
398 slot="activator" 402 slot="activator"
399 style="cursor:pointer; width:20px; height:18px; " 403 style="cursor:pointer; width:20px; height:18px; "
400 class="mr-3" 404 class="mr-3"
401 @click="deleteItem(props.item)" 405 @click="deleteItem(props.item)"
402 src="/static/icon/delete.png" 406 src="/static/icon/delete.png"
403 /> 407 />
404 <span>Delete</span> 408 <span>Delete</span>
405 </v-tooltip> 409 </v-tooltip>
406 </span> 410 </span>
407 </td> 411 </td>
408 </tr> 412 </tr>
409 </template> 413 </template>
410 </v-data-table> 414 </v-data-table>
411 </div> 415 </div>
412 </div> 416 </div>
413 </div> 417 </div>
414 </tbody> 418 </tbody>
415 </table> 419 </table>
416 </div> 420 </div>
417 </div> 421 </div>
418 </div> 422 </div>
419 </div> 423 </div>
420 </div> 424 </div>
421 </div> 425 </div>
422 <!-- ****** ADD MULTIPLE Subject ****** --> 426 <!-- ****** ADD MULTIPLE Subject ****** -->
423 <v-snackbar 427 <v-snackbar
424 :timeout="timeout" 428 :timeout="timeout"
425 :top="y === 'top'" 429 :top="y === 'top'"
426 :right="x === 'right'" 430 :right="x === 'right'"
427 :vertical="mode === 'vertical'" 431 :vertical="mode === 'vertical'"
428 v-model="snackbar" 432 v-model="snackbar"
429 :color="color" 433 :color="color"
430 >{{ text }}</v-snackbar> 434 >{{ text }}</v-snackbar>
431 <v-dialog v-model="addRoutineDialog" max-width="600px"> 435 <v-dialog v-model="addRoutineDialog" max-width="600px">
432 <v-card flat class="card-style pa-2" dark> 436 <v-card flat class="card-style pa-2" dark>
433 <v-layout> 437 <v-layout>
434 <v-flex xs12> 438 <v-flex xs12>
435 <label class="title text-xs-center">Add Routine</label> 439 <label class="title text-xs-center">Add Routine</label>
436 <v-icon size="24" class="right" @click="addRoutineDialog = false">cancel</v-icon> 440 <v-icon size="24" class="right" @click="addRoutineDialog = false">cancel</v-icon>
437 </v-flex> 441 </v-flex>
438 </v-layout> 442 </v-layout>
439 <v-container fluid fill-height> 443 <v-container fluid fill-height>
440 <v-layout align-center> 444 <v-layout align-center>
441 <v-flex xs12> 445 <v-flex xs12>
442 <v-form ref="form" v-model="valid" lazy-validation> 446 <v-form ref="form" v-model="valid" lazy-validation>
443 <v-layout> 447 <v-layout>
444 <v-flex xs4 sm4 class="pt-4 subheading"> 448 <v-flex xs4 sm4 class="pt-4 subheading">
445 <label class="right">School Year :</label> 449 <label class="right">School Year :</label>
446 </v-flex> 450 </v-flex>
447 <v-flex xs8 sm8 class="ml-3"> 451 <v-flex xs8 sm8 class="ml-3">
448 <v-text-field 452 <v-text-field
449 label="fill your year" 453 label="fill your year"
450 :rules="schoolRules" 454 :rules="schoolRules"
451 v-model="addRoutine.schoolYear" 455 v-model="addRoutine.schoolYear"
452 ></v-text-field> 456 ></v-text-field>
453 </v-flex> 457 </v-flex>
454 </v-layout> 458 </v-layout>
455 <v-layout> 459 <v-layout>
456 <v-flex xs4 sm4 class="pt-4 subheading"> 460 <v-flex xs4 sm4 class="pt-4 subheading">
457 <label class="right">Class :</label> 461 <label class="right">Class :</label>
458 </v-flex> 462 </v-flex>
459 <v-flex xs8 sm8 class="ml-3"> 463 <v-flex xs8 sm8 class="ml-3">
460 <v-select 464 <v-select
461 :items="classList" 465 :items="classList"
462 item-text="classNum" 466 item-text="classNum"
463 item-value="_id" 467 item-value="_id"
464 v-model="addRoutine.classId" 468 v-model="addRoutine.classId"
465 label="Select Class" 469 label="Select Class"
466 :rules="classRules" 470 :rules="classRules"
467 @change="getSections(addRoutine.classId)" 471 @change="getSections(addRoutine.classId)"
468 class="pl-2" 472 class="pl-2"
469 required 473 required
470 ></v-select> 474 ></v-select>
471 </v-flex> 475 </v-flex>
472 </v-layout> 476 </v-layout>
473 <v-layout> 477 <v-layout>
474 <v-flex xs4 sm4 class="pt-4 subheading"> 478 <v-flex xs4 sm4 class="pt-4 subheading">
475 <label class="right">Section :</label> 479 <label class="right">Section :</label>
476 </v-flex> 480 </v-flex>
477 <v-flex xs8 sm8 class="ml-3"> 481 <v-flex xs8 sm8 class="ml-3">
478 <v-select 482 <v-select
479 :items="addSection" 483 :items="addSection"
480 item-text="name" 484 item-text="name"
481 item-value="_id" 485 item-value="_id"
482 v-model="addRoutine.sectionId" 486 v-model="addRoutine.sectionId"
483 label="Select Section" 487 label="Select Section"
484 :rules="sectionRules" 488 :rules="sectionRules"
485 @change="getClassSubject(addRoutine.classId)" 489 @change="getClassSubject(addRoutine.classId)"
486 class="px-2" 490 class="px-2"
487 required 491 required
488 ></v-select> 492 ></v-select>
489 </v-flex> 493 </v-flex>
490 </v-layout> 494 </v-layout>
491 <v-layout> 495 <v-layout>
492 <v-flex xs3 sm4 class="pt-4 subheading"> 496 <v-flex xs3 sm4 class="pt-4 subheading">
493 <label class="right">Subject :</label> 497 <label class="right">Subject :</label>
494 </v-flex> 498 </v-flex>
495 <v-flex xs8 sm8 class="ml-2"> 499 <v-flex xs8 sm8 class="ml-2">
496 <v-select 500 <v-select
497 :items="subjectList.subjects" 501 :items="subjectList.subjects"
498 label="Select your subject" 502 label="Select your subject"
499 v-model="addRoutine.subjectName" 503 v-model="addRoutine.subjectName"
500 item-text="subjectName" 504 item-text="subjectName"
501 item-value="subjectName" 505 item-value="subjectName"
502 :rules="subjectRules" 506 :rules="subjectRules"
503 required 507 required
504 ></v-select> 508 ></v-select>
505 </v-flex> 509 </v-flex>
506 </v-layout> 510 </v-layout>
507 <v-layout> 511 <v-layout>
508 <v-flex xs3 sm4 class="pt-4 subheading"> 512 <v-flex xs3 sm4 class="pt-4 subheading">
509 <label class="right">Day :</label> 513 <label class="right">Day :</label>
510 </v-flex> 514 </v-flex>
511 <v-flex xs8 sm8 class="ml-2"> 515 <v-flex xs8 sm8 class="ml-2">
512 <v-select 516 <v-select
513 :items="day" 517 :items="day"
514 label="Select your day" 518 label="Select your day"
515 v-model="addRoutine.day" 519 v-model="addRoutine.day"
516 item-text="text" 520 item-text="text"
517 :rules="dayRules" 521 :rules="dayRules"
518 required 522 required
519 ></v-select> 523 ></v-select>
520 </v-flex> 524 </v-flex>
521 </v-layout> 525 </v-layout>
522 <v-layout> 526 <v-layout>
523 <v-flex xs4 sm4 class="pt-4 subheading"> 527 <v-flex xs4 sm4 class="pt-4 subheading">
524 <label class="right">Teacher Name :</label> 528 <label class="right">Teacher Name :</label>
525 </v-flex> 529 </v-flex>
526 <v-flex xs8 sm8 class="ml-3"> 530 <v-flex xs8 sm8 class="ml-3">
527 <v-select 531 <v-select
528 v-model="addRoutine.teacherId" 532 v-model="addRoutine.teacherId"
529 label="Select your teacher" 533 label="Select your teacher"
530 type="text" 534 type="text"
531 :items="teacherList" 535 :items="teacherList"
532 item-text="name" 536 item-text="name"
533 item-value="_id" 537 item-value="_id"
534 :rules="teacherRules" 538 :rules="teacherRules"
535 required 539 required
536 ></v-select> 540 ></v-select>
537 </v-flex> 541 </v-flex>
538 </v-layout> 542 </v-layout>
539 <v-layout> 543 <v-layout>
540 <v-flex xs4 sm4 class="pt-4 subheading"> 544 <v-flex xs4 sm4 class="pt-4 subheading">
541 <label class="right">Starting time:</label> 545 <label class="right">Starting time:</label>
542 </v-flex> 546 </v-flex>
543 <v-flex xs8 sm8 class="ml-3"> 547 <v-flex xs8 sm8 class="ml-3">
544 <v-menu 548 <v-menu
545 ref="menuA" 549 ref="menuA"
546 :close-on-content-click="false" 550 :close-on-content-click="false"
547 v-model="menuB" 551 v-model="menuB"
548 :nudge-right="40" 552 :nudge-right="40"
549 :return-value.sync="addRoutine.startingTime" 553 :return-value.sync="addRoutine.startingTime"
550 lazy 554 lazy
551 transition="scale-transition" 555 transition="scale-transition"
552 offset-y 556 offset-y
553 full-width 557 full-width
554 max-width="290px" 558 max-width="290px"
555 min-width="290px" 559 min-width="290px"
556 > 560 >
557 <v-text-field 561 <v-text-field
558 slot="activator" 562 slot="activator"
559 v-model="addRoutine.startingTime" 563 v-model="addRoutine.startingTime"
560 label="Select your starting time" 564 label="Select your starting time"
561 append-icon="access_time" 565 append-icon="access_time"
562 :rules="timeInRules" 566 :rules="timeInRules"
563 readonly 567 readonly
564 ></v-text-field> 568 ></v-text-field>
565 <v-time-picker 569 <v-time-picker
566 v-model="addRoutine.startingTime" 570 v-model="addRoutine.startingTime"
567 @change="$refs.menuA.save(addRoutine.startingTime)" 571 @change="$refs.menuA.save(addRoutine.startingTime)"
568 ></v-time-picker> 572 ></v-time-picker>
569 </v-menu> 573 </v-menu>
570 </v-flex> 574 </v-flex>
571 </v-layout> 575 </v-layout>
572 <v-layout> 576 <v-layout>
573 <v-flex xs4 sm4 class="pt-4 subheading"> 577 <v-flex xs4 sm4 class="pt-4 subheading">
574 <label class="right">Ending Time:</label> 578 <label class="right">Ending Time:</label>
575 </v-flex> 579 </v-flex>
576 <v-flex xs8 sm8 class="ml-3"> 580 <v-flex xs8 sm8 class="ml-3">
577 <v-menu 581 <v-menu
578 ref="menu" 582 ref="menu"
579 :close-on-content-click="false" 583 :close-on-content-click="false"
580 v-model="menu1" 584 v-model="menu1"
581 :nudge-right="40" 585 :nudge-right="40"
582 :return-value.sync="addRoutine.endingTime" 586 :return-value.sync="addRoutine.endingTime"
583 lazy 587 lazy
584 transition="scale-transition" 588 transition="scale-transition"
585 offset-y 589 offset-y
586 full-width 590 full-width
587 max-width="290px" 591 max-width="290px"
588 min-width="290px" 592 min-width="290px"
589 > 593 >
590 <v-text-field 594 <v-text-field
591 slot="activator" 595 slot="activator"
592 v-model="addRoutine.endingTime" 596 v-model="addRoutine.endingTime"
593 label="Select your end time" 597 label="Select your end time"
594 append-icon="access_time" 598 append-icon="access_time"
595 :rules="timeOutRules" 599 :rules="timeOutRules"
596 readonly 600 readonly
597 ></v-text-field> 601 ></v-text-field>
598 <v-time-picker 602 <v-time-picker
599 v-model="addRoutine.endingTime" 603 v-model="addRoutine.endingTime"
600 @change="$refs.menu.save(addRoutine.endingTime)" 604 @change="$refs.menu.save(addRoutine.endingTime)"
601 ></v-time-picker> 605 ></v-time-picker>
602 </v-menu> 606 </v-menu>
603 </v-flex> 607 </v-flex>
604 </v-layout> 608 </v-layout>
605 <v-layout> 609 <v-layout>
606 <v-flex xs4 sm4 class="pt-4 subheading"> 610 <v-flex xs4 sm4 class="pt-4 subheading">
607 <label class="right">Room:</label> 611 <label class="right">Room:</label>
608 </v-flex> 612 </v-flex>
609 <v-flex xs8 sm8 class="ml-3"> 613 <v-flex xs8 sm8 class="ml-3">
610 <v-text-field 614 <v-text-field
611 label="fill your room" 615 label="fill your room"
612 :rules="roomRules" 616 :rules="roomRules"
613 v-model="addRoutine.room" 617 v-model="addRoutine.room"
614 @keyup.enter="submit" 618 @keyup.enter="submit"
615 ></v-text-field> 619 ></v-text-field>
616 </v-flex> 620 </v-flex>
617 </v-layout> 621 </v-layout>
618 <v-layout> 622 <v-layout>
619 <v-flex xs4 sm4 class="pt-4 subheading"> 623 <v-flex xs4 sm4 class="pt-4 subheading">
620 <label class="right">Period:</label> 624 <label class="right">Period:</label>
621 </v-flex> 625 </v-flex>
622 <v-flex xs8 sm8 class="ml-3"> 626 <v-flex xs8 sm8 class="ml-3">
623 <v-text-field 627 <v-text-field
624 label="fill your period" 628 label="fill your period"
625 :rules="periodRules" 629 :rules="periodRules"
626 v-model="addRoutine.period" 630 v-model="addRoutine.period"
627 @keyup.enter="submit" 631 @keyup.enter="submit"
628 ></v-text-field> 632 ></v-text-field>
629 </v-flex> 633 </v-flex>
630 </v-layout> 634 </v-layout>
631 <v-layout> 635 <v-layout>
632 <v-flex xs12 sm12> 636 <v-flex xs12 sm12>
633 <v-card-actions> 637 <v-card-actions>
634 <v-spacer></v-spacer> 638 <v-spacer></v-spacer>
635 <v-btn 639 <v-btn
636 @click="create" 640 @click="create"
637 round 641 round
638 dark 642 dark
639 :loading="loading" 643 :loading="loading"
640 class="add-button" 644 class="add-button"
641 >Add Routine</v-btn> 645 >Add Routine</v-btn>
642 </v-card-actions> 646 </v-card-actions>
643 </v-flex> 647 </v-flex>
644 </v-layout> 648 </v-layout>
645 </v-form> 649 </v-form>
646 </v-flex> 650 </v-flex>
647 </v-layout> 651 </v-layout>
648 </v-container> 652 </v-container>
649 </v-card> 653 </v-card>
650 </v-dialog> 654 </v-dialog>
651 <div class="loader" v-if="showLoader"> 655 <div class="loader" v-if="showLoader">
652 <v-progress-circular indeterminate color="white"></v-progress-circular> 656 <v-progress-circular indeterminate color="white"></v-progress-circular>
653 </div> 657 </div>
654 </v-container> 658 </v-container>
655 </template> 659 </template>
656 660
657 <script> 661 <script>
658 import http from "@/Services/http.js"; 662 import http from "@/Services/http.js";
659 import Util from "@/util"; 663 import Util from "@/util";
660 664
661 export default { 665 export default {
662 data: () => ({ 666 data: () => ({
663 snackbar: false, 667 snackbar: false,
664 y: "top", 668 y: "top",
665 x: "right", 669 x: "right",
666 role: "", 670 role: "",
667 mode: "", 671 mode: "",
668 timeout: 3000, 672 timeout: 3000,
669 text: "", 673 text: "",
670 color: "", 674 color: "",
671 show: true, 675 show: true,
672 showSearch: false, 676 showSearch: false,
673 showLoader: false, 677 showLoader: false,
674 loading: false, 678 loading: false,
675 editLoading: false, 679 editLoading: false,
676 date: null, 680 date: null,
677 search: "", 681 search: "",
678 editRoutineDialog: false, 682 editRoutineDialog: false,
679 valid: true, 683 valid: true,
680 validEditRoutine: true, 684 validEditRoutine: true,
681 addRoutineDialog: false, 685 addRoutineDialog: false,
682 showTable: false, 686 showTable: false,
683 hideTable: true, 687 hideTable: true,
684 name: "", 688 name: "",
685 689
686 day: [ 690 day: [
687 "Monday", 691 "Monday",
688 "Tuesday", 692 "Tuesday",
689 "Wednesday", 693 "Wednesday",
690 "Thursday", 694 "Thursday",
691 "Friday", 695 "Friday",
692 "Saturday", 696 "Saturday",
693 "Sunday" 697 "Sunday"
694 ], 698 ],
695 699
696 token: "", 700 token: "",
697 701
698 menu1: false, 702 menu1: false,
699 menuB: false, 703 menuB: false,
700 menu2: false, 704 menu2: false,
701 705
702 schoolRules: [v => !!v || "School Year is required"], 706 schoolRules: [v => !!v || "School Year is required"],
703 classRules: [v => !!v || " Class Name is required"], 707 classRules: [v => !!v || " Class Name is required"],
704 teacherRules: [v => !!v || " Teacher Name is required"], 708 teacherRules: [v => !!v || " Teacher Name is required"],
705 sectionRules: [v => !!v || "Section is required"], 709 sectionRules: [v => !!v || "Section is required"],
706 studentRules: [v => !!v || " Student is required"], 710 studentRules: [v => !!v || " Student is required"],
707 finalRules: [v => !!v || "Final MArk is required"], 711 finalRules: [v => !!v || "Final MArk is required"],
708 subjectRules: [v => !!v || " Subject Name is required"], 712 subjectRules: [v => !!v || " Subject Name is required"],
709 dayRules: [v => !!v || "Day is required"], 713 dayRules: [v => !!v || "Day is required"],
710 timeInRules: [v => !!v || "Start Time is required"], 714 timeInRules: [v => !!v || "Start Time is required"],
711 timeOutRules: [v => !!v || "End Time is required"], 715 timeOutRules: [v => !!v || "End Time is required"],
712 roomRules: [v => !!v || "Room is required"], 716 roomRules: [v => !!v || "Room is required"],
713 periodRules: [v => !!v || "Period is required"], 717 periodRules: [v => !!v || "Period is required"],
714 718
715 classList: [], 719 classList: [],
716 addSection: [], 720 addSection: [],
717 subjectList: [], 721 subjectList: [],
718 teacherList: [], 722 teacherList: [],
719 titleRules: [], 723 titleRules: [],
720 markRules: [], 724 markRules: [],
721 typeRules: [], 725 typeRules: [],
722 routineList: [], 726 routineList: [],
723 editedIndex: -1, 727 editedIndex: -1,
724 addRoutine: {}, 728 addRoutine: {},
725 startingTime: "", 729 startingTime: "",
726 editedItem: {} 730 editedItem: {}
727 731
728 // editedItem: { 732 // editedItem: {
729 // schoolYear: "", 733 // schoolYear: "",
730 // day: "", 734 // day: "",
731 // teacherId: "", 735 // teacherId: "",
732 // classId: "", 736 // classId: "",
733 // sectionId: "", 737 // sectionId: "",
734 // startingTime: "", 738 // startingTime: "",
735 // endingTime: "", 739 // endingTime: "",
736 // room: "", 740 // room: "",
737 // period: "", 741 // period: "",
738 // subjectName: "" 742 // subjectName: ""
739 // } 743 // }
740 }), 744 }),
741 methods: { 745 methods: {
742 editItem(item) { 746 editItem(item) {
743 this.editedIndex = this.routineList; 747 this.editedIndex = this.routineList;
744 this.editedItem = Object.assign({}, item); 748 this.editedItem = Object.assign({}, item);
745 // this.editedItem.subjectName = item.lectureRoutine.subjectName; 749 // this.editedItem.subjectName = item.lectureRoutine.subjectName;
746 this.dialog = true; 750 this.dialog = true;
747 this.editRoutineDialog = true; 751 this.editRoutineDialog = true;
748 }, 752 },
749 deleteItem(item) { 753 deleteItem(item) {
750 let deleteLecture = { 754 let deleteLecture = {
751 routineId: item._id, 755 routineId: item._id,
752 lectureId: item.lectureRoutine[0]._id 756 lectureId: item.lectureRoutine[0]._id
753 }; 757 };
754 http() 758 http()
755 .delete( 759 .delete(
756 "/deleteRoutineLecture", 760 "/deleteRoutineLecture",
757 confirm("Are you sure you want to delete this?") && { 761 confirm("Are you sure you want to delete this?") && {
758 params: deleteLecture 762 params: deleteLecture
759 } 763 }
760 ) 764 )
761 .then(response => { 765 .then(response => {
762 this.snackbar = true; 766 this.snackbar = true;
763 this.text = "Successfully delete Existing Routine"; 767 this.text = "Successfully delete Existing Routine";
764 this.color = "green"; 768 this.color = "green";
765 this.getRoutineList(); 769 this.getRoutineList();
766 }) 770 })
767 .catch(error => { 771 .catch(error => {
768 this.snackbar = true; 772 this.snackbar = true;
769 this.text = error.response.data.message; 773 this.text = error.response.data.message;
770 this.color = "error"; 774 this.color = "error";
771 }); 775 });
772 }, 776 },
773 close() { 777 close() {
774 this.editRoutineDialog = false; 778 this.editRoutineDialog = false;
775 }, 779 },
776 780
777 create() { 781 create() {
778 var routineData = { 782 var routineData = {
779 schoolYear: this.addRoutine.schoolYear, 783 schoolYear: this.addRoutine.schoolYear,
780 classId: this.addRoutine.classId, 784 classId: this.addRoutine.classId,
781 sectionId: this.addRoutine.sectionId, 785 sectionId: this.addRoutine.sectionId,
782 day: this.addRoutine.day, 786 day: this.addRoutine.day,
783 lectureRoutine: [] 787 lectureRoutine: []
784 }; 788 };
785 if (this.$refs.form.validate()) { 789 if (this.$refs.form.validate()) {
786 routineData.lectureRoutine.push({ 790 routineData.lectureRoutine.push({
787 teacherId: this.addRoutine.teacherId, 791 teacherId: this.addRoutine.teacherId,
788 startingTime: this.addRoutine.startingTime, 792 startingTime: this.addRoutine.startingTime,
789 endingTime: this.addRoutine.endingTime, 793 endingTime: this.addRoutine.endingTime,
790 room: this.addRoutine.room, 794 room: this.addRoutine.room,
791 period: this.addRoutine.period, 795 period: this.addRoutine.period,
792 subjectName: this.addRoutine.subjectName 796 subjectName: this.addRoutine.subjectName
793 }); 797 });
794 http() 798 http()
795 .post("/createRoutine", routineData) 799 .post("/createRoutine", routineData)
796 .then(response => { 800 .then(response => {
797 this.getRoutineList(); 801 this.getRoutineList();
798 this.text = "Routine added successfully"; 802 this.text = "Routine added successfully";
799 this.clear(); 803 this.clear();
800 this.snackbar = true; 804 this.snackbar = true;
801 this.color = "green"; 805 this.color = "green";
802 this.addRoutineDialog = false; 806 this.addRoutineDialog = false;
803 }) 807 })
804 .catch(error => { 808 .catch(error => {
805 // console.log(error); 809 // console.log(error);
806 this.snackbar = true; 810 this.snackbar = true;
807 this.text = error.response.data.message; 811 this.text = error.response.data.message;
808 this.color = "error"; 812 this.color = "error";
809 }); 813 });
810 } 814 }
811 }, 815 },
812 clear() { 816 clear() {
813 this.$refs.form.reset(); 817 this.$refs.form.reset();
814 }, 818 },
815 819
816 update() { 820 update() {
817 // if (this.$refs.formEditRoutine.validate()) { 821 // if (this.$refs.formEditRoutine.validate()) {
818 // let editSubject = { 822 // let editSubject = {
819 // classId: this.editedItem.classId, 823 // classId: this.editedItem.classId,
820 // subjectId: this.editedItem._id, 824 // subjectId: this.editedItem._id,
821 // teacherId: this.editedItem.teacherId, 825 // teacherId: this.editedItem.teacherId,
822 // type: this.editedItem.type, 826 // type: this.editedItem.type,
823 // passMarks: this.editedItem.passMarks, 827 // passMarks: this.editedItem.passMarks,
824 // finalMarks: this.editedItem.finalMarks, 828 // finalMarks: this.editedItem.finalMarks,
825 // subjectAuthor: this.editedItem.subjectAuthor, 829 // subjectAuthor: this.editedItem.subjectAuthor,
826 // subjectCode: this.editedItem.subjectCode, 830 // subjectCode: this.editedItem.subjectCode,
827 // subjectName: this.editedItem.subjectName 831 // subjectName: this.editedItem.subjectName
828 // }; 832 // };
829 // this.editLoading = true; 833 // this.editLoading = true;
830 // http() 834 // http()
831 // .put("/updateSubject", editSubject) 835 // .put("/updateSubject", editSubject)
832 // .then(response => { 836 // .then(response => {
833 // this.snackbar = true; 837 // this.snackbar = true;
834 // this.text = "Successfully Edit Existing Subject"; 838 // this.text = "Successfully Edit Existing Subject";
835 // this.color = "green"; 839 // this.color = "green";
836 // this.editLoading = false; 840 // this.editLoading = false;
837 // this.editRoutineDialog = false; 841 // this.editRoutineDialog = false;
838 // http() 842 // http()
839 // .get( 843 // .get(
840 // "/getParticularClass", 844 // "/getParticularClass",
841 // { params: { classId: _id } }, 845 // { params: { classId: _id } },
842 // { 846 // {
843 // headers: { Authorization: "Bearer " + this.token } 847 // headers: { Authorization: "Bearer " + this.token }
844 // } 848 // }
845 // ) 849 // )
846 // .then(response => { 850 // .then(response => {
847 // this.subjectList = response.data.data; 851 // this.subjectList = response.data.data;
848 // this.snackbar = true; 852 // this.snackbar = true;
849 // this.color = "green"; 853 // this.color = "green";
850 // this.text = response.data.message; 854 // this.text = response.data.message;
851 // this.close(); 855 // this.close();
852 // }) 856 // })
853 // .catch(err => { 857 // .catch(err => {
854 // console.log("err====>", err); 858 // console.log("err====>", err);
855 // }); 859 // });
856 // }) 860 // })
857 // .catch(error => { 861 // .catch(error => {
858 // this.editLoading = false; 862 // this.editLoading = false;
859 863
860 // // console.log(error); 864 // // console.log(error);
861 // }); 865 // });
862 // } 866 // }
863 }, 867 },
864 getClass() { 868 getClass() {
865 http() 869 http()
866 .get("/getClassesList", { 870 .get("/getClassesList", {
867 headers: { Authorization: "Bearer " + this.token } 871 headers: { Authorization: "Bearer " + this.token }
868 }) 872 })
869 .then(response => { 873 .then(response => {
870 this.classList = response.data.data; 874 this.classList = response.data.data;
871 }) 875 })
872 .catch(error => { 876 .catch(error => {
873 if (error.response.status === 401) { 877 if (error.response.status === 401) {
874 this.$router.replace({ path: "/" }); 878 this.$router.replace({ path: "/" });
875 this.$store.dispatch("setToken", null); 879 this.$store.dispatch("setToken", null);
876 this.$store.dispatch("Id", null); 880 this.$store.dispatch("Id", null);
877 } 881 }
878 }); 882 });
879 }, 883 },
880 getSections(_id) { 884 getSections(_id) {
881 var token = this.$store.state.token; 885 var token = this.$store.state.token;
882 this.showLoader = true; 886 this.showLoader = true;
883 http() 887 http()
884 .get( 888 .get(
885 "/getSectionsList", 889 "/getSectionsList",
886 { params: { classId: _id } }, 890 { params: { classId: _id } },
887 { 891 {
888 headers: { Authorization: "Bearer " + token } 892 headers: { Authorization: "Bearer " + token }
889 } 893 }
890 ) 894 )
891 .then(response => { 895 .then(response => {
892 this.addSection = response.data.data; 896 this.addSection = response.data.data;
893 this.showLoader = false; 897 this.showLoader = false;
894 }) 898 })
895 .catch(err => { 899 .catch(err => {
896 this.showLoader = false; 900 this.showLoader = false;
897 }); 901 });
898 }, 902 },
899 getClassSubject(_id) { 903 getClassSubject(_id) {
900 this.showLoader = true; 904 this.showLoader = true;
901 // this.classId = this.classId; 905 // this.classId = this.classId;
902 http() 906 http()
903 .get( 907 .get(
904 "/getParticularClass", 908 "/getParticularClass",
905 { params: { classId: _id } }, 909 { params: { classId: _id } },
906 { 910 {
907 headers: { Authorization: "Bearer " + this.token } 911 headers: { Authorization: "Bearer " + this.token }
908 } 912 }
909 ) 913 )
910 .then(response => { 914 .then(response => {
911 this.subjectList = response.data.data; 915 this.subjectList = response.data.data;
912 this.showLoader = false; 916 this.showLoader = false;
913 }) 917 })
914 .catch(err => { 918 .catch(err => {
915 this.showLoader = false; 919 this.showLoader = false;
916 }); 920 });
917 }, 921 },
918 getTeacherList() { 922 getTeacherList() {
919 this.showLoader = true; 923 this.showLoader = true;
920 var token = this.$store.state.token; 924 var token = this.$store.state.token;
921 http() 925 http()
922 .get("/getTeachersList", { 926 .get("/getTeachersList", {
923 headers: { Authorization: "Bearer " + token } 927 headers: { Authorization: "Bearer " + token }
924 }) 928 })
925 .then(response => { 929 .then(response => {
926 this.teacherList = response.data.data; 930 this.teacherList = response.data.data;
927 this.showLoader = false; 931 this.showLoader = false;
928 // console.log("getTeacherList=====>",this.desserts) 932 // console.log("getTeacherList=====>",this.desserts)
929 }) 933 })
930 .catch(error => { 934 .catch(error => {
931 this.showLoader = false; 935 this.showLoader = false;
932 if (error.response.status === 401) { 936 if (error.response.status === 401) {
933 this.$router.replace({ path: "/" }); 937 this.$router.replace({ path: "/" });
934 this.$store.dispatch("setToken", null); 938 this.$store.dispatch("setToken", null);
935 this.$store.dispatch("Id", null); 939 this.$store.dispatch("Id", null);
936 } 940 }
937 }); 941 });
938 }, 942 },
939 getRoutineList() { 943 getRoutineList() {
940 this.showLoader = true; 944 this.showLoader = true;
941 http() 945 http()
942 .get( 946 .get(
943 "/getRoutineList", 947 "/getRoutineList",
944 { 948 {
945 params: { 949 params: {
946 classId: this.addRoutine.classId, 950 classId: this.addRoutine.classId,
947 sectionId: this.addRoutine.sectionId 951 sectionId: this.addRoutine.sectionId
948 } 952 }
949 }, 953 },
950 { 954 {
951 headers: { Authorization: "Bearer " + this.token } 955 headers: { Authorization: "Bearer " + this.token }
952 } 956 }
953 ) 957 )
954 .then(response => { 958 .then(response => {
955 this.routineList = response.data.data; 959 this.routineList = response.data.data;
956 this.showLoader = false; 960 this.showLoader = false;
957 this.showTable = true; 961 this.showTable = true;
958 this.hideTable = false; 962 this.hideTable = false;
959 }) 963 })
960 .catch(err => { 964 .catch(err => {
961 this.showLoader = false; 965 this.showLoader = false;
962 }); 966 });
963 }, 967 },
964 displaySearch() { 968 displaySearch() {
965 (this.show = false), (this.showSearch = true); 969 (this.show = false), (this.showSearch = true);
966 }, 970 },
967 closeSearch() { 971 closeSearch() {
968 this.showSearch = false; 972 this.showSearch = false;
969 this.show = true; 973 this.show = true;
970 this.search = ""; 974 this.search = "";
971 } 975 }
972 }, 976 },
973 mounted() { 977 mounted() {
974 this.token = this.$store.state.token; 978 this.token = this.$store.state.token;
975 this.getClass(); 979 this.getClass();
976 this.getTeacherList(); 980 this.getTeacherList();
977 this.role = this.$store.state.role; 981 this.role = this.$store.state.role;
978 } 982 }
979 }; 983 };
980 </script> 984 </script>
981 985
982 <style scoped> 986 <style scoped>
983 html, 987 html,
984 body { 988 body {
985 font-family: "OpenSans Regular"; 989 font-family: "OpenSans Regular";
986 } 990 }
987 .box .box-body { 991 .box .box-body {
988 padding: 15px; 992 padding: 15px;
989 border-top-left-radius: 0; 993 border-top-left-radius: 0;
990 border-top-right-radius: 0; 994 border-top-right-radius: 0;
991 border-bottom-right-radius: 3px; 995 border-bottom-right-radius: 3px;
992 border-bottom-left-radius: 3px; 996 border-bottom-left-radius: 3px;
993 } 997 }
994 .nav-tabs-custom { 998 .nav-tabs-custom {
995 margin-bottom: 20px; 999 margin-bottom: 20px;
996 background: #fff; 1000 background: #fff;
997 box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); 1001 box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1);
998 } 1002 }
999 .nav-tabs { 1003 .nav-tabs {
1000 border-bottom: 1px solid #ddd; 1004 border-bottom: 1px solid #ddd;
1001 } 1005 }
1002 .nav { 1006 .nav {
1003 padding-left: 0; 1007 padding-left: 0;
1004 list-style: none; 1008 list-style: none;
1005 } 1009 }
1006 .tab-content > .active { 1010 .tab-content > .active {
1007 display: block; 1011 display: block;
1008 } 1012 }
1009 .nav-tabs-custom > .nav-tabs > li.active > a { 1013 .nav-tabs-custom > .nav-tabs > li.active > a {
1010 border-top: 0; 1014 border-top: 0;
1011 border-left-color: #09a3a3; 1015 border-left-color: #09a3a3;
1012 border-right-color: #09a3a3; 1016 border-right-color: #09a3a3;
1013 } 1017 }
1014 .nav-tabs-custom > .nav-tabs { 1018 .nav-tabs-custom > .nav-tabs {
1015 background-color: #e5e5e5; 1019 background-color: #e5e5e5;
1016 margin: 0; 1020 margin: 0;
1017 border-bottom-color: #e5e5e5; 1021 border-bottom-color: #e5e5e5;
1018 } 1022 }
1019 .nav-tabs-custom > .nav-tabs > li:first-of-type { 1023 .nav-tabs-custom > .nav-tabs > li:first-of-type {
1020 margin-left: 0px; 1024 margin-left: 0px;
1021 } 1025 }
1022 .nav-tabs-custom > .nav-tabs > li.active { 1026 .nav-tabs-custom > .nav-tabs > li.active {
1023 border-bottom-color: #09a3a3; 1027 border-bottom-color: #09a3a3;
1024 } 1028 }
1025 .nav-tabs-custom > .nav-tabs > li { 1029 .nav-tabs-custom > .nav-tabs > li {
1026 border-bottom: 2px solid transparent; 1030 border-bottom: 2px solid transparent;
1027 border-top: 3px solid transparent; 1031 border-top: 3px solid transparent;
1028 margin-bottom: -2px; 1032 margin-bottom: -2px;
1029 margin-right: 5px; 1033 margin-right: 5px;
1030 } 1034 }
1031 .nav-tabs-custom > .nav-tabs > li:first-of-type.active > a { 1035 .nav-tabs-custom > .nav-tabs > li:first-of-type.active > a {
1032 border-left-width: 0; 1036 border-left-width: 0;
1033 } 1037 }
1034 .nav-tabs-custom > .nav-tabs > li.active > a { 1038 .nav-tabs-custom > .nav-tabs > li.active > a {
1035 border-top: 0; 1039 border-top: 0;
1036 border-bottom-color: #09a3a3; 1040 border-bottom-color: #09a3a3;
1037 } 1041 }
1038 .nav-tabs-custom > .nav-tabs > li.active > a, 1042 .nav-tabs-custom > .nav-tabs > li.active > a,
1039 .nav-tabs-custom > .nav-tabs > li.active:hover > a { 1043 .nav-tabs-custom > .nav-tabs > li.active:hover > a {
1040 background-color: #e5e5e5; 1044 background-color: #e5e5e5;
1041 border: 0px; 1045 border: 0px;
1042 color: #000000db; 1046 color: #000000db;
1043 } 1047 }
1044 .nav-tabs-custom > .nav-tabs > li > a, 1048 .nav-tabs-custom > .nav-tabs > li > a,
1045 .nav-tabs-custom > .nav-tabs > li > a:hover { 1049 .nav-tabs-custom > .nav-tabs > li > a:hover {
1046 border-radius: 0 !important; 1050 border-radius: 0 !important;
1047 } 1051 }
1048 .nav-tabs-custom > .tab-content { 1052 .nav-tabs-custom > .tab-content {
1049 background: #fff; 1053 background: #fff;
1050 padding: 10px; 1054 padding: 10px;
1051 } 1055 }
1052 .page-header { 1056 .page-header {
1053 margin: 10px 0 20px 0; 1057 margin: 10px 0 20px 0;
1054 padding: 0px 0px 16px; 1058 padding: 0px 0px 16px;
1055 font-size: 22px; 1059 font-size: 22px;
1056 border: none; 1060 border: none;
1057 } 1061 }
1058 .table { 1062 .table {
1059 width: 100%; 1063 width: 100%;
1060 border-collapse: collapse; 1064 border-collapse: collapse;
1061 border-spacing: 0; 1065 border-spacing: 0;
1062 } 1066 }
1063 .table > tbody > tr > th, 1067 .table > tbody > tr > th,
1064 .table > tfoot > tr > th, 1068 .table > tfoot > tr > th,
1065 .table > tbody > tr > td, 1069 .table > tbody > tr > td,
1066 .table > tfoot > tr > td { 1070 .table > tfoot > tr > td {
1067 padding: 8px; 1071 padding: 8px;
1068 line-height: 1.428571429; 1072 line-height: 1.428571429;
1069 vertical-align: top; 1073 vertical-align: top;
1070 border-top: 1px solid #ddd; 1074 border-top: 1px solid #ddd;
1071 } 1075 }
1072 .nav::before, 1076 .nav::before,
1073 .nav::after { 1077 .nav::after {
1074 display: table; 1078 display: table;
1075 content: ""; 1079 content: "";
1076 } 1080 }
1077 .box .box-body .table { 1081 .box .box-body .table {
1078 margin-bottom: 0; 1082 margin-bottom: 0;
1079 } 1083 }
1080 .table-bordered { 1084 .table-bordered {
1081 border: 1px solid #e2e7eb; 1085 border: 1px solid #e2e7eb;
1082 } 1086 }
1083 .table-striped > tbody > tr:nth-child(2n + 1) > td, 1087 .table-striped > tbody > tr:nth-child(2n + 1) > td,
1084 .table-striped > tbody > tr:nth-child(2n + 1) > th { 1088 .table-striped > tbody > tr:nth-child(2n + 1) > th {
1085 background-color: #f0f3f5; 1089 background-color: #f0f3f5;
1086 } 1090 }
1087 .table-bordered > tbody > v-data-table > template > tr > th, 1091 .table-bordered > tbody > v-data-table > template > tr > th,
1088 .table-bordered > tbody > tr > td { 1092 .table-bordered > tbody > tr > td {
1089 border-color: #e2e7eb; 1093 border-color: #e2e7eb;
1090 font-size: 12px; 1094 font-size: 12px;
1091 } 1095 }
1092 .table-bordered > tbody > tr > td { 1096 .table-bordered > tbody > tr > td {
1093 color: #707070; 1097 color: #707070;
1094 } 1098 }
1095 /* 1099 /*
1096 .table-bordered > tbody > tr > th, 1100 .table-bordered > tbody > tr > th,
1097 .table-bordered > tfoot > tr > th, 1101 .table-bordered > tfoot > tr > th,
1098 .table-bordered > tbody > tr > td, 1102 .table-bordered > tbody > tr > td,
1099 .table-bordered > tfoot > tr > td { 1103 .table-bordered > tfoot > tr > td {
1100 border: 1px solid #ddd; 1104 border: 1px solid #ddd;
1101 } */ 1105 } */
1102 .mCustomScrollbar.mCS_no_scrollbar, 1106 .mCustomScrollbar.mCS_no_scrollbar,
1103 .mCustomScrollbar.mCS_touch_action { 1107 .mCustomScrollbar.mCS_touch_action {
1104 touch-action: auto; 1108 touch-action: auto;
1105 } 1109 }
1106 .mCSB_scrollTools.mCSB_scrollTools_horizontal { 1110 .mCSB_scrollTools.mCSB_scrollTools_horizontal {
1107 width: auto; 1111 width: auto;
1108 height: 16px; 1112 height: 16px;
1109 top: auto; 1113 top: auto;
1110 right: 0; 1114 right: 0;
1111 bottom: 0; 1115 bottom: 0;
1112 left: 0; 1116 left: 0;
1113 } 1117 }
1114 .mCSB_scrollTools { 1118 .mCSB_scrollTools {
1115 opacity: 0.75; 1119 opacity: 0.75;
1116 } 1120 }
1117 .mCSB_scrollTools .mCSB_draggerContainer { 1121 .mCSB_scrollTools .mCSB_draggerContainer {
1118 position: absolute; 1122 position: absolute;
1119 height: auto; 1123 height: auto;
1120 top: 0; 1124 top: 0;
1121 left: 0; 1125 left: 0;
1122 bottom: 0; 1126 bottom: 0;
1123 right: 0; 1127 right: 0;
1124 } 1128 }
1125 .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger { 1129 .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger {
1126 height: 100%; 1130 height: 100%;
1127 } 1131 }
1128 .mCSB_scrollTools .mCSB_dragger { 1132 .mCSB_scrollTools .mCSB_dragger {
1129 cursor: pointer; 1133 cursor: pointer;
1130 z-index: 1; 1134 z-index: 1;
1131 } 1135 }
1132 .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { 1136 .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
1133 width: 100%; 1137 width: 100%;
1134 height: 4px; 1138 height: 4px;
1135 margin: 6px auto; 1139 margin: 6px auto;
1136 } 1140 }
1137 .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { 1141 .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
1138 background-color: rgba(255, 255, 255, 0.75); 1142 background-color: rgba(255, 255, 255, 0.75);
1139 } 1143 }
1140 .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail { 1144 .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
1141 width: 100%; 1145 width: 100%;
1142 height: 2px; 1146 height: 2px;
1143 margin: 7px 0; 1147 margin: 7px 0;
1144 } 1148 }
1145 .mCSB_scrollTools .mCSB_draggerRail { 1149 .mCSB_scrollTools .mCSB_draggerRail {
1146 background-color: rgba(0, 0, 0, 0.4); 1150 background-color: rgba(0, 0, 0, 0.4);
1147 border-radius: 16px; 1151 border-radius: 16px;
1148 } 1152 }
1149 .mCustomScrollBox { 1153 .mCustomScrollBox {
1150 position: relative; 1154 position: relative;
1151 overflow: hidden; 1155 overflow: hidden;
1152 height: 100%; 1156 height: 100%;
1153 max-width: 100%; 1157 max-width: 100%;
1154 outline: none; 1158 outline: none;
1155 direction: ltr; 1159 direction: ltr;
1156 } 1160 }
1157 /* .mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden { 1161 /* .mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden {
1158 margin-bottom: 0; 1162 margin-bottom: 0;
1159 } 1163 }
1160 .mCSB_horizontal.mCSB_inside > .mCSB_container { 1164 .mCSB_horizontal.mCSB_inside > .mCSB_container {
1161 margin-right: 0; 1165 margin-right: 0;
1162 } */ 1166 } */
1163 .mCSB_container { 1167 .mCSB_container {
1164 overflow: hidden; 1168 overflow: hidden;
1165 height: auto; 1169 height: auto;
1166 } 1170 }
1167 1171
1168 @media (min-width: 768px) { 1172 @media (min-width: 768px) {
1169 .col-sm-12 { 1173 .col-sm-12 {
1170 width: 100%; 1174 width: 100%;
1171 } 1175 }
1172 } 1176 }