diff --git a/src/pages/Administrator/bulkImport.vue b/src/pages/Administrator/bulkImport.vue index 517cea7..f42ffe1 100644 --- a/src/pages/Administrator/bulkImport.vue +++ b/src/pages/Administrator/bulkImport.vue @@ -62,7 +62,7 @@ refreshUpload - + import @@ -97,7 +97,7 @@ - import + import @@ -131,7 +131,7 @@ - import + import @@ -165,7 +165,13 @@ - import + import @@ -210,7 +216,7 @@ :right="x === 'right'" :vertical="mode === 'vertical'" v-model="snackbar" - :color= color + :color="color" >{{ text }} @@ -224,10 +230,15 @@ import studentData from "@/script/students.js"; import parentData from "@/script/parents.js"; import userData from "@/script/users.js"; import bookData from "@/script/books.js"; +import XLSX from "xlsx"; export default { data: () => ({ loading: false, + parentLoading: false, + userLoading: false, + BookLoading: false, + studentLoading: false, snackbar: false, y: "top", x: "right", @@ -268,147 +279,133 @@ export default { pickStudentFile() { this.$refs.studentfile.click(); }, - convertFile() { + convertFile(e) { const input = document.getElementById("fileInput"); - const reader = new FileReader(); - reader.onload = () => { - let text = reader.result; - //convert text to json here - var json = this.csvJSON(text); - }; - reader.readAsText(input.files[0]); this.teacherFileName = input.files[0].name; + // const reader = new FileReader(); + // console.log("reader", reader); + // reader.onload = () => { + // let text = reader.result; + // //convert text to json here + // console.log("text", text); + // var json = this.csvJSON(text); + // }; + // reader.readAsText(input.files[0]); + var files = e.target.files, + f = files[0]; + var reader = new FileReader(); + let array = []; + let _this = this; + reader.onload = function(e) { + var data = new Uint8Array(e.target.result); + var workbook = XLSX.read(data, { type: "array" }); + let sheetName = workbook.SheetNames[0]; + // /* DO SOMETHING WITH workbook HERE */ + let worksheet = workbook.Sheets[sheetName]; + array = XLSX.utils.sheet_to_json(worksheet); + _this.teacherFileJson = array; + }; + reader.readAsArrayBuffer(f); }, - parentFile() { + parentFile(e) { const input = document.getElementById("parentInput"); - const reader = new FileReader(); - reader.onload = () => { - let text = reader.result; - //convert text to json here - var json = this.csvParentJSON(text); - }; - reader.readAsText(input.files[0]); this.parentFileName = input.files[0].name; + console.log("this.parentFileName", this.parentFileName); + var files = e.target.files, + f = files[0]; + var reader = new FileReader(); + let array = []; + let _this = this; + reader.onload = function(e) { + var data = new Uint8Array(e.target.result); + var workbook = XLSX.read(data, { type: "array" }); + let sheetName = workbook.SheetNames[0]; + // /* DO SOMETHING WITH workbook HERE */ + let worksheet = workbook.Sheets[sheetName]; + array = XLSX.utils.sheet_to_json(worksheet); + _this.parentFileJson = array; + }; + reader.readAsArrayBuffer(f); }, - userFile() { + userFile(e) { const input = document.getElementById("userInput"); - const reader = new FileReader(); - reader.onload = () => { - let text = reader.result; - //convert text to json here - var json = this.csvUserJSON(text); - }; - reader.readAsText(input.files[0]); this.userFileName = input.files[0].name; + var files = e.target.files, + f = files[0]; + var reader = new FileReader(); + let array = []; + let _this = this; + reader.onload = function(e) { + var data = new Uint8Array(e.target.result); + var workbook = XLSX.read(data, { type: "array" }); + let sheetName = workbook.SheetNames[0]; + // /* DO SOMETHING WITH workbook HERE */ + let worksheet = workbook.Sheets[sheetName]; + array = XLSX.utils.sheet_to_json(worksheet); + _this.userFileJson = array; + }; + reader.readAsArrayBuffer(f); }, - bookFile() { + bookFile(e) { const input = document.getElementById("bookInput"); - const reader = new FileReader(); - reader.onload = () => { - let text = reader.result; - //convert text to json here - var json = this.csvBookJSON(text); - }; - reader.readAsText(input.files[0]); this.bookFileName = input.files[0].name; + console.log("this.bookFileName", this.bookFileName); + var files = e.target.files, + f = files[0]; + console.log("this.bookFileName", files); + var reader = new FileReader(); + console.log("reader================", reader); + let array = []; + let _this = this; + reader.onload = function(e) { + console.log("data", e.target.result); + var data = new Uint8Array(e.target.result); + console.log("data", data); + var workbook = XLSX.read(data, { type: "array" }); + let sheetName = workbook.SheetNames[0]; + // /* DO SOMETHING WITH workbook HERE */ + let worksheet = workbook.Sheets[sheetName]; + array = XLSX.utils.sheet_to_json(worksheet); + _this.bookFileJson = array; + console.log("this.bookFileJson ", _this.bookFileJson); + }; + reader.readAsArrayBuffer(f); }, - studentFile() { + studentFile(e) { const input = document.getElementById("studentInput"); - const reader = new FileReader(); - reader.onload = () => { - let text = reader.result; - //convert text to json here - var json = this.csvStudentJSON(text); - }; - reader.readAsText(input.files[0]); this.bookStudentName = input.files[0].name; + var files = e.target.files, + f = files[0]; + var reader = new FileReader(); + let array = []; + let _this = this; + reader.onload = function(e) { + var data = new Uint8Array(e.target.result); + var workbook = XLSX.read(data, { type: "array" }); + let sheetName = workbook.SheetNames[0]; + // /* DO SOMETHING WITH workbook HERE */ + let worksheet = workbook.Sheets[sheetName]; + array = XLSX.utils.sheet_to_json(worksheet); + _this.studentFileJson = array; + }; + reader.readAsArrayBuffer(f); }, - csvJSON(csv) { - var lines = csv.split("\n"); - - var result = []; - var headers = lines[0].split(","); - - for (var i = 1; i < lines.length; i++) { - var obj = {}; - var currentline = lines[i].split(","); - - for (var j = 0; j < headers.length; j++) { - obj[headers[j]] = currentline[j]; - } - this.teacherFileJson.push(obj); - } - }, - csvParentJSON(csvParent) { - var lines = csvParent.split("\n"); - - var result = []; - - var headers = lines[0].split(","); - - for (var i = 1; i < lines.length; i++) { - var obj = {}; - var currentline = lines[i].split(","); - - for (var j = 0; j < headers.length; j++) { - obj[headers[j]] = currentline[j]; - } - this.parentFileJson.push(obj); - } - }, - csvUserJSON(cvsUser) { - var lines = cvsUser.split("\n"); - - var result = []; - - var headers = lines[0].split(","); - - for (var i = 1; i < lines.length; i++) { - var obj = {}; - var currentline = lines[i].split(","); - - for (var j = 0; j < headers.length; j++) { - obj[headers[j]] = currentline[j]; - } - - this.userFileJson.push(obj); - } - }, - csvBookJSON(cvsBook) { - var lines = cvsBook.split("\n"); - - var result = []; - - var headers = lines[0].split(","); - - for (var i = 1; i < lines.length; i++) { - var obj = {}; - var currentline = lines[i].split(","); - - for (var j = 0; j < headers.length; j++) { - obj[headers[j]] = currentline[j]; - } - - this.bookFileJson.push(obj); - } - }, - csvStudentJSON(cvsBook) { - var lines = cvsBook.split("\n"); - - var result = []; + // csvJSON(csv) { + // var lines = csv.split("\n"); - var headers = lines[0].split(","); + // var result = []; + // var headers = lines[0].split(","); - for (var i = 1; i < lines.length; i++) { - var obj = {}; - var currentline = lines[i].split(","); + // for (var i = 1; i < lines.length; i++) { + // var obj = {}; + // var currentline = lines[i].split(","); - for (var j = 0; j < headers.length; j++) { - obj[headers[j]] = currentline[j]; - } - this.studentFileJson.push(obj); - } - }, + // for (var j = 0; j < headers.length; j++) { + // obj[headers[j]] = currentline[j]; + // } + // this.teacherFileJson.push(obj); + // } + // }, importTeacher() { this.loading = true; var teacherfile = {}; @@ -431,7 +428,7 @@ export default { }); }, importParent() { - this.loading = true; + this.parentLoading = true; var parentfile = {}; parentfile.parentData = this.parentFileJson; http() @@ -442,17 +439,17 @@ export default { this.snackbar = true; this.text = response.data.message; this.color = "green"; - this.loading = false; + this.parentLoading = false; }) .catch(error => { this.snackbar = true; this.text = error.response.data.message; - this.loading = false; + this.parentLoading = false; this.color = "red"; }); }, importUser() { - this.loading = true; + this.userLoading = true; var userfile = {}; userfile.userData = this.userFileJson; http() @@ -463,17 +460,17 @@ export default { this.snackbar = true; this.text = response.data.message; this.color = "green"; - this.loading = false; + this.userLoading = false; }) .catch(error => { this.snackbar = true; this.text = error.response.data.message; - this.loading = false; + this.userLoading = false; this.color = "red"; }); }, importBook() { - this.loading = true; + this.BookLoading = true; var bookfile = {}; bookfile.bookData = this.bookFileJson; http() @@ -484,17 +481,17 @@ export default { this.snackbar = true; this.text = response.data.message; this.color = "green"; - this.loading = false; + this.BookLoading = false; }) .catch(error => { this.snackbar = true; this.text = error.response.data.message; this.color = "red"; - this.loading = false; + this.BookLoading = false; }); }, importStudent() { - this.loading = true; + this.studentLoading = true; var studentfile = {}; studentfile.studentData = this.studentFileJson; http() @@ -505,13 +502,13 @@ export default { this.snackbar = true; this.text = response.data.message; this.color = "green"; - this.loading = false; + this.studentLoading = false; }) .catch(error => { this.snackbar = true; this.text = error.response.data.message; this.color = "red"; - this.loading = false; + this.studentLoading = false; }); } }, diff --git a/src/pages/Report/progressCardReport.vue b/src/pages/Report/progressCardReport.vue index 26704e1..4ee373b 100644 --- a/src/pages/Report/progressCardReport.vue +++ b/src/pages/Report/progressCardReport.vue @@ -104,14 +104,13 @@ flat style="border: 1px solid lightgrey;margin-bottom:14px;padding:20px" > - - + - +

{{ userData.name }} @@ -174,11 +173,11 @@ style="border: 1px solid lightgrey !important;padding: 10px;" >{{ exam.markDistributionId.distributionType }} --> -