Commit 748acd1a6e445bc41d28bf50db67414171fb3fb1

Authored by Neeraj Sharma
1 parent ea5696f777

solve bugs in progressCardReport

src/pages/Administrator/bulkImport.vue
... ... @@ -62,7 +62,7 @@
62 62 <v-icon small class="pr-1">refresh</v-icon>Upload
63 63 </v-btn>
64 64 </v-flex>
65   - <v-flex xs6 sm4 lg2 class="mt-1" @click="importParent">
  65 + <v-flex xs6 sm4 lg2 class="mt-1" @click="importParent" :loading="parentLoading">
66 66 <v-btn class="grey" dark block>import</v-btn>
67 67 </v-flex>
68 68 <v-flex xs12 sm4 lg2 class="mt-1">
... ... @@ -97,7 +97,7 @@
97 97 </v-btn>
98 98 </v-flex>
99 99 <v-flex xs6 sm4 lg2 class="mt-1">
100   - <v-btn class="grey" dark block @click="importUser">import</v-btn>
  100 + <v-btn class="grey" dark block @click="importUser" :loading="userLoading">import</v-btn>
101 101 </v-flex>
102 102 <v-flex xs12 sm4 lg2 class="mt-1">
103 103 <download-csv :data="userData">
... ... @@ -131,7 +131,7 @@
131 131 </v-btn>
132 132 </v-flex>
133 133 <v-flex xs6 sm4 lg2 class="mt-1">
134   - <v-btn class="grey" dark block @click="importBook">import</v-btn>
  134 + <v-btn class="grey" dark block @click="importBook" :loading="BookLoading">import</v-btn>
135 135 </v-flex>
136 136 <v-flex xs12 sm4 lg2 class="mt-1">
137 137 <download-csv :data="bookData">
... ... @@ -165,7 +165,13 @@
165 165 </v-btn>
166 166 </v-flex>
167 167 <v-flex xs6 sm4 lg2 class="mt-1">
168   - <v-btn class="grey" dark block @click="importStudent()">import</v-btn>
  168 + <v-btn
  169 + class="grey"
  170 + dark
  171 + block
  172 + @click="importStudent()"
  173 + :loading="studentLoading"
  174 + >import</v-btn>
169 175 </v-flex>
170 176 <v-flex xs12 sm4 lg2 class="mt-1">
171 177 <download-csv :data="studentData">
... ... @@ -210,7 +216,7 @@
210 216 :right="x === 'right'"
211 217 :vertical="mode === 'vertical'"
212 218 v-model="snackbar"
213   - :color= color
  219 + :color="color"
214 220 >{{ text }}</v-snackbar>
215 221 </v-container>
216 222 </template>
... ... @@ -224,10 +230,15 @@ import studentData from &quot;@/script/students.js&quot;;
224 230 import parentData from "@/script/parents.js";
225 231 import userData from "@/script/users.js";
226 232 import bookData from "@/script/books.js";
  233 +import XLSX from "xlsx";
227 234  
228 235 export default {
229 236 data: () => ({
230 237 loading: false,
  238 + parentLoading: false,
  239 + userLoading: false,
  240 + BookLoading: false,
  241 + studentLoading: false,
231 242 snackbar: false,
232 243 y: "top",
233 244 x: "right",
... ... @@ -268,147 +279,133 @@ export default {
268 279 pickStudentFile() {
269 280 this.$refs.studentfile.click();
270 281 },
271   - convertFile() {
  282 + convertFile(e) {
272 283 const input = document.getElementById("fileInput");
273   - const reader = new FileReader();
274   - reader.onload = () => {
275   - let text = reader.result;
276   - //convert text to json here
277   - var json = this.csvJSON(text);
278   - };
279   - reader.readAsText(input.files[0]);
280 284 this.teacherFileName = input.files[0].name;
  285 + // const reader = new FileReader();
  286 + // console.log("reader", reader);
  287 + // reader.onload = () => {
  288 + // let text = reader.result;
  289 + // //convert text to json here
  290 + // console.log("text", text);
  291 + // var json = this.csvJSON(text);
  292 + // };
  293 + // reader.readAsText(input.files[0]);
  294 + var files = e.target.files,
  295 + f = files[0];
  296 + var reader = new FileReader();
  297 + let array = [];
  298 + let _this = this;
  299 + reader.onload = function(e) {
  300 + var data = new Uint8Array(e.target.result);
  301 + var workbook = XLSX.read(data, { type: "array" });
  302 + let sheetName = workbook.SheetNames[0];
  303 + // /* DO SOMETHING WITH workbook HERE */
  304 + let worksheet = workbook.Sheets[sheetName];
  305 + array = XLSX.utils.sheet_to_json(worksheet);
  306 + _this.teacherFileJson = array;
  307 + };
  308 + reader.readAsArrayBuffer(f);
281 309 },
282   - parentFile() {
  310 + parentFile(e) {
283 311 const input = document.getElementById("parentInput");
284   - const reader = new FileReader();
285   - reader.onload = () => {
286   - let text = reader.result;
287   - //convert text to json here
288   - var json = this.csvParentJSON(text);
289   - };
290   - reader.readAsText(input.files[0]);
291 312 this.parentFileName = input.files[0].name;
  313 + console.log("this.parentFileName", this.parentFileName);
  314 + var files = e.target.files,
  315 + f = files[0];
  316 + var reader = new FileReader();
  317 + let array = [];
  318 + let _this = this;
  319 + reader.onload = function(e) {
  320 + var data = new Uint8Array(e.target.result);
  321 + var workbook = XLSX.read(data, { type: "array" });
  322 + let sheetName = workbook.SheetNames[0];
  323 + // /* DO SOMETHING WITH workbook HERE */
  324 + let worksheet = workbook.Sheets[sheetName];
  325 + array = XLSX.utils.sheet_to_json(worksheet);
  326 + _this.parentFileJson = array;
  327 + };
  328 + reader.readAsArrayBuffer(f);
292 329 },
293   - userFile() {
  330 + userFile(e) {
294 331 const input = document.getElementById("userInput");
295   - const reader = new FileReader();
296   - reader.onload = () => {
297   - let text = reader.result;
298   - //convert text to json here
299   - var json = this.csvUserJSON(text);
300   - };
301   - reader.readAsText(input.files[0]);
302 332 this.userFileName = input.files[0].name;
  333 + var files = e.target.files,
  334 + f = files[0];
  335 + var reader = new FileReader();
  336 + let array = [];
  337 + let _this = this;
  338 + reader.onload = function(e) {
  339 + var data = new Uint8Array(e.target.result);
  340 + var workbook = XLSX.read(data, { type: "array" });
  341 + let sheetName = workbook.SheetNames[0];
  342 + // /* DO SOMETHING WITH workbook HERE */
  343 + let worksheet = workbook.Sheets[sheetName];
  344 + array = XLSX.utils.sheet_to_json(worksheet);
  345 + _this.userFileJson = array;
  346 + };
  347 + reader.readAsArrayBuffer(f);
303 348 },
304   - bookFile() {
  349 + bookFile(e) {
305 350 const input = document.getElementById("bookInput");
306   - const reader = new FileReader();
307   - reader.onload = () => {
308   - let text = reader.result;
309   - //convert text to json here
310   - var json = this.csvBookJSON(text);
311   - };
312   - reader.readAsText(input.files[0]);
313 351 this.bookFileName = input.files[0].name;
  352 + console.log("this.bookFileName", this.bookFileName);
  353 + var files = e.target.files,
  354 + f = files[0];
  355 + console.log("this.bookFileName", files);
  356 + var reader = new FileReader();
  357 + console.log("reader================", reader);
  358 + let array = [];
  359 + let _this = this;
  360 + reader.onload = function(e) {
  361 + console.log("data", e.target.result);
  362 + var data = new Uint8Array(e.target.result);
  363 + console.log("data", data);
  364 + var workbook = XLSX.read(data, { type: "array" });
  365 + let sheetName = workbook.SheetNames[0];
  366 + // /* DO SOMETHING WITH workbook HERE */
  367 + let worksheet = workbook.Sheets[sheetName];
  368 + array = XLSX.utils.sheet_to_json(worksheet);
  369 + _this.bookFileJson = array;
  370 + console.log("this.bookFileJson ", _this.bookFileJson);
  371 + };
  372 + reader.readAsArrayBuffer(f);
314 373 },
315   - studentFile() {
  374 + studentFile(e) {
316 375 const input = document.getElementById("studentInput");
317   - const reader = new FileReader();
318   - reader.onload = () => {
319   - let text = reader.result;
320   - //convert text to json here
321   - var json = this.csvStudentJSON(text);
322   - };
323   - reader.readAsText(input.files[0]);
324 376 this.bookStudentName = input.files[0].name;
  377 + var files = e.target.files,
  378 + f = files[0];
  379 + var reader = new FileReader();
  380 + let array = [];
  381 + let _this = this;
  382 + reader.onload = function(e) {
  383 + var data = new Uint8Array(e.target.result);
  384 + var workbook = XLSX.read(data, { type: "array" });
  385 + let sheetName = workbook.SheetNames[0];
  386 + // /* DO SOMETHING WITH workbook HERE */
  387 + let worksheet = workbook.Sheets[sheetName];
  388 + array = XLSX.utils.sheet_to_json(worksheet);
  389 + _this.studentFileJson = array;
  390 + };
  391 + reader.readAsArrayBuffer(f);
325 392 },
326   - csvJSON(csv) {
327   - var lines = csv.split("\n");
328   -
329   - var result = [];
330   - var headers = lines[0].split(",");
331   -
332   - for (var i = 1; i < lines.length; i++) {
333   - var obj = {};
334   - var currentline = lines[i].split(",");
335   -
336   - for (var j = 0; j < headers.length; j++) {
337   - obj[headers[j]] = currentline[j];
338   - }
339   - this.teacherFileJson.push(obj);
340   - }
341   - },
342   - csvParentJSON(csvParent) {
343   - var lines = csvParent.split("\n");
344   -
345   - var result = [];
346   -
347   - var headers = lines[0].split(",");
348   -
349   - for (var i = 1; i < lines.length; i++) {
350   - var obj = {};
351   - var currentline = lines[i].split(",");
352   -
353   - for (var j = 0; j < headers.length; j++) {
354   - obj[headers[j]] = currentline[j];
355   - }
356   - this.parentFileJson.push(obj);
357   - }
358   - },
359   - csvUserJSON(cvsUser) {
360   - var lines = cvsUser.split("\n");
361   -
362   - var result = [];
363   -
364   - var headers = lines[0].split(",");
365   -
366   - for (var i = 1; i < lines.length; i++) {
367   - var obj = {};
368   - var currentline = lines[i].split(",");
369   -
370   - for (var j = 0; j < headers.length; j++) {
371   - obj[headers[j]] = currentline[j];
372   - }
373   -
374   - this.userFileJson.push(obj);
375   - }
376   - },
377   - csvBookJSON(cvsBook) {
378   - var lines = cvsBook.split("\n");
379   -
380   - var result = [];
381   -
382   - var headers = lines[0].split(",");
383   -
384   - for (var i = 1; i < lines.length; i++) {
385   - var obj = {};
386   - var currentline = lines[i].split(",");
387   -
388   - for (var j = 0; j < headers.length; j++) {
389   - obj[headers[j]] = currentline[j];
390   - }
391   -
392   - this.bookFileJson.push(obj);
393   - }
394   - },
395   - csvStudentJSON(cvsBook) {
396   - var lines = cvsBook.split("\n");
397   -
398   - var result = [];
  393 + // csvJSON(csv) {
  394 + // var lines = csv.split("\n");
399 395  
400   - var headers = lines[0].split(",");
  396 + // var result = [];
  397 + // var headers = lines[0].split(",");
401 398  
402   - for (var i = 1; i < lines.length; i++) {
403   - var obj = {};
404   - var currentline = lines[i].split(",");
  399 + // for (var i = 1; i < lines.length; i++) {
  400 + // var obj = {};
  401 + // var currentline = lines[i].split(",");
405 402  
406   - for (var j = 0; j < headers.length; j++) {
407   - obj[headers[j]] = currentline[j];
408   - }
409   - this.studentFileJson.push(obj);
410   - }
411   - },
  403 + // for (var j = 0; j < headers.length; j++) {
  404 + // obj[headers[j]] = currentline[j];
  405 + // }
  406 + // this.teacherFileJson.push(obj);
  407 + // }
  408 + // },
412 409 importTeacher() {
413 410 this.loading = true;
414 411 var teacherfile = {};
... ... @@ -431,7 +428,7 @@ export default {
431 428 });
432 429 },
433 430 importParent() {
434   - this.loading = true;
  431 + this.parentLoading = true;
435 432 var parentfile = {};
436 433 parentfile.parentData = this.parentFileJson;
437 434 http()
... ... @@ -442,17 +439,17 @@ export default {
442 439 this.snackbar = true;
443 440 this.text = response.data.message;
444 441 this.color = "green";
445   - this.loading = false;
  442 + this.parentLoading = false;
446 443 })
447 444 .catch(error => {
448 445 this.snackbar = true;
449 446 this.text = error.response.data.message;
450   - this.loading = false;
  447 + this.parentLoading = false;
451 448 this.color = "red";
452 449 });
453 450 },
454 451 importUser() {
455   - this.loading = true;
  452 + this.userLoading = true;
456 453 var userfile = {};
457 454 userfile.userData = this.userFileJson;
458 455 http()
... ... @@ -463,17 +460,17 @@ export default {
463 460 this.snackbar = true;
464 461 this.text = response.data.message;
465 462 this.color = "green";
466   - this.loading = false;
  463 + this.userLoading = false;
467 464 })
468 465 .catch(error => {
469 466 this.snackbar = true;
470 467 this.text = error.response.data.message;
471   - this.loading = false;
  468 + this.userLoading = false;
472 469 this.color = "red";
473 470 });
474 471 },
475 472 importBook() {
476   - this.loading = true;
  473 + this.BookLoading = true;
477 474 var bookfile = {};
478 475 bookfile.bookData = this.bookFileJson;
479 476 http()
... ... @@ -484,17 +481,17 @@ export default {
484 481 this.snackbar = true;
485 482 this.text = response.data.message;
486 483 this.color = "green";
487   - this.loading = false;
  484 + this.BookLoading = false;
488 485 })
489 486 .catch(error => {
490 487 this.snackbar = true;
491 488 this.text = error.response.data.message;
492 489 this.color = "red";
493   - this.loading = false;
  490 + this.BookLoading = false;
494 491 });
495 492 },
496 493 importStudent() {
497   - this.loading = true;
  494 + this.studentLoading = true;
498 495 var studentfile = {};
499 496 studentfile.studentData = this.studentFileJson;
500 497 http()
... ... @@ -505,13 +502,13 @@ export default {
505 502 this.snackbar = true;
506 503 this.text = response.data.message;
507 504 this.color = "green";
508   - this.loading = false;
  505 + this.studentLoading = false;
509 506 })
510 507 .catch(error => {
511 508 this.snackbar = true;
512 509 this.text = error.response.data.message;
513 510 this.color = "red";
514   - this.loading = false;
  511 + this.studentLoading = false;
515 512 });
516 513 }
517 514 },
... ...
src/pages/Report/progressCardReport.vue
... ... @@ -104,14 +104,13 @@
104 104 flat
105 105 style="border: 1px solid lightgrey;margin-bottom:14px;padding:20px"
106 106 >
107   - <!-- {{ value[index] }} -->
108   - <v-layout v-if="value[0] === 0">
  107 + <v-layout v-if="index === 0">
109 108 <v-flex xs12 style="border-bottom: 1px solid #707478;padding-bottom:6px !important">
110 109 <img :src="userData.schoolLogoUrl" v-if="userData.schoolLogoUrl" width="100" />
111 110 <img src="/static/icon/user.png" v-else-if="!userData.schoolLogoUrl" width="100" />
112 111 </v-flex>
113 112 </v-layout>
114   - <v-layout style="padding-top:10px" v-if="value[0] === 0">
  113 + <v-layout style="padding-top:10px" v-if="index === 0">
115 114 <v-flex xs5>
116 115 <p style="margin:0px;margin-bottom:4px">
117 116 <span style="font-size:20px">{{ userData.name }}</span>
... ... @@ -174,11 +173,11 @@
174 173 style="border: 1px solid lightgrey !important;padding: 10px;"
175 174 >{{ exam.markDistributionId.distributionType }}</td>
176 175 </template>-->
177   - <template v-for="values in value">
  176 + <template v-for="studentData in value">
178 177 <td
179 178 colspan="2"
180   - v-for="studentData in values.studentsMarks"
181   - >{{ studentData.markDistributionId.distributionType }}</td>
  179 + v-for="studentMark in studentData.studentsMarks"
  180 + >{{ studentMark.markDistributionId.distributionType }}</td>
182 181 </template>
183 182 <!-- <td>{{value[0].studentsMarks[1].markDistributionId.distributionType}}</td> -->
184 183  
... ...
src/script/users.js
... ... @@ -5,6 +5,7 @@ export default () =&gt; {
5 5 "email": "neeraj.sharma@viithiisys.com",
6 6 "dob": "1995-01-14",
7 7 "gender": "Male",
  8 + "role": "LIBRARIAN",
8 9 "religion": "Hindu",
9 10 "address": "Mohali",
10 11 "phone": "1234567890",
... ... @@ -15,6 +16,7 @@ export default () =&gt; {
15 16 "email": "rishav.singla@viithiisys.com",
16 17 "dob": "1995-01-14",
17 18 "gender": "Male",
  19 + "role": "ACCOUNTANT",
18 20 "religion": "Hindu",
19 21 "address": "Punjab",
20 22 "phone": "9878768790",
... ...