Commit a76a6f1351492db2c1b86e9dea5f35706279a24f
1 parent
ef672f260c
Exists in
master
and in
3 other branches
implelement task
Showing
8 changed files
with
74 additions
and
58 deletions
Show diff stats
src/App.vue
... | ... | @@ -11,7 +11,6 @@ |
11 | 11 | <router-view></router-view> |
12 | 12 | </div> |
13 | 13 | <!-- App Footer --> |
14 | - <!-- <v-footer height="auto" class="fixcolors pa-3 app--footer"></v-footer> --> | |
15 | 14 | </v-content> |
16 | 15 | <!-- theme setting --> |
17 | 16 | <!-- <v-btn small fab dark falt fixed top="top" right="right" class="setting-fab" color="red" @click="openThemeSettings"> | ... | ... |
src/components/pageHeader/AppDrawer.vue
... | ... | @@ -4,28 +4,32 @@ |
4 | 4 | :mini-variant.sync="mini" |
5 | 5 | :dark="$vuetify.dark" |
6 | 6 | app |
7 | + fixed | |
7 | 8 | v-model="drawer" |
8 | 9 | hide-overlay |
9 | 10 | width="260" |
11 | + class="white--text side-bar-color" | |
10 | 12 | > |
11 | - <img | |
12 | - v-bind:src="computeLogo" | |
13 | - height="40" | |
14 | - width="130" | |
15 | - class="imgLogo mb-3 mt-3" | |
16 | - alt="logo" | |
17 | - style="margin: auto; | |
18 | - display: block;" | |
19 | - /> | |
20 | 13 | <!-- <vue-perfect-scrollbar |
21 | 14 | class="drawer-menu--scroll side-bar-color mt-3" |
22 | 15 | :settings="scrollSettings" |
23 | 16 | >--> |
24 | - <v-list dense expand class="white--text side-bar-color"> | |
17 | + <v-toolbar class="white" flat> | |
18 | + <img | |
19 | + v-bind:src="computeLogo" | |
20 | + height="40" | |
21 | + width="130" | |
22 | + class="imgLogo mb-3 mt-3" | |
23 | + alt="logo" | |
24 | + style="margin: auto; | |
25 | + display: block;" | |
26 | + /> | |
27 | + </v-toolbar> | |
28 | + <v-list dense dark> | |
25 | 29 | <template v-for="(item, i) in menus" v-if="role === 'ADMIN'"> |
26 | 30 | <!-- {{menus}} --> |
27 | 31 | <!--group with subitems--> |
28 | - <v-list-group v-if="item.items" :key="item.name" :group="item.group" no-action="no-action"> | |
32 | + <v-list-group v-if="item.items" :key="item.name" :group="item.group" no-action> | |
29 | 33 | <v-list-tile slot="activator" ripple="ripple"> |
30 | 34 | <v-list-tile-action v-if="item.icon"> |
31 | 35 | <img :src="item.icon" width="22" alt="icons" /> |
... | ... | @@ -698,12 +702,13 @@ export default { |
698 | 702 | } |
699 | 703 | .side-bar-color { |
700 | 704 | background: #827bfa !important; |
701 | - border-top-right-radius: 74px !important; | |
705 | + /* border-top-right-radius: 74px !important; */ | |
702 | 706 | } |
703 | 707 | .v-navigation-drawer--fixed { |
704 | 708 | position: absolute !important; |
705 | - height: inherit !important; | |
706 | - max-height: inherit !important; | |
709 | + | |
710 | + min-height: calc(2000px - 64px - 50px - 81px) !important; | |
711 | + /* max-height: inherit !important; */ | |
707 | 712 | } |
708 | 713 | .hover:hover { |
709 | 714 | color: red !important; | ... | ... |
src/pages/Authentication/Login.vue
src/pages/Library/eBook.vue
... | ... | @@ -358,6 +358,7 @@ |
358 | 358 | label="Select Image" |
359 | 359 | @click="pickImage" |
360 | 360 | v-model="addEBooks.uploadCover" |
361 | + :rules="uploadImageRule" | |
361 | 362 | append-icon="attach_file" |
362 | 363 | multiple |
363 | 364 | ></v-text-field> |
... | ... | @@ -375,6 +376,7 @@ |
375 | 376 | label="Select File" |
376 | 377 | @click="pickFile" |
377 | 378 | v-model="addEBooks.uploadFile" |
379 | + :rules="uploadFileRule" | |
378 | 380 | append-icon="attach_file" |
379 | 381 | multiple |
380 | 382 | ></v-text-field> |
... | ... | @@ -387,7 +389,7 @@ |
387 | 389 | <label class="right">Private:</label> |
388 | 390 | </v-flex> |
389 | 391 | <v-flex xs7 class="ml-3"> |
390 | - <v-checkbox v-model="addEBooks.private"></v-checkbox> | |
392 | + <v-checkbox v-model="addEBooks.private" :rules="uploadPrivateRule"></v-checkbox> | |
391 | 393 | </v-flex> |
392 | 394 | </v-layout> |
393 | 395 | </v-flex> |
... | ... | @@ -448,6 +450,10 @@ export default { |
448 | 450 | anyFile: "", |
449 | 451 | titleRules: [v => !!v || " Tilte is required"], |
450 | 452 | descriptionRules: [v => !!v || " Description is required"], |
453 | + uploadImageRule: [v => !!v || " field is required"], | |
454 | + uploadFileRule: [v => !!v || " fied is required"], | |
455 | + uploadPrivateRule: [v => !!v || " fied is required"], | |
456 | + | |
451 | 457 | headers: [ |
452 | 458 | { |
453 | 459 | align: "justify-center", |
... | ... | @@ -493,6 +499,7 @@ export default { |
493 | 499 | /** fetch Image Name **/ |
494 | 500 | if (files[0] !== undefined) { |
495 | 501 | this.imageName = files[0].name; |
502 | + this.addEBooks.uploadCover = this.imageName; | |
496 | 503 | if (this.imageName.lastIndexOf(".") <= 0) { |
497 | 504 | return; |
498 | 505 | } |
... | ... | @@ -536,6 +543,7 @@ export default { |
536 | 543 | /** fetch Image Name **/ |
537 | 544 | if (files[0] !== undefined) { |
538 | 545 | this.fileName = files[0].name; |
546 | + this.addEBooks.uploadFile = this.fileName; | |
539 | 547 | if (this.fileName.lastIndexOf(".") <= 0) { |
540 | 548 | return; |
541 | 549 | } |
... | ... | @@ -591,31 +599,33 @@ export default { |
591 | 599 | }, |
592 | 600 | submit() { |
593 | 601 | if (this.$refs.form.validate()) { |
602 | + var uploadCover = ""; | |
603 | + var uploadFile = ""; | |
594 | 604 | if (this.files) { |
595 | 605 | const [baseUrl, imageUrl] = this.files.split(/,/); |
596 | - this.addEBooks.uploadCover = imageUrl; | |
597 | - // console.log("anyFile.split(/,/)", this.addEBooks.uploadCover); | |
606 | + uploadCover = imageUrl; | |
607 | + console.log("anyFile.split(/,/)", uploadCover); | |
598 | 608 | } |
599 | 609 | if (this.anyFile) { |
600 | 610 | const [baseUrl, fileUrl] = this.anyFile.split(/,/); |
601 | - this.addEBooks.uploadFile = fileUrl; | |
602 | - // console.log("anyFile.split(/,/)", this.addEBooks.uploadFile); | |
611 | + uploadFile = fileUrl; | |
612 | + console.log("anyFile.split(/,/)", uploadFile); | |
603 | 613 | } |
604 | 614 | let data = { |
605 | 615 | classId: this.addEBooks.classId, |
606 | 616 | name: this.addEBooks.name, |
607 | 617 | author: this.addEBooks.author, |
608 | 618 | private: this.addEBooks.private, |
609 | - uploadCover: this.addEBooks.uploadCover, | |
610 | - uploadFile: this.addEBooks.uploadFile | |
619 | + uploadCover: uploadCover, | |
620 | + uploadFile: uploadFile | |
611 | 621 | }; |
612 | 622 | http() |
613 | 623 | .post("/createEBook", data) |
614 | 624 | .then(response => { |
615 | - this.getEBooksList = []; | |
625 | + this.getEBooksList(); | |
626 | + // this.getEBooksList = []; | |
616 | 627 | this.snackbar = true; |
617 | 628 | this.addEBookDialog = false; |
618 | - this.getEBooksList() | |
619 | 629 | this.text = response.data.message; |
620 | 630 | this.color = "green"; |
621 | 631 | this.loading = false; | ... | ... |
src/pages/Library/issue.vue
... | ... | @@ -24,6 +24,7 @@ |
24 | 24 | placeholder="fill your Library Id" |
25 | 25 | name="name" |
26 | 26 | type="text" |
27 | + disabled | |
27 | 28 | ></v-text-field> |
28 | 29 | </v-flex> |
29 | 30 | </v-layout> |
... | ... | @@ -631,6 +632,9 @@ export default { |
631 | 632 | getIssueList() { |
632 | 633 | this.showLoader = true; |
633 | 634 | this.loadingSearch = true; |
635 | + if (this.libraryID) { | |
636 | + this.libraryId = this.libraryID; | |
637 | + } | |
634 | 638 | http() |
635 | 639 | .get( |
636 | 640 | "/getBooksIssueList", |
... | ... | @@ -717,10 +721,12 @@ export default { |
717 | 721 | }; |
718 | 722 | this.loading = true; |
719 | 723 | http() |
724 | + .post("/createBookIssue", createBook) | |
720 | 725 | .then(response => { |
726 | + this.getIssueList(); | |
721 | 727 | this.snackbar = true; |
722 | 728 | this.text = response.data.message; |
723 | - // this.getIssueList(); | |
729 | + this.addIssueDialog = false; | |
724 | 730 | this.color = "green"; |
725 | 731 | this.loading = false; |
726 | 732 | this.clear(); |
... | ... | @@ -743,11 +749,11 @@ export default { |
743 | 749 | http() |
744 | 750 | .put("/updateBookIssue", this.editedItem) |
745 | 751 | .then(response => { |
752 | + this.editIssueDialog = false; | |
746 | 753 | this.snackbar = true; |
747 | 754 | this.text = "Successfully Edit Issue a Book"; |
748 | 755 | this.color = "green"; |
749 | 756 | this.getIssueList(); |
750 | - this.addIssueDialog = false; | |
751 | 757 | this.close(); |
752 | 758 | }) |
753 | 759 | .catch(error => { | ... | ... |
src/pages/Library/member.vue
... | ... | @@ -499,7 +499,7 @@ |
499 | 499 | > |
500 | 500 | <template slot="items" slot-scope="props"> |
501 | 501 | <tr class="tr"> |
502 | - <td class="td td-row text-xs-center">{{ props.index}}</td> | |
502 | + <td class="td td-row text-xs-center">{{ props.index + 1 }}</td> | |
503 | 503 | <td class="td td-row text-xs-center"> |
504 | 504 | <v-avatar> |
505 | 505 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | ... | ... |
src/pages/Report/admitCard.vue
... | ... | @@ -159,7 +159,7 @@ |
159 | 159 | >{{ userData.name }}</p> |
160 | 160 | <p>{{ userData.address }}, {{ userData.pinCode }}</p> |
161 | 161 | <div> |
162 | - <h4>First Terminal Exam Admit Card - ( {{ userData.establishmentYear }})</h4> | |
162 | + <h4>{{ getScheduleList.scheduleData[0].examId.examName }} Exam Admit Card</h4> | |
163 | 163 | </div> |
164 | 164 | </v-flex> |
165 | 165 | <v-flex xs4 style="text-align:center;margin-bottom:0px"> | ... | ... |
src/pages/Report/progressCardReport.vue
... | ... | @@ -95,17 +95,16 @@ |
95 | 95 | </v-btn> |
96 | 96 | </v-flex> |
97 | 97 | </v-layout> |
98 | - <div> | |
98 | + <div id="printMe"> | |
99 | 99 | <card class="elevation-0" v-for="(value, id, Index) in filterData" :key="Index"> |
100 | 100 | <!-- <v-flex xs12 flat> --> |
101 | 101 | <!-- {{value}}---{{id}}---{{index}} --> |
102 | 102 | <v-card |
103 | - id="printMe" | |
104 | 103 | class="ma-3" |
105 | 104 | style=" |
106 | 105 | border: 1px solid lightgrey; |
107 | - margin-bottom:14px; | |
108 | - padding:20px" | |
106 | + margin-bottom:0px; | |
107 | + padding: 0px" | |
109 | 108 | > |
110 | 109 | <div style="border: 1px solid lightgray;"> |
111 | 110 | <v-layout> |
... | ... | @@ -116,7 +115,7 @@ |
116 | 115 | overflow: hidden; |
117 | 116 | vertical-align: middle; |
118 | 117 | margin: 10px; |
119 | - padding-bottom: 10px;" | |
118 | + padding-bottom: 0px;" | |
120 | 119 | > |
121 | 120 | <v-flex xs12 sm12 md12> |
122 | 121 | <v-layout> |
... | ... | @@ -139,7 +138,7 @@ |
139 | 138 | </v-flex> |
140 | 139 | </div> |
141 | 140 | <!-- Profile School --> |
142 | - <v-flex xs12 sm12 md12 lg12 style="margin:0px 10px; "> | |
141 | + <v-flex xs12 sm12 md12 lg12 style="margin:0px 0px; "> | |
143 | 142 | <v-layout> |
144 | 143 | <v-flex |
145 | 144 | xs5 |
... | ... | @@ -150,7 +149,7 @@ |
150 | 149 | padding-left: 16px !important;" |
151 | 150 | > |
152 | 151 | <p |
153 | - style="font-size:20px;margin-bottom: 16px;" | |
152 | + style="font-size:20px;margin-bottom: 0px;" | |
154 | 153 | >{{ userData.name }}</p> |
155 | 154 | <p |
156 | 155 | style="font-size: 15px;color: #707478;margin:0px;margin-bottom:8px;" |
... | ... | @@ -167,7 +166,7 @@ |
167 | 166 | <div v-for="(studentMark,i,index) in value" :key="index"> |
168 | 167 | <p |
169 | 168 | v-if="index == 0" |
170 | - style="font-size:20px;margin-bottom: 16px;" | |
169 | + style="font-size:20px;margin-bottom: 0px;" | |
171 | 170 | >{{ studentMark[0].studentId.name }}</p> |
172 | 171 | <p |
173 | 172 | v-if="index == 0" |
... | ... | @@ -258,17 +257,17 @@ |
258 | 257 | <tr style="border: 1px solid lightgrey !important;padding:4px;"> |
259 | 258 | <td |
260 | 259 | rowspan="2" |
261 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
260 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
262 | 261 | >Subject</td> |
263 | 262 | <template> |
264 | 263 | <td |
265 | 264 | v-for="(studentMarkData,i) in studentMark.studentsMarks" |
266 | 265 | :key="i" |
267 | 266 | colspan="2" |
268 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
267 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
269 | 268 | >{{studentMarkData.markDistributionId.distributionType}}</td> |
270 | 269 | <td |
271 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
270 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
272 | 271 | >Total Marks</td> |
273 | 272 | </template> |
274 | 273 | </tr> |
... | ... | @@ -276,11 +275,11 @@ |
276 | 275 | <template v-for="(exam, ind) in studentMark.studentsMarks"> |
277 | 276 | <td |
278 | 277 | :key="ind" |
279 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
278 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
280 | 279 | >Marks</td> |
281 | 280 | <td |
282 | 281 | :key="ind" |
283 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
282 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
284 | 283 | >Highest Marks</td> |
285 | 284 | </template> |
286 | 285 | </tr> |
... | ... | @@ -291,20 +290,20 @@ |
291 | 290 | > |
292 | 291 | <tr v-for="studentMark in studentMarks" :key="studentMark"> |
293 | 292 | <td |
294 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
293 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
295 | 294 | >{{studentMark.subjectName}}</td> |
296 | 295 | <template v-for="(exam, index) in studentMark.studentsMarks"> |
297 | 296 | <td |
298 | 297 | :key="index" |
299 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
298 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
300 | 299 | >{{exam.marksScored}}</td> |
301 | 300 | <td |
302 | 301 | :key="index" |
303 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
302 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
304 | 303 | >{{exam.markDistributionId.markValue}}</td> |
305 | 304 | </template> |
306 | 305 | <td |
307 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
306 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
308 | 307 | >{{studentMark.totalMarks}}</td> |
309 | 308 | </tr> |
310 | 309 | </tbody> |
... | ... | @@ -316,11 +315,11 @@ |
316 | 315 | style=" |
317 | 316 | border: 1px solid #e2e7eb; |
318 | 317 | text-align:center |
319 | - padding: 6px;" | |
318 | + padding: 0px;" | |
320 | 319 | >Total Marks</td> |
321 | 320 | <td |
322 | 321 | colspan="7" |
323 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
322 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
324 | 323 | >{{ studentMark.allSubjectTotalMarks }}</td> |
325 | 324 | </tr> |
326 | 325 | <tr> |
... | ... | @@ -330,11 +329,11 @@ |
330 | 329 | style=" |
331 | 330 | border: 1px solid #e2e7eb; |
332 | 331 | text-align:center |
333 | - padding: 6px;" | |
332 | + padding: 0px;" | |
334 | 333 | >Grade</td> |
335 | 334 | <td |
336 | 335 | colspan="7" |
337 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
336 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
338 | 337 | >{{ studentMark.grade ? studentMark.grade : "-" }}</td> |
339 | 338 | </tr> |
340 | 339 | <tr> |
... | ... | @@ -343,12 +342,12 @@ |
343 | 342 | style=" |
344 | 343 | border: 1px solid #e2e7eb; |
345 | 344 | text-align:center |
346 | - padding: 6px;" | |
345 | + padding: 0px;" | |
347 | 346 | class="subheding" |
348 | 347 | >Average Mark</td> |
349 | 348 | <td |
350 | 349 | colspan="7" |
351 | - style="border: 1px solid lightgrey !important;padding: 6px;" | |
350 | + style="border: 1px solid lightgrey !important;padding: 0px;" | |
352 | 351 | >-</td> |
353 | 352 | </tr> |
354 | 353 | <tr> |
... | ... | @@ -357,25 +356,23 @@ |
357 | 356 | style=" |
358 | 357 | border: 1px solid #e2e7eb; |
359 | 358 | text-align:center |
360 | - padding: 6px; !important; | |
359 | + padding: 0px; !important; | |
361 | 360 | font-size: 16px !important;" |
362 | 361 | class="subheding" |
363 | 362 | >GPA</td> |
364 | 363 | <td |
365 | 364 | colspan="7" |
366 | - style="border: 1px solid lightgrey !important;padding: 6px !important;font-size: 16px !important;" | |
365 | + style="border: 1px solid lightgrey !important;padding: 0px !important;font-size: 16px !important;" | |
367 | 366 | >-</td> |
368 | 367 | </tr> |
369 | 368 | </tfoot> |
370 | 369 | </table> |
371 | - <!-- </div> --> | |
372 | 370 | </v-card> |
373 | 371 | </div> |
374 | 372 | </v-card> |
375 | - <!-- </v-flex> --> | |
373 | + <p style="page-break-after: always;"> </p> | |
376 | 374 | </card> |
377 | 375 | </div> |
378 | - <p style="page-break-after: always;"> </p> | |
379 | 376 | </v-flex> |
380 | 377 | </v-layout> |
381 | 378 | </v-flex> |
... | ... | @@ -612,7 +609,7 @@ table { |
612 | 609 | th, |
613 | 610 | td { |
614 | 611 | border: 1px solid #e2e7eb; |
615 | - padding: 6px; | |
612 | + padding: 0px; | |
616 | 613 | text-align: center; |
617 | 614 | } |
618 | 615 | table.feeTypeTable { | ... | ... |