Commit ba420d0d1cf286e7d7db6943fb815bf6ecd4f713

Authored by Shikha Mishra
1 parent 4fb0af78fa

Solve add subject issue subject was not adding without refreshing page, Make tea…

…cher and parent viewable while viweing teacher's and parent's detail, Show file name and make that file downloadable in notice board screen, Show school logo while printing student report, Student report data was not showing at some times issue solved and Hide meet link from teacher dashboard
... ... @@ -19,7 +19,7 @@ const adminMenu = [
19 19 icon: '/static/icon/attendence.png',
20 20 items: [
21 21 { name: 'AssignTeachers', title: 'Assign Teachers', component: 'AssignTeachers', action: '', },
22   -
  22 +
23 23 ]
24 24 },
25 25 {
... ... @@ -395,11 +395,11 @@ const teacherMenu = [{
395 395  
396 396 ]
397 397 },
398   -{
399   - title: 'Meet',
400   - name: 'Meet',
401   - icon: '/static/icon/meet_icon_navigation.png',
402   -}
  398 + // {
  399 + // title: 'Meet',
  400 + // name: 'Meet',
  401 + // icon: '/static/icon/meet_icon_navigation.png',
  402 + // }
403 403 ];
404 404  
405 405 const parentMenu = [{
... ...
src/pages/Academic/routine.vue
... ... @@ -681,8 +681,6 @@ export default {
681 681 },
682 682 methods: {
683 683 editItem(item, routineData) {
684   - console.log("routineData", routineData);
685   - console.log("item", item);
686 684 this.editedIndex = this.routineList;
687 685 this.editedItem = Object.assign({}, item);
688 686 this.editedItem.lectureRoutineId = item._id;
... ... @@ -746,7 +744,7 @@ export default {
746 744 // this.clear();
747 745 this.snackbar = true;
748 746 this.color = "green";
749   - console.log("===this.addRoutine===", this.addRoutine);
  747 + // console.log("===this.addRoutine===", this.addRoutine);
750 748 http()
751 749 .get(
752 750 "/getRoutineList",
... ... @@ -767,7 +765,10 @@ export default {
767 765 this.hideTable = false;
768 766 })
769 767 .catch((err) => {
770   - console.log("err====>", err);
  768 + // console.log("err====>", err);
  769 + this.snackbar = true;
  770 + this.text = error.response.data.message;
  771 + this.color = "error";
771 772 });
772 773 this.addRoutineDialog = false;
773 774 })
... ...
src/pages/Academic/subject.vue
... ... @@ -671,10 +671,10 @@ export default {
671 671 this.getClassSubject(this.addSubject.classId);
672 672 })
673 673 .catch((error) => {
674   - // this.snackbar = true;
675   - // this.text = error.response.data.message;
676   - // this.color = "error";
677   - console.log("error", error);
  674 + this.snackbar = true;
  675 + this.text = error.response.data.message;
  676 + this.color = "error";
  677 + // console.log("error", error);
678 678 });
679 679 },
680 680 close() {
... ... @@ -738,7 +738,7 @@ export default {
738 738 },
739 739 getClassSubject(_id) {
740 740 this.showLoader = true;
741   - console.log("class", _id);
  741 + // console.log("class", _id);
742 742 // this.classId = this.classId;
743 743 http()
744 744 .get(
... ...
src/pages/Academic/syllabus.vue
... ... @@ -669,7 +669,7 @@ export default {
669 669 this.close();
670 670 })
671 671 .catch((err) => {
672   - console.log("err====>", err);
  672 + // console.log("err====>", err);
673 673 this.text = error.response.data.message;
674 674 this.color = "error";
675 675 });
... ...
src/pages/Account/editInvoice.vue
... ... @@ -48,7 +48,7 @@
48 48 <v-select
49 49 :items="studentList"
50 50 v-model="editData.studentId"
51   - :label="editData.studentId.name"
  51 + :label="editData.studentId ? editData.studentId.name: '-'"
52 52 item-text="name"
53 53 item-value="_id"
54 54 @change="getStudentId(editData.studentId)"
... ... @@ -402,7 +402,7 @@ export default {
402 402 this.$emit("update-editInvoice");
403 403 })
404 404 .catch((error) => {
405   - console.log(error);
  405 + // console.log(error);
406 406 this.snackbar = true;
407 407 this.text = error.response.data.message;
408 408 color: "red";
... ...
src/pages/Account/invoice.vue
... ... @@ -693,7 +693,6 @@ export default {
693 693 // console.log("item", item);
694 694 this.editedIndex = this.invoiceList.indexOf(item);
695 695 this.editedItem = Object.assign({}, item);
696   - console.log("editedItem", this.editedItem);
697 696 this.dialog1 = true;
698 697 },
699 698 editItem(item) {
... ... @@ -895,7 +894,7 @@ export default {
895 894 this.feeTypeData.push({ feeTypeName: this.feeType.feeTypeName });
896 895 },
897 896 deleteSelectFee: function (index, feeTyp) {
898   - console.log("---index----", index);
  897 + // console.log("---index----", index);
899 898 this.feeTypeData.splice(index, 1);
900 899 this.getAmmountDetails(feeTyp);
901 900 if (this.feeTypeData.length == 0) {
... ... @@ -938,7 +937,7 @@ export default {
938 937 name: "Select All",
939 938 _id: "Select All",
940 939 });
941   - console.log("=======studentist====", this.studentList);
  940 + // console.log("=======studentist====", this.studentList);
942 941 this.showLoader = false;
943 942 })
944 943 .catch((err) => {
... ...
src/pages/Account/viewInvoice.vue
... ... @@ -318,25 +318,25 @@ export default {
318 318 discount: "",
319 319 totalPaidAmount: "",
320 320 subTotal: "",
321   - feeTypeName: ""
  321 + feeTypeName: "",
322 322 },
323 323 feeTypeData: [],
324 324 token: "",
325 325 invoiceParticularData: {
326 326 studentId: {
327   - name: ""
  327 + name: "",
328 328 },
329 329 classId: {
330   - classNum: ""
331   - }
  330 + classNum: "",
  331 + },
332 332 },
333 333 userData: {
334   - name: ""
335   - }
  334 + name: "",
  335 + },
336 336 }),
337 337  
338 338 methods: {
339   - dates: function(date) {
  339 + dates: function (date) {
340 340 return moment(date).format("MMMM DD, YYYY");
341 341 },
342 342 getInvoiceList() {
... ... @@ -344,11 +344,11 @@ export default {
344 344 .get("/getParticularInvoice", {
345 345 params: {
346 346 invoiceId: this.$route.params.viewInvoiceId,
347   - schoolId: this.$store.state.schoolId
  347 + schoolId: this.$store.state.schoolId,
348 348 },
349   - headers: { Authorization: "Bearer " + this.token }
  349 + headers: { Authorization: "Bearer " + this.token },
350 350 })
351   - .then(response => {
  351 + .then((response) => {
352 352 this.invoiceParticularData = response.data.data;
353 353 this.invoiceData = this.invoiceParticularData;
354 354 this.invoiceData.date = this.invoiceParticularData.date.slice(0, 10);
... ... @@ -359,7 +359,7 @@ export default {
359 359 (this.feeType.totalPaidAmount = response.data.data.totalPaidAmount);
360 360 this.showLoader = false;
361 361 })
362   - .catch(error => {
  362 + .catch((error) => {
363 363 this.showLoader = false;
364 364 if (error.response.status === 401) {
365 365 this.$router.replace({ path: "/" });
... ... @@ -373,12 +373,12 @@ export default {
373 373 http()
374 374 .get("/getFeesList", {
375 375 params: { schoolId: this.$store.state.schoolId },
376   - headers: { Authorization: "Bearer " + this.token }
  376 + headers: { Authorization: "Bearer " + this.token },
377 377 })
378   - .then(response => {
  378 + .then((response) => {
379 379 this.feeTypes = response.data.data;
380 380 })
381   - .catch(err => {
  381 + .catch((err) => {
382 382 // console.log("err====>", err);
383 383 });
384 384 },
... ... @@ -386,7 +386,7 @@ export default {
386 386 let feeType = {
387 387 subTotal: "",
388 388 subParticularTotal: "",
389   - paidAmount: ""
  389 + paidAmount: "",
390 390 };
391 391 // *********** SUBTOTAL ***********
392 392 feeType.subTotal =
... ... @@ -404,17 +404,17 @@ export default {
404 404 getUserData() {
405 405 http()
406 406 .get("/getParticularUserDetail")
407   - .then(response => {
  407 + .then((response) => {
408 408 this.userData = response.data.data;
409 409 })
410   - .catch(error => {
  410 + .catch((error) => {
411 411 if (error.response.status === 401) {
412 412 this.$router.replace({ path: "/" });
413 413 this.$store.dispatch("setToken", null);
414 414 this.$store.dispatch("Id", null);
415 415 }
416 416 });
417   - }
  417 + },
418 418 },
419 419 mounted() {
420 420 this.token = this.$store.state.token;
... ... @@ -423,14 +423,14 @@ export default {
423 423 this.getUserData();
424 424 },
425 425 created() {
426   - this.$root.$on("app:search", search => {
  426 + this.$root.$on("app:search", (search) => {
427 427 this.search = search;
428 428 });
429 429 },
430 430 beforeDestroy() {
431 431 // dont forget to remove the listener
432 432 this.$root.$off("app:search");
433   - }
  433 + },
434 434 };
435 435 </script>
436 436  
... ...
src/pages/NoticeBoard/noticeBoard.vue
... ... @@ -213,12 +213,20 @@
213 213 </td>
214 214 <td class="text-xs-center td td-row">{{ props.item.title}}</td>
215 215 <td class="text-xs-center td td-row">
216   - <v-btn
  216 + <!-- <v-btn
217 217 class="add-button"
218 218 @click="generatePDF2Canvas(props.item)"
219 219 :loading="loadingPdf"
220 220 dark
221   - >{{ props.item.fileType }}</v-btn>
  221 + >{{ props.item.fileType }}</v-btn>-->
  222 + <a
  223 + class="hover"
  224 + :href="props.item.eventImageUrl"
  225 + target="_blank"
  226 + style="text-decoration: none!important; color: grey"
  227 + >
  228 + <h5>{{props.item.fileName}}</h5>
  229 + </a>
222 230 </td>
223 231 <td class="text-xs-center td td-row">
224 232 <span>
... ... @@ -263,7 +271,12 @@
263 271 >Your search for "{{ search }}" found no results.</v-alert>
264 272 </v-data-table>
265 273 <!-- ****** ADD Notice Board ****** -->
266   - <v-dialog v-model="addNoticeBoardDialog" max-width="600px" v-if="addNoticeBoardDialog" persistent>
  274 + <v-dialog
  275 + v-model="addNoticeBoardDialog"
  276 + max-width="600px"
  277 + v-if="addNoticeBoardDialog"
  278 + persistent
  279 + >
267 280 <v-card flat class="card-style pa-2" dark>
268 281 <v-layout>
269 282 <v-flex xs12>
... ... @@ -401,6 +414,7 @@ export default {
401 414 pagination: {
402 415 rowsPerPage: 10,
403 416 },
  417 + imageData: {},
404 418 imageName: "",
405 419 imageUrl: "",
406 420 imageFile: "",
... ... @@ -440,14 +454,14 @@ export default {
440 454 },
441 455 }),
442 456 watch: {
443   - addNoticeBoardDialog: function (val) {
444   - if (!val) {
445   - this.addNoticeBoard = [];
446   - this.imageName = "";
447   - this.imageFile = "";
448   - this.imageUrl = "";
449   - }
450   - },
  457 + // addNoticeBoardDialog: function (val) {
  458 + // if (!val) {
  459 + // this.addNoticeBoard = [];
  460 + // this.imageName = "";
  461 + // this.imageFile = "";
  462 + // this.imageUrl = "";
  463 + // }
  464 + // },
451 465 },
452 466 methods: {
453 467 pickFile() {
... ... @@ -522,13 +536,13 @@ export default {
522 536 },
523 537 submit() {
524 538 var signatures = {
525   - JVBERi0: "other",
526   - iVBORw0KGgo: "image",
527   - UEsDBBQ: "other",
528   - "/": "image",
529   - AAABAA: "image",
530   - IywiV2hhdC: "other",
531   - bmFtZSxl: "other",
  539 + // JVBERi0: "other",
  540 + // iVBORw0KGgo: "image",
  541 + // UEsDBBQ: "other",
  542 + // "/": "image",
  543 + // AAABAA: "image",
  544 + // IywiV2hhdC: "other",
  545 + // bmFtZSxl: "other",
532 546 };
533 547 function detectMimeType(b64) {
534 548 for (var s in signatures) {
... ... @@ -596,12 +610,12 @@ export default {
596 610 fileName: this.imageName,
597 611 };
598 612 var signatures = {
599   - JVBERi0: "other",
600   - iVBORw0KGgo: "image",
601   - UEsDBBQ: "other",
602   - "/": "image",
603   - AAABAA: "image",
604   - IywiV2hhdC: "other",
  613 + // JVBERi0: "other",
  614 + // iVBORw0KGgo: "image",
  615 + // UEsDBBQ: "other",
  616 + // "/": "image",
  617 + // AAABAA: "image",
  618 + // IywiV2hhdC: "other",
605 619 };
606 620 function detectMimeType(b64) {
607 621 for (var s in signatures) {
... ... @@ -659,4 +673,11 @@ export default {
659 673 this.getNoticeDataList();
660 674 },
661 675 };
662   -</script>
663 676 \ No newline at end of file
  677 +</script>
  678 +
  679 +<style scoped>
  680 +a:hover :hover {
  681 + text-decoration: underline !important;
  682 + color: blue;
  683 +}
  684 +</style>
664 685 \ No newline at end of file
... ...
src/pages/Parent/parents.vue
... ... @@ -312,7 +312,7 @@
312 312  
313 313 <!-- ****** PROFILE VIEW Parents DEATILS ****** -->
314 314  
315   - <v-dialog v-model="profileParentDialog" max-width="500px" scrollable persistent>
  315 + <v-dialog v-model="profileParentDialog" max-width="700px" persistent>
316 316 <v-card class="card-style pa-2" dark>
317 317 <v-layout>
318 318 <v-flex xs12>
... ...
src/pages/Report/studentReport.vue
... ... @@ -224,7 +224,9 @@
224 224 <td class="td td-row text-xs-center">{{ props.item.rollNo }}</td>
225 225 <td class="td td-row text-xs-center">{{ props.item.email }}</td>
226 226 <td class="td td-row text-xs-center">{{ props.item.classId.classNum }}</td>
227   - <td class="td td-row text-xs-center">{{ props.item.sectionId.name }}</td>
  227 + <td
  228 + class="td td-row text-xs-center"
  229 + >{{ props.item.sectionId ? props.item.sectionId.name: '-' }}</td>
228 230 </tr>
229 231 </template>
230 232 <v-alert
... ... @@ -238,7 +240,14 @@
238 240 <v-flex xs12 id="printMe" v-show="hidePrintStudentReport">
239 241 <v-layout>
240 242 <v-flex xs12 style="text-align:center;margin-bottom:10px">
241   - <img :src="userData.schoolLogoUrl" width="80" alt="logo" />
  243 + <!-- <img :src="userData.schoolLogoUrl" width="80" alt="logo" /> -->
  244 + <v-avatar>
  245 + <img :src="userData.schoolLogoUrl" v-if="userData.schoolLogoUrl" />
  246 + <img
  247 + src="/static/schoolIcons/INTRACK_White.png"
  248 + v-else-if="!userData.schoolLogoUrl"
  249 + />
  250 + </v-avatar>
242 251 <p class="title">{{ userData.name }}</p>
243 252 <p>{{ userData.address }}</p>
244 253 </v-flex>
... ... @@ -280,9 +289,10 @@
280 289 <td
281 290 style="border: 1px solid lightgrey !important;padding: 4px;"
282 291 >{{ studentReport.classId.classNum }}</td>
283   - <td
284   - style="border: 1px solid lightgrey !important;padding: 4px;"
285   - >{{ studentReport.sectionId.name }}</td>
  292 + <td style="border: 1px solid lightgrey !important;padding: 4px;">
  293 + {{ studentReport.sectionId ? studentReport.sectionId.name: '-'
  294 + }}
  295 + </td>
286 296 </tr>
287 297 </tbody>
288 298 </table>
... ... @@ -326,59 +336,59 @@ export default {
326 336 hidePrintStudentReport: false,
327 337 addSection: [],
328 338 pagination: {
329   - rowsPerPage: 10
  339 + rowsPerPage: 10,
330 340 },
331   - formRules: [v => !!v || "Form For is required"],
332   - bloodGroupRules: [v => !!v || "Blood group is required"],
333   - classRules: [v => !!v || "Class is required"],
334   - sectionRules: [v => !!v || "Class is required"],
335   - genderRules: [v => !!v || "Gender is required"],
336   - routeRules: [v => !!v || "RouteI is required"],
337   - hostelRules: [v => !!v || "Hostel is required"],
338   - countryRules: [v => !!v || "Country is required"],
  341 + formRules: [(v) => !!v || "Form For is required"],
  342 + bloodGroupRules: [(v) => !!v || "Blood group is required"],
  343 + classRules: [(v) => !!v || "Class is required"],
  344 + sectionRules: [(v) => !!v || "Class is required"],
  345 + genderRules: [(v) => !!v || "Gender is required"],
  346 + routeRules: [(v) => !!v || "RouteI is required"],
  347 + hostelRules: [(v) => !!v || "Hostel is required"],
  348 + countryRules: [(v) => !!v || "Country is required"],
339 349 headers: [
340 350 {
341 351 align: "",
342 352 text: "No",
343 353 sortable: false,
344   - value: "No"
  354 + value: "No",
345 355 },
346 356 {
347 357 text: "Profile Pic",
348 358 vaue: "profilePicUrl",
349 359 sortable: false,
350   - align: "center"
  360 + align: "center",
351 361 },
352 362 {
353 363 text: "Name",
354 364 vaue: "name",
355 365 sortable: false,
356   - align: "center"
  366 + align: "center",
357 367 },
358 368 {
359 369 text: "Roll No.",
360 370 value: "rollNo",
361 371 sortable: false,
362   - align: "center"
  372 + align: "center",
363 373 },
364 374 {
365 375 text: "Email",
366 376 value: "email",
367 377 sortable: false,
368   - align: "center"
  378 + align: "center",
369 379 },
370 380 {
371 381 text: "Class",
372 382 value: "classId",
373 383 sortable: false,
374   - align: "center"
  384 + align: "center",
375 385 },
376 386 {
377 387 text: "Section",
378 388 value: "sectionId",
379 389 sortable: false,
380   - align: "center"
381   - }
  390 + align: "center",
  391 + },
382 392 ],
383 393 classList: [],
384 394 report: {},
... ... @@ -387,12 +397,12 @@ export default {
387 397 formList: [
388 398 {
389 399 name: "Blood Group",
390   - value: "bloodGroup"
  400 + value: "bloodGroup",
391 401 },
392 402 "Country",
393 403 "Gender",
394 404 "Transport",
395   - "Hostel"
  405 + "Hostel",
396 406 // "Birthday"
397 407 ],
398 408 bloodGroupList: ["A+", "A-", "B+", "B-", "O+", "O-", "AB+", "AB-"],
... ... @@ -403,7 +413,7 @@ export default {
403 413 route: [],
404 414 Hostel: [],
405 415 hostelList: [],
406   - token: ""
  416 + token: "",
407 417 }),
408 418 methods: {
409 419 clear() {
... ... @@ -413,13 +423,13 @@ export default {
413 423 this.showLoader = true;
414 424 http()
415 425 .get("/getClassesList", {
416   - headers: { Authorization: "Bearer " + this.token }
  426 + headers: { Authorization: "Bearer " + this.token },
417 427 })
418   - .then(response => {
  428 + .then((response) => {
419 429 this.classList = response.data.data;
420 430 this.showLoader = false;
421 431 })
422   - .catch(err => {
  432 + .catch((err) => {
423 433 this.showLoader = false;
424 434 if (error.response.status === 401) {
425 435 this.$router.replace({ path: "/" });
... ... @@ -496,20 +506,23 @@ export default {
496 506 country: this.report.country,
497 507 gender: this.report.gender,
498 508 classId: this.report.classId,
499   - sectionId: this.report.sectionId
  509 + sectionId: this.report.sectionId,
500 510 },
501   - headers: { Authorization: "Bearer " + this.token }
  511 + headers: { Authorization: "Bearer " + this.token },
502 512 })
503   - .then(response => {
  513 + .then((response) => {
504 514 this.getStudentsReportList = response.data.data;
505 515 this.showTable = true;
506 516 this.showLoader = false;
507 517 this.clear();
508 518 // console.log("getSectionsList=====>", response.data.data);
509 519 })
510   - .catch(error => {
511   - console.log("err====>", error);
  520 + .catch((error) => {
  521 + // console.log("err====>", error);
512 522 this.showLoader = false;
  523 + this.snackbar = true;
  524 + this.color = "error";
  525 + this.text = error.response.data.message;
513 526 });
514 527 }
515 528 },
... ... @@ -521,16 +534,19 @@ export default {
521 534 "/getSectionsList",
522 535 { params: { classId: this.report.classId } },
523 536 {
524   - headers: { Authorization: "Bearer " + this.token }
  537 + headers: { Authorization: "Bearer " + this.token },
525 538 }
526 539 )
527   - .then(response => {
  540 + .then((response) => {
528 541 this.addSection = response.data.data;
529 542 this.showLoader = false;
530 543 })
531   - .catch(error => {
532   - console.log("err====>", error);
  544 + .catch((error) => {
  545 + // console.log("err====>", error);
533 546 this.showLoader = false;
  547 + this.snackbar = true;
  548 + this.color = "error";
  549 + this.text = error.response.data.message;
534 550 });
535 551 },
536 552 // getFormList() {
... ... @@ -561,17 +577,17 @@ export default {
561 577 getUserData() {
562 578 http()
563 579 .get("/getParticularUserDetail")
564   - .then(response => {
  580 + .then((response) => {
565 581 this.userData = response.data.data;
566 582 })
567   - .catch(error => {
  583 + .catch((error) => {
568 584 // if (error.response.status === 401) {
569 585 // this.$router.replace({ path: "/" });
570 586 // this.$store.dispatch("setToken", null);
571 587 // this.$store.dispatch("Id", null);
572 588 // }
573 589 });
574   - }
  590 + },
575 591 },
576 592 mounted() {
577 593 this.token = this.$store.state.token;
... ... @@ -583,14 +599,14 @@ export default {
583 599 this.getClass();
584 600 },
585 601 created() {
586   - this.$root.$on("app:search", search => {
  602 + this.$root.$on("app:search", (search) => {
587 603 this.search = search;
588 604 });
589 605 },
590 606 beforeDestroy() {
591 607 // dont forget to remove the listener
592 608 this.$root.$off("app:search");
593   - }
  609 + },
594 610 };
595 611 </script>
596 612 <style scoped>
... ...
src/pages/Teachers/teachers.vue
... ... @@ -322,7 +322,7 @@
322 322  
323 323 <!-- ****** PROFILE VIEW TEACHERS DETAILS ****** -->
324 324  
325   - <v-dialog v-model="viewTeacherProfileDialog" max-width="500px" scrollable persistent>
  325 + <v-dialog v-model="viewTeacherProfileDialog" max-width="500px" persistent>
326 326 <v-card flat class="card-style pa-3" dark>
327 327 <v-layout>
328 328 <v-flex xs12>
... ...
src/router/paths.js
... ... @@ -851,20 +851,20 @@ export default [{
851 851 `@/pages/Mark/markDistribution.vue`
852 852 )
853 853 },
854   -{
855   - path: '/meet',
856   - meta: {},
857   - name: 'Meet',
858   - props: (route) => ({
859   - type: route.query.type
860   - }),
861   - component: () =>
862   - import(
863   - /* webpackChunkName: "routes" */
864   - /* webpackMode: "lazy-once" */
865   - `@/pages/Meet/meet.vue`
866   - )
867   -},
  854 +// {
  855 +// path: '/meet',
  856 +// meta: {},
  857 +// name: 'Meet',
  858 +// props: (route) => ({
  859 +// type: route.query.type
  860 +// }),
  861 +// component: () =>
  862 +// import(
  863 +// /* webpackChunkName: "routes" */
  864 +// /* webpackMode: "lazy-once" */
  865 +// `@/pages/Meet/meet.vue`
  866 +// )
  867 +// },
868 868 {
869 869 path: '/academicYear',
870 870 meta: {},
... ...