Commit bdaae72ca0ebc92973237fbd856d44db1eb2ca61
1 parent
1d7227237c
Exists in
master
and in
3 other branches
complete task of reports card and view mark
Showing
2 changed files
with
315 additions
and
328 deletions
Show diff stats
src/pages/Mark/viewMark.vue
... | ... | @@ -20,80 +20,76 @@ |
20 | 20 | </v-flex> |
21 | 21 | </v-layout> |
22 | 22 | <v-flex xs12 sm12 id="printMe"> |
23 | - <v-layout wrap> | |
24 | - <!-- ****** TABLE DATA MARK ****** --> | |
25 | - <v-flex xs12 sm12 md12> | |
26 | - <v-card flat style="border: 1px solid lightgrey;margin-bottom:14px;padding:20px"> | |
27 | - <v-layout> | |
28 | - <v-flex xs12 sm12 md12 class="text-xs-center"> | |
29 | - <!-- <img :src="userData.schoolLogoUrl" width="140" alt="logo" /> --> | |
30 | - <v-avatar> | |
31 | - <img :src="userData.schoolLogoUrl" v-if="userData.schoolLogoUrl" /> | |
23 | + <!-- <v-layout wrap> --> | |
24 | + <!-- ****** TABLE DATA MARK ****** --> | |
25 | + <v-flex xs12 sm12 md12> | |
26 | + <v-layout> | |
27 | + <v-flex xs12 sm12 md12 class="text-xs-center"> | |
28 | + <!-- <img :src="userData.schoolLogoUrl" width="140" alt="logo" /> --> | |
29 | + <v-avatar> | |
30 | + <img :src="userData.schoolLogoUrl" v-if="userData.schoolLogoUrl" /> | |
31 | + <img | |
32 | + src="/static/schoolIcons/INTRACK_White.png" | |
33 | + v-else-if="!userData.schoolLogoUrl" | |
34 | + /> | |
35 | + </v-avatar> | |
36 | + <p class="title">{{ userData.name }}</p> | |
37 | + <p>{{ userData.address }}</p> | |
38 | + </v-flex> | |
39 | + </v-layout> | |
40 | + <v-layout wrap> | |
41 | + <v-flex xs12 sm12 md4> | |
42 | + <v-card> | |
43 | + <v-layout class="py-4"> | |
44 | + <v-avatar class="mx-auto" size="70"> | |
45 | + <img src="/static/icon/user.png" v-if="!markData[0].studentId.profilePicUrl" /> | |
32 | 46 | <img |
33 | - src="/static/schoolIcons/INTRACK_White.png" | |
34 | - v-else-if="!userData.schoolLogoUrl" | |
47 | + :src="markData[0].studentId.profilePicUrl" | |
48 | + v-else-if="markData[0].studentId.profilePicUrl" | |
35 | 49 | /> |
36 | 50 | </v-avatar> |
37 | - <p class="title">{{ userData.name }}</p> | |
38 | - <p>{{ userData.address }}</p> | |
39 | - </v-flex> | |
40 | - </v-layout> | |
41 | - <v-layout wrap> | |
42 | - <v-flex xs12 sm12 md4> | |
43 | - <v-card> | |
44 | - <v-layout class="py-4"> | |
45 | - <v-avatar class="mx-auto" size="70"> | |
46 | - <img | |
47 | - src="/static/icon/user.png" | |
48 | - v-if="!markData[0].studentId.profilePicUrl" | |
49 | - /> | |
50 | - <img | |
51 | - :src="markData[0].studentId.profilePicUrl" | |
52 | - v-else-if="markData[0].studentId.profilePicUrl" | |
53 | - /> | |
54 | - </v-avatar> | |
55 | - </v-layout> | |
56 | - <v-layout class="pa-2"> | |
57 | - <v-flex xs6 sm6> | |
58 | - <h4 class="right"> | |
59 | - <b>Name :</b> | |
60 | - </h4> | |
61 | - </v-flex> | |
62 | - <v-flex sm6 xs6> | |
63 | - <h4>{{ markData[0].studentId.name }}</h4> | |
64 | - </v-flex> | |
65 | - </v-layout> | |
66 | - <v-layout class="pa-2"> | |
67 | - <v-flex xs6 sm6> | |
68 | - <h4 class="right"> | |
69 | - <b>Class :</b> | |
70 | - </h4> | |
71 | - </v-flex> | |
72 | - <v-flex sm6 xs6> | |
73 | - <h4>{{ markData[0].classId.classNum }}</h4> | |
74 | - </v-flex> | |
75 | - </v-layout> | |
76 | - <v-layout class="pa-2"> | |
77 | - <v-flex xs6 sm6> | |
78 | - <h4 class="right"> | |
79 | - <b>Section :</b> | |
80 | - </h4> | |
81 | - </v-flex> | |
82 | - <v-flex sm6 xs6> | |
83 | - <h4>{{ markData[0].sectionId.name }}</h4> | |
84 | - </v-flex> | |
85 | - </v-layout> | |
86 | - <v-layout class="pa-2"> | |
87 | - <v-flex xs6 sm6> | |
88 | - <h4 class="right"> | |
89 | - <b>Roll No :</b> | |
90 | - </h4> | |
91 | - </v-flex> | |
92 | - <v-flex sm6 xs6> | |
93 | - <h4>{{ markData[0].studentId.rollNo }}</h4> | |
94 | - </v-flex> | |
95 | - </v-layout> | |
96 | - <!-- <p | |
51 | + </v-layout> | |
52 | + <v-layout class="pa-2"> | |
53 | + <v-flex xs6 sm6> | |
54 | + <h4 class="right"> | |
55 | + <b>Name :</b> | |
56 | + </h4> | |
57 | + </v-flex> | |
58 | + <v-flex sm6 xs6> | |
59 | + <h4>{{ markData[0].studentId.name }}</h4> | |
60 | + </v-flex> | |
61 | + </v-layout> | |
62 | + <v-layout class="pa-2"> | |
63 | + <v-flex xs6 sm6> | |
64 | + <h4 class="right"> | |
65 | + <b>Class :</b> | |
66 | + </h4> | |
67 | + </v-flex> | |
68 | + <v-flex sm6 xs6> | |
69 | + <h4>{{ markData[0].classId.classNum }}</h4> | |
70 | + </v-flex> | |
71 | + </v-layout> | |
72 | + <v-layout class="pa-2"> | |
73 | + <v-flex xs6 sm6> | |
74 | + <h4 class="right"> | |
75 | + <b>Section :</b> | |
76 | + </h4> | |
77 | + </v-flex> | |
78 | + <v-flex sm6 xs6> | |
79 | + <h4>{{ markData[0].sectionId.name }}</h4> | |
80 | + </v-flex> | |
81 | + </v-layout> | |
82 | + <v-layout class="pa-2"> | |
83 | + <v-flex xs6 sm6> | |
84 | + <h4 class="right"> | |
85 | + <b>Roll No :</b> | |
86 | + </h4> | |
87 | + </v-flex> | |
88 | + <v-flex sm6 xs6> | |
89 | + <h4>{{ markData[0].studentId.rollNo }}</h4> | |
90 | + </v-flex> | |
91 | + </v-layout> | |
92 | + <!-- <p | |
97 | 93 | style="font-size:20px;margin:0px;margin-bottom:4px;" |
98 | 94 | >{{ markData[0].studentId.name }}</p> |
99 | 95 | <p |
... | ... | @@ -104,151 +100,136 @@ |
104 | 100 | >Section : {{ markData[0].sectionId.name }}</p> |
105 | 101 | <p |
106 | 102 | style="font-size: 15px;color: #707478;margin:0px;margin-bottom:4px;" |
107 | - >Roll No : {{ markData[0].studentId.rollNo }}</p>--> | |
108 | - </v-card> | |
109 | - </v-flex> | |
110 | - <v-flex xs12 sm12 md8 v-show="showMark"> | |
111 | - <v-card> | |
112 | - <!-- <v-card-title class="subheading">{{value[0].examId.examName}}</v-card-title> --> | |
113 | - <table | |
114 | - v-for="(value, id) in filterData" | |
115 | - :key="id" | |
116 | - class="mb-5 tableRsponsive feeTypeTable subheading" | |
117 | - style="border: 1px solid black; | |
103 | + >Roll No : {{ markData[0].studentId.rollNo }}</p>--> | |
104 | + </v-card> | |
105 | + </v-flex> | |
106 | + <v-flex xs12 sm12 md8 v-show="showMark"> | |
107 | + <v-card> | |
108 | + <div style="overflow-x:auto;"> | |
109 | + <table | |
110 | + v-for="(value, id) in filterData" | |
111 | + :key="id" | |
112 | + class="mb-5 tableRsponsive feeTypeTable subheading" | |
113 | + style="border: 1px solid black; | |
118 | 114 | border-collapse: collapse;!important |
119 | 115 | table-layout: auto !important; |
120 | - width: 100% !important; | |
121 | - overflow: hidden;" | |
122 | - > | |
123 | - <thead style="border: 1px solid transparent !important;"> | |
124 | - <!-- <tr> | |
125 | - <v-card-title class="subheading">{{value[0].examId.examName}}</v-card-title> | |
126 | - </tr>--> | |
127 | - <!-- <tr style="border: 1px solid transparent !important"> --> | |
128 | - <td | |
129 | - colspan="4" | |
130 | - style="text-align: inherit !important; | |
116 | + width: 100% !important;" | |
117 | + > | |
118 | + <thead style="border: 1px solid transparent !important;"> | |
119 | + <td | |
120 | + colspan="4" | |
121 | + style="text-align: inherit !important; | |
131 | 122 | border-right: inherit; |
132 | 123 | border-top: inherit; |
133 | 124 | padding:14px;" |
134 | - >{{value[0].examId.examName}}</td> | |
135 | - <!-- </tr> --> | |
136 | - <tr style="border: 1px solid lightgrey !important;padding:4px;"> | |
125 | + >{{value[0].examId.examName}}</td> | |
126 | + <!-- </tr> --> | |
127 | + <tr style="border: 1px solid lightgrey !important;"> | |
128 | + <td | |
129 | + rowspan="2" | |
130 | + style="border: 1px solid lightgrey !important;;padding:4px; text-align: left;" | |
131 | + >Subject</td> | |
132 | + <template v-for="(studentData,ind) in value"> | |
137 | 133 | <td |
138 | - rowspan="2" | |
139 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
140 | - >Subject</td> | |
141 | - <template v-for="(studentData,ind) in value"> | |
142 | - <td | |
143 | - v-if="ind == 0" | |
144 | - colspan="2" | |
145 | - v-for="studentMark in studentData.studentsMarks" | |
146 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
147 | - >{{studentMark.markDistributionId.distributionType}}</td> | |
148 | - <td | |
149 | - v-if="ind == 0" | |
150 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
151 | - >Total Marks</td> | |
152 | - </template> | |
153 | - </tr> | |
154 | - <tr | |
155 | - v-for="(subject, ind) in value" | |
156 | - v-if="ind == 0" | |
157 | - style="border: 1px solid lightgrey !important;" | |
158 | - > | |
159 | - <template v-for="(exam, i) in subject.studentsMarks"> | |
160 | - <td style="border: 1px solid lightgrey !important;padding: 10px;">Marks</td> | |
161 | - <td | |
162 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
163 | - >Highest Marks</td> | |
164 | - </template> | |
165 | - </tr> | |
166 | - </thead> | |
167 | - <tbody style="border: 1px solid lightgrey !important;"> | |
168 | - <tr | |
169 | - v-for="subject in value" | |
170 | - style="border: 1px solid lightgrey !important;" | |
171 | - > | |
134 | + v-if="ind == 0" | |
135 | + colspan="2" | |
136 | + v-for="studentMark in studentData.studentsMarks" | |
137 | + style="border: 1px solid lightgrey !important;padding:10px; text-align: left;" | |
138 | + >{{studentMark.markDistributionId.distributionType}}</td> | |
172 | 139 | <td |
173 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
174 | - >{{subject.subjectName}}</td> | |
175 | - <template v-for="(exam, i) in subject.studentsMarks"> | |
176 | - <td | |
177 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
178 | - >{{exam.marksScored}}</td> | |
179 | - <td | |
180 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
181 | - >{{exam.markDistributionId.markValue}}</td> | |
182 | - </template> | |
140 | + v-if="ind == 0" | |
141 | + style="border: 1px solid lightgrey !important text-align: left;" | |
142 | + >Total Marks</td> | |
143 | + </template> | |
144 | + </tr> | |
145 | + <tr | |
146 | + v-for="(subject, ind) in value" | |
147 | + v-if="ind == 0" | |
148 | + style="border: 1px solid lightgrey !important;" | |
149 | + > | |
150 | + <template v-for="(exam, i) in subject.studentsMarks"> | |
183 | 151 | <td |
184 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
185 | - >{{subject.totalMarks}}</td> | |
186 | - </tr> | |
187 | - </tbody> | |
188 | - </table> | |
189 | - </v-card> | |
190 | - </v-flex> | |
191 | - <!-- ****** TABLE GRADE MARK ****** --> | |
192 | - <v-flex xs12 sm12 md8 v-show="showGrade"> | |
193 | - <!-- <v-card class="fixcolors white--text" flat> | |
194 | - <v-card-actions class="pa-0"> | |
195 | - <v-spacer></v-spacer> | |
196 | - <v-card-title class="pa-2"> | |
197 | - <h3>Mark</h3> | |
198 | - </v-card-title> | |
199 | - <v-spacer></v-spacer> | |
200 | - </v-card-actions> | |
201 | - </v-card> --> | |
202 | - <v-card | |
203 | - v-for="(value, id, index) in filterData" | |
204 | - :key="index" | |
205 | - flat | |
206 | - style="border: 1px solid lightgrey;margin-bottom:14px;" | |
207 | - > | |
208 | - <v-card-title class="subheading">{{value[0].examId.examName}}</v-card-title> | |
209 | - <table | |
210 | - class="mb-5 tableRsponsive feeTypeTable" | |
211 | - style="border: 1px solid lightgrey; | |
152 | + style="border: 1px solid lightgrey !important;padding: 10px; text-align: left;" | |
153 | + >Marks</td> | |
154 | + <td | |
155 | + style="border: 1px solid lightgrey !important;padding: 10px; text-align: left;" | |
156 | + >Highest Marks</td> | |
157 | + </template> | |
158 | + </tr> | |
159 | + </thead> | |
160 | + <tbody style="border: 1px solid lightgrey !important;"> | |
161 | + <tr | |
162 | + v-for="subject in value" | |
163 | + style="border: 1px solid lightgrey !important;" | |
164 | + class="tr" | |
165 | + > | |
166 | + <td | |
167 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
168 | + >{{subject.subjectName}}</td> | |
169 | + <template v-for="(exam, i) in subject.studentsMarks"> | |
170 | + <td | |
171 | + style="border: 1px solid lightgrey !important;padding: 10px; text-align: left;" | |
172 | + >{{exam.marksScored}}</td> | |
173 | + <td | |
174 | + style="border: 1px solid lightgrey !important;padding: 10px; text-align: left;" | |
175 | + >{{exam.markDistributionId.markValue}}</td> | |
176 | + </template> | |
177 | + <td | |
178 | + style="border: 1px solid lightgrey !important;padding: 10px; text-align: left;" | |
179 | + >{{subject.totalMarks}}</td> | |
180 | + </tr> | |
181 | + </tbody> | |
182 | + </table> | |
183 | + </div> | |
184 | + </v-card> | |
185 | + </v-flex> | |
186 | + <!-- ****** TABLE GRADE MARK ****** --> | |
187 | + <v-flex xs12 sm12 md8 v-show="showGrade"> | |
188 | + <v-card | |
189 | + v-for="(value, id, index) in filterData" | |
190 | + :key="index" | |
191 | + flat | |
192 | + style="border: 1px solid lightgrey;margin-bottom:14px;" | |
193 | + > | |
194 | + <v-card-title class="subheading">{{value[0].examId.examName}}</v-card-title> | |
195 | + <table | |
196 | + class="mb-5 tableRsponsive feeTypeTable" | |
197 | + style="border: 1px solid lightgrey; | |
212 | 198 | border-collapse: collapse;!important |
213 | 199 | table-layout: auto !important; |
214 | 200 | width: 100% !important;" |
201 | + > | |
202 | + <thead style="border: 1px solid lightgrey !important;"> | |
203 | + <tr | |
204 | + class="info white--text" | |
205 | + style="border: 1px solid lightgrey !important;padding:4px;" | |
215 | 206 | > |
216 | - <thead style="border: 1px solid lightgrey !important;"> | |
217 | - <tr | |
218 | - class="info white--text" | |
219 | - style="border: 1px solid lightgrey !important;padding:4px;" | |
220 | - > | |
221 | - <td style="border: 1px solid lightgrey !important;padding: 10px;">Subject</td> | |
222 | - <td style="border: 1px solid lightgrey !important;padding: 10px;">Grade</td> | |
223 | - </tr> | |
224 | - </thead> | |
225 | - <tbody style="border: 1px solid lightgrey !important;"> | |
226 | - <tr | |
227 | - v-for="subject in value" | |
228 | - style="border: 1px solid lightgrey !important;" | |
229 | - > | |
230 | - <td | |
231 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
232 | - >{{ subject.subjectName }}</td> | |
233 | - <td | |
234 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
235 | - >{{ subject.grade }}</td> | |
236 | - </tr> | |
237 | - </tbody> | |
238 | - </table> | |
239 | - </v-card> | |
240 | - <v-card v-if="markData == ''"> | |
241 | - <v-layout> | |
242 | - <v-flex xs12> | |
243 | - <h5 class="text-xs-center pa-3">No Data Found</h5> | |
244 | - </v-flex> | |
245 | - </v-layout> | |
246 | - </v-card> | |
247 | - </v-flex> | |
248 | - </v-layout> | |
249 | - </v-card> | |
250 | - </v-flex> | |
251 | - </v-layout> | |
207 | + <td style="border: 1px solid lightgrey !important;padding: 10px;">Subject</td> | |
208 | + <td style="border: 1px solid lightgrey !important;padding: 10px;">Grade</td> | |
209 | + </tr> | |
210 | + </thead> | |
211 | + <tbody style="border: 1px solid lightgrey !important;"> | |
212 | + <tr v-for="subject in value" style="border: 1px solid lightgrey !important;"> | |
213 | + <td | |
214 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
215 | + >{{ subject.subjectName }}</td> | |
216 | + <td | |
217 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
218 | + >{{ subject.grade }}</td> | |
219 | + </tr> | |
220 | + </tbody> | |
221 | + </table> | |
222 | + </v-card> | |
223 | + <v-card v-if="markData == ''"> | |
224 | + <v-layout> | |
225 | + <v-flex xs12> | |
226 | + <h5 class="text-xs-center pa-3">No Data Found</h5> | |
227 | + </v-flex> | |
228 | + </v-layout> | |
229 | + </v-card> | |
230 | + </v-flex> | |
231 | + </v-layout> | |
232 | + </v-flex> | |
252 | 233 | </v-flex> |
253 | 234 | </v-container> |
254 | 235 | <div class="loader" v-if="showLoader"> |
... | ... | @@ -382,15 +363,6 @@ export default { |
382 | 363 | </script> |
383 | 364 | |
384 | 365 | <style scoped> |
385 | -.student-card { | |
386 | - float: left; | |
387 | - width: 20%; | |
388 | - height: 70%; | |
389 | -} | |
390 | -.student-table { | |
391 | - margin-left: 28%; | |
392 | - height: -webkit-fill-available; | |
393 | -} | |
394 | 366 | .add-button { |
395 | 367 | background: #feb83c !important; |
396 | 368 | border-color: #feb83c !important; |
... | ... | @@ -442,6 +414,7 @@ table.feeTypeTable { |
442 | 414 | background-color: rgba(0, 0, 0, 0.5); |
443 | 415 | z-index: 999; |
444 | 416 | } |
417 | +/* .tr:nth-child(odd){background-color: #f2f2f2} */ | |
445 | 418 | |
446 | 419 | .loader > div { |
447 | 420 | position: relative; | ... | ... |
src/pages/Report/progressCardReport.vue
... | ... | @@ -93,7 +93,7 @@ |
93 | 93 | </v-btn> |
94 | 94 | </v-flex> |
95 | 95 | </v-layout> |
96 | - <v-flex xs12 v-for="(value, id, index) in filterData" :key="index" flat> | |
96 | + <v-flex xs12 v-for="(value, id, Index) in filterData" :key="Index" flat> | |
97 | 97 | <!-- {{value}}---{{id}}---{{index}} --> |
98 | 98 | <v-card |
99 | 99 | class="ma-3" |
... | ... | @@ -184,118 +184,126 @@ |
184 | 184 | </div> |
185 | 185 | </v-flex> |
186 | 186 | </v-layout> |
187 | - <v-card v-for="studentMarks in value" :key="studentMarks" class="my-4"> | |
187 | + <v-card | |
188 | + v-for="studentMarks in value" | |
189 | + :key="studentMarks" | |
190 | + class="my-4 elevation-0" | |
191 | + > | |
188 | 192 | <!-- {{studentMark}} --> |
189 | - <table | |
190 | - v-for="(studentMark,key) in studentMarks" | |
191 | - :key="key" | |
192 | - class="mb-5 tableRsponsive feeTypeTable subheading" | |
193 | - style="border: 1px solid black; | |
194 | - border-collapse: collapse;!important | |
195 | - table-layout: auto !important; | |
196 | - width: 100% !important; | |
197 | - overflow: hidden;" | |
193 | + <div | |
194 | + style="overflow-x:auto; | |
195 | + border: 1px solid lightgrey !important;" | |
198 | 196 | > |
199 | - <thead style="border: 1px solid transparent !important" v-if="key == 0"> | |
200 | - <tr style="border: 1px solid transparent !important"> | |
201 | - <td | |
202 | - colspan="4" | |
203 | - style="text-align: inherit !important; | |
204 | - border-right: inherit; | |
205 | - border-top: inherit; | |
206 | - padding:14px;" | |
207 | - >{{studentMark.examId.examName}}</td> | |
208 | - </tr> | |
209 | - <tr style="border: 1px solid lightgrey !important;padding:4px;"> | |
210 | - <td | |
211 | - rowspan="2" | |
212 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
213 | - >Subject</td> | |
214 | - <template> | |
197 | + <table | |
198 | + v-for="(studentMark,key) in studentMarks" | |
199 | + :key="key" | |
200 | + class="tableRsponsive feeTypeTable subheading" | |
201 | + style="border: 1px solid black; | |
202 | + border-collapse: collapse;!important | |
203 | + table-layout: auto !important; | |
204 | + width: 100% !important; | |
205 | + overflow: hidden;" | |
206 | + > | |
207 | + <thead style="border: 1px solid transparent !important" v-if="key == 0"> | |
208 | + <tr style="border: 1px solid transparent !important"> | |
209 | + <td | |
210 | + colspan="4" | |
211 | + style="text-align: inherit !important; | |
212 | + border-right: inherit; | |
213 | + border-top: inherit; | |
214 | + padding:14px;" | |
215 | + >{{studentMark.examId.examName}}</td> | |
216 | + </tr> | |
217 | + <tr style="border: 1px solid lightgrey !important;padding:4px;"> | |
218 | + <td | |
219 | + rowspan="2" | |
220 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
221 | + >Subject</td> | |
222 | + <template> | |
223 | + <td | |
224 | + v-for="(studentMarkData,i) in studentMark.studentsMarks" | |
225 | + :key="i" | |
226 | + colspan="2" | |
227 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
228 | + >{{studentMarkData.markDistributionId.distributionType}}</td> | |
229 | + <td | |
230 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
231 | + >Total Marks</td> | |
232 | + </template> | |
233 | + </tr> | |
234 | + <tr style="border: 1px solid lightgrey !important;"> | |
235 | + <template v-for="(exam, ind) in studentMark.studentsMarks"> | |
236 | + <td | |
237 | + :key="ind" | |
238 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
239 | + >Marks</td> | |
240 | + <td | |
241 | + :key="ind" | |
242 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
243 | + >Highest Marks</td> | |
244 | + </template> | |
245 | + </tr> | |
246 | + </thead> | |
247 | + <tbody style="border: 1px solid lightgrey !important;" v-if="key == 0"> | |
248 | + <tr v-for="studentMark in studentMarks" :key="studentMark"> | |
215 | 249 | <td |
216 | - v-for="(studentMarkData,i) in studentMark.studentsMarks" | |
217 | - :key="i" | |
218 | - colspan="2" | |
219 | 250 | style="border: 1px solid lightgrey !important;padding: 10px;" |
220 | - >{{studentMarkData.markDistributionId.distributionType}}</td> | |
251 | + >{{studentMark.subjectName}}</td> | |
252 | + <template v-for="(exam, index) in studentMark.studentsMarks"> | |
253 | + <td | |
254 | + :key="index" | |
255 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
256 | + >{{exam.marksScored}}</td> | |
257 | + <td | |
258 | + :key="index" | |
259 | + style="border: 1px solid lightgrey !important;padding: 10px;" | |
260 | + >{{exam.markDistributionId.markValue}}</td> | |
261 | + </template> | |
221 | 262 | <td |
222 | 263 | style="border: 1px solid lightgrey !important;padding: 10px;" |
264 | + >{{studentMark.totalMarks}}</td> | |
265 | + </tr> | |
266 | + </tbody> | |
267 | + <tfoot v-if="key == studentMarks.length - 1"> | |
268 | + <tr style="border: 1px solid lightgrey !important;"> | |
269 | + <td | |
270 | + colspan="5" | |
271 | + style="text-align:center" | |
272 | + class="subheding" | |
223 | 273 | >Total Marks</td> |
224 | - </template> | |
225 | - </tr> | |
226 | - <tr style="border: 1px solid lightgrey !important;"> | |
227 | - <template v-for="(exam, ind) in studentMark.studentsMarks"> | |
228 | 274 | <td |
229 | - :key="ind" | |
275 | + colspan="7" | |
230 | 276 | style="border: 1px solid lightgrey !important;padding: 10px;" |
231 | - >Marks</td> | |
277 | + >{{ studentMark.allSubjectTotalMarks }}</td> | |
278 | + </tr> | |
279 | + <tr> | |
280 | + <td colspan="5" style="text-align:center" class="subheding">Grade</td> | |
232 | 281 | <td |
233 | - :key="ind" | |
282 | + colspan="7" | |
234 | 283 | style="border: 1px solid lightgrey !important;padding: 10px;" |
235 | - >Highest Marks</td> | |
236 | - </template> | |
237 | - </tr> | |
238 | - </thead> | |
239 | - <tbody style="border: 1px solid lightgrey !important;" v-if="key == 0"> | |
240 | - <tr v-for="studentMark in studentMarks" :key="studentMark"> | |
241 | - <!-- {{studentMark.totalMarks}} --> | |
242 | - <td | |
243 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
244 | - >{{studentMark.subjectName}}</td> | |
245 | - <template v-for="(exam, index) in studentMark.studentsMarks"> | |
284 | + >{{ studentMark.grade }}</td> | |
285 | + </tr> | |
286 | + <tr> | |
287 | + <td | |
288 | + colspan="5" | |
289 | + style="text-align:center" | |
290 | + class="subheding" | |
291 | + >Average Mark</td> | |
246 | 292 | <td |
247 | - :key="index" | |
293 | + colspan="7" | |
248 | 294 | style="border: 1px solid lightgrey !important;padding: 10px;" |
249 | - >{{exam.marksScored}}</td> | |
295 | + ></td> | |
296 | + </tr> | |
297 | + <tr> | |
298 | + <td colspan="5" style="text-align:center" class="subheding">GPA</td> | |
250 | 299 | <td |
251 | - :key="index" | |
300 | + colspan="7" | |
252 | 301 | style="border: 1px solid lightgrey !important;padding: 10px;" |
253 | - >{{exam.markDistributionId.markValue}}</td> | |
254 | - </template> | |
255 | - <td | |
256 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
257 | - >{{studentMark.totalMarks}}</td> | |
258 | - </tr> | |
259 | - </tbody> | |
260 | - <tfoot v-if="key == 0"> | |
261 | - <tr style="border: 1px solid lightgrey !important;"> | |
262 | - <td | |
263 | - colspan="5" | |
264 | - style="text-align:center" | |
265 | - class="subheding" | |
266 | - >Total Marks</td> | |
267 | - <td | |
268 | - colspan="7" | |
269 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
270 | - >{{ studentMark.totalMarks }}</td> | |
271 | - </tr> | |
272 | - <tr> | |
273 | - <td colspan="5" style="text-align:center" class="subheding">Grade</td> | |
274 | - <td | |
275 | - colspan="7" | |
276 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
277 | - >{{ studentMark.grade }}</td> | |
278 | - </tr> | |
279 | - <tr> | |
280 | - <td | |
281 | - colspan="5" | |
282 | - style="text-align:center" | |
283 | - class="subheding" | |
284 | - >Average Mark</td> | |
285 | - <td | |
286 | - colspan="7" | |
287 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
288 | - ></td> | |
289 | - </tr> | |
290 | - <tr> | |
291 | - <td colspan="5" style="text-align:center" class="subheding">GPA</td> | |
292 | - <td | |
293 | - colspan="7" | |
294 | - style="border: 1px solid lightgrey !important;padding: 10px;" | |
295 | - ></td> | |
296 | - </tr> | |
297 | - </tfoot> | |
298 | - </table> | |
302 | + ></td> | |
303 | + </tr> | |
304 | + </tfoot> | |
305 | + </table> | |
306 | + </div> | |
299 | 307 | </v-card> |
300 | 308 | </v-card> |
301 | 309 | </v-flex> |
... | ... | @@ -451,9 +459,9 @@ export default { |
451 | 459 | this.filterData = studentMarkArray; |
452 | 460 | for (let data in this.filterData) { |
453 | 461 | for (let item in this.filterData[data]) { |
454 | - var totalMarks = 0; | |
455 | - | |
462 | + var allSubjectTotalMarks = 0; | |
456 | 463 | for (let i = 0; i < this.filterData[data][item].length; i++) { |
464 | + var totalMarks = 0; | |
457 | 465 | for ( |
458 | 466 | let j = 0; |
459 | 467 | j < studentMarkArray[data][item][i].studentsMarks.length; |
... | ... | @@ -462,27 +470,33 @@ export default { |
462 | 470 | totalMarks += |
463 | 471 | studentMarkArray[data][item][i].studentsMarks[j] |
464 | 472 | .marksScored; |
465 | - console.log("totalMarks", totalMarks); | |
466 | 473 | } |
467 | 474 | this.filterData[data][item][i].totalMarks = totalMarks; |
475 | + | |
476 | + allSubjectTotalMarks += this.filterData[data][item][i] | |
477 | + .totalMarks; | |
478 | + this.filterData[data][item][ | |
479 | + i | |
480 | + ].allSubjectTotalMarks = allSubjectTotalMarks; | |
468 | 481 | } |
482 | + | |
469 | 483 | // this.totalMarks = totalMarks; |
470 | - // if (totalMarks > 90) { | |
471 | - // this.filterData[data][item].grade = this.gradeAPlus; | |
472 | - // } else if (totalMarks > 80 && totalMarks < 90) { | |
473 | - // this.filterData[data][item].grade = this.gradeA; | |
474 | - // } else if (totalMarks > 70 && totalMarks < 80) { | |
475 | - // this.filterData[data][item].grade = this.gradeBPlus; | |
476 | - // } else if (totalMarks > 60 && totalMarks < 70) { | |
477 | - // this.filterData[data][item].grade = this.gradeB; | |
478 | - // } else if (totalMarks > 50 && totalMarks < 60) { | |
479 | - // this.filterData[data][item].grade = this.gradeCPlus; | |
480 | - // } else if (totalMarks > 40 && totalMarks < 50) { | |
481 | - // this.filterData[data][item].grade = this.gradeC; | |
482 | - // } | |
484 | + if (totalMarks > 90) { | |
485 | + this.filterData[data][item].grade = this.gradeAPlus; | |
486 | + } else if (totalMarks > 80 && totalMarks < 90) { | |
487 | + this.filterData[data][item].grade = this.gradeA; | |
488 | + } else if (totalMarks > 70 && totalMarks < 80) { | |
489 | + this.filterData[data][item].grade = this.gradeBPlus; | |
490 | + } else if (totalMarks > 60 && totalMarks < 70) { | |
491 | + this.filterData[data][item].grade = this.gradeB; | |
492 | + } else if (totalMarks > 50 && totalMarks < 60) { | |
493 | + this.filterData[data][item].grade = this.gradeCPlus; | |
494 | + } else if (totalMarks > 40 && totalMarks < 50) { | |
495 | + this.filterData[data][item].grade = this.gradeC; | |
496 | + } | |
483 | 497 | } |
484 | 498 | } |
485 | - console.log("this.filterData-----------last", this.filterData); | |
499 | + // console.log("this.filterData-----------last", this.filterData); | |
486 | 500 | |
487 | 501 | this.showLoader = false; |
488 | 502 | }) | ... | ... |