From ec5677f43263a2e7c08f2508e2ace1b53997f385 Mon Sep 17 00:00:00 2001 From: Neeraj Sharma Date: Wed, 27 Nov 2019 18:20:00 +0530 Subject: [PATCH] implement print on report and view mark --- package-lock.json | 5 + package.json | 1 + src/Services/http.js | 2 +- src/main.js | 19 ++ src/pages/Mark/mark.vue | 47 +++- src/pages/Mark/viewMark.vue | 343 ++++++++++++++++++----------- src/pages/Report/progressCardReport.vue | 368 ++++++++++++++++---------------- src/pages/Report/studentReport.vue | 47 ++-- 8 files changed, 490 insertions(+), 342 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3877a78..f408e1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15728,6 +15728,11 @@ "integrity": "sha512-2j/t+wIbyVMP5NvctQoSUvLkYKoWAAk2QlQiilrM2a6/ulzFgdcLUJfTvs4XQ/3eZhHiBmmEojbjmM4AzZj8JA==", "dev": true }, + "vue-html-to-paper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vue-html-to-paper/-/vue-html-to-paper-1.1.1.tgz", + "integrity": "sha512-Dk65vtHZTvOG0x40hKCbmaqjOsIPU077kJquc3AwV5PuFNsRJxXYte1TPX8ZOv+aQP0mhxKVIYPwiANLLtTm3w==" + }, "vue-html2canvas": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vue-html2canvas/-/vue-html2canvas-0.0.4.tgz", diff --git a/package.json b/package.json index ec00219..459f6e4 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "vee-validate": "^2.2.15", "vue": "^2.5.16", "vue-full-calendar": "^2.7.0", + "vue-html-to-paper": "^1.1.1", "vue-html2canvas": "0.0.4", "vue-json-csv": "^1.2.9", "vue-material-year-calendar": "^1.2.4", diff --git a/src/Services/http.js b/src/Services/http.js index bcd38b0..18cd03d 100644 --- a/src/Services/http.js +++ b/src/Services/http.js @@ -3,7 +3,7 @@ import store from '@/store/store' export default () => { return axios.create({ - // baseURL: 'http://192.168.2.221:3002/v1', + // baseURL: 'http://192.168.0.101:3002/v1', baseURL: 'http://13.234.251.173:8001/v1', headers: { Authorization: `Bearer ${store.state.token}` diff --git a/src/main.js b/src/main.js index 2eb30de..fbb3b38 100644 --- a/src/main.js +++ b/src/main.js @@ -14,7 +14,26 @@ import FullCalendar from 'vue-full-calendar'; import JsonCSV from 'vue-json-csv' import VueHtml2Canvas from 'vue-html2canvas'; import 'babel-polyfill'; +import VueHtmlToPaper from 'vue-html-to-paper'; +const options = { + name: '_blank', + specs: [ + 'fullscreen=yes', + 'titlebar=yes', + 'scrollbars=yes' + ], + styles: [ + 'https://unpkg.com/vuetify/dist/vuetify.min.css', + 'https://unpkg.com/kidlat-css/css/kidlat.css' + ] +} + +Vue.use(VueHtmlToPaper, options); + +// or, using the defaults with no stylesheet + +Vue.use(VueHtmlToPaper); Vue.use(VueHtml2Canvas); Vue.component('downloadCsv', JsonCSV) diff --git a/src/pages/Mark/mark.vue b/src/pages/Mark/mark.vue index 0bd0530..c7d5a1f 100644 --- a/src/pages/Mark/mark.vue +++ b/src/pages/Mark/mark.vue @@ -238,7 +238,8 @@ @@ -448,7 +449,17 @@ export default { } }); }, + clear() { + this.$refs.form.reset(); + }, findStudents() { + this.getStudentData = []; + // for (let k = 0; k < this.headerOfMark.length; k++) { + // this.headerOfMark[k].slice(5); + // console.log(this.headerOfMark); + // } + // console.log(this.headerOfMark); + if (this.$refs.form.validate()) { this.showLoader = true; http() @@ -459,6 +470,8 @@ export default { } }) .then(response => { + console.log(" bbbbbbbbbbbbbbbbbbb", this.headerOfMark); + this.getStudentData = response.data.data; this.showLoader = false; this.showLoader = true; @@ -468,6 +481,7 @@ export default { }) .then(response => { this.showLoader = false; + this.headerOfMark.length = 4; // console.log("getSectionsList=====>", response.data.data); for (var i = 0; i < response.data.data.length; i++) { this.headerOfMark.push({ @@ -480,10 +494,10 @@ export default { align: "center" }); } - for (var i = 0; i < this.getStudentData.length; i++) { - this.getStudentData[i].marksObtained = []; + for (var n = 0; n < this.getStudentData.length; n++) { + this.getStudentData[n].marksObtained = []; for (var j = 0; j < response.data.data.length; j++) { - this.getStudentData[i].marksObtained.push({ + this.getStudentData[n].marksObtained.push({ markDistributionId: response.data.data[j]._id, marksScored: 0 }); @@ -502,7 +516,6 @@ export default { } }, submit() { - let studentsMarks = []; for (var j = 0; j < this.getStudentData.length; j++) { let data = { examId: this.addMark.examId, @@ -515,6 +528,7 @@ export default { http() .post("/createMark", data) .then(response => { + this.getStudentData = []; this.snackbar = true; this.text = response.data.message; this.color = "green"; @@ -575,4 +589,25 @@ export default { .markTable { max-width: 80px !important; } - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pages/Mark/viewMark.vue b/src/pages/Mark/viewMark.vue index bf17166..90063fd 100644 --- a/src/pages/Mark/viewMark.vue +++ b/src/pages/Mark/viewMark.vue @@ -1,131 +1,184 @@