Commit 558365e7b3466ea60f90d7024a3a28a4c998416b

Authored by Shikha Mishra
1 parent 46c5b5fdd9

graph change in dashboard and set field of admit card according to requirement

src/pages/Dashboard/dashboard.vue
1 <template> 1 <template>
2 <v-app id="pages-dasboard"> 2 <v-app id="pages-dasboard">
3 <!-- ****** VIEW PROFIL NOTICE BOARD ****** --> 3 <!-- ****** VIEW PROFIL NOTICE BOARD ****** -->
4 <!-- <v-dialog v-model="dialogNotice" max-width="940px" scrollable> 4 <!-- <v-dialog v-model="dialogNotice" max-width="940px" scrollable>
5 <v-card> 5 <v-card>
6 <v-toolbar color="grey lighten-2" flat> 6 <v-toolbar color="grey lighten-2" flat>
7 <v-spacer></v-spacer> 7 <v-spacer></v-spacer>
8 <v-toolbar-title> 8 <v-toolbar-title>
9 <h3>Notice Board</h3> 9 <h3>Notice Board</h3>
10 </v-toolbar-title> 10 </v-toolbar-title>
11 <v-spacer></v-spacer> 11 <v-spacer></v-spacer>
12 <v-icon @click="closeNotice">close</v-icon> 12 <v-icon @click="closeNotice">close</v-icon>
13 </v-toolbar> 13 </v-toolbar>
14 <v-card-text> 14 <v-card-text>
15 <v-layout> 15 <v-layout>
16 <v-flex align-center justify-center layout text-xs-center class="mt-2"> 16 <v-flex align-center justify-center layout text-xs-center class="mt-2">
17 <img src="/static/icon/user.png" width="70px" v-if="!notice.eventImageUrl" /> 17 <img src="/static/icon/user.png" width="70px" v-if="!notice.eventImageUrl" />
18 <img :src="notice.eventImageUrl" width="280px" v-else-if="notice.eventImageUrl" /> 18 <img :src="notice.eventImageUrl" width="280px" v-else-if="notice.eventImageUrl" />
19 </v-flex> 19 </v-flex>
20 </v-layout> 20 </v-layout>
21 <v-container grid-list-md> 21 <v-container grid-list-md>
22 <v-layout wrap> 22 <v-layout wrap>
23 <v-flex> 23 <v-flex>
24 <v-layout> 24 <v-layout>
25 <v-flex xs5 sm6> 25 <v-flex xs5 sm6>
26 <h5 class="right my-1"> 26 <h5 class="right my-1">
27 <b>Title:</b> 27 <b>Title:</b>
28 </h5> 28 </h5>
29 </v-flex> 29 </v-flex>
30 <v-flex sm6 xs8> 30 <v-flex sm6 xs8>
31 <h5 class="my-1">{{ notice.title }}</h5> 31 <h5 class="my-1">{{ notice.title }}</h5>
32 </v-flex> 32 </v-flex>
33 </v-layout> 33 </v-layout>
34 <v-layout> 34 <v-layout>
35 <v-flex xs5 sm6> 35 <v-flex xs5 sm6>
36 <h5 class="right my-1"> 36 <h5 class="right my-1">
37 <b>Description:</b> 37 <b>Description:</b>
38 </h5> 38 </h5>
39 </v-flex> 39 </v-flex>
40 <v-flex sm6 xs8> 40 <v-flex sm6 xs8>
41 <h5 class="my-1">{{ notice.description }}</h5> 41 <h5 class="my-1">{{ notice.description }}</h5>
42 </v-flex> 42 </v-flex>
43 </v-layout> 43 </v-layout>
44 </v-flex> 44 </v-flex>
45 </v-layout> 45 </v-layout>
46 </v-container> 46 </v-container>
47 </v-card-text> 47 </v-card-text>
48 </v-card> 48 </v-card>
49 </v-dialog>--> 49 </v-dialog>-->
50 <!-- <v-container fluid grid-list-xl> --> 50 <!-- <v-container fluid grid-list-xl> -->
51 <v-layout wrap> 51 <v-layout wrap>
52 <v-flex xs12> 52 <v-flex xs12>
53 <v-layout wrap row> 53 <v-layout wrap row>
54 <!-- ***** Total Students ***** --> 54 <!-- ***** Total Students ***** -->
55 <v-flex xs12 sm12 md9> 55 <v-flex xs12 sm12 md9>
56 <v-container fluid grid-list-xl> 56 <v-container fluid grid-list-xl>
57 <v-flex xs12 sm12 md12> 57 <v-flex xs12 sm12 md12>
58 <v-layout wrap class> 58 <v-layout wrap class>
59 <v-flex xs12 sm12 md3> 59 <v-flex xs12 sm12 md3>
60 <router-link :to="{ name:'Students' }"> 60 <router-link :to="{ name:'Students' }">
61 <v-card class="card pink-bgcolor"> 61 <v-card class="card pink-bgcolor">
62 <v-card-title primary-title class="titleCard white--text py-3">Students</v-card-title> 62 <v-card-title primary-title class="titleCard white--text py-3">Students</v-card-title>
63 <img src="/static/icon/student.png" class="ml-2" width="40" alt="icons" /> 63 <img src="/static/icon/student.png" class="ml-2" width="40" alt="icons" />
64 <v-card-title class="headline py-1 white--text">{{ students.length }}</v-card-title> 64 <v-card-title class="headline py-1 white--text">{{ students.length }}</v-card-title>
65 </v-card> 65 </v-card>
66 </router-link> 66 </router-link>
67 </v-flex> 67 </v-flex>
68 <!-- ***** Total Teachers***** --> 68 <!-- ***** Total Teachers***** -->
69 <v-flex xs12 sm12 md3> 69 <v-flex xs12 sm12 md3>
70 <router-link :to="{ name:'Teachers' }"> 70 <router-link :to="{ name:'Teachers' }">
71 <v-card flat class="card elevation-2 firozi-bgcolor"> 71 <v-card flat class="card elevation-2 firozi-bgcolor">
72 <v-card-title primary-title class="titleCard white--text py-3">Teachers</v-card-title> 72 <v-card-title primary-title class="titleCard white--text py-3">Teachers</v-card-title>
73 <img src="/static/icon/teacher.png" class="ml-2" width="40" alt="icons" /> 73 <img src="/static/icon/teacher.png" class="ml-2" width="40" alt="icons" />
74 74
75 <v-card-title class="headline py-1 white--text">{{ teachers.length }}</v-card-title> 75 <v-card-title class="headline py-1 white--text">{{ teachers.length }}</v-card-title>
76 </v-card> 76 </v-card>
77 </router-link> 77 </router-link>
78 </v-flex> 78 </v-flex>
79 <!-- ***** Total Parents ***** --> 79 <!-- ***** Total Parents ***** -->
80 <v-flex xs12 sm12 md3> 80 <v-flex xs12 sm12 md3>
81 <router-link :to="{ name:'Parents' }"> 81 <router-link :to="{ name:'Parents' }">
82 <v-card flat class="card yellow darken-3"> 82 <v-card flat class="card yellow darken-3">
83 <v-card-title primary-title class="titleCard white--text py-3">Parents</v-card-title> 83 <v-card-title primary-title class="titleCard white--text py-3">Parents</v-card-title>
84 <img src="/static/icon/parents.png" class="ml-3" width="40px" alt="icons" /> 84 <img src="/static/icon/parents.png" class="ml-3" width="40px" alt="icons" />
85 <v-card-title class="headline py-1 white--text">{{ parents.length }}</v-card-title> 85 <v-card-title class="headline py-1 white--text">{{ parents.length }}</v-card-title>
86 </v-card> 86 </v-card>
87 </router-link> 87 </router-link>
88 </v-flex> 88 </v-flex>
89 <!-- ***** Total Class***** --> 89 <!-- ***** Total Class***** -->
90 <v-flex xs12 sm12 md3> 90 <v-flex xs12 sm12 md3>
91 <router-link :to="{ name:'Class' }"> 91 <router-link :to="{ name:'Class' }">
92 <v-card flat class="card darkBlue-bgcolor"> 92 <v-card flat class="card darkBlue-bgcolor">
93 <v-card-title primary-title class="titleCard white--text py-3">Class</v-card-title> 93 <v-card-title primary-title class="titleCard white--text py-3">Class</v-card-title>
94 <img src="/static/icon/class.png" width="40" alt="icons" class="ml-2" /> 94 <img src="/static/icon/class.png" width="40" alt="icons" class="ml-2" />
95 <v-card-title class="headline py-1 white--text">{{ classes.length }}</v-card-title> 95 <v-card-title class="headline py-1 white--text">{{ classes.length }}</v-card-title>
96 </v-card> 96 </v-card>
97 </router-link> 97 </router-link>
98 </v-flex> 98 </v-flex>
99 </v-layout> 99 </v-layout>
100 </v-flex> 100 </v-flex>
101 <v-layout> 101 <v-layout>
102 <v-flex xs12> 102 <v-flex xs12>
103 <v-card class="card mt-2 account-Card"> 103 <v-card class="card mt-2 account-Card">
104 <h4> 104 <h4>
105 <b>Account</b> 105 <b>Account</b>
106 </h4> 106 </h4>
107 <v-layout wrap> 107 <v-layout wrap>
108 <v-flex xs12 sm12 md3> 108 <v-flex xs12 sm12 md3>
109 <v-list two-line> 109 <v-list two-line>
110 <template> 110 <template>
111 <v-list-tile> 111 <v-list-tile>
112 <v-list-tile-avatar> 112 <v-list-tile-avatar>
113 <v-icon class="account-circle darkBlue-color">panorama_fish_eye</v-icon> 113 <v-icon class="account-circle darkBlue-color">panorama_fish_eye</v-icon>
114 </v-list-tile-avatar> 114 </v-list-tile-avatar>
115 <v-list-tile-content> 115 <v-list-tile-content>
116 <v-list-tile-title class="mt-2"> 116 <v-list-tile-title class="mt-2">
117 <p class="subheading font-color">Fees</p> 117 <p class="subheading font-color">Fees</p>
118 </v-list-tile-title> 118 </v-list-tile-title>
119 <v-list-tile-title>Rs. {{ feeData.totalFees }}</v-list-tile-title> 119 <v-list-tile-title>Rs. {{ feeData.totalFees }}</v-list-tile-title>
120 </v-list-tile-content> 120 </v-list-tile-content>
121 </v-list-tile> 121 </v-list-tile>
122 <v-list-tile> 122 <v-list-tile>
123 <v-list-tile-avatar> 123 <v-list-tile-avatar>
124 <v-icon class="account-circle yellowDark-color">panorama_fish_eye</v-icon> 124 <v-icon class="account-circle yellowDark-color">panorama_fish_eye</v-icon>
125 </v-list-tile-avatar> 125 </v-list-tile-avatar>
126 <v-list-tile-content> 126 <v-list-tile-content>
127 <v-list-tile-title class="mt-2"> 127 <v-list-tile-title class="mt-2">
128 <p class="subheading font-color">Collection</p> 128 <p class="subheading font-color">Collection</p>
129 </v-list-tile-title> 129 </v-list-tile-title>
130 <v-list-tile-title>Rs. {{ feeData.totalCollection }}</v-list-tile-title> 130 <v-list-tile-title>Rs. {{ feeData.totalCollection }}</v-list-tile-title>
131 </v-list-tile-content> 131 </v-list-tile-content>
132 </v-list-tile> 132 </v-list-tile>
133 <v-list-tile> 133 <v-list-tile>
134 <v-list-tile-avatar> 134 <v-list-tile-avatar>
135 <v-icon class="account-circle pink-color">panorama_fish_eye</v-icon> 135 <v-icon class="account-circle pink-color">panorama_fish_eye</v-icon>
136 </v-list-tile-avatar> 136 </v-list-tile-avatar>
137 <v-list-tile-content> 137 <v-list-tile-content>
138 <v-list-tile-title class="mt-2"> 138 <v-list-tile-title class="mt-2">
139 <p class="subheading font-color">Expences</p> 139 <p class="subheading font-color">Expences</p>
140 </v-list-tile-title> 140 </v-list-tile-title>
141 <v-list-tile-title>Rs. {{ expenseData.sum }}</v-list-tile-title> 141 <v-list-tile-title>Rs. {{ expenseData.sum }}</v-list-tile-title>
142 </v-list-tile-content> 142 </v-list-tile-content>
143 </v-list-tile> 143 </v-list-tile>
144 </template> 144 </template>
145 </v-list> 145 </v-list>
146 </v-flex> 146 </v-flex>
147 <v-flex xs12 sm12 md9 lg9> 147 <v-flex xs12 sm12 md9 lg9>
148 <!-- <div id="chart"> --> 148 <div id="chart">
149 <div v-if="this.series" title="Swarn Singh"> 149 <div v-if="this.series">
150 <apexchart 150 <apexchart
151 type="bar" 151 type="bar"
152 height="250" 152 height="250"
153 style="max-width: 800px !important" 153 style="max-width: 800px !important"
154 :options="chartOptions" 154 :options="chartOptions"
155 :series="series" 155 :series="series"
156 v-show="true"
156 ></apexchart> 157 ></apexchart>
157 </div> 158 </div>
158 <!-- </div> --> 159 </div>
159 </v-flex> 160 </v-flex>
160 </v-layout> 161 </v-layout>
161 </v-card> 162 </v-card>
162 </v-flex> 163 </v-flex>
163 </v-layout> 164 </v-layout>
164 <v-card class="mt-2 card"> 165 <v-card class="mt-2 card">
165 <!-- <full-calendar 166 <!-- <full-calendar
166 ref="calendar" 167 ref="calendar"
167 defaultView="month" 168 defaultView="month"
168 droppable="false" 169 droppable="false"
169 :events="events" 170 :events="events"
170 :config="config" 171 :config="config"
171 ></full-calendar>--> 172 ></full-calendar>-->
172 <h4 class="pa-3"> 173 <h4 class="pa-3">
173 <b>Notice</b> 174 <b>Notice</b>
174 </h4> 175 </h4>
175 176
176 <v-data-table 177 <v-data-table
177 :items="noticeData" 178 :items="noticeData"
178 class="elevation-0" 179 class="elevation-0"
179 flat 180 flat
180 hide-actions 181 hide-actions
181 hide-headers 182 hide-headers
182 style="border-spacing: 0 !important;" 183 style="border-spacing: 0 !important;"
183 > 184 >
184 <template 185 <template
185 slot="items" 186 slot="items"
186 slot-scope="props" 187 slot-scope="props"
187 v-if="props.index < 5" 188 v-if="props.index < 5"
188 style="border-spacing: 0 !important;" 189 style="border-spacing: 0 !important;"
189 > 190 >
190 <tr class="td-notice"> 191 <tr class="td-notice">
191 <td class="grey--text" style="width:18px">{{ props.index + 1}}</td> 192 <td class="grey--text" style="width:18px">{{ props.index + 1}}</td>
192 <td> 193 <td>
193 <span class="grey--text caption">{{ date(props.item.created) }}</span> 194 <span class="grey--text caption">{{ date(props.item.created) }}</span>
194 <br /> 195 <br />
195 <span class="body-2">{{ props.item.title}}</span> 196 <span class="body-2">{{ props.item.title}}</span>
196 </td> 197 </td>
197 <td class="noticeDecritpion grey--text mt-2">{{ props.item.description}}</td> 198 <td class="noticeDecritpion grey--text mt-2">{{ props.item.description}}</td>
198 199
199 <td class="text-xs-center"> 200 <td class="text-xs-center">
200 <span> 201 <span>
201 <v-tooltip top> 202 <v-tooltip top>
202 <img 203 <img
203 slot="activator" 204 slot="activator"
204 style="cursor:pointer; width:25px; height:25px; " 205 style="cursor:pointer; width:25px; height:25px; "
205 @click="profile" 206 @click="profile"
206 src="/static/icon/view.png" 207 src="/static/icon/view.png"
207 /> 208 />
208 <span>View</span> 209 <span>View</span>
209 </v-tooltip> 210 </v-tooltip>
210 </span> 211 </span>
211 </td> 212 </td>
212 </tr> 213 </tr>
213 </template> 214 </template>
214 </v-data-table> 215 </v-data-table>
215 </v-card> 216 </v-card>
216 </v-container> 217 </v-container>
217 </v-flex> 218 </v-flex>
218 <v-flex xs12 sm12 md3> 219 <v-flex xs12 sm12 md3>
219 <v-card height="100%" class="elevation-0 mt-3 profileDasboard"> 220 <v-card height="100%" class="elevation-0 mt-3 profileDasboard">
220 <v-card-text> 221 <v-card-text>
221 <h4 class="text-xs-center py-3"> 222 <h4 class="text-xs-center py-3">
222 <b>Profile</b> 223 <b>Profile</b>
223 </h4> 224 </h4>
224 <v-flex xs12 class="py-3"> 225 <v-flex xs12 class="py-3">
225 <v-layout wrap> 226 <v-layout wrap>
226 <v-flex xs12 sm12 md4> 227 <v-flex xs12 sm12 md4>
227 <img src="/static/icon/user.png" v-if="!userData.schoolLogoUrl" width="80" /> 228 <img src="/static/icon/user.png" v-if="!userData.schoolLogoUrl" width="80" />
228 <img 229 <img
229 :src="userData.schoolLogoUrl" 230 :src="userData.schoolLogoUrl"
230 v-else-if="userData.schoolLogoUrl" 231 v-else-if="userData.schoolLogoUrl"
231 width="80" 232 width="80"
232 /> 233 />
233 </v-flex> 234 </v-flex>
234 <v-flex xs12 sm12 md6> 235 <v-flex xs12 sm12 md6>
235 <p class="mb-0 body-1"> 236 <p class="mb-0 body-1">
236 <i>{{ userData.name }}</i> 237 <i>{{ userData.name }}</i>
237 </p> 238 </p>
238 <p class="mb-0 caption grey--text">{{ userData.email }}</p> 239 <p class="mb-0 caption grey--text">{{ userData.email }}</p>
239 <p class="mb-0 caption grey--text">{{ userData.mobile }}</p> 240 <p class="mb-0 caption grey--text">{{ userData.mobile }}</p>
240 <address class="caption grey--text mb-3">{{ userData.address }}</address> 241 <address class="caption grey--text mb-3">{{ userData.address }}</address>
241 </v-flex> 242 </v-flex>
242 </v-layout> 243 </v-layout>
243 </v-flex> 244 </v-flex>
244 <hr /> 245 <hr />
245 <h4 class="text-xs-center py-3"> 246 <h4 class="text-xs-center py-3">
246 <b>Calender</b> 247 <b>Calender</b>
247 </h4> 248 </h4>
248 <vue-event-calendar :events="demoEvents"></vue-event-calendar> 249 <vue-event-calendar :events="demoEvents"></vue-event-calendar>
249 </v-card-text> 250 </v-card-text>
250 </v-card> 251 </v-card>
251 </v-flex> 252 </v-flex>
252 </v-layout> 253 </v-layout>
253 </v-flex> 254 </v-flex>
254 </v-layout> 255 </v-layout>
255 <v-dialog v-model="dialog" max-width="500"> 256 <v-dialog v-model="dialog" max-width="500">
256 <v-card color="grey lighten-4" flat> 257 <v-card color="grey lighten-4" flat>
257 <v-toolbar dark color="fixcolors"> 258 <v-toolbar dark color="fixcolors">
258 <v-spacer></v-spacer> 259 <v-spacer></v-spacer>
259 <v-btn icon @click="dialog= false"> 260 <v-btn icon @click="dialog= false">
260 <v-icon>close</v-icon> 261 <v-icon>close</v-icon>
261 </v-btn> 262 </v-btn>
262 </v-toolbar> 263 </v-toolbar>
263 <v-flex class="py-4"> 264 <v-flex class="py-4">
264 <v-list-tile> 265 <v-list-tile>
265 <v-list-tile-action> 266 <v-list-tile-action>
266 <v-icon>edit</v-icon> 267 <v-icon>edit</v-icon>
267 </v-list-tile-action> 268 </v-list-tile-action>
268 <v-list-tile-content> 269 <v-list-tile-content>
269 <v-list-tile-title>{{ selected.title }}</v-list-tile-title> 270 <v-list-tile-title>{{ selected.title }}</v-list-tile-title>
270 </v-list-tile-content> 271 </v-list-tile-content>
271 </v-list-tile> 272 </v-list-tile>
272 <v-list-tile> 273 <v-list-tile>
273 <v-list-tile-action> 274 <v-list-tile-action>
274 <v-icon>access_time</v-icon> 275 <v-icon>access_time</v-icon>
275 </v-list-tile-action> 276 </v-list-tile-action>
276 <v-list-tile-content> 277 <v-list-tile-content>
277 <v-list-tile-title>{{ date(selected.start)}}</v-list-tile-title> 278 <v-list-tile-title>{{ date(selected.start)}}</v-list-tile-title>
278 </v-list-tile-content> 279 </v-list-tile-content>
279 </v-list-tile> 280 </v-list-tile>
280 </v-flex> 281 </v-flex>
281 </v-card> 282 </v-card>
282 </v-dialog> 283 </v-dialog>
283 <div class="loader" v-if="showLoader"> 284 <div class="loader" v-if="showLoader">
284 <v-progress-circular indeterminate color="white"></v-progress-circular> 285 <v-progress-circular indeterminate color="white"></v-progress-circular>
285 </div> 286 </div>
286 </v-app> 287 </v-app>
287 </template> 288 </template>
288 289
289 <script> 290 <script>
290 import http from "@/Services/http.js"; 291 import http from "@/Services/http.js";
291 import moment from "moment"; 292 import moment from "moment";
292 // import { FunctionalCalendar } from "vue-functional-calendar"; 293 // import { FunctionalCalendar } from "vue-functional-calendar";
293 294
294 export default { 295 export default {
295 components: { 296 components: {
296 // FunctionalCalendar 297 // FunctionalCalendar
297 }, 298 },
298 data() { 299 data() {
299 return { 300 return {
300 // data: { 301 // data: {
301 // clieckedToday: false 302 // clieckedToday: false
302 // }, 303 // },
303 // markedDates: ["16/4/2019", "18/4/2019", "20/4/2019", "21/4/2019"], 304 // markedDates: ["16/4/2019", "18/4/2019", "20/4/2019", "21/4/2019"],
304 // calendarData: {}, 305 // calendarData: {},
305 // calendar: {}, 306 // calendar: {},
306 demoEvents: [ 307 demoEvents: [
307 { 308 {
308 date: "2020/01/10", // Required 309 date: "2020/01/10", // Required
309 title: "Foo" // Required 310 title: "Foo" // Required
310 }, 311 },
311 { 312 {
312 date: "2020/01/12", 313 date: "2020/01/12",
313 title: "Bar", 314 title: "Bar",
314 desc: "description", 315 desc: "description",
315 customClass: "disabled highlight" // Custom classes to an calendar cell 316 customClass: "disabled highlight" // Custom classes to an calendar cell
316 } 317 }
317 ], 318 ],
318 319
319 showLoader: false, 320 showLoader: false,
320 calendarData: {}, 321 calendarData: {},
321 dialog: false, 322 dialog: false,
322 dialogNotice: false, 323 dialogNotice: false,
323 HolidaysList: [], 324 HolidaysList: [],
324 EventsList: [], 325 EventsList: [],
325 events: [], 326 events: [],
326 config: { 327 config: {
327 eventClick: event => { 328 eventClick: event => {
328 this.selected = event; 329 this.selected = event;
329 this.dialog = true; 330 this.dialog = true;
330 } 331 }
331 }, 332 },
332 selected: {}, 333 selected: {},
333 barGraph: [], 334 barGraph: [],
334 // notice: {}, 335 // notice: {},
335 userData: {}, 336 userData: {},
336 dated: new Date(2018, 0, 9), 337 dated: new Date(2018, 0, 9),
337 userList: [], 338 userList: [],
338 sectionList: [], 339 sectionList: [],
339 students: "", 340 students: "",
340 parents: "", 341 parents: "",
341 teachers: "", 342 teachers: "",
342 classes: "", 343 classes: "",
343 noticeData: [], 344 noticeData: [],
344 expenseData: [], 345 expenseData: [],
345 feeData: [], 346 feeData: [],
346 collectionData: [], 347 collectionData: [],
347 348
348 attrs: [ 349 attrs: [
349 { 350 {
350 key: "today", 351 key: "today",
351 highlight: true, 352 highlight: true,
352 dates: new Date() 353 dates: new Date()
353 } 354 }
354 ], 355 ],
355 drawer: true, 356 drawer: true,
356 items: [ 357 items: [
357 { title: "Home", icon: "dashboard" }, 358 { title: "Home", icon: "dashboard" },
358 { title: "About", icon: "question_answer" } 359 { title: "About", icon: "question_answer" }
359 ], 360 ],
360 right: null, 361 right: null,
361 362
362 series: [ 363 series: [
363 { 364 {
364 name: "Total", 365 name: "Total",
365 data: [] 366 data: []
366 } 367 }
367 ], 368 ],
368 chartOptions: { 369 chartOptions: {
369 chart: { 370 chart: {
370 type: "bar", 371 type: "bar",
371 height: 150, 372 height: 150,
372 stacked: true 373 stacked: true
373 // animations: { 374 // animations: {
374 // enabled: true, 375 // enabled: true,
375 // easing: "easeinout", 376 // easing: "easeinout",
376 // speed: 1200, 377 // speed: 1200,
377 // animateGradually: { 378 // animateGradually: {
378 // enabled: true, 379 // enabled: true,
379 // delay: 450 380 // delay: 450
380 // }, 381 // },
381 // dynamicAnimation: { 382 // dynamicAnimation: {
382 // enabled: true, 383 // enabled: true,
383 // speed: 450 384 // speed: 450
384 // } 385 // }
385 // } 386 // }
386 }, 387 },
387 plotOptions: { 388 plotOptions: {
388 bar: { 389 bar: {
389 horizontal: false, 390 horizontal: false,
390 columnWidth: "25%", 391 columnWidth: "25%",
391 // endingShape: "rounded", 392 // endingShape: "rounded",
392 distributed: true 393 distributed: true
393 } 394 }
394 }, 395 },
395 responsive: [ 396 responsive: [
396 { 397 {
397 breakpoint: 480, 398 breakpoint: 480,
398 options: { 399 options: {
399 legend: { 400 legend: {
400 position: "bottom", 401 position: "bottom",
401 offsetX: -10, 402 offsetX: -10,
402 offsetY: 0 403 offsetY: 0
403 } 404 }
404 } 405 }
405 } 406 }
406 ], 407 ],
407 legend: { 408 legend: {
408 show: false 409 show: false
409 }, 410 },
410 colors: ["#7852cc", "#f9a825", "#ff8a89"], 411 colors: ["#7852cc", "#f9a825", "#ff8a89"],
411 dataLabels: { 412 dataLabels: {
412 enabled: false 413 enabled: false
413 }, 414 },
414 stroke: { 415 stroke: {
415 show: true, 416 show: true,
416 width: 2, 417 width: 2,
417 colors: ["transparent"] 418 colors: ["transparent"]
418 }, 419 },
419 xaxis: { 420 xaxis: {
420 categories: ["Fee", "Collections", "Expences"] 421 categories: ["Fee", "Collections", "Expences"]
421 }, 422 },
422 yaxis: { 423 yaxis: {
423 title: { 424 title: {
424 text: "" 425 text: ""
425 } 426 }
426 }, 427 },
427 fill: { 428 fill: {
428 opacity: 1 429 opacity: 1
429 }, 430 },
430 tooltip: { 431 tooltip: {
431 y: { 432 y: {
432 formatter: function(val, opts) { 433 formatter: function(val, opts) {
433 // console.log("opts",opts.w.config.xaxis.categories) 434 // console.log("opts",opts.w.config.xaxis.categories)
434 return "" + val + " "; 435 return "" + val + " ";
435 } 436 }
436 } 437 }
437 } 438 }
438 } 439 }
439 }; 440 };
440 }, 441 },
441 mounted() { 442 mounted() {
442 // = this.$store.state.schoolToken; 443 // = this.$store.state.schoolToken;
443 // console.log("this.$store.state.role", this.token); 444 // console.log("this.$store.state.role", this.token);
444 if (this.$store.state.role === "ADMIN") { 445 if (this.$store.state.role === "ADMIN") {
445 this.token = this.$store.state.token; 446 this.token = this.$store.state.token;
446 } else if (this.$store.state.schoolRole === "SUPERADMIN") { 447 } else if (this.$store.state.schoolRole === "SUPERADMIN") {
447 this.token = this.$store.state.schoolToken; 448 this.token = this.$store.state.schoolToken;
448 } 449 }
449 // console.log("role", this.$store.state.schoolRole,"tt",this.$store.state.schoolToken); 450 // console.log("role", this.$store.state.schoolRole,"tt",this.$store.state.schoolToken);
450 // this.getData(); 451 // this.getData();
451 this.getStudents(); 452 this.getStudents();
452 this.getTeachers(); 453 this.getTeachers();
453 this.getParents(); 454 this.getParents();
454 this.getClasses(); 455 this.getClasses();
455 this.getNoticeData(); 456 this.getNoticeData();
456 this.getUserData(); 457 this.getUserData();
457 this.getFeesAndCollectionsData(); 458 this.getFeesAndCollectionsData();
458 this.getExpensesData(); 459 this.getExpensesData();
459 // this.getUsersList(); 460 // this.getUsersList();
460 }, 461 },
461 methods: { 462 methods: {
462 closeNotice() { 463 closeNotice() {
463 this.dialogNotice = false; 464 this.dialogNotice = false;
464 }, 465 },
465 profile() { 466 profile() {
466 // this.editedIndex = this.desserts.indexOf(item); 467 // this.editedIndex = this.desserts.indexOf(item);
467 // this.notice = Object.assign({}, item); 468 // this.notice = Object.assign({}, item);
468 // this.dialogNotice = true; 469 // this.dialogNotice = true;
469 this.$router.push({ name: "NoticeBoard" }); 470 this.$router.push({ name: "NoticeBoard" });
470 }, 471 },
471 date: function(date) { 472 date: function(date) {
472 return moment(date).format("MMMM DD, YYYY HH:mm"); 473 return moment(date).format("MMMM DD, YYYY HH:mm");
473 }, 474 },
474 refreshEvents() { 475 refreshEvents() {
475 this.$refs.calendar.$emit("refetch-events"); 476 this.$refs.calendar.$emit("refetch-events");
476 }, 477 },
477 removeEvent() { 478 removeEvent() {
478 this.$refs.calendar.$emit("remove-event", this.selected); 479 this.$refs.calendar.$emit("remove-event", this.selected);
479 this.selected = {}; 480 this.selected = {};
480 }, 481 },
481 eventSelected(event) { 482 eventSelected(event) {
482 this.selected = event; 483 this.selected = event;
483 console.log("this.selected", this.selected); 484 console.log("this.selected", this.selected);
484 }, 485 },
485 // eventDropStart: function(event) { 486 // eventDropStart: function(event) {
486 // event.editable = false; 487 // event.editable = false;
487 // }, 488 // },
488 eventCreated(...test) { 489 eventCreated(...test) {
489 console.log(test); 490 console.log(test);
490 }, 491 },
491 getStudents() { 492 getStudents() {
492 http() 493 http()
493 .get("/getStudentsList", { 494 .get("/getStudentsList", {
494 headers: { 495 headers: {
495 Authorization: "Bearer " + this.token 496 Authorization: "Bearer " + this.token
496 } 497 }
497 }) 498 })
498 .then(response => { 499 .then(response => {
499 this.students = response.data.data; 500 this.students = response.data.data;
500 this.showLoader = false; 501 this.showLoader = false;
501 }) 502 })
502 .catch(error => { 503 .catch(error => {
503 // console.log("err====>", err); 504 // console.log("err====>", err);
504 this.showLoader = false; 505 this.showLoader = false;
505 // if (error.response.status === 401) { 506 // if (error.response.status === 401) {
506 // this.$router.replace({ path: "/" }); 507 // this.$router.replace({ path: "/" });
507 // this.$store.dispatch("setToken", null); 508 // this.$store.dispatch("setToken", null);
508 // this.$store.dispatch("Id", null); 509 // this.$store.dispatch("Id", null);
509 // } 510 // }
510 }); 511 });
511 }, 512 },
512 getParents() { 513 getParents() {
513 http() 514 http()
514 .get("/getParentsList", { 515 .get("/getParentsList", {
515 headers: { 516 headers: {
516 Authorization: "Bearer " + this.token 517 Authorization: "Bearer " + this.token
517 } 518 }
518 }) 519 })
519 .then(response => { 520 .then(response => {
520 this.parents = response.data.data; 521 this.parents = response.data.data;
521 this.showLoader = false; 522 this.showLoader = false;
522 }) 523 })
523 .catch(error => { 524 .catch(error => {
524 // console.log("err====>", err); 525 // console.log("err====>", err);
525 this.showLoader = false; 526 this.showLoader = false;
526 // if (error.response.status === 401) { 527 // if (error.response.status === 401) {
527 // this.$router.replace({ path: "/" }); 528 // this.$router.replace({ path: "/" });
528 // this.$store.dispatch("setToken", null); 529 // this.$store.dispatch("setToken", null);
529 // this.$store.dispatch("Id", null); 530 // this.$store.dispatch("Id", null);
530 // } 531 // }
531 }); 532 });
532 }, 533 },
533 getTeachers() { 534 getTeachers() {
534 http() 535 http()
535 .get("/getTeachersList", { 536 .get("/getTeachersList", {
536 headers: { 537 headers: {
537 Authorization: "Bearer " + this.token 538 Authorization: "Bearer " + this.token
538 } 539 }
539 }) 540 })
540 .then(response => { 541 .then(response => {
541 this.teachers = response.data.data; 542 this.teachers = response.data.data;
542 this.showLoader = false; 543 this.showLoader = false;
543 }) 544 })
544 .catch(error => { 545 .catch(error => {
545 // console.log("err====>", err); 546 // console.log("err====>", err);
546 this.showLoader = false; 547 this.showLoader = false;
547 // if (error.response.status === 401) { 548 // if (error.response.status === 401) {
548 // this.$router.replace({ path: "/" }); 549 // this.$router.replace({ path: "/" });
549 // this.$store.dispatch("setToken", null); 550 // this.$store.dispatch("setToken", null);
550 // this.$store.dispatch("Id", null); 551 // this.$store.dispatch("Id", null);
551 // } 552 // }
552 }); 553 });
553 }, 554 },
554 getClasses() { 555 getClasses() {
555 http() 556 http()
556 .get("/getClassesList", { 557 .get("/getClassesList", {
557 headers: { 558 headers: {
558 Authorization: "Bearer " + this.token 559 Authorization: "Bearer " + this.token
559 } 560 }
560 }) 561 })
561 .then(response => { 562 .then(response => {
562 this.classes = response.data.data; 563 this.classes = response.data.data;
563 this.showLoader = false; 564 this.showLoader = false;
564 }) 565 })
565 .catch(error => { 566 .catch(error => {
566 this.showLoader = false; 567 this.showLoader = false;
567 // if (error.response.status === 401) { 568 // if (error.response.status === 401) {
568 // this.$router.replace({ path: "/" }); 569 // this.$router.replace({ path: "/" });
569 // this.$store.dispatch("setToken", null); 570 // this.$store.dispatch("setToken", null);
570 // this.$store.dispatch("Id", null); 571 // this.$store.dispatch("Id", null);
571 // this.$store.dispatch("Role", null); 572 // this.$store.dispatch("Role", null);
572 // } 573 // }
573 }); 574 });
574 }, 575 },
575 getNoticeData() { 576 getNoticeData() {
576 this.showLoader = true; 577 this.showLoader = true;
577 http() 578 http()
578 .get("/getEventsList", { 579 .get("/getEventsList", {
579 headers: { 580 headers: {
580 Authorization: "Bearer " + this.token 581 Authorization: "Bearer " + this.token
581 } 582 }
582 }) 583 })
583 .then(response => { 584 .then(response => {
584 this.noticeData = response.data.data; 585 this.noticeData = response.data.data;
585 this.showLoader = false; 586 this.showLoader = false;
586 }) 587 })
587 .catch(error => { 588 .catch(error => {
588 this.showLoader = false; 589 this.showLoader = false;
589 // if (error.response.status === 401) { 590 // if (error.response.status === 401) {
590 // this.$router.replace({ path: "/" }); 591 // this.$router.replace({ path: "/" });
591 // this.$store.dispatch("setToken", null); 592 // this.$store.dispatch("setToken", null);
592 // this.$store.dispatch("Id", null); 593 // this.$store.dispatch("Id", null);
593 // } 594 // }
594 }); 595 });
595 }, 596 },
596 getUserData() { 597 getUserData() {
597 // this.showLoader = true; 598 // this.showLoader = true;
598 http() 599 http()
599 .get("/getParticularUserDetail", { 600 .get("/getParticularUserDetail", {
600 headers: { 601 headers: {
601 Authorization: "Bearer " + this.token 602 Authorization: "Bearer " + this.token
602 } 603 }
603 }) 604 })
604 .then(response => { 605 .then(response => {
605 this.userData = response.data.data; 606 this.userData = response.data.data;
606 this.showLoader = false; 607 this.showLoader = false;
607 }) 608 })
608 .catch(error => { 609 .catch(error => {
609 this.showLoader = false; 610 this.showLoader = false;
610 // if (error.response.status === 401) { 611 // if (error.response.status === 401) {
611 // this.$router.replace({ path: "/" }); 612 // this.$router.replace({ path: "/" });
612 // this.$store.dispatch("setToken", null); 613 // this.$store.dispatch("setToken", null);
613 // this.$store.dispatch("Id", null); 614 // this.$store.dispatch("Id", null);
614 // } 615 // }
615 }); 616 });
616 }, 617 },
617 618
618 getFeesAndCollectionsData() { 619 getFeesAndCollectionsData() {
619 http() 620 http()
620 .get("/getTotalFeesAndCollections", { 621 .get("/getTotalFeesAndCollections", {
621 headers: { 622 headers: {
622 Authorization: "Bearer " + this.token 623 Authorization: "Bearer " + this.token
623 } 624 }
624 }) 625 })
625 .then(response => { 626 .then(response => {
626 this.feeData = response.data.data; 627 this.feeData = response.data.data;
627 // this.collectionData = response.data.data; 628 // this.collectionData = response.data.data;
628 this.series[0].data[0] = this.feeData.totalFees; 629 this.series[0].data[0] = this.feeData.totalFees;
629 this.series[0].data[1] = this.feeData.totalCollection; 630 this.series[0].data[1] = this.feeData.totalCollection;
630 console.log("this.series====", this.series); 631 console.log("this.series====", this.series);
631 632
632 this.showLoader = false; 633 this.showLoader = false;
633 }) 634 })
634 .catch(error => { 635 .catch(error => {
635 this.showLoader = false; 636 this.showLoader = false;
636 }); 637 });
637 }, 638 },
638 getExpensesData() { 639 getExpensesData() {
639 http() 640 http()
640 .get("/getTotalExpenses", { 641 .get("/getTotalExpenses", {
641 headers: { 642 headers: {
642 Authorization: "Bearer " + this.token 643 Authorization: "Bearer " + this.token
643 } 644 }
644 }) 645 })
645 .then(response => { 646 .then(response => {
646 this.expenseData = response.data.data; 647 this.expenseData = response.data.data;
647 // var array = response.data.data.sum; 648 // var array = response.data.data.sum;
648 this.series[0].data[2] = this.expenseData.sum; 649 this.series[0].data[2] = this.expenseData.sum;
649 // console.log("this.series.data", this.series[0].data);
650 // this.series = [ 650 // this.series = [
651 // { 651 // {
652 // name: "Total", 652 // name: "Total",
653 // data: array 653 // data: array
654 // } 654 // }
655 // ]; 655 // ];
656 // console.log("this.series====", this.series); 656 // console.log("this.series====", this.series);
657 this.showLoader = false; 657 this.showLoader = false;
658 }) 658 })
659 .catch(error => { 659 .catch(error => {
660 this.showLoader = false; 660 this.showLoader = false;
661 }); 661 });
662 } 662 }
663 } 663 }
664 }; 664 };
665 </script> 665 </script>
666 666
667 <style scoped> 667 <style scoped>
668 @import "fullcalendar/dist/fullcalendar.css"; 668 @import "fullcalendar/dist/fullcalendar.css";
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 xs3 sm6 lg4 class="subheading mt-4"> 10 <v-flex xs3 sm6 lg4 class="subheading mt-4">
11 <label class="right">Exam :</label> 11 <label class="right">Exam :</label>
12 </v-flex> 12 </v-flex>
13 <v-flex xs7 sm6 lg8 class="ml-2"> 13 <v-flex xs7 sm6 lg8 class="ml-2">
14 <v-autocomplete 14 <v-autocomplete
15 v-model="getReport.examId" 15 v-model="getReport.examId"
16 label="Please Select" 16 label="Please Select"
17 :items="examData" 17 :items="examData"
18 item-text="examName" 18 item-text="examName"
19 item-value="_id" 19 item-value="_id"
20 :rules="examRules" 20 :rules="examRules"
21 @change="getExamList" 21 @change="getExamList"
22 required 22 required
23 ></v-autocomplete> 23 ></v-autocomplete>
24 </v-flex> 24 </v-flex>
25 </v-layout> 25 </v-layout>
26 </v-flex> 26 </v-flex>
27 27
28 <v-flex xs12 sm12 lg3> 28 <v-flex xs12 sm12 lg3 v-if="getReport.examId">
29 <v-layout> 29 <v-layout>
30 <v-flex xs3 sm6 lg2 class="subheading mt-4"> 30 <v-flex xs3 sm6 lg2 class="subheading mt-4">
31 <label class="right">Class:</label> 31 <label class="right">Class:</label>
32 </v-flex> 32 </v-flex>
33 <v-flex xs9 sm6 lg8 class="ml-2"> 33 <v-flex xs9 sm6 lg8 class="ml-2">
34 <v-select 34 <v-select
35 v-model="getReport.classId" 35 v-model="getReport.classId"
36 label="Select your class" 36 label="Select your class"
37 type="text" 37 type="text"
38 :items="classList" 38 :items="classList"
39 item-text="classNum" 39 item-text="classNum"
40 item-value="_id" 40 item-value="_id"
41 :rules="classRules" 41 :rules="classRules"
42 @change="getSections(getReport.classId)" 42 @change="getSections(getReport.classId)"
43 required 43 required
44 ></v-select> 44 ></v-select>
45 </v-flex> 45 </v-flex>
46 </v-layout> 46 </v-layout>
47 </v-flex> 47 </v-flex>
48 <v-flex xs12 sm12 lg3> 48 <v-flex xs12 sm12 lg3 v-if="getReport.classId">
49 <v-layout> 49 <v-layout>
50 <v-flex xs3 sm6 lg2 class="subheading mt-4"> 50 <v-flex xs3 sm6 lg2 class="subheading mt-4">
51 <label class="right">Section:</label> 51 <label class="right">Section:</label>
52 </v-flex> 52 </v-flex>
53 <v-flex xs9 sm6 lg8 class="ml-2"> 53 <v-flex xs9 sm6 lg8 class="ml-2">
54 <v-select 54 <v-select
55 :items="addSection" 55 :items="addSection"
56 label="Select your Section" 56 label="Select your Section"
57 v-model="getReport.sectionId" 57 v-model="getReport.sectionId"
58 item-text="name" 58 item-text="name"
59 item-value="_id" 59 item-value="_id"
60 name="Select Section" 60 name="Select Section"
61 @change="getStudents" 61 @change="getStudents"
62 :rules="sectionRules" 62 :rules="sectionRules"
63 required 63 required
64 ></v-select> 64 ></v-select>
65 </v-flex> 65 </v-flex>
66 </v-layout> 66 </v-layout>
67 </v-flex> 67 </v-flex>
68 <v-flex xs12 sm12 lg3> 68 <v-flex xs12 sm12 lg3 v-if="getReport.sectionId">
69 <v-layout> 69 <v-layout>
70 <v-flex xs3 sm6 lg2 class="subheading mt-4"> 70 <v-flex xs3 sm6 lg2 class="subheading mt-4">
71 <label class="right">Student:</label> 71 <label class="right">Student:</label>
72 </v-flex> 72 </v-flex>
73 <v-flex xs9 sm6 lg8 class="ml-2"> 73 <v-flex xs9 sm6 lg8 class="ml-2">
74 <v-select 74 <v-select
75 :items="getStudentsList" 75 :items="getStudentsList"
76 label="Select your student" 76 label="Select your student"
77 v-model="getReport.studentId" 77 v-model="getReport.studentId"
78 item-text="name" 78 item-text="name"
79 item-value="_id" 79 item-value="_id"
80 :rules="studentRules" 80 :rules="studentRules"
81 required 81 required
82 ></v-select> 82 ></v-select>
83 </v-flex> 83 </v-flex>
84 </v-layout> 84 </v-layout>
85 </v-flex> 85 </v-flex>
86 86
87 <v-flex xs12 sm12 lg4> 87 <v-flex xs12 sm12 lg4>
88 <v-layout> 88 <v-layout>
89 <v-flex xs4 sm4 lg3 class="subheading mt-4"> 89 <v-flex xs4 sm4 lg3 class="subheading mt-4">
90 <label class="right">Type:</label> 90 <label class="right">Type:</label>
91 </v-flex> 91 </v-flex>
92 <v-flex xs7 sm6 lg8 class="ml-2"> 92 <v-flex xs7 sm6 lg8 class="ml-2">
93 <v-autocomplete 93 <v-autocomplete
94 label="Please Select" 94 label="Please Select"
95 type="text" 95 type="text"
96 :rules="typeRules" 96 :rules="typeRules"
97 :items="typeList" 97 :items="typeList"
98 v-model="getReport.form" 98 v-model="getReport.form"
99 item-text="name" 99 item-text="name"
100 item-value="value" 100 item-value="value"
101 @change="getReport(getReport.form)" 101 @change="getReport(getReport.form)"
102 required 102 required
103 ></v-autocomplete> 103 ></v-autocomplete>
104 </v-flex> 104 </v-flex>
105 </v-layout> 105 </v-layout>
106 </v-flex> 106 </v-flex>
107 <!-- <v-flex xs12 sm12 lg4> 107 <!-- <v-flex xs12 sm12 lg4>
108 <v-layout> 108 <v-layout>
109 <v-flex xs4 sm4 lg3 class="subheading mt-4"> 109 <v-flex xs4 sm4 lg3 class="subheading mt-4">
110 <label class="right">Background:</label> 110 <label class="right">Background:</label>
111 </v-flex> 111 </v-flex>
112 <v-flex xs7 sm6 lg8 class="ml-2"> 112 <v-flex xs7 sm6 lg8 class="ml-2">
113 <v-autocomplete 113 <v-autocomplete
114 label="Please Select" 114 label="Please Select"
115 type="text" 115 type="text"
116 :rules="backgroundRules" 116 :rules="backgroundRules"
117 :items="backgroundList" 117 :items="backgroundList"
118 required 118 required
119 ></v-autocomplete> 119 ></v-autocomplete>
120 </v-flex> 120 </v-flex>
121 </v-layout> 121 </v-layout>
122 </v-flex>--> 122 </v-flex>-->
123 <v-flex xs12 sm12 lg4 class="hidden-xs-only hidden-sm-only pl-5"> 123 <v-flex xs12 sm12 lg4 class="hidden-xs-only hidden-sm-only pl-5">
124 <v-btn 124 <v-btn
125 @click="getSchedule" 125 @click="getSchedule"
126 round 126 round
127 dark 127 dark
128 :loading="loading" 128 :loading="loading"
129 class="open-dialog-button mt-3 ml-5" 129 class="open-dialog-button mt-3 ml-5"
130 >Get Report</v-btn> 130 >Get Report</v-btn>
131 </v-flex> 131 </v-flex>
132 </v-layout> 132 </v-layout>
133 </v-flex> 133 </v-flex>
134 </v-form> 134 </v-form>
135 </v-card> 135 </v-card>
136 <div v-if="frontPart"> 136 <div v-if="frontPart">
137 <v-layout v-show="showTable"> 137 <v-layout v-show="showTable">
138 <v-flex xs12> 138 <v-flex xs12>
139 <v-layout> 139 <v-layout>
140 <v-flex xs12> 140 <v-flex xs12>
141 <v-btn class="open-dialog-button right" round dark @click="printAdmitReport()"> 141 <v-btn class="open-dialog-button right" round dark @click="printAdmitReport()">
142 Print 142 Print
143 <v-icon right dark>print</v-icon> 143 <v-icon right dark>print</v-icon>
144 </v-btn> 144 </v-btn>
145 </v-flex> 145 </v-flex>
146 </v-layout> 146 </v-layout>
147 <div class="admincardreport"> 147 <div class="admincardreport">
148 <v-card class="transparent elevation-0"> 148 <v-card class="transparent elevation-0">
149 <v-layout> 149 <v-layout>
150 <v-flex xs12 sm12 md12 class="text-xs-center"> 150 <v-flex xs12 sm12 md12 class="text-xs-center">
151 <div class="line"> 151 <div class="line">
152 <div class="school-logo"> 152 <div class="school-logo">
153 <img :src="userData.schoolLogoUrl" width="140" alt="logo" v-if="userData.profilePicUrl"/> 153 <img :src="userData.schoolLogoUrl" width="140" alt="logo" v-if="userData.profilePicUrl"/>
154 <img src="/static/icon/dashboard icons-18.png" width="140" v-else-if="!userData.profilePicUrl" /> 154 <img src="/static/icon/dashboard icons-18.png" width="140" v-else-if="!userData.profilePicUrl" />
155 </div> 155 </div>
156 <div class="school-name"> 156 <div class="school-name">
157 <h2>{{ userData.name }}</h2> 157 <h2>{{ userData.name }}</h2>
158 <v-flex class="school-address"> 158 <v-flex class="school-address">
159 <p>{{ userData.address }}, {{ userData.pinCode }}</p> 159 <p>{{ userData.address }}, {{ userData.pinCode }}</p>
160 <h4>{{ examName }} Exam Admit Card - (2019-2020)</h4> 160 <h4>{{ examName }} Exam Admit Card - (2019-2020)</h4>
161 </v-flex> 161 </v-flex>
162 </div> 162 </div>
163 <!-- <div class="student-logo"> 163 <!-- <div class="student-logo">
164 <v-avatar> 164 <v-avatar>
165 <img :src="studentData.profilePicUrl" width="140" v-if="studentData.profilePicUrl" /> 165 <img :src="studentData.profilePicUrl" width="140" v-if="studentData.profilePicUrl" />
166 <img src="/static/icon/user.png" width="140" v-else-if="!studentData.profilePicUrl" /> 166 <img src="/static/icon/user.png" width="140" v-else-if="!studentData.profilePicUrl" />
167 </v-avatar> 167 </v-avatar>
168 </div> --> 168 </div> -->
169 </div> 169 </div>
170 <div class="school-info"> 170 <div class="school-info">
171 <v-flex xs12 sm12 md12 > 171 <v-flex xs12 sm12 md12 >
172 <div class="student-info" v-if="getScheduleList.studentData"> 172 <div class="student-info" v-if="getScheduleList.studentData">
173 <p 173 <p
174 style="font-size:18px;margin:0px;margin-bottom:4px;" 174 style="font-size:18px;margin:0px;margin-bottom:4px;"
175 >Name : {{ getScheduleList.studentData.name }}</p> 175 >Name : {{ getScheduleList.studentData.name }}</p>
176 <p 176 <p
177 style="font-size: 18px;margin:0px;margin-bottom:4px;" 177 style="font-size: 18px;margin:0px;margin-bottom:4px;"
178 >Class : {{ getScheduleList.studentData.classId.classNum}}</p> 178 >Class : {{ getScheduleList.studentData.classId.classNum}}</p>
179 <p 179 <p
180 style="font-size: 18px;margin:0px;margin-bottom:4px;" 180 style="font-size: 18px;margin:0px;margin-bottom:4px;"
181 >Section : {{ getScheduleList.studentData.sectionId.name }}</p> 181 >Section : {{ getScheduleList.studentData.sectionId.name }}</p>
182 <p 182 <p
183 style="font-size: 18px;margin:0px;margin-bottom:4px;" 183 style="font-size: 18px;margin:0px;margin-bottom:4px;"
184 >Roll NO : {{ getScheduleList.studentData.rollNo }}</p> 184 >Roll NO : {{ getScheduleList.studentData.rollNo }}</p>
185 <p 185 <p
186 style="font-size: 18px;margin:0px;margin-bottom:4px;" 186 style="font-size: 18px;margin:0px;margin-bottom:4px;"
187 >Blood Group : {{ getScheduleList.studentData.bloodGroup }}</p> 187 >Blood Group : {{ getScheduleList.studentData.bloodGroup }}</p>
188 <p style="font-size: 18px;color: #707478;">Subject in which Appearing</p> 188 <p style="font-size: 18px;color: #707478;">Subject in which Appearing</p>
189 </div> 189 </div>
190 </v-flex> 190 </v-flex>
191 </div> 191 </div>
192 </v-flex> 192 </v-flex>
193 </v-layout> 193 </v-layout>
194 <v-data-table 194 <v-data-table
195 :headers="headers" 195 :headers="headers"
196 :items="getScheduleListArray" 196 :items="getScheduleListArray"
197 :pagination.sync="pagination" 197 :pagination.sync="pagination"
198 :search="search" 198 :search="search"
199 > 199 >
200 <template slot="items" slot-scope="props"> 200 <template slot="items" slot-scope="props">
201 <td class="td td-row">{{ props.index + 1}}</td> 201 <td class="td td-row">{{ props.index + 1}}</td>
202 <td class="td td-row text-xs-center">{{ props.item.date }}</td> 202 <td class="td td-row text-xs-center">{{ props.item.date }}</td>
203 <td class="td td-row text-xs-center">{{ props.item.timeFrom }}</td> 203 <td class="td td-row text-xs-center">{{ props.item.timeFrom }}</td>
204 <td class="td td-row text-xs-center">{{ props.item.timeTo }}</td> 204 <td class="td td-row text-xs-center">{{ props.item.timeTo }}</td>
205 <td class="td td-row text-xs-center">{{ props.item.subjectName }}</td> 205 <td class="td td-row text-xs-center">{{ props.item.subjectName }}</td>
206 </template> 206 </template>
207 <v-alert 207 <v-alert
208 slot="no-results" 208 slot="no-results"
209 :value="true" 209 :value="true"
210 color="error" 210 color="error"
211 icon="warning" 211 icon="warning"
212 >Your search for "{{ search }}" found no results.</v-alert> 212 >Your search for "{{ search }}" found no results.</v-alert>
213 </v-data-table> 213 </v-data-table>
214 <v-flex xs12 id="printMe" v-show="hideprintAdmitReport"> 214 <v-flex xs12 id="printMe" v-show="hideprintAdmitReport">
215 <v-layout> 215 <v-layout>
216 <v-flex xs12 style="text-align:center;margin-bottom:10px"> 216 <v-flex xs12 style="text-align:center;margin-bottom:10px">
217 <img :src="userData.schoolLogoUrl" width="140" alt="logo" v-if="userData.profilePicUrl"/> 217 <img :src="userData.schoolLogoUrl" width="140" alt="logo" v-if="userData.profilePicUrl"/>
218 <img src="/static/icon/dashboard icons-18.png" width="140" v-else-if="!userData.profilePicUrl" /> 218 <img src="/static/icon/dashboard icons-18.png" width="140" v-else-if="!userData.profilePicUrl" />
219 <p class="title">{{ userData.name }}</p> 219 <p class="title">{{ userData.name }}</p>
220 <p>{{ userData.address }}, {{ userData.pinCode }}</p> 220 <p>{{ userData.address }}, {{ userData.pinCode }}</p>
221 <div> 221 <div>
222 <h4>First Terminal Exam Admit Card - (2019-2020)</h4> 222 <h4>First Terminal Exam Admit Card - (2019-2020)</h4>
223 </div> 223 </div>
224 </v-flex> 224 </v-flex>
225 </v-layout> 225 </v-layout>
226 <table 226 <table
227 class="mb-5 tableRsponsive feeTypeTable" 227 class="mb-5 tableRsponsive feeTypeTable"
228 style="border: 1px solid lightgrey; 228 style="border: 1px solid lightgrey;
229 border-collapse: collapse;!important 229 border-collapse: collapse;!important
230 table-layout: auto !important; 230 table-layout: auto !important;
231 width: 100% !important;" 231 width: 100% !important;"
232 > 232 >
233 <thead style="border: 1px solid lightgrey !important;"> 233 <thead style="border: 1px solid lightgrey !important;">
234 <tr style="border: 1px solid lightgrey !important;padding:4px;"> 234 <tr style="border: 1px solid lightgrey !important;padding:4px;">
235 <td style="border: 1px solid lightgrey !important;padding: 6px;">No</td> 235 <td style="border: 1px solid lightgrey !important;padding: 6px;">No</td>
236 <td style="border: 1px solid lightgrey !important;padding: 6px;">Exam Date</td> 236 <td style="border: 1px solid lightgrey !important;padding: 6px;">Exam Date</td>
237 <td style="border: 1px solid lightgrey !important;padding: 6px;">Start Time</td> 237 <td style="border: 1px solid lightgrey !important;padding: 6px;">Start Time</td>
238 <td style="border: 1px solid lightgrey !important;padding: 6px;">End Time</td> 238 <td style="border: 1px solid lightgrey !important;padding: 6px;">End Time</td>
239 <td style="border: 1px solid lightgrey !important;padding: 6px;">Subject Name</td> 239 <td style="border: 1px solid lightgrey !important;padding: 6px;">Subject Name</td>
240 </tr> 240 </tr>
241 </thead> 241 </thead>
242 <tbody 242 <tbody
243 style="border: 1px solid lightgrey !important;"> 243 style="border: 1px solid lightgrey !important;">
244 <tr v-for="(scheduleData,index) in getScheduleListArray"> 244 <tr v-for="(scheduleData,index) in getScheduleListArray">
245 <td 245 <td
246 style="border: 1px soild lightgrey !importand;padding:6px;" 246 style="border: 1px soild lightgrey !importand;padding:6px;"
247 >{{ index + 1 }}</td> 247 >{{ index + 1 }}</td>
248 <td 248 <td
249 style="border: 1px solid lightgrey !important;padding: 6px;" 249 style="border: 1px solid lightgrey !important;padding: 6px;"
250 >{{ scheduleData.date }}</td> 250 >{{ scheduleData.date }}</td>
251 <td 251 <td
252 style="border: 1px solid lightgrey !important;padding: 6px;" 252 style="border: 1px solid lightgrey !important;padding: 6px;"
253 >{{ scheduleData.timeFrom }}</td> 253 >{{ scheduleData.timeFrom }}</td>
254 <td 254 <td
255 style="border: 1px solid lightgrey !important;padding: 6px;" 255 style="border: 1px solid lightgrey !important;padding: 6px;"
256 >{{ scheduleData.timeTo }}</td> 256 >{{ scheduleData.timeTo }}</td>
257 <td 257 <td
258 style="border: 1px solid lightgrey !important;padding: 6px;" 258 style="border: 1px solid lightgrey !important;padding: 6px;"
259 >{{ scheduleData.subjectName }}</td> 259 >{{ scheduleData.subjectName }}</td>
260 </tr> 260 </tr>
261 </tbody> 261 </tbody>
262 </table> 262 </table>
263 </v-flex> 263 </v-flex>
264 </v-card> 264 </v-card>
265 </div> 265 </div>
266 </v-flex> 266 </v-flex>
267 </v-layout> 267 </v-layout>
268 </div> 268 </div>
269 <div v-if="backPart"> 269 <div v-if="backPart">
270 <v-layout v-show="showData"> 270 <v-layout v-show="showData">
271 <v-flex xs12> 271 <v-flex xs12>
272 <v-layout> 272 <v-layout>
273 <v-flex xs12> 273 <v-flex xs12>
274 <v-btn class="open-dialog-button right" round dark @click="printAdmitReport()"> 274 <v-btn class="open-dialog-button right" round dark @click="printAdmitReport()">
275 Print 275 Print
276 <v-icon right dark>print</v-icon> 276 <v-icon right dark>print</v-icon>
277 </v-btn> 277 </v-btn>
278 </v-flex> 278 </v-flex>
279 </v-layout> 279 </v-layout>
280 <v-flex xs12 sm12 md12 class="text-xs-center"> 280 <v-flex xs12 sm12 md12 class="text-xs-center">
281 <div class="admitcardreportbackend" id="printMe"> 281 <div class="admitcardreportbackend" id="printMe">
282 <ol> 282 <ol>
283 <p> 283 <p>
284 <b>1. Do not Carry these Electronic Gadgets:</b> 284 <b>1. Do not Carry these Electronic Gadgets:</b>
285 Electronic gadgets(Bluetooth devices,head phones,pen/buttonhole cameras,scanner,calculator,storage devices etc) 285 Electronic gadgets(Bluetooth devices,head phones,pen/buttonhole cameras,scanner,calculator,storage devices etc)
286 in the examination lab. These items are strictly prohibited from examination lab. 286 in the examination lab. These items are strictly prohibited from examination lab.
287 </p> 287 </p>
288 <p> 288 <p>
289 <b>2. Do not Carry these Ornaments:</b> 289 <b>2. Do not Carry these Ornaments:</b>
290 Candidates should also not wear charms,veil,items containing such as rings,bracelet,earings,nose-pin,chains, 290 Candidates should also not wear charms,veil,items containing such as rings,bracelet,earings,nose-pin,chains,
291 necklace,pendants,badge,broach,hair-pin,hair-band. 291 necklace,pendants,badge,broach,hair-pin,hair-band.
292 </p> 292 </p>
293 <p> 293 <p>
294 <b>3. What Candidates wear to Examination hall:</b> 294 <b>3. What Candidates wear to Examination hall:</b>
295 Candidates should not wear clothes with full sleeves or big button,etc. Candidates are adviced to wear open footwear 295 Candidates should not wear clothes with full sleeves or big button,etc. Candidates are adviced to wear open footwear
296 like slippers,sandals instead of shoes as the candidates could be asked to remove shoes by the frisking staff. 296 like slippers,sandals instead of shoes as the candidates could be asked to remove shoes by the frisking staff.
297 </p> 297 </p>
298 <p> 298 <p>
299 <b>4. Do not carry Stationary:</b> 299 <b>4. Do not carry Stationary:</b>
300 Pen/pencil and paper for rough work would be provided in examination lab. Electronic watch (timer)will be available 300 Pen/pencil and paper for rough work would be provided in examination lab. Electronic watch (timer)will be available
301 on the computer screen alloted to the candidates. 301 on the computer screen alloted to the candidates.
302 </p> 302 </p>
303 <p> 303 <p>
304 <b>5. Do not Carry Bags:</b> 304 <b>5. Do not Carry Bags:</b>
305 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
306 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
307 safe custody of such items. 307 safe custody of such items.
308 </p> 308 </p>
309 <p> 309 <p>
310 <b>6. What will Happen if you carry Prohibited items to Exam Hall:</b> 310 <b>6. What will Happen if you carry Prohibited items to Exam Hall:</b>
311 If any such prohibited item is found in the possession of a candidate in examination lab, his/her candidature is liable 311 If any such prohibited item is found in the possession of a candidate in examination lab, his/her candidature is liable
312 to be canceled and legal/criminal proceedings could be initiated against him/her. He/she would also liable to be debarred 312 to be canceled and legal/criminal proceedings could be initiated against him/her. He/she would also liable to be debarred
313 from appearing in future examinations of the Commission for a period of 3 years. 313 from appearing in future examinations of the Commission for a period of 3 years.
314 </p> 314 </p>
315 <p> 315 <p>
316 <b>7. Candidate should not create Disturbance in Exam Hall:</b> 316 <b>7. Candidate should not create Disturbance in Exam Hall:</b>
317 If any candidate is found obstructing the conduct of examination or creating disturbances at the examination venue, 317 If any candidate is found obstructing the conduct of examination or creating disturbances at the examination venue,
318 his/her candidature shall be summarily canceled. 318 his/her candidature shall be summarily canceled.
319 </p> 319 </p>
320 </ol> 320 </ol>
321 </div> 321 </div>
322 </v-flex> 322 </v-flex>
323 </v-flex> 323 </v-flex>
324 </v-layout> 324 </v-layout>
325 </div> 325 </div>
326 </v-container> 326 </v-container>
327 </template> 327 </template>
328 <script> 328 <script>
329 import http from "@/Services/http.js"; 329 import http from "@/Services/http.js";
330 import moment from "moment"; 330 import moment from "moment";
331 import _ from "underscore"; 331 import _ from "underscore";
332 332
333 export default { 333 export default {
334 data: () => ({ 334 data: () => ({
335 valid: true, 335 valid: true,
336 userData: {}, 336 userData: {},
337 frontPart: false, 337 frontPart: false,
338 backPart: false, 338 backPart: false,
339 loading: false, 339 loading: false,
340 showTable: false, 340 showTable: false,
341 showData: false, 341 showData: false,
342 hideprintAdmitReport: false, 342 hideprintAdmitReport: false,
343 343
344 examRules: [v => !!v || "Exam Field is required"], 344 examRules: [v => !!v || "Exam Field is required"],
345 classRules: [v => !!v || "Class Field Required"], 345 classRules: [v => !!v || "Class Field Required"],
346 sectionRules: [v => !!v || "Section Field is required"], 346 sectionRules: [v => !!v || "Section Field is required"],
347 studentRules: [v => !!v || "Student Field is required"], 347 studentRules: [v => !!v || "Student Field is required"],
348 typeRules: [v => !!v || "Type Field is required"], 348 typeRules: [v => !!v || "Type Field is required"],
349 backgroundRules: [v => !!v || "Background Field is required"], 349 backgroundRules: [v => !!v || "Background Field is required"],
350 350
351 pagination: { 351 pagination: {
352 rowsPerPage: 10 352 rowsPerPage: 10
353 }, 353 },
354 search: "", 354 search: "",
355 355
356 classList: [], 356 classList: [],
357 studentData: {}, 357 studentData: {},
358 scheduleData: {}, 358 scheduleData: {},
359 examData: [], 359 examData: [],
360 addSection: [], 360 addSection: [],
361 getStudentsList: [], 361 getStudentsList: [],
362 getScheduleList: [], 362 getScheduleList: [],
363 getScheduleListArray: [], 363 getScheduleListArray: [],
364 examName: [], 364 examName: [],
365 typeList: [ 365 typeList: [
366 { 366 {
367 name: "Front Part", 367 name: "Front Part",
368 value: "frontPart" 368 value: "frontPart"
369 }, 369 },
370 { 370 {
371 name: "Back Part", 371 name: "Back Part",
372 value: "backPart" 372 value: "backPart"
373 } 373 }
374 ], 374 ],
375 backgroundList: ["Yes", "No"], 375 backgroundList: ["Yes", "No"],
376 376
377 headers: [ 377 headers: [
378 { 378 {
379 text: "No", 379 text: "No",
380 align: "", 380 align: "",
381 sortable: false, 381 sortable: false,
382 value: "No" 382 value: "No"
383 }, 383 },
384 { 384 {
385 text: "Exam Date", 385 text: "Exam Date",
386 align: "center", 386 align: "center",
387 sortable: false, 387 sortable: false,
388 value: "date" 388 value: "date"
389 }, 389 },
390 { 390 {
391 text: "Start Time", 391 text: "Start Time",
392 align: "center", 392 align: "center",
393 sortable: false, 393 sortable: false,
394 value: "timeFrom" 394 value: "timeFrom"
395 }, 395 },
396 { 396 {
397 text: "End Time", 397 text: "End Time",
398 align: "center", 398 align: "center",
399 sortable: false, 399 sortable: false,
400 value: "timeTo" 400 value: "timeTo"
401 }, 401 },
402 { 402 {
403 text: "Subject Name", 403 text: "Subject Name",
404 align: "center", 404 align: "center",
405 sortable: false, 405 sortable: false,
406 value: "subjectName" 406 value: "subjectName"
407 } 407 }
408 ] 408 ]
409 }), 409 }),
410 410
411 mounted() { 411 mounted() {
412 this.token = this.$store.state.token; 412 this.token = this.$store.state.token;
413 this.getClass(); 413 this.getClass();
414 this.getExamList(); 414 this.getExamList();
415 this.getUserData(); 415 this.getUserData();
416 }, 416 },
417 417
418 methods: { 418 methods: {
419 getReport() { 419 getReport() {
420 if (this.getReport.form === "frontPart") { 420 if (this.getReport.form === "frontPart") {
421 this.frontPart = true; 421 this.frontPart = true;
422 this.backPart = false; 422 this.backPart = false;
423 } 423 }
424 if (this.getReport.form === "backPart") { 424 if (this.getReport.form === "backPart") {
425 this.frontPart = false; 425 this.frontPart = false;
426 this.backPart = true; 426 this.backPart = true;
427 } 427 }
428 }, 428 },
429 getExamList() { 429 getExamList() {
430 this.showLoader = true; 430 this.showLoader = true;
431 this.loadingSearch = true; 431 this.loadingSearch = true;
432 http() 432 http()
433 .get("/getExamsList", { 433 .get("/getExamsList", {
434 headers: { Authorization: "Bearer " + this.token } 434 headers: { Authorization: "Bearer " + this.token }
435 }) 435 })
436 .then(response => { 436 .then(response => {
437 this.examData = response.data.data; 437 this.examData = response.data.data;
438 this.showLoader = false; 438 this.showLoader = false;
439 this.loadingSearch = false; 439 this.loadingSearch = false;
440 }) 440 })
441 .catch(error => { 441 .catch(error => {
442 this.showLoader = false; 442 this.showLoader = false;
443 this.loadingSearch = false; 443 this.loadingSearch = false;
444 this.snackbar = true; 444 this.snackbar = true;
445 this.text = error.response.data.message; 445 this.text = error.response.data.message;
446 if (error.response.status === 401) { 446 if (error.response.status === 401) {
447 this.$router.replace({ path: "/" }); 447 this.$router.replace({ path: "/" });
448 this.$store.dispatch("setToken", null); 448 this.$store.dispatch("setToken", null);
449 this.$store.dispatch("Id", null); 449 this.$store.dispatch("Id", null);
450 } 450 }
451 }); 451 });
452 }, 452 },
453 getClass() { 453 getClass() {
454 this.showLoader = true; 454 this.showLoader = true;
455 http() 455 http()
456 .get("/getClassesList", { 456 .get("/getClassesList", {
457 headers: { Authorization: "Bearer " + this.token } 457 headers: { Authorization: "Bearer " + this.token }
458 }) 458 })
459 .then(response => { 459 .then(response => {
460 this.classList = response.data.data; 460 this.classList = response.data.data;
461 this.showLoader = false; 461 this.showLoader = false;
462 }) 462 })
463 .catch(error => { 463 .catch(error => {
464 this.showLoader = false; 464 this.showLoader = false;
465 // console.log("err====>", err); 465 // console.log("err====>", err);
466 }); 466 });
467 }, 467 },
468 getSections(_id) { 468 getSections(_id) {
469 this.showLoader = true; 469 this.showLoader = true;
470 http() 470 http()
471 .get( 471 .get(
472 "/getSectionsList", 472 "/getSectionsList",
473 { params: { classId: _id } }, 473 { params: { classId: _id } },
474 { 474 {
475 headers: { Authorization: "Bearer " + this.token } 475 headers: { Authorization: "Bearer " + this.token }
476 } 476 }
477 ) 477 )
478 .then(response => { 478 .then(response => {
479 this.addSection = response.data.data; 479 this.addSection = response.data.data;
480 this.showLoader = false; 480 this.showLoader = false;
481 }) 481 })
482 .catch(err => { 482 .catch(err => {
483 this.showLoader = false; 483 this.showLoader = false;
484 // console.log("err====>", err); 484 // console.log("err====>", err);
485 }); 485 });
486 }, 486 },
487 getStudents() { 487 getStudents() {
488 this.showLoader = true; 488 this.showLoader = true;
489 http() 489 http()
490 .get("/getStudentWithClass", { 490 .get("/getStudentWithClass", {
491 params: { 491 params: {
492 classId: this.getReport.classId, 492 classId: this.getReport.classId,
493 sectionId: this.getReport.sectionId 493 sectionId: this.getReport.sectionId
494 } 494 }
495 }) 495 })
496 .then(response => { 496 .then(response => {
497 this.getStudentsList = response.data.data; 497 this.getStudentsList = response.data.data;
498 this.showLoader = false; 498 this.showLoader = false;
499 }) 499 })
500 .catch(error => { 500 .catch(error => {
501 console.log("err====>", error); 501 console.log("err====>", error);
502 this.showLoader = false; 502 this.showLoader = false;
503 }); 503 });
504 }, 504 },
505 getSchedule() { 505 getSchedule() {
506 this.showLoader = true; 506 this.showLoader = true;
507 http() 507 http()
508 .get("/getScheduleForParticularStudent", { 508 .get("/getScheduleForParticularStudent", {
509 params: { 509 params: {
510 examId: this.getReport.examId, 510 examId: this.getReport.examId,
511 classId: this.getReport.classId, 511 classId: this.getReport.classId,
512 sectionId: this.getReport.sectionId, 512 sectionId: this.getReport.sectionId,
513 studentId: this.getReport.studentId 513 studentId: this.getReport.studentId
514 } 514 }
515 }) 515 })
516 .then(response => { 516 .then(response => {
517 this.getScheduleList = response.data.data; 517 this.getScheduleList = response.data.data;
518 this.getScheduleListArray = response.data.data.scheduleData; 518 this.getScheduleListArray = response.data.data.scheduleData;
519 this.examName = response.data.data.scheduleData[0].examId.examName; 519 this.examName = response.data.data.scheduleData[0].examId.examName;
520 this.showTable = true; 520 this.showTable = true;
521 this.showData = true; 521 this.showData = true;
522 this.showLoader = false; 522 this.showLoader = false;
523 }) 523 })
524 .catch(error => { 524 .catch(error => {
525 this.showLoader = false; 525 this.showLoader = false;
526 }); 526 });
527 }, 527 },
528 528
529 printAdmitReport() { 529 printAdmitReport() {
530 // Pass the element id here 530 // Pass the element id here
531 this.$htmlToPaper("printMe"); 531 this.$htmlToPaper("printMe");
532 }, 532 },
533 getUserData() { 533 getUserData() {
534 http() 534 http()
535 .get("/getParticularUserDetail") 535 .get("/getParticularUserDetail")
536 .then(response => { 536 .then(response => {
537 this.userData = response.data.data; 537 this.userData = response.data.data;
538 }) 538 })
539 .catch(error => { 539 .catch(error => {
540 // if (error.response.status === 401) { 540 // if (error.response.status === 401) {
541 // this.$router.replace({ path: "/" }); 541 // this.$router.replace({ path: "/" });
542 // this.$store.dispatch("setToken", null); 542 // this.$store.dispatch("setToken", null);
543 // this.$store.dispatch("Id", null); 543 // this.$store.dispatch("Id", null);
544 // } 544 // }
545 }); 545 });
546 }, 546 },
547 // created() { 547 // created() {
548 // this.$root.$on("app:search", search => { 548 // this.$root.$on("app:search", search => {
549 // this.search = search; 549 // this.search = search;
550 // }); 550 // });
551 // }, 551 // },
552 // beforeDestroy() { 552 // beforeDestroy() {
553 // // dont forget to remove the listener 553 // // dont forget to remove the listener
554 // this.$root.$off("app:search"); 554 // this.$root.$off("app:search");
555 // } 555 // }
556 } 556 }
557 }; 557 };
558 </script> 558 </script>
559 <style scoped> 559 <style scoped>
560 .admincardreport { 560 .admincardreport {
561 border: 1px solid #ddd; 561 border: 1px solid #ddd;
562 overflow: hidden; 562 overflow: hidden;
563 padding: 20px 50px; 563 padding: 20px 50px;
564 /* margin-bottom: 10px; 564 /* margin-bottom: 10px;
565 min-height: 443px; */ 565 min-height: 443px; */
566 } 566 }
567 .line { 567 .line {
568 border-bottom: 1px solid #ddd; 568 border-bottom: 1px solid #ddd;
569 overflow: hidden; 569 overflow: hidden;
570 padding-bottom: 10px; 570 padding-bottom: 10px;
571 vertical-align: middle; 571 vertical-align: middle;
572 /* margin-bottom: 4px; */ 572 /* margin-bottom: 4px; */
573 } 573 }
574 .school-logo { 574 .school-logo {
575 float: left; 575 float: left;
576 } 576 }
577 .student-logo { 577 .student-logo {
578 position: absolute; 578 position: absolute;
579 top: 221px; 579 top: 221px;
580 right: 221px; 580 right: 221px;
581 } 581 }
582 .school-name { 582 .school-name {
583 box-sizing: border-box; 583 box-sizing: border-box;
584 align-items: center; 584 align-items: center;
585 } 585 }
586 /* .student-info { 586 /* .student-info {
587 float: left; 587 float: left;
588 width: max-content; 588 width: max-content;
589 text-align: initial; 589 text-align: initial;
590 } */ 590 } */
591 .student-info { 591 .student-info {
592 width: 50%; 592 width: 50%;
593 float: left; 593 float: left;
594 text-align: initial; 594 text-align: initial;
595 } 595 }
596 .student-info p { 596 .student-info p {
597 width: 50%; 597 width: 50%;
598 float: left; 598 float: left;
599 margin-bottom: 1px; 599 margin-bottom: 1px;
600 padding: 0 0px; 600 padding: 0 0px;
601 font-size: 12px; 601 font-size: 12px;
602 } 602 }
603 .admitcardreportbackend { 603 .admitcardreportbackend {
604 border: 1px solid #ddd; 604 border: 1px solid #ddd;
605 overflow: hidden; 605 overflow: hidden;
606 padding: 5% 25%; 606 padding: 5% 25%;
607 /* margin-bottom: 10px; 607 /* margin-bottom: 10px;
608 color: black; */ 608 color: black; */
609 } 609 }
610 .admitcardreportbackend ol { 610 .admitcardreportbackend ol {
611 margin: 0; 611 margin: 0;
612 margin-bottom: 10px; 612 margin-bottom: 10px;
613 } 613 }
614 .admitcardreportbackend p { 614 .admitcardreportbackend p {
615 line-height: 20px; 615 line-height: 20px;
616 text-align: left; 616 text-align: left;
617 } 617 }
618 </style> 618 </style>