Blame view

src/pages/Subjects/subjects.vue 26.2 KB
beb598536   Neeraj Sharma   design and functi...
1
  <template>
68d742034   Neeraj Sharma   implement new des...
2
3
    <v-container fluid class="body-color">
      <!-- ****** EDIT  Subject ****** -->
db965de89   Amber Dev   added dialog pers...
4
      <v-dialog v-model="editSubjectDialog" max-width="600px" persistent>
68d742034   Neeraj Sharma   implement new des...
5
6
7
8
9
        <v-card flat class="card-style pa-2" dark>
          <v-layout>
            <v-flex xs12>
              <label class="title text-xs-center">Edit Subject</label>
              <v-icon size="24" class="right" @click="editSubjectDialog = false">cancel</v-icon>
beb598536   Neeraj Sharma   design and functi...
10
            </v-flex>
68d742034   Neeraj Sharma   implement new des...
11
12
13
          </v-layout>
          <v-container fluid>
            <v-form ref="formEditSubject" v-model="validEditSubject" lazy-validation>
46db0a3b5   Neeraj Sharma   add sunbject and ...
14
              <v-layout>
68d742034   Neeraj Sharma   implement new des...
15
16
                <v-flex xs4 class="pt-4 subheading">
                  <label class="right">Class:</label>
46db0a3b5   Neeraj Sharma   add sunbject and ...
17
                </v-flex>
68d742034   Neeraj Sharma   implement new des...
18
                <v-flex xs8 class="ml-3">
46db0a3b5   Neeraj Sharma   add sunbject and ...
19
                  <v-select
8e9ce24f1   Shikha Mishra   added subject file
20
21
22
                    v-model="editedItem.classId"
                    label="Select your class"
                    type="text"
46db0a3b5   Neeraj Sharma   add sunbject and ...
23
                    :items="classList"
46db0a3b5   Neeraj Sharma   add sunbject and ...
24
25
                    item-text="classNum"
                    item-value="_id"
8e9ce24f1   Shikha Mishra   added subject file
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
                    :rules="classRules"
                    required
                  ></v-select>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs4 sm4 class="pt-4 subheading">
                  <label class="right">Teacher Name :</label>
                </v-flex>
                <v-flex xs8 sm8 class="ml-3">
                  <v-select
                    v-model="editedItem.teacherId"
                    label="Select your teacher"
                    type="text"
                    :items="teacherList"
                    item-text="name"
                    item-value="_id"
                    :rules="teacherRules"
                    required
                  ></v-select>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs4 sm4 class="pt-4 sybheading">
                  <label class="right">Type :</label>
                </v-flex>
                <v-flex xs8 sm8 class="ml-3">
                  <v-select
                    v-model="editedItem.type"
                    :items="type"
                    label="Select your Type"
                    :rules="typeRules"
46db0a3b5   Neeraj Sharma   add sunbject and ...
58
59
60
61
                    required
                  ></v-select>
                </v-flex>
              </v-layout>
68d742034   Neeraj Sharma   implement new des...
62
              <v-layout>
8e9ce24f1   Shikha Mishra   added subject file
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
                <v-flex xs4 sm4 class="pt-4 subheading">
                  <label class="right">Pass Mark :</label>
                </v-flex>
                <v-flex xs8 sm8 class="ml-3">
                  <v-text-field
                    label="Fill your Pass Mark"
                    name="name"
                    type="text"
                    :rules="markRules"
                    v-model="editedItem.passMarks"
                    required
                  ></v-text-field>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs4 sm4 class="pt-4 subheading">
                  <label class="right">Final Mark :</label>
                </v-flex>
                <v-flex xs8 sm8 class="ml-3">
                  <v-text-field
                    label="Fill your final mark"
                    name="name"
                    type="text"
                    :rules="finalRules"
                    v-model="editedItem.finalMarks"
                    required
                  ></v-text-field>
                </v-flex>
              </v-layout>
              <v-layout>
68d742034   Neeraj Sharma   implement new des...
93
94
95
96
97
98
99
                <v-flex xs4 class="pt-4 subheading">
                  <label class="right">Subject:</label>
                </v-flex>
                <v-flex xs8 class="ml-3">
                  <v-text-field
                    placeholder="fill your Subject"
                    v-model="editedItem.subjectName"
8e9ce24f1   Shikha Mishra   added subject file
100
                    :rules="subjectRules"
68d742034   Neeraj Sharma   implement new des...
101
102
103
104
105
106
                    type="text"
                    name="email"
                    required
                  ></v-text-field>
                </v-flex>
              </v-layout>
8e9ce24f1   Shikha Mishra   added subject file
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
              <v-layout>
                <v-flex xs4 sm4 class="pt-4 subheading">
                  <label class="right">Subject Author :</label>
                </v-flex>
                <v-flex xs8 sm8 class="ml-3">
                  <v-text-field
                    v-model="editedItem.subjectAuthor"
                    placeholder="fill your Subject Author"
                    name="name"
                    type="text"
                  ></v-text-field>
                </v-flex>
              </v-layout>
              <v-layout>
                <v-flex xs4 sm4 class="pt-4 subheading">
                  <label class="right">Subject Code:</label>
                </v-flex>
                <v-flex xs8 sm8 class="ml-3">
                  <v-text-field
                    v-model="editedItem.subjectCode"
                    placeholder="fill your Subject Code"
                    name="name"
                    type="text"
                  ></v-text-field>
                </v-flex>
              </v-layout>
68d742034   Neeraj Sharma   implement new des...
133
134
              <v-flex xs12 sm12>
                <v-card-actions>
68d742034   Neeraj Sharma   implement new des...
135
                  <v-spacer></v-spacer>
860da881d   Shikha Mishra   comment all consoles
136
137
138
139
140
141
142
                  <v-btn
                    round
                    dark
                    @click="save"
                    :loading="editLoading"
                    class="add-button"
                  >Update Subject</v-btn>
68d742034   Neeraj Sharma   implement new des...
143
144
145
146
147
148
                </v-card-actions>
              </v-flex>
            </v-form>
          </v-container>
        </v-card>
      </v-dialog>
beb598536   Neeraj Sharma   design and functi...
149

68d742034   Neeraj Sharma   implement new des...
150
      <!-- ****** VIEW PROFIL NOTICE BOARD ******  -->
beb598536   Neeraj Sharma   design and functi...
151

db965de89   Amber Dev   added dialog pers...
152
      <v-dialog v-model="viewSubjectDialog" max-width="500px" persistent>
8e9ce24f1   Shikha Mishra   added subject file
153
154
155
156
157
158
159
        <v-card flat class="card-style pa-3" dark>
          <v-layout>
            <v-flex xs12>
              <label class="title text-xs-center">View Subject</label>
              <v-icon size="24" class="right" @click="viewSubjectDialog = false">cancel</v-icon>
            </v-flex>
          </v-layout>
68d742034   Neeraj Sharma   implement new des...
160
161
162
163
164
          <v-card-text>
            <v-container grid-list-md>
              <v-layout wrap>
                <v-flex>
                  <v-layout>
8e9ce24f1   Shikha Mishra   added subject file
165
                    <v-flex xs6 sm4>
68d742034   Neeraj Sharma   implement new des...
166
167
168
169
                      <h5 class="right my-1">
                        <b>Subject Name:</b>
                      </h5>
                    </v-flex>
8e9ce24f1   Shikha Mishra   added subject file
170
                    <v-flex sm8 xs6>
68d742034   Neeraj Sharma   implement new des...
171
                      <h5 class="my-1">{{ editedItem.subjectName }}</h5>
beb598536   Neeraj Sharma   design and functi...
172
173
                    </v-flex>
                  </v-layout>
8e9ce24f1   Shikha Mishra   added subject file
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
                  <v-layout>
                    <v-flex xs6 sm4>
                      <h5 class="right my-1">
                        <b>Subject Author:</b>
                      </h5>
                    </v-flex>
                    <v-flex sm8 xs6>
                      <h5 class="my-1">{{ editedItem.subjectAuthor }}</h5>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs6 sm4>
                      <h5 class="right my-1">
                        <b>Subject :</b>
                      </h5>
                    </v-flex>
                    <v-flex sm8 xs6>
                      <h5 class="my-1">{{ editedItem.subjectCode }}</h5>
                    </v-flex>
                  </v-layout>
                  <!-- <v-layout>
                    <v-flex xs6 sm4>
                      <h5 class="right my-1">
                        <b>Teacher :</b>
                      </h5>
                    </v-flex>
                    <v-flex sm8 xs6>
                      <h5 class="my-1">{{ editedItem.teacherId }}</h5>
                    </v-flex>
                  </v-layout>-->
                  <v-layout>
                    <v-flex xs6 sm4>
                      <h5 class="right my-1">
                        <b>Pass Marks :</b>
                      </h5>
                    </v-flex>
                    <v-flex sm8 xs6>
                      <h5 class="my-1">{{ editedItem.passMarks }}</h5>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs6 sm4>
                      <h5 class="right my-1">
                        <b>Final Marks :</b>
                      </h5>
                    </v-flex>
                    <v-flex sm8 xs6>
                      <h5 class="my-1">{{ editedItem.finalMarks }}</h5>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs6 sm4>
                      <h5 class="right my-1">
                        <b>Type :</b>
                      </h5>
                    </v-flex>
                    <v-flex sm8 xs6>
                      <h5 class="my-1">{{ editedItem.type }}</h5>
                    </v-flex>
                  </v-layout>
68d742034   Neeraj Sharma   implement new des...
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
                </v-flex>
              </v-layout>
            </v-container>
          </v-card-text>
        </v-card>
      </v-dialog>
  
      <!-- ****** EXISTING SUBJECTS TABLE ****** -->
      <v-toolbar color="transparent" flat>
        <v-btn
          fab
          dark
          class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
          small
          @click="addSubjectDialog = true"
        >
          <v-icon dark>add</v-icon>
        </v-btn>
        <v-flex xs1 class="hidden-sm-only hidden-xs-only">
8e9ce24f1   Shikha Mishra   added subject file
253
254
255
256
257
258
259
          <v-btn
            round
            class="open-dialog-button"
            dark
            @click="addSubjectDialog = true"
            v-if="role != 'TEACHER' "
          >
68d742034   Neeraj Sharma   implement new des...
260
261
262
263
264
265
266
267
            <v-icon class="white--text pr-1" size="20">add</v-icon>Add Subject
          </v-btn>
        </v-flex>
        <v-spacer></v-spacer>
        <v-flex lg2 md2 xs12 v-show="show">
          <v-select
            :items="classList"
            label="Select Your Class"
8e9ce24f1   Shikha Mishra   added subject file
268
            v-model="addSubject.classId"
68d742034   Neeraj Sharma   implement new des...
269
270
271
            item-text="classNum"
            item-value="_id"
            name="Select Class"
8e9ce24f1   Shikha Mishra   added subject file
272
            :rules="classRules"
68d742034   Neeraj Sharma   implement new des...
273
274
275
276
277
278
279
280
            @change="getClassSubject"
            class="pl-2"
            required
          ></v-select>
        </v-flex>
        <v-card-title class="body-1" v-show="show">
          <v-btn icon flat @click="displaySearch">
            <v-avatar size="27">
aa310d61a   Shikha Mishra   added functionali...
281
              <img src="/static/icon/search.png" alt="icon" />
68d742034   Neeraj Sharma   implement new des...
282
283
284
            </v-avatar>
          </v-btn>
        </v-card-title>
612b79bb4   Amber Dev   made serch auto f...
285
        <v-flex xs9 sm9 md2 lg2 xl2 v-if="showSearch">
68d742034   Neeraj Sharma   implement new des...
286
287
          <v-layout>
            <v-text-field
860da881d   Shikha Mishra   comment all consoles
288
              autofocus
68d742034   Neeraj Sharma   implement new des...
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
              v-model="search"
              label="Search"
              prepend-inner-icon="search"
              color="primary"
              style="transition: 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); !important"
            ></v-text-field>
            <v-icon @click="closeSearch" color="error">close</v-icon>
          </v-layout>
        </v-flex>
      </v-toolbar>
      <v-data-table
        :headers="headers"
        :items="subjectList.subjects"
        :pagination.sync="pagination"
        :search="search"
      >
        <template slot="items" slot-scope="props">
          <tr class="tr">
            <td class="td-row td">{{ props.index + 1 }}</td>
            <td class="text-xs-center td td-row">{{ props.item.subjectName }}</td>
8e9ce24f1   Shikha Mishra   added subject file
309
310
311
312
313
314
            <td class="text-xs-center td td-row">{{ props.item.subjectAuthor }}</td>
            <td class="text-xs-center td td-row">{{ props.item.subjectCode }}</td>
            <!-- <td class="text-xs-center td td-row">{{ props.item.teacherId }}</td> -->
            <td class="text-xs-center td td-row">{{ props.item.passMarks }}</td>
            <td class="text-xs-center td td-row">{{ props.item.finalMarks }}</td>
            <td class="text-xs-center td td-row">{{ props.item.type }}</td>
68d742034   Neeraj Sharma   implement new des...
315
316
            <td class="text-xs-center td td-row">
              <span>
8e9ce24f1   Shikha Mishra   added subject file
317
                <!-- <v-tooltip top>
68d742034   Neeraj Sharma   implement new des...
318
319
320
321
322
                  <img
                    slot="activator"
                    style="cursor:pointer; width:25px; height:25px; "
                    class="mr-3"
                    @click="profile(props.item)"
aa310d61a   Shikha Mishra   added functionali...
323
                    src="/static/icon/view.png"
68d742034   Neeraj Sharma   implement new des...
324
325
                  />
                  <span>View</span>
8e9ce24f1   Shikha Mishra   added subject file
326
                </v-tooltip>-->
68d742034   Neeraj Sharma   implement new des...
327
328
329
330
331
332
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:20px; height:18px; "
                    class="mr-3"
                    @click="editItem(props.item)"
aa310d61a   Shikha Mishra   added functionali...
333
                    src="/static/icon/edit.png"
68d742034   Neeraj Sharma   implement new des...
334
335
336
337
338
339
340
341
342
                  />
                  <span>Edit</span>
                </v-tooltip>
                <v-tooltip top>
                  <img
                    slot="activator"
                    style="cursor:pointer; width:20px; height:20px; "
                    class="mr-3"
                    @click="deleteItem(props.item)"
aa310d61a   Shikha Mishra   added functionali...
343
                    src="/static/icon/delete.png"
68d742034   Neeraj Sharma   implement new des...
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
                  />
                  <span>Delete</span>
                </v-tooltip>
              </span>
            </td>
          </tr>
        </template>
        <v-alert
          slot="no-results"
          :value="true"
          color="error"
          icon="warning"
        >Your search for "{{ search }}" found no results.</v-alert>
      </v-data-table>
      <!-- ****** ADD MULTIPLE Subject ****** -->
      <v-snackbar
        :timeout="timeout"
        :top="y === 'top'"
        :right="x === 'right'"
        :vertical="mode === 'vertical'"
        v-model="snackbar"
        :color="color"
      >{{ text }}</v-snackbar>
db965de89   Amber Dev   added dialog pers...
367
      <v-dialog v-model="addSubjectDialog" max-width="600px" persistent>
68d742034   Neeraj Sharma   implement new des...
368
369
370
371
372
        <v-card flat class="card-style pa-2" dark>
          <v-layout>
            <v-flex xs12>
              <label class="title text-xs-center">Add Subject</label>
              <v-icon size="24" class="right" @click="addSubjectDialog = false">cancel</v-icon>
beb598536   Neeraj Sharma   design and functi...
373
            </v-flex>
68d742034   Neeraj Sharma   implement new des...
374
375
376
377
378
379
380
          </v-layout>
          <v-container fluid fill-height>
            <v-layout align-center>
              <v-flex xs12>
                <v-form ref="form" v-model="valid" lazy-validation>
                  <v-layout>
                    <v-flex xs4 sm4 class="pt-4 subheading">
8e9ce24f1   Shikha Mishra   added subject file
381
                      <label class="right">Class Name :</label>
68d742034   Neeraj Sharma   implement new des...
382
383
384
385
386
387
388
389
390
                    </v-flex>
                    <v-flex xs8 sm8 class="ml-3">
                      <v-select
                        v-model="addSubject.classId"
                        label="Select your class"
                        type="text"
                        :items="classList"
                        item-text="classNum"
                        item-value="_id"
8e9ce24f1   Shikha Mishra   added subject file
391
                        :rules="classRules"
68d742034   Neeraj Sharma   implement new des...
392
393
394
395
396
397
                        required
                      ></v-select>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs4 sm4 class="pt-4 subheading">
8e9ce24f1   Shikha Mishra   added subject file
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
                      <label class="right">Teacher Name :</label>
                    </v-flex>
                    <v-flex xs8 sm8 class="ml-3">
                      <v-select
                        v-model="addSubject.teacherId"
                        label="Select your teacher"
                        type="text"
                        :items="teacherList"
                        item-text="name"
                        item-value="_id"
                        :rules="teacherRules"
                        required
                      ></v-select>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs4 sm4 class="pt-4 sybheading">
                      <label class="right">Type :</label>
                    </v-flex>
                    <v-flex xs8 sm8 class="ml-3">
                      <v-select
                        v-model="addSubject.type"
                        :items="type"
                        label="Select your Type"
                        :rules="typeRules"
                        required
                      ></v-select>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs4 sm4 class="pt-4 subheading">
                      <label class="right">Pass Mark :</label>
                    </v-flex>
                    <v-flex xs8 sm8 class="ml-3">
                      <v-text-field
                        label="Fill your Pass Mark"
                        name="name"
                        type="text"
                        :rules="markRules"
                        v-model="addSubject.passMarks"
                        required
                      ></v-text-field>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs4 sm4 class="pt-4 subheading">
                      <label class="right">Final Mark :</label>
                    </v-flex>
                    <v-flex xs8 sm8 class="ml-3">
                      <v-text-field
                        label="Fill your final mark"
                        name="name"
                        type="text"
                        :rules="finalRules"
                        v-model="addSubject.finalMarks"
                        required
                      ></v-text-field>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs4 sm4 class="pt-4 subheading">
68d742034   Neeraj Sharma   implement new des...
459
460
461
462
463
464
465
466
467
468
469
470
471
472
                      <label class="right">Subject :</label>
                    </v-flex>
                    <v-flex xs8 sm8 class="ml-3">
                      <v-text-field
                        v-model="addSubject.subjectName"
                        placeholder="fill your Subject Name"
                        name="name"
                        type="text"
                        :rules="subjectRules"
                        required
                      ></v-text-field>
                    </v-flex>
                  </v-layout>
                  <v-layout>
8e9ce24f1   Shikha Mishra   added subject file
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
                    <v-flex xs4 sm4 class="pt-4 subheading">
                      <label class="right">Subject Author :</label>
                    </v-flex>
                    <v-flex xs8 sm8 class="ml-3">
                      <v-text-field
                        v-model="addSubject.subjectAuthor"
                        placeholder="fill your Subject Author"
                        name="name"
                        type="text"
                      ></v-text-field>
                    </v-flex>
                  </v-layout>
                  <v-layout>
                    <v-flex xs4 sm4 class="pt-4 subheading">
                      <label class="right">Subject Code:</label>
                    </v-flex>
                    <v-flex xs8 sm8 class="ml-3">
                      <v-text-field
                        v-model="addSubject.subjectCode"
                        placeholder="fill your Subject Code"
                        name="name"
                        type="text"
                      ></v-text-field>
                    </v-flex>
                  </v-layout>
                  <v-layout>
68d742034   Neeraj Sharma   implement new des...
499
500
                    <v-flex xs12 sm12>
                      <v-card-actions>
68d742034   Neeraj Sharma   implement new des...
501
                        <v-spacer></v-spacer>
8e9ce24f1   Shikha Mishra   added subject file
502
503
504
505
506
507
508
                        <v-btn
                          @click="submit"
                          round
                          dark
                          :loading="loading"
                          class="add-button"
                        >Add Subject</v-btn>
68d742034   Neeraj Sharma   implement new des...
509
510
511
512
513
514
                      </v-card-actions>
                    </v-flex>
                  </v-layout>
                </v-form>
              </v-flex>
            </v-layout>
beb598536   Neeraj Sharma   design and functi...
515
          </v-container>
68d742034   Neeraj Sharma   implement new des...
516
517
        </v-card>
      </v-dialog>
36fc987df   Neeraj Sharma   add loader in all...
518
519
520
      <div class="loader" v-if="showLoader">
        <v-progress-circular indeterminate color="white"></v-progress-circular>
      </div>
68d742034   Neeraj Sharma   implement new des...
521
    </v-container>
beb598536   Neeraj Sharma   design and functi...
522
523
524
525
526
527
528
529
530
531
532
  </template>
  
  <script>
  import http from "@/Services/http.js";
  import Util from "@/util";
  
  export default {
    data: () => ({
      snackbar: false,
      y: "top",
      x: "right",
8e9ce24f1   Shikha Mishra   added subject file
533
      role: "",
beb598536   Neeraj Sharma   design and functi...
534
535
536
      mode: "",
      timeout: 3000,
      text: "",
0721aca93   Neeraj Sharma   solve bugs in sub...
537
      color: "",
68d742034   Neeraj Sharma   implement new des...
538
539
      show: true,
      showSearch: false,
fc82ac667   Neeraj Sharma   fix design and re...
540
      showLoader: false,
beb598536   Neeraj Sharma   design and functi...
541
      loading: false,
afc98f028   Neeraj Sharma   implement class v...
542
      editLoading: false,
beb598536   Neeraj Sharma   design and functi...
543
544
      date: null,
      search: "",
68d742034   Neeraj Sharma   implement new des...
545
546
      viewSubjectDialog: false,
      editSubjectDialog: false,
beb598536   Neeraj Sharma   design and functi...
547
      valid: true,
afc98f028   Neeraj Sharma   implement class v...
548
      validEditSubject: true,
68d742034   Neeraj Sharma   implement new des...
549
550
551
      addSubjectDialog: false,
      // isActive: true,
      // newActive: false,
8e9ce24f1   Shikha Mishra   added subject file
552
      type: ["Optional", "Mandatory"],
beb598536   Neeraj Sharma   design and functi...
553
      pagination: {
860da881d   Shikha Mishra   comment all consoles
554
        rowsPerPage: 10,
beb598536   Neeraj Sharma   design and functi...
555
      },
46db0a3b5   Neeraj Sharma   add sunbject and ...
556
      token: "",
860da881d   Shikha Mishra   comment all consoles
557
558
559
560
561
562
      classRules: [(v) => !!v || " Class Name is required"],
      teacherRules: [(v) => !!v || " Teacher Name is required"],
      typeRules: [(v) => !!v || "Type is required"],
      markRules: [(v) => !!v || " Pass Mark is required"],
      finalRules: [(v) => !!v || "Final MArk is required"],
      subjectRules: [(v) => !!v || " Subject Name is required"],
beb598536   Neeraj Sharma   design and functi...
563
564
565
      headers: [
        {
          text: "No",
68d742034   Neeraj Sharma   implement new des...
566
          align: "",
beb598536   Neeraj Sharma   design and functi...
567
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
568
          value: "No",
beb598536   Neeraj Sharma   design and functi...
569
        },
fc82ac667   Neeraj Sharma   fix design and re...
570
        {
46db0a3b5   Neeraj Sharma   add sunbject and ...
571
572
          text: "Subject Name",
          value: "subjectName",
fc82ac667   Neeraj Sharma   fix design and re...
573
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
574
          align: "center",
fc82ac667   Neeraj Sharma   fix design and re...
575
        },
8e9ce24f1   Shikha Mishra   added subject file
576
577
578
579
        {
          text: "Subject Author",
          value: "subjectAuthor",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
580
          align: "center",
8e9ce24f1   Shikha Mishra   added subject file
581
582
583
584
585
        },
        {
          text: "Subject Code",
          value: "subjectCode",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
586
          align: "center",
8e9ce24f1   Shikha Mishra   added subject file
587
588
589
590
591
592
593
594
595
596
597
        },
        // {
        //   text: "Teacher",
        //   value: "teacherId",
        //   sortable: false,
        //   align: "center"
        // },
        {
          text: "Pass Marks",
          value: "passMarks",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
598
          align: "center",
8e9ce24f1   Shikha Mishra   added subject file
599
600
601
602
603
        },
        {
          text: "Final Marks",
          value: "finalMarks",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
604
          align: "center",
8e9ce24f1   Shikha Mishra   added subject file
605
606
607
608
609
        },
        {
          text: "Type",
          value: "type",
          sortable: false,
860da881d   Shikha Mishra   comment all consoles
610
          align: "center",
8e9ce24f1   Shikha Mishra   added subject file
611
        },
860da881d   Shikha Mishra   comment all consoles
612
        { text: "Action", value: "", sortable: false, align: "center" },
beb598536   Neeraj Sharma   design and functi...
613
      ],
46db0a3b5   Neeraj Sharma   add sunbject and ...
614
615
      subjectList: [],
      classList: [],
8e9ce24f1   Shikha Mishra   added subject file
616
      teacherList: [],
beb598536   Neeraj Sharma   design and functi...
617
      editedIndex: -1,
46db0a3b5   Neeraj Sharma   add sunbject and ...
618
      addSubject: {},
8e9ce24f1   Shikha Mishra   added subject file
619

beb598536   Neeraj Sharma   design and functi...
620
      editedItem: {
8e9ce24f1   Shikha Mishra   added subject file
621
622
        // subjectName: "",
        // subjectAuthor: ""
860da881d   Shikha Mishra   comment all consoles
623
      },
beb598536   Neeraj Sharma   design and functi...
624
    }),
beb598536   Neeraj Sharma   design and functi...
625
626
627
628
    methods: {
      pickFile() {
        this.$refs.image.click();
      },
beb598536   Neeraj Sharma   design and functi...
629
      editItem(item) {
c8fc8e42e   Shikha Mishra   solved issues
630
        this.editedIndex = this.subjectList.subjects;
beb598536   Neeraj Sharma   design and functi...
631
632
        this.editedItem = Object.assign({}, item);
        this.dialog = true;
c8fc8e42e   Shikha Mishra   solved issues
633
        this.editSubjectDialog = true;
beb598536   Neeraj Sharma   design and functi...
634
635
      },
      profile(item) {
c8fc8e42e   Shikha Mishra   solved issues
636
        this.editedIndex = this.subjectList.subjects;
beb598536   Neeraj Sharma   design and functi...
637
638
        this.editedItem = Object.assign({}, item);
        this.dialog1 = true;
c8fc8e42e   Shikha Mishra   solved issues
639
        this.viewSubjectDialog = true;
beb598536   Neeraj Sharma   design and functi...
640
641
      },
      deleteItem(item) {
46db0a3b5   Neeraj Sharma   add sunbject and ...
642
        let deleteSubject = {
8e9ce24f1   Shikha Mishra   added subject file
643
          classId: this.addSubject.classId,
860da881d   Shikha Mishra   comment all consoles
644
          subjectId: item._id,
beb598536   Neeraj Sharma   design and functi...
645
646
647
        };
        http()
          .delete(
46db0a3b5   Neeraj Sharma   add sunbject and ...
648
            "/deleteSubject",
beb598536   Neeraj Sharma   design and functi...
649
            confirm("Are you sure you want to delete this?") && {
860da881d   Shikha Mishra   comment all consoles
650
              params: deleteSubject,
beb598536   Neeraj Sharma   design and functi...
651
652
            }
          )
860da881d   Shikha Mishra   comment all consoles
653
          .then((response) => {
8e9ce24f1   Shikha Mishra   added subject file
654
            this.getClassSubject(_id);
0721aca93   Neeraj Sharma   solve bugs in sub...
655
656
            this.snackbar = true;
            this.text = "Successfully delete Existing Subject";
8e9ce24f1   Shikha Mishra   added subject file
657
            this.color = "green";
beb598536   Neeraj Sharma   design and functi...
658
          })
860da881d   Shikha Mishra   comment all consoles
659
          .catch((error) => {
c8fc8e42e   Shikha Mishra   solved issues
660
661
662
            this.snackbar = true;
            this.text = error.response.data.message;
            this.color = "error";
beb598536   Neeraj Sharma   design and functi...
663
664
          });
      },
beb598536   Neeraj Sharma   design and functi...
665
      close() {
68d742034   Neeraj Sharma   implement new des...
666
        this.editSubjectDialog = false;
beb598536   Neeraj Sharma   design and functi...
667
668
      },
      close1() {
68d742034   Neeraj Sharma   implement new des...
669
        this.viewSubjectDialog = false;
beb598536   Neeraj Sharma   design and functi...
670
671
672
      },
      submit() {
        if (this.$refs.form.validate()) {
beb598536   Neeraj Sharma   design and functi...
673
          http()
46db0a3b5   Neeraj Sharma   add sunbject and ...
674
            .post("/addSubject", this.addSubject)
860da881d   Shikha Mishra   comment all consoles
675
            .then((response) => {
8e9ce24f1   Shikha Mishra   added subject file
676
              this.getClassSubject(_id);
0721aca93   Neeraj Sharma   solve bugs in sub...
677
678
              this.snackbar = true;
              this.text = "New Subject added successfully";
beb598536   Neeraj Sharma   design and functi...
679
              this.clear();
0721aca93   Neeraj Sharma   solve bugs in sub...
680
              this.color = "green";
68d742034   Neeraj Sharma   implement new des...
681
              this.addSubjectDialog = false;
beb598536   Neeraj Sharma   design and functi...
682
            })
860da881d   Shikha Mishra   comment all consoles
683
            .catch((error) => {
beb598536   Neeraj Sharma   design and functi...
684
              // console.log(error);
0721aca93   Neeraj Sharma   solve bugs in sub...
685
686
687
              this.snackbar = true;
              this.text = error.response.data.message;
              this.color = "error";
beb598536   Neeraj Sharma   design and functi...
688
689
690
            });
        }
      },
beb598536   Neeraj Sharma   design and functi...
691
692
693
694
      clear() {
        this.$refs.form.reset();
      },
      save() {
afc98f028   Neeraj Sharma   implement class v...
695
696
        if (this.$refs.formEditSubject.validate()) {
          let editSubject = {
8e9ce24f1   Shikha Mishra   added subject file
697
            classId: this.editedItem.classId,
afc98f028   Neeraj Sharma   implement class v...
698
            subjectId: this.editedItem._id,
8e9ce24f1   Shikha Mishra   added subject file
699
700
701
702
703
704
            teacherId: this.editedItem.teacherId,
            type: this.editedItem.type,
            passMarks: this.editedItem.passMarks,
            finalMarks: this.editedItem.finalMarks,
            subjectAuthor: this.editedItem.subjectAuthor,
            subjectCode: this.editedItem.subjectCode,
860da881d   Shikha Mishra   comment all consoles
705
            subjectName: this.editedItem.subjectName,
afc98f028   Neeraj Sharma   implement class v...
706
707
708
709
          };
          this.editLoading = true;
          http()
            .put("/updateSubject", editSubject)
860da881d   Shikha Mishra   comment all consoles
710
            .then((response) => {
afc98f028   Neeraj Sharma   implement class v...
711
              this.snackbar = true;
46db0a3b5   Neeraj Sharma   add sunbject and ...
712
              this.text = "Successfully Edit Existing Subject";
8e9ce24f1   Shikha Mishra   added subject file
713
              this.color = "green";
afc98f028   Neeraj Sharma   implement class v...
714
              this.editLoading = false;
8e9ce24f1   Shikha Mishra   added subject file
715
              this.editSubjectDialog = false;
afc98f028   Neeraj Sharma   implement class v...
716
717
718
              http()
                .get(
                  "/getParticularClass",
8e9ce24f1   Shikha Mishra   added subject file
719
                  { params: { classId: _id } },
afc98f028   Neeraj Sharma   implement class v...
720
                  {
860da881d   Shikha Mishra   comment all consoles
721
                    headers: { Authorization: "Bearer " + this.token },
afc98f028   Neeraj Sharma   implement class v...
722
723
                  }
                )
860da881d   Shikha Mishra   comment all consoles
724
                .then((response) => {
afc98f028   Neeraj Sharma   implement class v...
725
                  this.subjectList = response.data.data;
afc98f028   Neeraj Sharma   implement class v...
726
727
728
729
730
                  this.snackbar = true;
                  this.color = "green";
                  this.text = response.data.message;
                  this.close();
                })
860da881d   Shikha Mishra   comment all consoles
731
732
733
734
735
                .catch((err) => {
                  // console.log("err====>", err);
                  this.snackbar = true;
                  this.color = "error";
                  this.text = error.response.data.message;
afc98f028   Neeraj Sharma   implement class v...
736
737
                });
            })
860da881d   Shikha Mishra   comment all consoles
738
            .catch((error) => {
afc98f028   Neeraj Sharma   implement class v...
739
740
741
742
743
              this.editLoading = false;
  
              // console.log(error);
            });
        }
beb598536   Neeraj Sharma   design and functi...
744
      },
8e9ce24f1   Shikha Mishra   added subject file
745
      getClassSubject(_id) {
68d742034   Neeraj Sharma   implement new des...
746
        this.showLoader = true;
8e9ce24f1   Shikha Mishra   added subject file
747
        // this.classId = this.classId;
46db0a3b5   Neeraj Sharma   add sunbject and ...
748
749
750
        http()
          .get(
            "/getParticularClass",
8e9ce24f1   Shikha Mishra   added subject file
751
            { params: { classId: _id } },
46db0a3b5   Neeraj Sharma   add sunbject and ...
752
            {
860da881d   Shikha Mishra   comment all consoles
753
              headers: { Authorization: "Bearer " + this.token },
46db0a3b5   Neeraj Sharma   add sunbject and ...
754
755
            }
          )
860da881d   Shikha Mishra   comment all consoles
756
          .then((response) => {
46db0a3b5   Neeraj Sharma   add sunbject and ...
757
            this.subjectList = response.data.data;
68d742034   Neeraj Sharma   implement new des...
758
            this.showLoader = false;
46db0a3b5   Neeraj Sharma   add sunbject and ...
759
          })
860da881d   Shikha Mishra   comment all consoles
760
          .catch((err) => {
68d742034   Neeraj Sharma   implement new des...
761
            this.showLoader = false;
46db0a3b5   Neeraj Sharma   add sunbject and ...
762
763
764
765
766
          });
      },
      getClass() {
        http()
          .get("/getClassesList", {
860da881d   Shikha Mishra   comment all consoles
767
            headers: { Authorization: "Bearer " + this.token },
46db0a3b5   Neeraj Sharma   add sunbject and ...
768
          })
860da881d   Shikha Mishra   comment all consoles
769
          .then((response) => {
46db0a3b5   Neeraj Sharma   add sunbject and ...
770
771
            this.classList = response.data.data;
          })
860da881d   Shikha Mishra   comment all consoles
772
          .catch((error) => {
a17c68a03   Neeraj Sharma   implement two rou...
773
774
775
776
777
            if (error.response.status === 401) {
              this.$router.replace({ path: "/" });
              this.$store.dispatch("setToken", null);
              this.$store.dispatch("Id", null);
            }
46db0a3b5   Neeraj Sharma   add sunbject and ...
778
          });
68d742034   Neeraj Sharma   implement new des...
779
      },
8e9ce24f1   Shikha Mishra   added subject file
780
781
782
783
784
      getTeacherList() {
        this.showLoader = true;
        var token = this.$store.state.token;
        http()
          .get("/getTeachersList", {
860da881d   Shikha Mishra   comment all consoles
785
            headers: { Authorization: "Bearer " + token },
8e9ce24f1   Shikha Mishra   added subject file
786
          })
860da881d   Shikha Mishra   comment all consoles
787
          .then((response) => {
8e9ce24f1   Shikha Mishra   added subject file
788
789
790
791
            this.teacherList = response.data.data;
            this.showLoader = false;
            // console.log("getTeacherList=====>",this.desserts)
          })
860da881d   Shikha Mishra   comment all consoles
792
          .catch((error) => {
8e9ce24f1   Shikha Mishra   added subject file
793
794
795
796
797
798
799
800
            this.showLoader = false;
            if (error.response.status === 401) {
              this.$router.replace({ path: "/" });
              this.$store.dispatch("setToken", null);
              this.$store.dispatch("Id", null);
            }
          });
      },
68d742034   Neeraj Sharma   implement new des...
801
802
803
804
805
806
807
      displaySearch() {
        (this.show = false), (this.showSearch = true);
      },
      closeSearch() {
        this.showSearch = false;
        this.show = true;
        this.search = "";
860da881d   Shikha Mishra   comment all consoles
808
      },
beb598536   Neeraj Sharma   design and functi...
809
810
    },
    mounted() {
46db0a3b5   Neeraj Sharma   add sunbject and ...
811
812
813
      this.token = this.$store.state.token;
      // this.getNoticeDataList();
      this.getClass();
8e9ce24f1   Shikha Mishra   added subject file
814
815
      this.getTeacherList();
      this.role = this.$store.state.role;
860da881d   Shikha Mishra   comment all consoles
816
    },
beb598536   Neeraj Sharma   design and functi...
817
  };
68d742034   Neeraj Sharma   implement new des...
818
  </script>