Blame view
src/pages/Report/idCard.vue
30.5 KB
7c435b5bb
|
1 2 |
<template> <v-container fluid class="body-color"> |
ecf8cdfdd
|
3 |
<!-- **** Id Card Select options **** --> |
7c435b5bb
|
4 5 6 7 |
<v-card flat class="elevation-0 transparent"> <v-form ref="form" v-model="valid" lazy-validation> <v-flex xs12 sm12 lg12> <v-layout wrap> |
5ddc6bb04
|
8 |
<v-flex xs12 sm12 lg4> |
7c435b5bb
|
9 |
<v-layout> |
5ddc6bb04
|
10 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
11 12 |
<v-autocomplete v-model="getReport.role" |
a55b7fca2
|
13 |
label="Select Type" |
7c435b5bb
|
14 15 |
:items="getRoles" item-text="name" |
d84fa5db2
|
16 |
return-object |
7c435b5bb
|
17 18 19 20 21 22 |
@change="getRoleInputs(getReport.role)" required ></v-autocomplete> </v-flex> </v-layout> </v-flex> |
d84fa5db2
|
23 |
<!-- SELECT CLASS --> |
5ddc6bb04
|
24 |
<v-flex xs12 sm12 lg4 v-if="showClass"> |
7c435b5bb
|
25 |
<v-layout> |
5ddc6bb04
|
26 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
27 28 29 30 31 32 |
<v-select v-model="getReport.classId" label="Select Class" :items="classList" item-text="classNum" item-value="_id" |
7c435b5bb
|
33 34 35 36 37 38 |
@change="getSections(getReport.classId)" required ></v-select> </v-flex> </v-layout> </v-flex> |
d84fa5db2
|
39 |
<!-- SELECT SECTION --> |
5ddc6bb04
|
40 |
<v-flex xs12 sm12 lg4 v-if="showSections"> |
7c435b5bb
|
41 |
<v-layout> |
5ddc6bb04
|
42 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
43 44 45 46 47 48 49 50 |
<v-select :items="addSection" label="Select Section" v-model="getReport.sectionId" item-text="name" item-value="_id" name="Select Section" @change="getStudents" |
7c435b5bb
|
51 52 53 54 55 |
required ></v-select> </v-flex> </v-layout> </v-flex> |
d84fa5db2
|
56 |
<!-- SELECT STUDENT --> |
5ddc6bb04
|
57 |
<v-flex xs12 sm12 lg4 v-if="showStudents"> |
7c435b5bb
|
58 |
<v-layout> |
5ddc6bb04
|
59 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
60 |
<v-select |
11d037abe
|
61 |
:items="getSelectUserData" |
7c435b5bb
|
62 63 64 65 |
label="Select Student" v-model="getReport._id" item-text="name" item-value="_id" |
7c435b5bb
|
66 67 68 69 70 |
required ></v-select> </v-flex> </v-layout> </v-flex> |
5ddc6bb04
|
71 |
<v-flex xs12 sm12 lg4 v-if="showTeacher"> |
7c435b5bb
|
72 |
<v-layout> |
5ddc6bb04
|
73 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
74 75 76 |
<v-select v-model="getReport._id" label="Select Teacher" |
11d037abe
|
77 |
:items="getSelectUserData" |
7c435b5bb
|
78 79 |
item-text="name" item-value="_id" |
7c435b5bb
|
80 81 82 83 84 |
required ></v-select> </v-flex> </v-layout> </v-flex> |
5ddc6bb04
|
85 |
<v-flex xs12 sm12 lg4 v-if="showAdmin"> |
7c435b5bb
|
86 |
<v-layout> |
5ddc6bb04
|
87 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
88 89 90 |
<v-select v-model="getReport._id" label="Select Admin" |
11d037abe
|
91 |
:items="getSelectUserData" |
7c435b5bb
|
92 93 |
item-text="name" item-value="_id" |
7c435b5bb
|
94 95 96 97 98 |
required ></v-select> </v-flex> </v-layout> </v-flex> |
5ddc6bb04
|
99 |
<v-flex xs12 sm12 lg4 v-if="showAccountant"> |
7c435b5bb
|
100 |
<v-layout> |
5ddc6bb04
|
101 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
102 103 104 |
<v-select v-model="getReport._id" label="Select Accountant" |
11d037abe
|
105 |
:items="getSelectUserData" |
7c435b5bb
|
106 107 |
item-text="name" item-value="_id" |
7c435b5bb
|
108 109 110 111 112 |
required ></v-select> </v-flex> </v-layout> </v-flex> |
5ddc6bb04
|
113 |
<v-flex xs12 sm12 lg4 v-if="showLibrarian"> |
7c435b5bb
|
114 |
<v-layout> |
5ddc6bb04
|
115 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
116 117 118 |
<v-select v-model="getReport._id" label="Select Librarian" |
11d037abe
|
119 |
:items="getSelectUserData " |
7c435b5bb
|
120 121 |
item-text="name" item-value="_id" |
7c435b5bb
|
122 123 124 125 126 |
required ></v-select> </v-flex> </v-layout> </v-flex> |
5ddc6bb04
|
127 |
<v-flex xs12 sm12 lg4> |
7c435b5bb
|
128 |
<v-layout> |
5ddc6bb04
|
129 |
<v-flex xs12 sm12 lg10 class="ml-2"> |
7c435b5bb
|
130 |
<v-autocomplete |
a55b7fca2
|
131 |
label="Select View Type" |
7c435b5bb
|
132 |
type="text" |
7c435b5bb
|
133 134 135 136 |
:items="typeList" v-model="getReport.form" item-text="name" item-value="value" |
a55b7fca2
|
137 |
:rules="typeRules" |
ecf8cdfdd
|
138 |
@change="getReportType(getReport.form)" |
7c435b5bb
|
139 140 141 142 143 |
required ></v-autocomplete> </v-flex> </v-layout> </v-flex> |
5ddc6bb04
|
144 |
<v-flex xs12 sm12 lg4> |
7c435b5bb
|
145 146 147 148 149 |
<v-btn @click="getCards" round dark :loading="loading" |
0fa3b3a79
|
150 |
class="open-dialog-button mt-3" |
7c435b5bb
|
151 152 153 154 155 156 |
>Get Report</v-btn> </v-flex> </v-layout> </v-flex> </v-form> </v-card> |
ecf8cdfdd
|
157 |
<div> |
7c435b5bb
|
158 159 160 |
<v-layout v-show="showReport"> <v-flex xs12> <v-card class="transparent elevation-0"> |
20fba3a75
|
161 |
<!-- print button --> |
7c435b5bb
|
162 163 164 165 166 167 168 169 |
<v-layout> <v-flex xs12> <v-btn class="open-dialog-button right" round dark @click="prindIDCardReport()"> Print <v-icon right dark>print</v-icon> </v-btn> </v-flex> </v-layout> |
ecf8cdfdd
|
170 |
</v-card> |
a690a86fb
|
171 172 173 174 175 176 177 178 179 180 |
<v-layout row wrap id="printMe" justify-center> <div v-for="(getCard,index) in getCard" :key="index" style="page-break-after: always; width:100%;margin:14px auto;background:transparent;" > <v-container grid-list-md> <v-layout class="col-sm-12"> <div style="font-family: arial; |
ecf8cdfdd
|
181 182 183 184 185 |
max-width: 794px; max-height: 1123px; margin-left: auto; margin-right: auto; -webkit-print-color-adjust: exact;" |
a690a86fb
|
186 187 188 |
> <div style=" |
ecf8cdfdd
|
189 190 191 192 193 194 |
float: left; height: 520px; width: 520px; background: #fff; border: 1px solid lightgray; position:relative;" |
a690a86fb
|
195 196 197 198 199 200 201 202 203 204 |
> <!-- bottom-right-side-image --> <img src="/static/icon/shape1.png" alt="shape" style="position:absolute;width: 90px;" /> <!-- Front Side --> <v-layout style=" |
ecf8cdfdd
|
205 206 |
text-align: center; margin-top: 50px;" |
a690a86fb
|
207 208 209 210 211 212 213 214 215 |
v-if="frontPart" > <v-flex xs12> <!-- school Logo Url --> <img v-if="getCard.schoolLogoUrl" :src="getCard.schoolLogoUrl" alt="schoollogo" style=" |
ecf8cdfdd
|
216 217 218 |
width: 110px; margin-top:10px; overflow:hidden" |
a690a86fb
|
219 220 221 222 223 224 |
/> <img src="/static/default_thumb.png" v-if="!getCard.schoolLogoUrl" alt="schoollogo" style=" |
9b444e5c3
|
225 226 227 |
width: 110px; margin-top:10px; overflow:hidden" |
a690a86fb
|
228 229 230 231 232 233 234 235 |
/> <v-layout style="margin:auto"> <!-- profile url --> <img v-if="getCard.profilePicUrl" :src="getCard.profilePicUrl" alt="profileImage" style="; |
ecf8cdfdd
|
236 237 238 239 240 241 |
width: 110px; margin:10px auto; width: 110px; margin: 10px auto; border: 3px solid #323232; border-radius: 12px;" |
a690a86fb
|
242 243 244 |
/> <img style=" |
ecf8cdfdd
|
245 246 247 248 |
width: 110px; margin:10px auto; width: 110px; margin: 10px auto;" |
a690a86fb
|
249 250 251 252 253 |
alt="dummy" src="/static/icon/user.png" v-if="!getCard.profilePicUrl && getCard.role != '2'" /> </v-layout> |
ecf8cdfdd
|
254 |
|
a690a86fb
|
255 256 |
<p style="color: #302653;font-size:24px; |
0fa3b3a79
|
257 258 |
letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
259 260 261 262 263 |
> <b>{{ getCard.name}}</b> </p> <p style="color: #302653; |
0fa3b3a79
|
264 265 266 |
font-size:14px; letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
267 268 269 270 271 272 |
> <b>{{ getCard.gender}}</b> </p> <p v-if="getCard.classId" style="color: #302653; |
0fa3b3a79
|
273 274 275 |
font-size:24px; letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
276 277 278 279 |
>{{ getCard.classId.classNum }}</p> <p v-if="getCard.classId" style="color: #302653; |
0fa3b3a79
|
280 281 282 |
font-size:24px; letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
283 284 285 286 |
>{{ getCard.sectionId.name }}</p> <p v-if="getCard.rollNo" style="color: #302653; |
0fa3b3a79
|
287 288 289 |
font-size:24px; letter-spacing: 2px; margin-bottom:10px;" |
a690a86fb
|
290 291 292 293 |
>Roll: {{ getCard.rollNo }}</p> <p v-if="getCard.joinDate" style="color: #302653; |
0fa3b3a79
|
294 295 |
margin-bottom:10px; font-size:16px; |
ecf8cdfdd
|
296 |
letter-spacing: 2px;" |
a690a86fb
|
297 298 299 300 |
>{{ dates(getCard.joinDate) }}</p> <p v-if="getCard.joiningDate" style="color: #302653; |
0fa3b3a79
|
301 302 |
margin-bottom:10px; font-size:16px; |
ecf8cdfdd
|
303 |
letter-spacing: 2px;" |
a690a86fb
|
304 305 306 307 |
>{{ dates(getCard.joiningDate) }}</p> <p v-if="getCard.phone" style="color: #302653; |
0fa3b3a79
|
308 309 |
margin-bottom:10px; font-size:16px; |
ecf8cdfdd
|
310 |
letter-spacing: 2px;" |
a690a86fb
|
311 312 313 |
>{{ getCard.phone }}</p> <p style=" |
ecf8cdfdd
|
314 315 316 |
font-size: 19px; font-weight: 100; color: rgb(48, 38, 83); |
0fa3b3a79
|
317 318 |
letter-spacing: 5px; margin-bottom:10px;" |
a690a86fb
|
319 320 321 322 323 324 |
> <span v-if="getCard.mobile">{{ getCard.mobile}}</span> <span v-if="getCard.mobileNo">{{ getCard.mobileNo }}</span> </p> <p style=" |
ecf8cdfdd
|
325 326 327 |
font-size: 17px; font-weight: 100; color: rgb(48, 38, 83); |
0fa3b3a79
|
328 329 |
letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
330 331 332 333 334 |
>{{ getCard.email}}</p> </v-flex> </v-layout> <!-- back side --> <v-layout style=" |
ecf8cdfdd
|
335 |
text-align: center;" v-if="backPart"> |
a690a86fb
|
336 337 338 339 340 341 342 |
<v-flex xs12> <!-- school Logo Url --> <img v-if="getCard.schoolLogoUrl" :src="getCard.schoolLogoUrl" alt="schoollogo" style=" |
ecf8cdfdd
|
343 344 345 |
width: 110px; margin-top:10px; overflow:hidden" |
a690a86fb
|
346 347 348 349 350 351 |
/> <img v-if="getCard.schoolId" :src="getCard.schoolId.schoolLogoUrl" alt="schoollogo" style=" |
ecf8cdfdd
|
352 353 354 |
width: 110px; margin-top:10px; overflow:hidden" |
a690a86fb
|
355 356 357 358 |
/> <p v-if="getCard.schoolLogoUrl" style="color: #302653; |
0fa3b3a79
|
359 360 361 |
font-size:24px; letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
362 363 364 |
> <b>{{ getCard.name}}</b> </p> |
a55b7fca2
|
365 |
|
a690a86fb
|
366 367 368 |
<p v-if="getCard.city" style=" |
ecf8cdfdd
|
369 370 371 |
font-size: 17px; font-weight: 100; color: rgb(48, 38, 83); |
0fa3b3a79
|
372 373 |
letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
374 375 376 |
>{{ getCard.city}}</p> <p style=" |
ecf8cdfdd
|
377 378 379 |
font-size: 17px; font-weight: 100; color: rgb(48, 38, 83); |
0fa3b3a79
|
380 381 |
letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
382 383 384 385 386 387 388 389 390 391 |
> {{ getCard.address }} {{ getCard.presentAddress }} <span v-if="getCard.state" >({{ getCard.state }})</span> </p> <p v-if="getCard.establishmentYear" style=" |
ecf8cdfdd
|
392 393 394 |
font-size: 17px; font-weight: 100; color: rgb(48, 38, 83); |
0fa3b3a79
|
395 396 |
letter-spacing: 4px; margin-bottom:14px;" |
a690a86fb
|
397 398 399 400 401 402 403 404 |
>{{ getCard.establishmentYear }}</p> </v-flex> </v-layout> <!-- bottom-right-side-image --> <img src="static/icon/shape2.png" alt="shape2" style="bottom: 0; |
ecf8cdfdd
|
405 406 407 |
position: absolute; right: 0; width: 110px;" |
a690a86fb
|
408 409 |
/> </div> |
1c422f1bf
|
410 |
</div> |
a690a86fb
|
411 412 413 |
</v-layout> </v-container> </div> |
7c44528bc
|
414 |
</v-layout> |
7c435b5bb
|
415 416 417 |
</v-flex> </v-layout> </div> |
ecf8cdfdd
|
418 419 420 421 422 423 424 425 |
<v-snackbar :timeout="timeout" :top="y === 'top'" :right="x === 'right'" :vertical="mode === 'vertical'" v-model="snackbar" :color="color" >{{ text }}</v-snackbar> |
5ddc6bb04
|
426 427 428 |
<div class="loader" v-if="showLoader"> <v-progress-circular indeterminate color="white"></v-progress-circular> </div> |
7c435b5bb
|
429 430 431 432 433 434 |
</v-container> </template> <script> import http from "@/Services/http.js"; import moment from "moment"; |
d84fa5db2
|
435 |
var qs = require("qs"); |
7c435b5bb
|
436 437 438 |
export default { data: () => ({ |
5ddc6bb04
|
439 |
showLoader: false, |
7c435b5bb
|
440 441 442 |
valid: true, report: {}, userData: {}, |
ecf8cdfdd
|
443 444 445 446 447 448 449 |
snackbar: false, color: "", y: "top", x: "right", mode: "", timeout: 10000, text: "", |
7c435b5bb
|
450 451 452 453 454 455 456 457 458 459 |
loading: false, showReport: false, frontPart: false, backPart: false, showClass: false, showTeacher: false, showAdmin: false, showAccountant: false, showLibrarian: false, hideprintIdCard: false, |
37cb39130
|
460 |
hidebackprintIdCard: false, |
ecf8cdfdd
|
461 462 |
showStudents: false, showSections: false, |
7c435b5bb
|
463 464 465 466 |
getRoles: [], classList: [], getCard: [], addSection: [], |
11d037abe
|
467 468 469 470 |
// getStudentsList: // teacherList: [], getSelectUserData: [], // Users: [], |
ecf8cdfdd
|
471 |
getReport: {}, |
d84fa5db2
|
472 |
typeRules: [(v) => !!v || "Type is required"], |
7c435b5bb
|
473 474 475 |
typeList: [ { name: "Front Part", |
d84fa5db2
|
476 |
value: "frontPart", |
7c435b5bb
|
477 478 479 |
}, { name: "Back Part", |
d84fa5db2
|
480 481 |
value: "backPart", }, |
7c435b5bb
|
482 |
], |
d84fa5db2
|
483 |
backgroundList: ["Yes", "No"], |
7c435b5bb
|
484 485 486 487 488 489 490 491 492 |
}), mounted() { this.token = this.$store.state.token; this.getUserData(); this.getRole(); }, methods: { |
d84fa5db2
|
493 |
dates: function (date) { |
ecf8cdfdd
|
494 495 496 497 |
return moment(date).format("MMMM DD, YYYY"); return date; }, getReportType() { |
7c435b5bb
|
498 499 500 501 502 503 504 505 506 507 |
if (this.getReport.form === "frontPart") { this.frontPart = true; this.backPart = false; } if (this.getReport.form === "backPart") { this.frontPart = false; this.backPart = true; } }, getRoleInputs(role) { |
11d037abe
|
508 |
// console.log("role", role); |
ecf8cdfdd
|
509 510 511 |
this.showReport = false; this.getReport._id = ""; this.getCard = ""; |
d84fa5db2
|
512 |
if (role.name === "STUDENT") { |
7c435b5bb
|
513 514 |
// console.log("role", role); this.showClass = true; |
ecf8cdfdd
|
515 516 517 518 519 520 |
this.showTeacher = false; this.showAdmin = false; this.showAccountant = false; this.showLibrarian = false; this.showStudents = false; this.showSections = false; |
7c435b5bb
|
521 522 |
this.getClass(); } |
d84fa5db2
|
523 |
if (role.name === "TEACHER") { |
7c435b5bb
|
524 |
this.showTeacher = true; |
ecf8cdfdd
|
525 526 527 528 529 530 |
this.showClass = false; this.showAdmin = false; this.showAccountant = false; this.showLibrarian = false; this.showStudents = false; this.showSections = false; |
7c435b5bb
|
531 532 |
this.getTeacherList(); } |
d84fa5db2
|
533 |
if (role.name === "ADMIN") { |
7c435b5bb
|
534 |
this.showAdmin = true; |
ecf8cdfdd
|
535 536 537 538 539 540 |
this.showTeacher = false; this.showClass = false; this.showAccountant = false; this.showLibrarian = false; this.showStudents = false; this.showSections = false; |
20fba3a75
|
541 |
this.getUsersList(role.role); |
7c435b5bb
|
542 |
} |
d84fa5db2
|
543 |
if (role.name === "ACCOUNTANT") { |
7c435b5bb
|
544 |
this.showAccountant = true; |
ecf8cdfdd
|
545 546 547 548 549 550 |
this.showAdmin = false; this.showTeacher = false; this.showClass = false; this.showLibrarian = false; this.showStudents = false; this.showSections = false; |
d84fa5db2
|
551 |
this.getUsersList(role.role); |
7c435b5bb
|
552 |
} |
d84fa5db2
|
553 |
if (role.name === "LIBRARIAN") { |
7c435b5bb
|
554 |
this.showLibrarian = true; |
ecf8cdfdd
|
555 556 557 558 559 560 |
this.showAccountant = false; this.showAdmin = false; this.showTeacher = false; this.showClass = false; this.showStudents = false; this.showSections = false; |
d84fa5db2
|
561 |
this.getUsersList(role.role); |
7c435b5bb
|
562 563 564 565 566 |
} }, prindIDCardReport() { // Pass the element id here |
a690a86fb
|
567 |
this.$htmlToPaper("printMe"); |
7c435b5bb
|
568 569 |
}, getUserData() { |
11d037abe
|
570 |
this.getSelectUserData = []; |
5ddc6bb04
|
571 |
this.showLoader = true; |
7c435b5bb
|
572 573 |
http() .get("/getParticularUserDetail") |
d84fa5db2
|
574 |
.then((response) => { |
11d037abe
|
575 576 |
let mergeObj = { name: "Select All", |
d84fa5db2
|
577 |
id: "Select All", |
11d037abe
|
578 579 580 581 |
}; this.getSelectUserData.push(mergeObj); let getUserDetails = response.data.data; this.getSelectUserData.push(getUserDetails); |
5ddc6bb04
|
582 |
this.showLoader = false; |
7c435b5bb
|
583 584 |
// this.adminList = response.data.data; }) |
d84fa5db2
|
585 |
.catch((error) => { |
5ddc6bb04
|
586 |
this.showLoader = false; |
ecf8cdfdd
|
587 588 589 590 591 |
if (error.response.status === 401) { this.$router.replace({ path: "/" }); this.$store.dispatch("setToken", null); this.$store.dispatch("Id", null); } |
7c435b5bb
|
592 593 594 595 596 597 |
}); }, getRole() { this.showLoader = true; http() .get("/getRolesList", { |
d84fa5db2
|
598 |
headers: { Authorization: "Bearer " + this.token }, |
7c435b5bb
|
599 |
}) |
d84fa5db2
|
600 |
.then((response) => { |
ecf8cdfdd
|
601 602 |
var getRoles = []; getRoles = response.data.data; |
ecf8cdfdd
|
603 |
for (let i = 0; i < getRoles.length; i++) { |
d84fa5db2
|
604 605 606 607 |
if ( getRoles[i].name != "SUPERADMIN" && getRoles[i].name != "PARENT" ) { |
ecf8cdfdd
|
608 609 |
this.getRoles.push(getRoles[i]); } |
36883961f
|
610 |
} |
7c435b5bb
|
611 612 |
this.showLoader = false; }) |
d84fa5db2
|
613 |
.catch((error) => { |
7c435b5bb
|
614 |
this.showLoader = false; |
ecf8cdfdd
|
615 616 617 618 619 620 |
if (error.response.status === 401) { this.$router.replace({ path: "/" }); this.$store.dispatch("setToken", null); this.$store.dispatch("Id", null); this.$store.dispatch("Role", null); } |
7c435b5bb
|
621 622 623 |
}); }, getClass() { |
11d037abe
|
624 |
// console.log("get classes"); |
7c435b5bb
|
625 626 627 |
this.showLoader = true; http() .get("/getClassesList", { |
d84fa5db2
|
628 |
headers: { Authorization: "Bearer " + this.token }, |
7c435b5bb
|
629 |
}) |
d84fa5db2
|
630 |
.then((response) => { |
7c435b5bb
|
631 632 633 |
this.classList = response.data.data; this.showLoader = false; }) |
d84fa5db2
|
634 |
.catch((error) => { |
7c435b5bb
|
635 636 637 638 639 640 641 642 643 644 645 |
this.showLoader = false; // console.log("err====>", err); }); }, getSections(_id) { this.showLoader = true; http() .get( "/getSectionsList", { params: { classId: _id } }, { |
d84fa5db2
|
646 |
headers: { Authorization: "Bearer " + this.token }, |
7c435b5bb
|
647 648 |
} ) |
d84fa5db2
|
649 |
.then((response) => { |
7c435b5bb
|
650 |
this.addSection = response.data.data; |
ecf8cdfdd
|
651 |
this.showSections = true; |
7c435b5bb
|
652 653 |
this.showLoader = false; }) |
d84fa5db2
|
654 |
.catch((err) => { |
7c435b5bb
|
655 656 657 658 659 |
this.showLoader = false; // console.log("err====>", err); }); }, getStudents() { |
11d037abe
|
660 |
this.getSelectUserData = []; |
7c435b5bb
|
661 662 663 664 665 |
this.showLoader = true; http() .get("/getStudentWithClass", { params: { classId: this.getReport.classId, |
d84fa5db2
|
666 667 |
sectionId: this.getReport.sectionId, }, |
7c435b5bb
|
668 |
}) |
d84fa5db2
|
669 |
.then((response) => { |
11d037abe
|
670 671 |
response.data.data.unshift({ name: "Select All", |
d84fa5db2
|
672 |
_id: "Select All", |
11d037abe
|
673 674 |
}); this.getSelectUserData = response.data.data; |
ecf8cdfdd
|
675 |
this.showStudents = true; |
7c435b5bb
|
676 677 |
this.showLoader = false; }) |
d84fa5db2
|
678 |
.catch((error) => { |
7c435b5bb
|
679 680 681 682 683 |
console.log("err====>", error); this.showLoader = false; }); }, getCards() { |
11d037abe
|
684 685 |
var getSelectUserId = []; for (let i = 0; i < this.getSelectUserData.length; i++) { |
d84fa5db2
|
686 687 |
/* if the selected user id mathches any id in the original user data then push it in array, this way only one id will be pushed */ |
11d037abe
|
688 |
if (this.getReport._id === this.getSelectUserData[i]._id) { |
11d037abe
|
689 |
getSelectUserId.push(this.getSelectUserData[i]._id); |
d84fa5db2
|
690 691 692 |
} /* else if select all option is selected then all ids will be pushed */ else if ( this.getReport._id == "Select All" ) { |
11d037abe
|
693 |
getSelectUserId.push(this.getSelectUserData[i]._id); |
d84fa5db2
|
694 695 696 697 698 |
if ( getSelectUserId[0] == undefined || getSelectUserId[0] == "Select All" ) { getSelectUserId.shift(); |
11d037abe
|
699 700 701 |
} } } |
d84fa5db2
|
702 |
|
a55b7fca2
|
703 |
if (this.$refs.form.validate()) { |
fe0d05d29
|
704 |
this.showLoader = true; |
20fba3a75
|
705 |
// var strigified = JSON.stringify(getSelectUserId) |
d84fa5db2
|
706 707 |
// var profileId = []; // profileId = getSelectUserId; |
a55b7fca2
|
708 709 710 |
http() .get("/getIdCardDetail", { headers: { |
d84fa5db2
|
711 |
Authorization: "Bearer " + this.token, |
a55b7fca2
|
712 |
}, |
20fba3a75
|
713 714 715 716 |
params: { profileId: getSelectUserId, role: this.getReport.role.role, }, |
d84fa5db2
|
717 718 719 720 721 722 723 |
paramsSerializer: (params) => { return qs.stringify(params); }, // params: { // profileId: strigified, // role: this.getReport.role.role, // }, |
a55b7fca2
|
724 |
}) |
d84fa5db2
|
725 |
.then((response) => { |
a55b7fca2
|
726 |
this.getCard = ""; |
1c422f1bf
|
727 |
|
a55b7fca2
|
728 |
var data = response.data.data; |
1c422f1bf
|
729 |
|
20fba3a75
|
730 |
if (data.adminData && data.adminData.length != 0) { |
a55b7fca2
|
731 |
this.getCard = response.data.data.adminData; |
11d037abe
|
732 |
// console.log("this.getCard ", this.getCard); |
a55b7fca2
|
733 |
} |
20fba3a75
|
734 |
if (data.teachersData && data.teachersData.length != 0) { |
a55b7fca2
|
735 |
this.getCard = response.data.data.teachersData; |
a55b7fca2
|
736 |
} |
20fba3a75
|
737 |
if (data.studentData && data.studentData.length != 0) { |
a55b7fca2
|
738 |
this.getCard = response.data.data.studentData; |
11d037abe
|
739 |
// console.log("this.getCard--studentData ", this.getCard); |
a55b7fca2
|
740 |
} |
20fba3a75
|
741 |
if (data.usersData && data.usersData.length != 0) { |
a55b7fca2
|
742 |
this.getCard = response.data.data.usersData; |
11d037abe
|
743 |
// console.log("this.getCard--usersData ", this.getCard); |
a55b7fca2
|
744 745 746 747 748 |
} // console.log("this.getCard--all ", response.data.data); this.showLoader = false; this.showReport = true; }) |
d84fa5db2
|
749 |
.catch((error) => { |
a55b7fca2
|
750 |
this.showLoader = false; |
11d037abe
|
751 |
// console.log("error", error.response.data.errors); |
20fba3a75
|
752 753 754 755 756 |
// if (error.response.data.errors) { // this.snackbar = true; // this.text = " Field is required"; // this.color = "error"; // } |
a55b7fca2
|
757 758 |
}); } |
7c435b5bb
|
759 760 |
}, getTeacherList() { |
11d037abe
|
761 |
this.getSelectUserData = []; |
7c435b5bb
|
762 763 764 765 |
this.showLoader = true; var token = this.$store.state.token; http() .get("/getTeachersList", { |
d84fa5db2
|
766 |
headers: { Authorization: "Bearer " + token }, |
7c435b5bb
|
767 |
}) |
d84fa5db2
|
768 |
.then((response) => { |
11d037abe
|
769 770 |
response.data.data.unshift({ name: "Select All", |
d84fa5db2
|
771 |
_id: "Select All", |
11d037abe
|
772 773 |
}); this.getSelectUserData = response.data.data; |
7c435b5bb
|
774 775 |
this.showLoader = false; }) |
d84fa5db2
|
776 |
.catch((error) => { |
7c435b5bb
|
777 778 779 780 781 782 783 784 |
this.showLoader = false; if (error.response.status === 401) { this.$router.replace({ path: "/" }); this.$store.dispatch("setToken", null); this.$store.dispatch("Id", null); } }); }, |
a55b7fca2
|
785 |
getUsersList(role) { |
11d037abe
|
786 |
this.getSelectUserData = []; |
7c435b5bb
|
787 788 789 |
this.showLoader = true; var token = this.$store.state.token; http() |
a55b7fca2
|
790 |
.get("/getUsersList?role=" + role, { |
d84fa5db2
|
791 |
headers: { Authorization: "Bearer " + token }, |
7c435b5bb
|
792 |
}) |
d84fa5db2
|
793 |
.then((response) => { |
11d037abe
|
794 795 |
response.data.data.unshift({ name: "Select All", |
d84fa5db2
|
796 |
_id: "Select All", |
11d037abe
|
797 798 |
}); this.getSelectUserData = response.data.data; |
7c435b5bb
|
799 800 |
this.showLoader = false; }) |
d84fa5db2
|
801 |
.catch((error) => { |
7c435b5bb
|
802 803 804 805 806 807 808 809 810 811 812 813 |
this.showLoader = false; if (error.response.status === 401) { this.$router.replace({ path: "/" }); this.$store.dispatch("setToken", null); this.$store.dispatch("Id", null); } }); }, getParentDetails() { http() .get("getParentsList", { headers: { |
d84fa5db2
|
814 815 |
Authorization: "Bearer " + this.$store.state.token, }, |
7c435b5bb
|
816 |
}) |
d84fa5db2
|
817 |
.then((response) => { |
7c435b5bb
|
818 819 |
this.parentsList = response.data.data; }) |
d84fa5db2
|
820 |
.catch((error) => { |
7c435b5bb
|
821 822 823 824 825 826 827 828 829 |
// console.log("err====>", error.response.data.message); this.showLoader = false; if (error.response.status === 401) { this.$router.replace({ path: "/" }); this.$store.dispatch("setToken", null); this.$store.dispatch("Id", null); this.$store.dispatch("Role", null); } }); |
d84fa5db2
|
830 831 |
}, }, |
7c435b5bb
|
832 833 834 835 836 837 838 839 840 841 842 843 844 |
}; </script> <style scoped> .Data { width: 100%; float: left; margin-bottom: 0px; padding: 0 15px; font-size: 14px; margin-top: 5px; text-align: justify; } |
36883961f
|
845 846 847 848 849 850 851 852 |
.idcardreport { font-family: arial; max-width: 794px; max-height: 1123px; margin-left: auto; margin-right: auto; -webkit-print-color-adjust: exact; } |
cc7844a9d
|
853 854 855 856 |
.idcardreport1 { text-align: center; margin-left: 35%; } |
7c435b5bb
|
857 858 |
.icard-front { margin: 3px; |
36883961f
|
859 |
float: left; |
37cb39130
|
860 |
padding: 10px; |
37cb39130
|
861 |
text-align: center; |
ecf8cdfdd
|
862 863 864 865 |
height: 520px; width: 520px; background: #fff; border: 1px solid lightgray; |
37cb39130
|
866 867 868 869 870 |
} .print-data { margin: 3px; float: left; /* border: 1px solid #000; */ |
7c435b5bb
|
871 |
padding: 10px; |
37cb39130
|
872 |
/* width: 55%; */ |
7c435b5bb
|
873 |
text-align: center; |
37cb39130
|
874 875 |
height: 95%; } |
cc7844a9d
|
876 877 878 |
.rightside { float: right !important; } |
36883961f
|
879 |
.icard-front h2 { |
37cb39130
|
880 881 882 883 884 885 886 887 888 889 890 891 892 |
font-size: 30px; } .icard-back h2 { font-size: 30px; } .print-data h2 { font-size: 30px; text-align: center; } .print-data img { width: 70px; height: 70px; margin-bottom: 5px; |
7c435b5bb
|
893 894 |
} .icard-front img { |
37cb39130
|
895 896 897 898 899 900 901 902 903 904 |
width: 70px; height: 70px; margin-bottom: 5px; } .icard-back img { width: 50px; height: 50px; margin-bottom: 5px; } .icard-img { |
7c435b5bb
|
905 906 907 |
width: 50px; height: 50px; margin-bottom: 5px; |
37cb39130
|
908 909 |
margin-top: 5px; border: 1px solid #ddd; |
7c435b5bb
|
910 911 |
} .icard-data { |
36883961f
|
912 |
/* font-family: Arial; */ |
7c435b5bb
|
913 914 915 916 917 918 919 920 |
max-width: 794px; max-height: 1123px; margin-left: auto; margin-right: auto; -webkit-print-color-adjust: exact; } .icard-back { margin: 3px; |
37cb39130
|
921 922 923 924 925 926 927 928 929 930 |
/* float: left; */ /* border: 1px solid #000; */ padding: 10px; /* width: 55%; */ text-align: center; /* height: 95%; */ /* margin-top: 35%; */ } .back-icard { margin: 3px; |
7c435b5bb
|
931 |
padding: 10px; |
7c435b5bb
|
932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 |
} .icard-back h3 { background-color: #000; color: #fff; font-size: 13px; padding: 5px 0px; margin: 5px; margin-top: 13px; } .icard-back h5 { font-size: 11px; color: #000; font-weight: bold; padding: 5px 0px; } |
37cb39130
|
947 |
/* .icard-back p { |
7c435b5bb
|
948 949 950 951 |
font-size: 15px; color: #000; font-weight: 500px; line-height: 17px; |
37cb39130
|
952 |
} */ |
7c435b5bb
|
953 954 955 956 957 |
.school-address { /* width: 40%; */ font-weight: 500px; color: #000; } |
cc7844a9d
|
958 959 960 961 962 |
.address { font-weight: 500px; color: #000; text-align: center; } |
7c435b5bb
|
963 964 965 966 967 968 969 970 971 972 973 |
.icard-bottom { padding-top: 5px; text-align: center; } .qrcode { float: left; width: 50%; } .qrcode img { width: 60px; height: 60px; |
37cb39130
|
974 |
margin-top: 15px; |
7c435b5bb
|
975 976 977 978 |
} .session { float: right; width: 70%; |
37cb39130
|
979 |
margin-top: 15px; |
7c435b5bb
|
980 |
} |
7c44528bc
|
981 |
|
7c435b5bb
|
982 983 984 985 986 987 988 989 990 991 992 |
@media screen and (max-width: 360px) { .icard-front { width: 316px; height: 418px; float: inherit; } .icard-back { float: left; } } </style> |