From c9f61969ad701658270431ae7bab95684f30602f Mon Sep 17 00:00:00 2001 From: amber Date: Tue, 28 Jul 2020 13:50:05 +0530 Subject: [PATCH] attendence download --- src/pages/Attendence/viewStudentsAttendence.vue | 44 +++++++++++++++++++++-- src/pages/Attendence/viewTeacherAttendence.vue | 47 ++++++++++++++++++++++--- 2 files changed, 83 insertions(+), 8 deletions(-) diff --git a/src/pages/Attendence/viewStudentsAttendence.vue b/src/pages/Attendence/viewStudentsAttendence.vue index b5cf712..d396e97 100644 --- a/src/pages/Attendence/viewStudentsAttendence.vue +++ b/src/pages/Attendence/viewStudentsAttendence.vue @@ -73,9 +73,8 @@ - - Export - + + Export @@ -378,6 +377,23 @@ export default { // this.$router.replace({ path: '/' }); }); }, + convertToCSV(objArray) { + var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray; + var str = ''; + + for (var i = 0; i < array.length; i++) { + var line = ''; + for (var index in array[i]) { + if (line != '') line += ',' + + line += array[i][index]; + } + + str += line + '\r\n'; + } + + return str; + }, exportData() { http() .get( @@ -396,6 +412,28 @@ export default { .then(response => { this.json_data = response.data.data; this.dialogExport = false; + console.log("hh",this.json_data) + var jsonObject = JSON.stringify(this.json_data); + + var csv = this.convertToCSV(jsonObject); + + var exportedFilenmae = "studentAttendance" + '.csv'; + var blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); + if (navigator.msSaveBlob) { // IE 10+ + navigator.msSaveBlob(blob, exportedFilenmae); + } else { + var link = document.createElement("a"); + if (link.download !== undefined) { // feature detection + // Browsers that support HTML5 download attribute + var url = URL.createObjectURL(blob); + link.setAttribute("href", url); + link.setAttribute("download", exportedFilenmae); + link.style.visibility = 'hidden'; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } + } }) .catch(err => { console.log("err====>", err); diff --git a/src/pages/Attendence/viewTeacherAttendence.vue b/src/pages/Attendence/viewTeacherAttendence.vue index 6f06cae..e127440 100644 --- a/src/pages/Attendence/viewTeacherAttendence.vue +++ b/src/pages/Attendence/viewTeacherAttendence.vue @@ -12,7 +12,7 @@ save_alt -

Export

+

Export

@@ -70,10 +70,9 @@ - Close - - Export - + Close + + Export
@@ -365,6 +364,23 @@ export default { // // this.$router.replace({ path: '/' }); // }); // }, +convertToCSV(objArray) { + var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray; + var str = ''; + + for (var i = 0; i < array.length; i++) { + var line = ''; + for (var index in array[i]) { + if (line != '') line += ',' + + line += array[i][index]; + } + + str += line + '\r\n'; + } + + return str; + }, exportData() { // console.log("id",this.$route.params.teacherId); http() @@ -384,6 +400,27 @@ export default { .then(response => { this.json_data = response.data.data; this.dialogExport = false; + var jsonObject = JSON.stringify(this.json_data); + var csv = this.convertToCSV(jsonObject); + var exportedFilenmae = "teacherAttendance" + '.csv'; + var blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); + if (navigator.msSaveBlob) { // IE 10+ + navigator.msSaveBlob(blob, exportedFilenmae); + } else { + var link = document.createElement("a"); + if (link.download !== undefined) { // feature detection + // Browsers that support HTML5 download attribute + var url = URL.createObjectURL(blob); + link.setAttribute("href", url); + link.setAttribute("download", exportedFilenmae); + link.style.visibility = 'hidden'; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } + } + + }) .catch(err => { console.log("err====>", err); -- 2.0.0