Blame view

src/pages/Mark/viewMark.vue 10.6 KB
006544386   Neeraj Sharma   implement task
1
2
  <template>
    <v-app id="pages-dasboard">
495e4037c   Neeraj Sharma   update
3
      <!-- ****** PROFILE MARK  ****** -->
006544386   Neeraj Sharma   implement task
4
      <v-container fluid grid-list-md>
ec5677f43   Neeraj Sharma   implement print o...
5
        <v-layout>
66a5c3b75   Neeraj Sharma   implement gloabal...
6
          <v-flex xs12 sm8 md10>
68d742034   Neeraj Sharma   implement new des...
7
            <v-btn class="open-dialog-button mt-3" round dark @click="print()">
ec5677f43   Neeraj Sharma   implement print o...
8
              Print
68d742034   Neeraj Sharma   implement new des...
9
              <v-icon size="18" right dark>print</v-icon>
ec5677f43   Neeraj Sharma   implement print o...
10
11
            </v-btn>
          </v-flex>
66a5c3b75   Neeraj Sharma   implement gloabal...
12
13
14
15
16
17
18
19
20
          <v-flex xs12 sm4 md2 class="right">
            <v-select
              class
              :items="selectMark"
              label="Select"
              v-model="selectMarkList"
              @change="selectMarkData(selectMarkList)"
            ></v-select>
          </v-flex>
ec5677f43   Neeraj Sharma   implement print o...
21
22
23
        </v-layout>
        <v-flex xs12 sm12 id="printMe">
          <v-layout wrap>
67a276510   Shikha Mishra   fixed all bugs
24
25
            <!-- ****** TABLE DATA MARK  ****** -->
            <v-flex xs12 sm12 md12>
819c223ec   Shikha Mishra   improve school an...
26
              <v-card 
ec5677f43   Neeraj Sharma   implement print o...
27
28
29
                v-for="(value, id, index) in filterData"
                :key="index"
                flat
67a276510   Shikha Mishra   fixed all bugs
30
                style="border: 1px solid lightgrey;margin-bottom:14px;padding:20px"
ec5677f43   Neeraj Sharma   implement print o...
31
              >
d4735dce7   Shikha Mishra   show school logo ...
32
                <v-layout>
25205ccca   Shikha Mishra   show school logo ...
33
                  <v-flex xs12 sm12 md12 class="text-xs-center">
d4735dce7   Shikha Mishra   show school logo ...
34
35
36
                    <img :src="userData.schoolLogoUrl" width="140" alt="logo" />
                    <p class="title">{{ userData.name }}</p>
                    <p>{{ userData.address }}</p>
67a276510   Shikha Mishra   fixed all bugs
37
                  </v-flex>
25205ccca   Shikha Mishra   show school logo ...
38
                  <v-flex xs12 sm12 md12 class="text-xs-center">
819c223ec   Shikha Mishra   improve school an...
39
40
41
                    <v-avatar size="80px">
                      <img src="/static/icon/user.png" v-if="!value[0].studentId.profilePicUrl" />
                      <img :src="value[0].studentId.profilePicUrl" v-else-if="value[0].studentId.profilePicUrl" />
67a276510   Shikha Mishra   fixed all bugs
42
                    </v-avatar>
25205ccca   Shikha Mishra   show school logo ...
43
44
45
46
47
                    <p
                      style="font-size:20px;margin:0px;margin-bottom:4px;"
                    >{{ value[0].studentId.name }}</p>
                    <p
                      style="font-size: 15px;color: #707478;margin:0px;margin-bottom:4px;"
819c223ec   Shikha Mishra   improve school an...
48
                    > Class : {{ value[0].classId.classNum }}</p>
25205ccca   Shikha Mishra   show school logo ...
49
50
                    <p
                      style="font-size: 15px;color: #707478;margin:0px;margin-bottom:4px;"
819c223ec   Shikha Mishra   improve school an...
51
                    > Section : {{ value[0].sectionId.name }}</p>
25205ccca   Shikha Mishra   show school logo ...
52
53
                    <p
                      style="font-size: 15px;color: #707478;margin:0px;margin-bottom:4px;"
819c223ec   Shikha Mishra   improve school an...
54
                    > Roll No : {{ value[0].studentId.rollNo }}</p>
67a276510   Shikha Mishra   fixed all bugs
55
56
                  </v-flex>
                </v-layout>
c34b2bc04   Shikha Mishra   solved issues rel...
57
                  <v-card-title class="subheading">{{value[0].examId.examName}}</v-card-title>
ec5677f43   Neeraj Sharma   implement print o...
58
59
60
61
62
                <table
                  class="mb-5 tableRsponsive feeTypeTable"
                  style="border: 1px solid lightgrey;
                    border-collapse: collapse;!important
                    table-layout: auto !important;
67a276510   Shikha Mishra   fixed all bugs
63
                    width: 100% !important;
46993dc1d   Shikha Mishra   solve issue login
64
                    overflow: hidden;"
ec5677f43   Neeraj Sharma   implement print o...
65
66
                >
                  <thead style="border: 1px solid lightgrey !important;">
67a276510   Shikha Mishra   fixed all bugs
67
                    <tr style="border: 1px solid lightgrey !important;padding:4px;">
ec5677f43   Neeraj Sharma   implement print o...
68
69
70
71
                      <td
                        rowspan="2"
                        style="border: 1px solid lightgrey !important;padding: 10px;"
                      >Subject</td>
4d1fcaddc   Neeraj Sharma   fixed validation ...
72
73
74
75
76
77
                      <template v-for="studentData in  value">
                        <td
                          colspan="2"
                          v-for="studentMark in studentData.studentsMarks"
                          style="border: 1px solid lightgrey !important;padding: 10px;"
                        >{{studentMark.markDistributionId.distributionType}}</td>
46993dc1d   Shikha Mishra   solve issue login
78
                        <td style="border: 1px solid lightgrey !important;padding: 10px;">Total Marks</td>
4d1fcaddc   Neeraj Sharma   fixed validation ...
79
                      </template>
ec5677f43   Neeraj Sharma   implement print o...
80
81
82
83
84
85
86
                    </tr>
                    <tr
                      v-for="(subject, ind) in value"
                      v-if="ind == 0"
                      style="border: 1px solid lightgrey !important;"
                    >
                      <template v-for="(exam, i) in subject.studentsMarks">
46993dc1d   Shikha Mishra   solve issue login
87
88
                        <td style="border: 1px solid lightgrey !important;padding: 10px;">Marks</td>
                        <td style="border: 1px solid lightgrey !important;padding: 10px;">Highest Marks</td>
ec5677f43   Neeraj Sharma   implement print o...
89
                      </template>
46993dc1d   Shikha Mishra   solve issue login
90
                      <!-- <td style="border: 1px solid lightgrey !important;padding: 10px;">Mark</td> -->
ec5677f43   Neeraj Sharma   implement print o...
91
92
93
94
                    </tr>
                  </thead>
                  <tbody style="border: 1px solid lightgrey !important;">
                    <tr v-for="subject in value" style="border: 1px solid lightgrey !important;">
8627b2890   Shikha Mishra   set table fields ...
95
                      <!-- <td
ec5677f43   Neeraj Sharma   implement print o...
96
                        style="border: 1px solid lightgrey !important;padding: 10px;"
8627b2890   Shikha Mishra   set table fields ...
97
98
                      >{{subject.subjectName}}</td> -->
                      <td style="border: 1px solid lightgrey !important;padding: 10px;"></td>
ec5677f43   Neeraj Sharma   implement print o...
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
                      <template v-for="(exam, i) in subject.studentsMarks">
                        <td
                          style="border: 1px solid lightgrey !important;padding: 10px;"
                        >{{exam.marksScored}}</td>
                        <td
                          style="border: 1px solid lightgrey !important;padding: 10px;"
                        >{{exam.markDistributionId.markValue}}</td>
                      </template>
                      <td
                        style="border: 1px solid lightgrey !important;padding: 10px;"
                      >{{subject.totalMarks}}</td>
                    </tr>
                  </tbody>
                </table>
              </v-card>
            </v-flex>
          </v-layout>
006544386   Neeraj Sharma   implement task
116
117
118
119
120
121
122
123
124
125
126
        </v-flex>
      </v-container>
      <div class="loader" v-if="showLoader">
        <v-progress-circular indeterminate color="white"></v-progress-circular>
      </div>
    </v-app>
  </template>
  
  <script>
  import http from "@/Services/http.js";
  import moment from "moment";
79583580d   Neeraj Sharma   implement task ma...
127
  import _ from "underscore";
006544386   Neeraj Sharma   implement task
128
129
130
  
  export default {
    data: () => ({
ec5677f43   Neeraj Sharma   implement print o...
131
132
      showLoader: true,
      nameShow: false,
66a5c3b75   Neeraj Sharma   implement gloabal...
133
134
      showMark: true,
      showGrade: false,
006544386   Neeraj Sharma   implement task
135
136
137
      markData: [],
      token: "",
      markDistributions: [],
79583580d   Neeraj Sharma   implement task ma...
138
      markParticularDistributionData: [],
ec5677f43   Neeraj Sharma   implement print o...
139
      filterData: [],
66a5c3b75   Neeraj Sharma   implement gloabal...
140
141
142
143
144
145
146
147
148
      output: null,
      gradeAPlus: "A+",
      gradeA: "A",
      gradeBPlus: "B+",
      gradeB: "B",
      gradeCPlus: "C+",
      gradeC: "C",
      selectMarkList: "Mark",
      selectMark: ["Mark", "Grade"],
67a276510   Shikha Mishra   fixed all bugs
149
150
      MarkData: "",
      userData: {}
006544386   Neeraj Sharma   implement task
151
152
153
154
    }),
    mounted() {
      this.token = this.$store.state.token;
      this.getMarkList();
67a276510   Shikha Mishra   fixed all bugs
155
      this.getUserData();
006544386   Neeraj Sharma   implement task
156
157
158
    },
    methods: {
      getMarkList() {
ec5677f43   Neeraj Sharma   implement print o...
159
        this.showLoader = true;
006544386   Neeraj Sharma   implement task
160
161
162
163
164
165
        http()
          .get("/getParticularMark", {
            params: { studentId: this.$route.params.markId },
            headers: { Authorization: "Bearer " + this.token }
          })
          .then(response => {
66a5c3b75   Neeraj Sharma   implement gloabal...
166
            this.markData = response.data.data;
79583580d   Neeraj Sharma   implement task ma...
167
            let newData = response.data.data;
4d1fcaddc   Neeraj Sharma   fixed validation ...
168
            // console.log("newData", newData);
79583580d   Neeraj Sharma   implement task ma...
169
170
171
172
            for (var i = 0; i < newData.length; i++) {
              newData[i].examination = newData[i].examId._id;
            }
            this.filterData = _.groupBy(newData, ["examination"]);
4d1fcaddc   Neeraj Sharma   fixed validation ...
173
            // console.log("this.filterData", this.filterData);
79583580d   Neeraj Sharma   implement task ma...
174
            for (let data in this.filterData) {
79583580d   Neeraj Sharma   implement task ma...
175
              for (let item in this.filterData[data]) {
79583580d   Neeraj Sharma   implement task ma...
176
                var totalMarks = 0;
006544386   Neeraj Sharma   implement task
177
                for (
79583580d   Neeraj Sharma   implement task ma...
178
179
180
                  let i = 0;
                  i < this.filterData[data][item].studentsMarks.length;
                  i++
006544386   Neeraj Sharma   implement task
181
                ) {
4d1fcaddc   Neeraj Sharma   fixed validation ...
182
183
                  // console.log("this.filterData[data][item].studentsMarks[i]",this.filterData[data][item].studentsMarks[i]
                  //   .marksScored)
79583580d   Neeraj Sharma   implement task ma...
184
185
                  totalMarks += this.filterData[data][item].studentsMarks[i]
                    .marksScored;
006544386   Neeraj Sharma   implement task
186
                }
79583580d   Neeraj Sharma   implement task ma...
187
                this.filterData[data][item].totalMarks = totalMarks;
4d1fcaddc   Neeraj Sharma   fixed validation ...
188

66a5c3b75   Neeraj Sharma   implement gloabal...
189
190
191
192
193
194
195
196
197
198
199
200
201
                if (totalMarks > 90) {
                  this.filterData[data][item].grade = this.gradeAPlus;
                } else if (totalMarks > 80 && totalMarks < 90) {
                  this.filterData[data][item].grade = this.gradeA;
                } else if (totalMarks > 70 && totalMarks < 80) {
                  this.filterData[data][item].grade = this.gradeBPlus;
                } else if (totalMarks > 60 && totalMarks < 70) {
                  this.filterData[data][item].grade = this.gradeB;
                } else if (totalMarks > 50 && totalMarks < 60) {
                  this.filterData[data][item].grade = this.gradeCPlus;
                } else if (totalMarks > 40 && totalMarks < 50) {
                  this.filterData[data][item].grade = this.gradeC;
                }
006544386   Neeraj Sharma   implement task
202
203
              }
            }
ec5677f43   Neeraj Sharma   implement print o...
204
            this.showLoader = false;
006544386   Neeraj Sharma   implement task
205
206
          })
          .catch(error => {
006544386   Neeraj Sharma   implement task
207
208
209
210
211
212
213
214
215
            this.showLoader = false;
            this.snackbar = true;
            this.text = error.response.data.message;
            if (error.response.status === 401) {
              this.$router.replace({ path: "/" });
              this.$store.dispatch("setToken", null);
              this.$store.dispatch("Id", null);
            }
          });
ec5677f43   Neeraj Sharma   implement print o...
216
217
218
219
      },
      print() {
        // Pass the element id here
        this.$htmlToPaper("printMe");
66a5c3b75   Neeraj Sharma   implement gloabal...
220
      },
67a276510   Shikha Mishra   fixed all bugs
221
222
223
224
225
226
227
      getUserData() {
        http()
          .get("/getParticularUserDetail")
          .then(response => {
            this.userData = response.data.data;
          })
          .catch(error => {
25205ccca   Shikha Mishra   show school logo ...
228
229
230
231
232
            // if (error.response.status === 401) {
            //   this.$router.replace({ path: "/" });
            //   this.$store.dispatch("setToken", null);
            //   this.$store.dispatch("Id", null);
            // }
67a276510   Shikha Mishra   fixed all bugs
233
234
          });
      },
66a5c3b75   Neeraj Sharma   implement gloabal...
235
236
237
238
239
240
241
242
      selectMarkData(select) {
        if (select == "Mark") {
          this.showMark = true;
          this.showGrade = false;
        } else if (select == "Grade") {
          this.showGrade = true;
          this.showMark = false;
        }
006544386   Neeraj Sharma   implement task
243
244
245
246
247
248
      }
    }
  };
  </script>
  
  <style scoped>
68d742034   Neeraj Sharma   implement new des...
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
  .add-button {
    background: #feb83c !important;
    border-color: #feb83c !important;
    text-transform: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
  }
  .card-styles {
    background: #7f62f8 !important;
    border-color: #7f62f8 !important;
  }
  .open-dialog-button {
    background: #827bfa !important;
    border-color: #827bfa !important;
    text-transform: none !important;
  }
006544386   Neeraj Sharma   implement task
265
266
267
268
  table {
    border-collapse: collapse;
    border: 1px solid #e2e7eb;
  }
006544386   Neeraj Sharma   implement task
269
270
271
  th,
  td {
    border: 1px solid #e2e7eb;
006544386   Neeraj Sharma   implement task
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
    text-align: center;
  }
  table.feeTypeTable {
    table-layout: auto !important;
    width: 100% !important;
  }
  .bg-sky {
    background-color: #98b2cc !important;
  }
  .bg-sky-light {
    background-color: #89a0b8;
  }
  .bg-purple {
    background-color: #9583ac;
  }
  .bg-skyDark {
    background-color: #956785;
  }
ec5677f43   Neeraj Sharma   implement print o...
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
  .loader {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
  }
  
  .loader > div {
    position: relative;
    top: calc(50% - 16px);
  }
006544386   Neeraj Sharma   implement task
305
306
  @media screen and (max-width: 380px) {
    .tableRsponsive {
d4735dce7   Shikha Mishra   show school logo ...
307
      /* display: block; */
006544386   Neeraj Sharma   implement task
308
309
310
311
      position: relative;
      overflow: scroll;
    }
  }
ec5677f43   Neeraj Sharma   implement print o...
312
  </style>