Commit 3f2e2025ce8bb2822f833186d32b46040bbca9c4

Authored by Amber Dev
1 parent dbcbd11f41

admit card printig

Showing 1 changed file with 18 additions and 29 deletions   Show diff stats
src/pages/Report/admitCard.vue
1 <template> 1 <template>
2 <v-container fluid class="body-color"> 2 <v-container fluid class="body-color">
3 <!-- **** Admit Card Table **** --> 3 <!-- **** Admit Card Table **** -->
4 <v-card flat class="elevation-0 transparent"> 4 <v-card flat class="elevation-0 transparent">
5 <v-form ref="form" v-model="valid" lazy-validation> 5 <v-form ref="form" v-model="valid" lazy-validation>
6 <v-flex xs12 sm12 lg12> 6 <v-flex xs12 sm12 lg12>
7 <v-layout wrap> 7 <v-layout wrap>
8 <v-flex xs12 sm12 lg3> 8 <v-flex xs12 sm12 lg3>
9 <v-layout> 9 <v-layout>
10 <v-flex xs12 sm12 lg10 class="ml-2"> 10 <v-flex xs12 sm12 lg10 class="ml-2">
11 <v-autocomplete 11 <v-autocomplete
12 v-model="getReport.examId" 12 v-model="getReport.examId"
13 label="Please Select Exam" 13 label="Please Select Exam"
14 :items="examData" 14 :items="examData"
15 item-text="examName" 15 item-text="examName"
16 item-value="_id" 16 item-value="_id"
17 :rules="examRules" 17 :rules="examRules"
18 @change="getExamList" 18 @change="getExamList"
19 required 19 required
20 ></v-autocomplete> 20 ></v-autocomplete>
21 </v-flex> 21 </v-flex>
22 </v-layout> 22 </v-layout>
23 </v-flex> 23 </v-flex>
24 24
25 <v-flex xs12 sm12 lg3 v-if="getReport.examId"> 25 <v-flex xs12 sm12 lg3 v-if="getReport.examId">
26 <v-layout> 26 <v-layout>
27 <v-flex xs12 sm12 lg10 class="ml-2"> 27 <v-flex xs12 sm12 lg10 class="ml-2">
28 <v-select 28 <v-select
29 v-model="getReport.classId" 29 v-model="getReport.classId"
30 label="Select your class" 30 label="Select your class"
31 type="text" 31 type="text"
32 :items="classList" 32 :items="classList"
33 item-text="classNum" 33 item-text="classNum"
34 item-value="_id" 34 item-value="_id"
35 :rules="classRules" 35 :rules="classRules"
36 @change="getSections(getReport.classId)" 36 @change="getSections(getReport.classId)"
37 required 37 required
38 ></v-select> 38 ></v-select>
39 </v-flex> 39 </v-flex>
40 </v-layout> 40 </v-layout>
41 </v-flex> 41 </v-flex>
42 <v-flex xs12 sm12 lg3 v-if="getReport.classId"> 42 <v-flex xs12 sm12 lg3 v-if="getReport.classId">
43 <v-layout> 43 <v-layout>
44 <v-flex xs12 sm12 lg10 class="ml-2"> 44 <v-flex xs12 sm12 lg10 class="ml-2">
45 <v-select 45 <v-select
46 :items="addSection" 46 :items="addSection"
47 label="Select your Section" 47 label="Select your Section"
48 v-model="getReport.sectionId" 48 v-model="getReport.sectionId"
49 item-text="name" 49 item-text="name"
50 item-value="_id" 50 item-value="_id"
51 name="Select Section" 51 name="Select Section"
52 @change="getStudents" 52 @change="getStudents"
53 :rules="sectionRules" 53 :rules="sectionRules"
54 required 54 required
55 ></v-select> 55 ></v-select>
56 </v-flex> 56 </v-flex>
57 </v-layout> 57 </v-layout>
58 </v-flex> 58 </v-flex>
59 <v-flex xs12 sm12 lg3 v-if="getReport.sectionId"> 59 <v-flex xs12 sm12 lg3 v-if="getReport.sectionId">
60 <v-layout> 60 <v-layout>
61 <v-flex xs12 sm12 lg10 class="ml-2"> 61 <v-flex xs12 sm12 lg10 class="ml-2">
62 <v-select 62 <v-select
63 :items="getStudentsList" 63 :items="getStudentsList"
64 label="Select your student" 64 label="Select your student"
65 v-model="getReport.studentId" 65 v-model="getReport.studentId"
66 item-text="name" 66 item-text="name"
67 item-value="_id" 67 item-value="_id"
68 :rules="studentRules" 68 :rules="studentRules"
69 required 69 required
70 ></v-select> 70 ></v-select>
71 </v-flex> 71 </v-flex>
72 </v-layout> 72 </v-layout>
73 </v-flex> 73 </v-flex>
74 74
75 <v-flex xs12 sm12 lg3> 75 <v-flex xs12 sm12 lg3>
76 <v-layout> 76 <v-layout>
77 <v-flex xs12 sm12 lg10 class="ml-2"> 77 <v-flex xs12 sm12 lg10 class="ml-2">
78 <v-autocomplete 78 <v-autocomplete
79 label="Please Select View Type" 79 label="Please Select View Type"
80 type="text" 80 type="text"
81 :rules="typeRules" 81 :rules="typeRules"
82 :items="typeList" 82 :items="typeList"
83 v-model="getReport.form" 83 v-model="getReport.form"
84 item-text="name" 84 item-text="name"
85 item-value="value" 85 item-value="value"
86 required 86 required
87 ></v-autocomplete> 87 ></v-autocomplete>
88 </v-flex> 88 </v-flex>
89 </v-layout> 89 </v-layout>
90 </v-flex> 90 </v-flex>
91 <v-flex xs12 sm12 lg3> 91 <v-flex xs12 sm12 lg3>
92 <v-btn 92 <v-btn
93 @click="getSchedule" 93 @click="getSchedule"
94 round 94 round
95 dark 95 dark
96 :loading="loading" 96 :loading="loading"
97 class="open-dialog-button mt-3" 97 class="open-dialog-button mt-3"
98 >Get Report</v-btn> 98 >Get Report</v-btn>
99 </v-flex> 99 </v-flex>
100 </v-layout> 100 </v-layout>
101 </v-flex> 101 </v-flex>
102 </v-form> 102 </v-form>
103 </v-card> 103 </v-card>
104 <div v-show="showTable"> 104 <div v-show="showTable">
105 <v-flex xs12 sm12 md10 style="margin:auto"> 105 <v-flex xs12 sm12 md10 style="margin:auto">
106 <v-layout> 106 <v-layout>
107 <v-flex xs12> 107 <v-flex xs12>
108 <v-btn class="open-dialog-button right" round dark @click="printAdmitReport()"> 108 <v-btn class="open-dialog-button right" round dark @click="printAdmitReport()">
109 Print 109 Print
110 <v-icon right dark>print</v-icon> 110 <v-icon right dark>print</v-icon>
111 </v-btn> 111 </v-btn>
112 </v-flex> 112 </v-flex>
113 </v-layout> 113 </v-layout>
114 <div id="printMe" v-if="frontPart"> 114 <div id="printMe" v-if="frontPart">
115 <v-card 115 <v-card
116 v-for="(student,index) in getScheduleList.studentData"
117 :key="index"
116 style=" 118 style="
117 background-color: #fff; 119 background-color: #fff;
118 border: 1px solid #ddd; 120 border: 1px solid #ddd;
119 color: rgba(0,0,0,0.87); 121 color: rgba(0,0,0,0.87);
120 overflow-x: auto; 122 overflow-x: auto;
121 display: block; 123 display: block;
122 padding:14px !important; 124 padding:14px !important;
123 webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12) !important; 125 webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12) !important;
124 box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12) !important;" 126 box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12) !important;"
125 > 127 >
126 <v-layout style="border-bottom: 1px solid #ddd;margin: 8px; auto"> 128 <v-layout style="border-bottom: 1px solid #ddd;margin: 8px; auto">
127 <v-flex xs3 style="margin-bottom:0px"> 129 <v-flex xs7 sm3 style="margin-bottom:0px">
128 <img 130 <img
129 :src="userData.schoolLogoUrl" 131 :src="userData.schoolLogoUrl"
130 style="widht:80px;height:80px;" 132 style="widht:80px;height:80px;"
131 alt="logo" 133 alt="logo"
132 v-if="userData.schoolLogoUrl" 134 v-if="userData.schoolLogoUrl"
133 /> 135 />
134 <img 136 <img
135 src="/static/default_thumb.png" 137 src="/static/default_thumb.png"
136 style="widht:80px;height:80px;" 138 style="widht:80px;height:80px;"
137 v-else-if="!userData.schoolLogoUrl" 139 v-else-if="!userData.schoolLogoUrl"
138 /> 140 />
139 <div class="school-name"> 141 <div class="school-name">
140 <h3>{{ schoolData.address }}</h3> 142 <div class="body-1">{{ student.schoolId.address }}</div>
141 <p>{{ schoolData.mobile }}</p> 143 <div class="body-1">{{ student.schoolId.mobile }}</div>
142 </div> 144 </div>
143 </v-flex> 145 </v-flex>
144 <v-flex xs5 style="text-align:center;margin-bottom:0px"> 146 <v-flex xs5 style="text-align:center;margin-bottom:0px">
145 <p 147 <p
146 style="font-size:24px;color: #700CE8;letter-spacing:1px;margin-bottom: 4px" 148 style="font-size:24px;color: #700CE8;letter-spacing:1px;margin-bottom: 4px"
147 >{{ schoolData.name }}</p> 149 >{{ student.schoolId.name }}</p>
148 <p>{{ schoolData.email }}</p> 150 <p>{{ student.schoolId.email }}</p>
149 151
150 <div> 152 <div>
151 <h4>{{ getScheduleList.scheduleData[0].examId.examName }} Exam Admit Card</h4> 153 <h4>{{ getScheduleList.scheduleData[0].examId.examName }} Exam Admit Card</h4>
152 </div> 154 </div>
153 </v-flex> 155 </v-flex>
154 <v-flex xs4 style="text-align:center;margin-bottom:0px"> 156 <v-flex xs4 style="text-align:center;margin-bottom:0px">
155 <!-- <img 157 <img src="/static/icon/user.png" v-if="!student.profilePicUrl" width="80" />
156 v-if="getScheduleList.studentData.profilePicUrl"
157 :src="getScheduleList.studentData.profilePicUrl"
158 style="widht:80px;height:80px;"
159 />
160 <img
161 v-if="!getScheduleList.studentData.profilePicUrl"
162 src="/static/icon/user.png"
163 style="widht:80px;"
164 />-->
165 <img
166 src="/static/icon/user.png"
167 v-if="!getScheduleList.studentData.profilePicUrl"
168 width="80"
169 />
170 <img 158 <img
171 :src="getScheduleList.studentData.profilePicUrl" 159 :src="student.profilePicUrl"
172 onerror="this.src='/static/icon/user.png';" 160 onerror="this.src='/static/icon/user.png';"
173 v-if="getScheduleList.studentData.profilePicUrl" 161 v-if="student.profilePicUrl"
174 width="80" 162 width="80"
175 /> 163 />
176 </v-flex> 164 </v-flex>
177 </v-layout> 165 </v-layout>
178 <v-layout> 166 <v-layout>
179 <v-flex xs5 style="margin-bottom:10px"> 167 <v-flex xs5 style="margin-bottom:10px">
180 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 168 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
181 <b>Name :</b> 169 <b>Name :</b>
182 <span>{{getScheduleList.studentData.name}}</span> 170 <span>{{student.name}}</span>
183 </p> 171 </p>
184 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 172 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
185 <b>Class :</b> 173 <b>Class :</b>
186 <span>{{getScheduleList.studentData.classId.classNum}}</span> 174 <span>{{student.classId.classNum}}</span>
187 </p> 175 </p>
188 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 176 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
189 <b>Roll :</b> 177 <b>Roll :</b>
190 <span>{{getScheduleList.studentData.rollNo}}</span> 178 <span>{{student.rollNo}}</span>
191 </p> 179 </p>
192 </v-flex> 180 </v-flex>
193 <v-flex xs5 style="margin-bottom:10px"> 181 <v-flex xs5 style="margin-bottom:10px">
194 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 182 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
195 <b>Section :</b> 183 <b>Section :</b>
196 <span>{{getScheduleList.studentData.sectionId.name }}</span> 184 <span>{{student.sectionId.name }}</span>
197 </p> 185 </p>
198 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 186 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
199 <b>Blood Group :</b> 187 <b>Blood Group :</b>
200 <span style="color: #707478">{{getScheduleList.studentData.bloodGroup }}</span> 188 <span style="color: #707478">{{student.bloodGroup }}</span>
201 </p> 189 </p>
202 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">Subject in which Appearing</p> 190 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">Subject in which Appearing</p>
203 </v-flex> 191 </v-flex>
204 </v-layout> 192 </v-layout>
205 <table 193 <table
206 class="mb-5 tableRsponsive feeTypeTable" 194 class="mb-5 tableRsponsive feeTypeTable"
207 style="border: 1px solid lightgrey; 195 style="border: 1px solid lightgrey;
208 border-collapse: collapse;!important 196 border-collapse: collapse;!important
209 table-layout: auto !important; 197 table-layout: auto !important;
210 width: 100% !important;" 198 width: 100% !important;"
211 > 199 >
212 <thead style="border: 1px solid lightgrey !important;"> 200 <thead style="border: 1px solid lightgrey !important;">
213 <tr style="border: 1px solid lightgrey !important;padding:4px;"> 201 <tr style="border: 1px solid lightgrey !important;padding:4px;">
214 <td style="border: 1px solid lightgrey !important;padding: 6px;">No</td> 202 <td style="border: 1px solid lightgrey !important;padding: 6px;">No</td>
215 <td style="border: 1px solid lightgrey !important;padding: 6px;">Exam Date</td> 203 <td style="border: 1px solid lightgrey !important;padding: 6px;">Exam Date</td>
216 <td style="border: 1px solid lightgrey !important;padding: 6px;">Start Time</td> 204 <td style="border: 1px solid lightgrey !important;padding: 6px;">Start Time</td>
217 <td style="border: 1px solid lightgrey !important;padding: 6px;">End Time</td> 205 <td style="border: 1px solid lightgrey !important;padding: 6px;">End Time</td>
218 <td style="border: 1px solid lightgrey !important;padding: 6px;">Subject Name</td> 206 <td style="border: 1px solid lightgrey !important;padding: 6px;">Subject Name</td>
219 </tr> 207 </tr>
220 </thead> 208 </thead>
221 <tbody style="border: 1px solid lightgrey !important;"> 209 <tbody style="border: 1px solid lightgrey !important;">
222 <tr v-for="(scheduleData,i) in getScheduleList.scheduleData" :key="i"> 210 <tr v-for="(scheduleData,i) in getScheduleList.scheduleData" :key="i">
223 <td style="border:1px solid lightgrey !important; padding:6px;">{{ i + 1 }}</td> 211 <td style="border:1px solid lightgrey !important; padding:6px;">{{ i + 1 }}</td>
224 <td 212 <td
225 style="border: 1px solid lightgrey !important;padding: 6px;" 213 style="border: 1px solid lightgrey !important;padding: 6px;"
226 >{{ scheduleData.date ? scheduleData.date : '-' }}</td> 214 >{{ scheduleData.date ? scheduleData.date : '-' }}</td>
227 <td 215 <td
228 style="border: 1px solid lightgrey !important;padding: 6px;" 216 style="border: 1px solid lightgrey !important;padding: 6px;"
229 >{{ scheduleData.timeFrom ? scheduleData.timeFrom : "-" }}</td> 217 >{{ scheduleData.timeFrom ? scheduleData.timeFrom : "-" }}</td>
230 <td 218 <td
231 style="border: 1px solid lightgrey !important;padding: 6px;" 219 style="border: 1px solid lightgrey !important;padding: 6px;"
232 >{{ scheduleData.timeTo ? scheduleData.timeTo : "-"}}</td> 220 >{{ scheduleData.timeTo ? scheduleData.timeTo : "-"}}</td>
233 <td 221 <td
234 style="border: 1px solid lightgrey !important;padding: 6px;" 222 style="border: 1px solid lightgrey !important;padding: 6px;"
235 >{{ scheduleData.subjectName ? scheduleData.subjectName : "-" }}</td> 223 >{{ scheduleData.subjectName ? scheduleData.subjectName : "-" }}</td>
236 </tr> 224 </tr>
237 <tr v-if="getScheduleList.scheduleData.length === 0"> 225 <tr v-if="getScheduleList.scheduleData.length === 0">
238 <td style="border: 1px soild lightgrey !importand;padding:6px;">-</td> 226 <td style="border: 1px soild lightgrey !importand;padding:6px;">-</td>
239 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td> 227 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td>
240 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td> 228 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td>
241 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td> 229 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td>
242 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td> 230 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td>
243 </tr> 231 </tr>
244 </tbody> 232 </tbody>
245 </table> 233 </table>
246 </v-card> 234 </v-card>
247 </div> 235 </div>
248 <div id="printMe" v-if="backPart"> 236 <div id="printMe" v-if="backPart">
249 <v-card 237 <v-card
250 style=" 238 style="
251 text-align:center 239 text-align:center
252 background-color: #fff; 240 background-color: #fff;
253 border: 1px solid #ddd; 241 border: 1px solid #ddd;
254 color: rgba(0,0,0,0.87); 242 color: rgba(0,0,0,0.87);
255 overflow-x: auto; 243 overflow-x: auto;
256 display: block; 244 display: block;
257 padding:14px !important; 245 padding:14px !important;
258 webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12) !important; 246 webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12) !important;
259 box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12) !important;" 247 box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12) !important;"
260 > 248 >
261 <div 249 <div
262 style=" 250 style="
263 margin-bottom: 16px; 251 margin-bottom: 16px;
264 overflow: hidden; 252 overflow: hidden;
265 padding: 50px 90px;" 253 padding: 50px 90px;"
266 > 254 >
267 <ol style=" 255 <ol style="
268 margin: 0; 256 margin: 0;
269 margin-bottom: 10px;"> 257 margin-bottom: 10px;">
270 <p 258 <p
271 style=" 259 style="
272 margin-bottom: 16px; 260 margin-bottom: 16px;
273 line-height: 20px; 261 line-height: 20px;
274 text-align: left;" 262 text-align: left;"
275 > 263 >
276 <b>1. Do not Carry these Electronic Gadgets:</b> 264 <b>1. Do not Carry these Electronic Gadgets:</b>
277 Electronic gadgets(Bluetooth devices,head phones,pen/buttonhole cameras,scanner,calculator,storage devices etc) 265 Electronic gadgets(Bluetooth devices,head phones,pen/buttonhole cameras,scanner,calculator,storage devices etc)
278 in the examination lab. These items are strictly prohibited from examination lab. 266 in the examination lab. These items are strictly prohibited from examination lab.
279 </p> 267 </p>
280 <p 268 <p
281 style=" 269 style="
282 margin-bottom: 16px; 270 margin-bottom: 16px;
283 line-height: 20px; 271 line-height: 20px;
284 text-align: left;" 272 text-align: left;"
285 > 273 >
286 <b>2. Do not Carry these Ornaments:</b> 274 <b>2. Do not Carry these Ornaments:</b>
287 Candidates should also not wear charms,veil,items containing such as rings,bracelet,earings,nose-pin,chains, 275 Candidates should also not wear charms,veil,items containing such as rings,bracelet,earings,nose-pin,chains,
288 necklace,pendants,badge,broach,hair-pin,hair-band. 276 necklace,pendants,badge,broach,hair-pin,hair-band.
289 </p> 277 </p>
290 <p 278 <p
291 style=" 279 style="
292 margin-bottom: 16px; 280 margin-bottom: 16px;
293 line-height: 20px; 281 line-height: 20px;
294 text-align: left;" 282 text-align: left;"
295 > 283 >
296 <b>3. What Candidates wear to Examination hall:</b> 284 <b>3. What Candidates wear to Examination hall:</b>
297 Candidates should not wear clothes with full sleeves or big button,etc. Candidates are adviced to wear open footwear 285 Candidates should not wear clothes with full sleeves or big button,etc. Candidates are adviced to wear open footwear
298 like slippers,sandals instead of shoes as the candidates could be asked to remove shoes by the frisking staff. 286 like slippers,sandals instead of shoes as the candidates could be asked to remove shoes by the frisking staff.
299 </p> 287 </p>
300 <p 288 <p
301 style=" 289 style="
302 margin-bottom: 16px; 290 margin-bottom: 16px;
303 line-height: 20px; 291 line-height: 20px;
304 text-align: left;" 292 text-align: left;"
305 > 293 >
306 <b>4. Do not carry Stationary:</b> 294 <b>4. Do not carry Stationary:</b>
307 Pen/pencil and paper for rough work would be provided in examination lab. Electronic watch (timer)will be available 295 Pen/pencil and paper for rough work would be provided in examination lab. Electronic watch (timer)will be available
308 on the computer screen alloted to the candidates. 296 on the computer screen alloted to the candidates.
309 </p> 297 </p>
310 <p 298 <p
311 style=" 299 style="
312 margin-bottom: 16px; 300 margin-bottom: 16px;
313 line-height: 20px; 301 line-height: 20px;
314 text-align: left;" 302 text-align: left;"
315 > 303 >
316 <b>5. Do not Carry Bags:</b> 304 <b>5. Do not Carry Bags:</b>
317 Don not Carry back pack, College bag or any other bag like hand bag. If candidates brings any bag, they must make a 305 Don not Carry back pack, College bag or any other bag like hand bag. If candidates brings any bag, they must make a
318 arrangement for safe custody of these items.The Commission shall not make any arrangement nor be responsible for the 306 arrangement for safe custody of these items.The Commission shall not make any arrangement nor be responsible for the
319 safe custody of such items. 307 safe custody of such items.
320 </p> 308 </p>
321 <p 309 <p
322 style=" 310 style="
323 margin-bottom: 16px; 311 margin-bottom: 16px;
324 line-height: 20px; 312 line-height: 20px;
325 text-align: left;" 313 text-align: left;"
326 > 314 >
327 <b>6. What will Happen if you carry Prohibited items to Exam Hall:</b> 315 <b>6. What will Happen if you carry Prohibited items to Exam Hall:</b>
328 If any such prohibited item is found in the possession of a candidate in examination lab, his/her candidature is liable 316 If any such prohibited item is found in the possession of a candidate in examination lab, his/her candidature is liable
329 to be canceled and legal/criminal proceedings could be initiated against him/her. He/she would also liable to be debarred 317 to be canceled and legal/criminal proceedings could be initiated against him/her. He/she would also liable to be debarred
330 from appearing in future examinations of the Commission for a period of 3 years. 318 from appearing in future examinations of the Commission for a period of 3 years.
331 </p> 319 </p>
332 <p 320 <p
333 style=" 321 style="
334 margin-bottom: 16px; 322 margin-bottom: 16px;
335 line-height: 20px; 323 line-height: 20px;
336 text-align: left; 324 text-align: left;
337 " 325 "
338 > 326 >
339 <b>7. Candidate should not create Disturbance in Exam Hall:</b> 327 <b>7. Candidate should not create Disturbance in Exam Hall:</b>
340 If any candidate is found obstructing the conduct of examination or creating disturbances at the examination venue, 328 If any candidate is found obstructing the conduct of examination or creating disturbances at the examination venue,
341 his/her candidature shall be summarily canceled. 329 his/her candidature shall be summarily canceled.
342 </p> 330 </p>
343 </ol> 331 </ol>
344 </div> 332 </div>
345 </v-card> 333 </v-card>
346 </div> 334 </div>
347 </v-flex> 335 </v-flex>
348 </div> 336 </div>
349 <v-snackbar 337 <v-snackbar
350 :timeout="timeout" 338 :timeout="timeout"
351 :top="y === 'top'" 339 :top="y === 'top'"
352 :right="x === 'right'" 340 :right="x === 'right'"
353 :vertical="mode === 'vertical'" 341 :vertical="mode === 'vertical'"
354 v-model="snackbar" 342 v-model="snackbar"
355 :color="color" 343 :color="color"
356 >{{ text }}</v-snackbar> 344 >{{ text }}</v-snackbar>
357 <div class="loader" v-if="showLoader"> 345 <div class="loader" v-if="showLoader">
358 <v-progress-circular indeterminate color="white"></v-progress-circular> 346 <v-progress-circular indeterminate color="white"></v-progress-circular>
359 </div> 347 </div>
360 </v-container> 348 </v-container>
361 </template> 349 </template>
362 <script> 350 <script>
363 import http from "@/Services/http.js"; 351 import http from "@/Services/http.js";
364 import moment from "moment"; 352 import moment from "moment";
365 import _ from "underscore"; 353 import _ from "underscore";
366 var qs = require("qs"); 354 var qs = require("qs");
367 355
368 export default { 356 export default {
369 data: () => ({ 357 data: () => ({
370 snackbar: false, 358 snackbar: false,
371 color: "", 359 color: "",
372 y: "top", 360 y: "top",
373 x: "right", 361 x: "right",
374 mode: "", 362 mode: "",
375 timeout: 10000, 363 timeout: 10000,
376 text: "", 364 text: "",
377 showLoader: false, 365 showLoader: false,
378 valid: true, 366 valid: true,
379 userData: {}, 367 userData: {},
380 frontPart: false, 368 frontPart: false,
381 backPart: false, 369 backPart: false,
382 loading: false, 370 loading: false,
383 showTable: false, 371 showTable: false,
384 showData: false, 372 showData: false,
385 hideprintAdmitReport: false, 373 hideprintAdmitReport: false,
386 examRules: [(v) => !!v || "Exam Field is required"], 374 examRules: [(v) => !!v || "Exam Field is required"],
387 classRules: [(v) => !!v || "Class Field Required"], 375 classRules: [(v) => !!v || "Class Field Required"],
388 sectionRules: [(v) => !!v || "Section Field is required"], 376 sectionRules: [(v) => !!v || "Section Field is required"],
389 studentRules: [(v) => !!v || "Student Field is required"], 377 studentRules: [(v) => !!v || "Student Field is required"],
390 typeRules: [(v) => !!v || "Type Field is required"], 378 typeRules: [(v) => !!v || "Type Field is required"],
391 backgroundRules: [(v) => !!v || "Background Field is required"], 379 backgroundRules: [(v) => !!v || "Background Field is required"],
392 380
393 pagination: { 381 pagination: {
394 rowsPerPage: 10, 382 rowsPerPage: 10,
395 }, 383 },
396 search: "", 384 search: "",
397 385
398 classList: [], 386 classList: [],
399 studentData: {}, 387 studentData: {},
400 scheduleData: {}, 388 scheduleData: {},
401 examData: [], 389 examData: [],
402 addSection: [], 390 addSection: [],
403 getStudentsList: [{ name: "Select All", _id: "selectAll" }], 391 getStudentsList: [{ name: "Select All", _id: "selectAll" }],
404 getScheduleList: [], 392 getScheduleList: [],
405 getScheduleListArray: [], 393 getScheduleListArray: [],
406 getReport: {}, 394 getReport: {},
407 examName: [], 395 examName: [],
408 typeList: [ 396 typeList: [
409 { 397 {
410 name: "Front Part", 398 name: "Front Part",
411 value: "frontPart", 399 value: "frontPart",
412 }, 400 },
413 { 401 {
414 name: "Back Part", 402 name: "Back Part",
415 value: "backPart", 403 value: "backPart",
416 }, 404 },
417 ], 405 ],
418 backgroundList: ["Yes", "No"], 406 backgroundList: ["Yes", "No"],
419 headers: [ 407 headers: [
420 { 408 {
421 text: "No", 409 text: "No",
422 align: "", 410 align: "",
423 sortable: false, 411 sortable: false,
424 value: "No", 412 value: "No",
425 }, 413 },
426 { 414 {
427 text: "Exam Date", 415 text: "Exam Date",
428 align: "center", 416 align: "center",
429 sortable: false, 417 sortable: false,
430 value: "date", 418 value: "date",
431 }, 419 },
432 { 420 {
433 text: "Start Time", 421 text: "Start Time",
434 align: "center", 422 align: "center",
435 sortable: false, 423 sortable: false,
436 value: "timeFrom", 424 value: "timeFrom",
437 }, 425 },
438 { 426 {
439 text: "End Time", 427 text: "End Time",
440 align: "center", 428 align: "center",
441 sortable: false, 429 sortable: false,
442 value: "timeTo", 430 value: "timeTo",
443 }, 431 },
444 { 432 {
445 text: "Subject Name", 433 text: "Subject Name",
446 align: "center", 434 align: "center",
447 sortable: false, 435 sortable: false,
448 value: "subjectName", 436 value: "subjectName",
449 }, 437 },
450 ], 438 ],
451 }), 439 }),
452 440
453 mounted() { 441 mounted() {
454 this.token = this.$store.state.token; 442 this.token = this.$store.state.token;
455 this.getClass(); 443 this.getClass();
456 this.getExamList(); 444 this.getExamList();
457 this.getUserData(); 445 this.getUserData();
458 }, 446 },
459 447
460 methods: { 448 methods: {
461 getExamList() { 449 getExamList() {
462 this.showLoader = true; 450 this.showLoader = true;
463 this.loadingSearch = true; 451 this.loadingSearch = true;
464 http() 452 http()
465 .get("/getExamsList", { 453 .get("/getExamsList", {
466 headers: { Authorization: "Bearer " + this.token }, 454 headers: { Authorization: "Bearer " + this.token },
467 }) 455 })
468 .then((response) => { 456 .then((response) => {
469 this.examData = response.data.data; 457 this.examData = response.data.data;
470 this.showLoader = false; 458 this.showLoader = false;
471 this.loadingSearch = false; 459 this.loadingSearch = false;
472 }) 460 })
473 .catch((error) => { 461 .catch((error) => {
474 this.showLoader = false; 462 this.showLoader = false;
475 this.loadingSearch = false; 463 this.loadingSearch = false;
476 this.snackbar = true; 464 this.snackbar = true;
477 this.text = error.response.data.message; 465 this.text = error.response.data.message;
478 if (error.response.status === 401) { 466 if (error.response.status === 401) {
479 this.$router.replace({ path: "/" }); 467 this.$router.replace({ path: "/" });
480 this.$store.dispatch("setToken", null); 468 this.$store.dispatch("setToken", null);
481 this.$store.dispatch("Id", null); 469 this.$store.dispatch("Id", null);
482 } 470 }
483 }); 471 });
484 }, 472 },
485 getClass() { 473 getClass() {
486 this.showLoader = true; 474 this.showLoader = true;
487 http() 475 http()
488 .get("/getClassesList", { 476 .get("/getClassesList", {
489 headers: { Authorization: "Bearer " + this.token }, 477 headers: { Authorization: "Bearer " + this.token },
490 }) 478 })
491 .then((response) => { 479 .then((response) => {
492 this.classList = response.data.data; 480 this.classList = response.data.data;
493 this.showLoader = false; 481 this.showLoader = false;
494 }) 482 })
495 .catch((error) => { 483 .catch((error) => {
496 this.showLoader = false; 484 this.showLoader = false;
497 // console.log("err====>", err); 485 // console.log("err====>", err);
498 }); 486 });
499 }, 487 },
500 getSections(_id) { 488 getSections(_id) {
501 this.showLoader = true; 489 this.showLoader = true;
502 http() 490 http()
503 .get( 491 .get(
504 "/getSectionsList", 492 "/getSectionsList",
505 { params: { classId: _id } }, 493 { params: { classId: _id } },
506 { 494 {
507 headers: { Authorization: "Bearer " + this.token }, 495 headers: { Authorization: "Bearer " + this.token },
508 } 496 }
509 ) 497 )
510 .then((response) => { 498 .then((response) => {
511 this.addSection = response.data.data; 499 this.addSection = response.data.data;
512 this.showLoader = false; 500 this.showLoader = false;
513 }) 501 })
514 .catch((err) => { 502 .catch((err) => {
515 this.showLoader = false; 503 this.showLoader = false;
516 // console.log("err====>", err); 504 // console.log("err====>", err);
517 }); 505 });
518 }, 506 },
519 getStudents() { 507 getStudents() {
520 this.showLoader = true; 508 this.showLoader = true;
521 http() 509 http()
522 .get("/getStudentWithClass", { 510 .get("/getStudentWithClass", {
523 params: { 511 params: {
524 classId: this.getReport.classId, 512 classId: this.getReport.classId,
525 sectionId: this.getReport.sectionId, 513 sectionId: this.getReport.sectionId,
526 }, 514 },
527 }) 515 })
528 .then((response) => { 516 .then((response) => {
529 for (var i = 0; i < response.data.data.length; i++) { 517 for (var i = 0; i < response.data.data.length; i++) {
530 this.getStudentsList.push(response.data.data[i]); 518 this.getStudentsList.push(response.data.data[i]);
531 } 519 }
532 520
533 this.showLoader = false; 521 this.showLoader = false;
534 }) 522 })
535 .catch((error) => { 523 .catch((error) => {
536 console.log("err====>", error); 524 console.log("err====>", error);
537 this.showLoader = false; 525 this.showLoader = false;
538 }); 526 });
539 }, 527 },
540 getSchedule() { 528 getSchedule() {
541 if (this.$refs.form.validate()) { 529 if (this.$refs.form.validate()) {
542 this.showLoader = true; 530 this.showLoader = true;
543 let studentId = []; 531 let studentId = [];
544 if (this.getReport.studentId == "selectAll") { 532 if (this.getReport.studentId == "selectAll") {
545 studentId = []; 533 studentId = [];
546 for (var i = 1; i < this.getStudentsList.length; i++) { 534 for (var i = 1; i < this.getStudentsList.length; i++) {
547 studentId.push(this.getStudentsList[i]._id); 535 studentId.push(this.getStudentsList[i]._id);
548 } 536 }
549 } else { 537 } else {
550 studentId = this.getReport.studentId; 538 studentId.push(this.getReport.studentId);
551 } 539 }
552 console.log("this.getReport.studentId - ", studentId); 540 console.log("this.getReport.studentId - ", studentId);
553 http() 541 http()
554 .get("/getScheduleForParticularStudent", { 542 .get("/getScheduleForParticularStudent", {
555 params: { 543 params: {
556 examId: this.getReport.examId, 544 examId: this.getReport.examId,
557 classId: this.getReport.classId, 545 classId: this.getReport.classId,
558 sectionId: this.getReport.sectionId, 546 sectionId: this.getReport.sectionId,
559 studentId: studentId, 547 studentId: studentId,
560 }, 548 },
561 paramsSerializer: (params) => { 549 paramsSerializer: (params) => {
562 return qs.stringify(params); 550 return qs.stringify(params);
563 }, 551 },
564 }) 552 })
565 .then((response) => { 553 .then((response) => {
566 this.showTable = true; 554 this.showTable = true;
567 this.getScheduleList = response.data.data; 555 this.getScheduleList = response.data.data;
568 this.schoolData = response.data.data.studentData.schoolId; 556 console.log(" getScheduleList - ", this.getScheduleList);
557 // this.schoolData = response.data.data.studentData.schoolId;
569 if (response.data.data.scheduleData.length === 0) { 558 if (response.data.data.scheduleData.length === 0) {
570 this.showLoader = false; 559 this.showLoader = false;
571 this.snackbar = true; 560 this.snackbar = true;
572 this.text = "Data not found!"; 561 this.text = "Data not found!";
573 this.color = "error"; 562 this.color = "error";
574 return; 563 return;
575 } 564 }
576 this.showData = true; 565 this.showData = true;
577 if (this.getReport.form === "frontPart") { 566 if (this.getReport.form === "frontPart") {
578 this.frontPart = true; 567 this.frontPart = true;
579 this.backPart = false; 568 this.backPart = false;
580 } 569 }
581 if (this.getReport.form === "backPart") { 570 if (this.getReport.form === "backPart") {
582 this.frontPart = false; 571 this.frontPart = false;
583 this.backPart = true; 572 this.backPart = true;
584 } 573 }
585 this.showLoader = false; 574 this.showLoader = false;
586 }) 575 })
587 .catch((error) => { 576 .catch((error) => {
588 this.showLoader = false; 577 this.showLoader = false;
589 }); 578 });
590 } 579 }
591 }, 580 },
592 581
593 printAdmitReport() { 582 printAdmitReport() {
594 // Pass the element id here 583 // Pass the element id here
595 this.$htmlToPaper("printMe"); 584 this.$htmlToPaper("printMe");
596 }, 585 },
597 getUserData() { 586 getUserData() {
598 http() 587 http()
599 .get("/getParticularUserDetail") 588 .get("/getParticularUserDetail")
600 .then((response) => { 589 .then((response) => {
601 this.userData = response.data.data; 590 this.userData = response.data.data;
602 }) 591 })
603 .catch((error) => { 592 .catch((error) => {
604 if (error.response.status === 401) { 593 if (error.response.status === 401) {
605 this.$router.replace({ path: "/" }); 594 this.$router.replace({ path: "/" });
606 this.$store.dispatch("setToken", null); 595 this.$store.dispatch("setToken", null);
607 this.$store.dispatch("Id", null); 596 this.$store.dispatch("Id", null);
608 } 597 }
609 }); 598 });
610 }, 599 },
611 // created() { 600 // created() {
612 // this.$root.$on("app:search", search => { 601 // this.$root.$on("app:search", search => {
613 // this.search = search; 602 // this.search = search;
614 // }); 603 // });
615 // }, 604 // },
616 // beforeDestroy() { 605 // beforeDestroy() {
617 // // dont forget to remove the listener 606 // // dont forget to remove the listener
618 // this.$root.$off("app:search"); 607 // this.$root.$off("app:search");
619 // } 608 // }
620 }, 609 },
621 }; 610 };
622 </script> 611 </script>
623 <style> 612 <style>
624 .admincardreport { 613 .admincardreport {
625 border: 1px solid #ddd; 614 border: 1px solid #ddd;
626 overflow: hidden; 615 overflow: hidden;
627 padding: 20px 50px; 616 padding: 20px 50px;
628 /* margin-bottom: 10px; 617 /* margin-bottom: 10px;
629 min-height: 443px; */ 618 min-height: 443px; */
630 } 619 }
631 .line { 620 .line {
632 border-bottom: 1px solid #ddd; 621 border-bottom: 1px solid #ddd;
633 overflow: hidden; 622 overflow: hidden;
634 padding-bottom: 10px; 623 padding-bottom: 10px;
635 vertical-align: middle; 624 vertical-align: middle;
636 /* margin-bottom: 4px; */ 625 /* margin-bottom: 4px; */
637 } 626 }
638 .school-logo { 627 .school-logo {
639 float: left; 628 float: left;
640 } 629 }
641 .student-logo { 630 .student-logo {
642 position: absolute; 631 position: absolute;
643 top: 221px; 632 top: 221px;
644 right: 221px; 633 right: 221px;
645 } 634 }
646 .school-name { 635 .school-name {
647 box-sizing: border-box; 636 box-sizing: border-box;
648 align-items: center; 637 align-items: center;
649 } 638 }
650 /* .student-info { 639 /* .student-info {
651 float: left; 640 float: left;
652 width: max-content; 641 width: max-content;
653 text-align: initial; 642 text-align: initial;
654 } */ 643 } */
655 .student-info { 644 .student-info {
656 width: 50%; 645 width: 50%;
657 float: left; 646 float: left;
658 text-align: initial; 647 text-align: initial;
659 } 648 }
660 .student-info p { 649 .student-info p {
661 width: 50%; 650 width: 50%;
662 float: left; 651 float: left;
663 margin-bottom: 1px; 652 margin-bottom: 1px;
664 padding: 0 0px; 653 padding: 0 0px;
665 font-size: 12px; 654 font-size: 12px;
666 } 655 }
667 .admitcardreportbackend ol { 656 .admitcardreportbackend ol {
668 margin: 0; 657 margin: 0;
669 margin-bottom: 10px; 658 margin-bottom: 10px;
670 } 659 }
671 .admitcardreportbackend p { 660 .admitcardreportbackend p {
672 line-height: 20px; 661 line-height: 20px;