Commit 5d5315b0f9af96cf1f42942a64f34694983def8b

Authored by Shikha Mishra
1 parent d84fa5db26

close add-notification dialogue box, hide delete option from teacher's list, han…

…dle password able/disable function in add student screen and show data of admit card and show messages if not available
src/Services/http.js
1 import axios from 'axios' 1 import axios from 'axios'
2 import store from '@/store/store' 2 import store from '@/store/store'
3 import Vue from 'vue' 3 import Vue from 'vue'
4 import {vm1} from "@/main.js" 4 import { vm1 } from "@/main.js"
5 5
6 const baseDomain = "https://api-dashboard.intrack.in/v1"; 6 const baseDomain = "https://api-dashboard.intrack.in/v1";
7 7
8 const baseURL = `${baseDomain}`; 8 const baseURL = `${baseDomain}`;
9 // var token = "" 9 // var token = ""
10 // if (store.state.role === "ADMIN") { 10 // if (store.state.role === "ADMIN") {
11 // token = `${store.state.token}` 11 // token = `${store.state.token}`
12 // } else if (store.state.schoolRole === "SUPERADMIN") { 12 // } else if (store.state.schoolRole === "SUPERADMIN") {
13 // token = `${store.state.schoolToken}` 13 // token = `${store.state.schoolToken}`
14 // } 14 // }
15 15
16 // console.log("role",`${store.state.schoolRole}`); 16 // console.log("role",`${store.state.schoolRole}`);
17 // console.log("token",`${store.state.schoolToken}`); 17 // console.log("token",`${store.state.schoolToken}`);
18 18
19 export default () => { 19 export default () => {
20 // return axios.create({ 20 // return axios.create({
21 // // baseURL: 'http://192.168.2.221:3002/v1', 21 // // baseURL: 'http://192.168.2.221:3002/v1',
22 // baseURL, 22 // baseURL,
23 // headers: { 23 // headers: {
24 // Authorization: `Bearer ${store.state.token}` 24 // Authorization: `Bearer ${store.state.token}`
25 // } 25 // }
26 // }) 26 // })
27 let instance = axios.create({ 27 let instance = axios.create({
28 // LIVE 28 // LIVE
29 //baseURL: 'https://annadata.patanjaliayurved.org/api', 29 //baseURL: 'https://annadata.patanjaliayurved.org/api',
30 // DEVELOPMENT 30 // DEVELOPMENT
31 baseURL: baseURL, 31 baseURL: baseURL,
32 32
33 headers: { 33 headers: {
34 Authorization: `Bearer ${store.state.token}`, 34 Authorization: `Bearer ${store.state.token}`,
35 // 'Access-Control-Allow-Origin': '*' 35 // 'Access-Control-Allow-Origin': '*'
36 36
37 } 37 }
38 }) 38 })
39 39
40 instance.interceptors.request.use((config) => { 40 instance.interceptors.request.use((config) => {
41 // Do something before request is sent 41 // Do something before request is sent
42 42
43 return config 43 return config
44 }, error => { 44 }, error => {
45 return Promise.reject(error) 45 return Promise.reject(error)
46 }) 46 })
47 instance.interceptors.response.use((response) => { 47 instance.interceptors.response.use((response) => {
48 // do something with the response data 48 // do something with the response data
49 49
50 50
51 return response; 51 return response;
52 }, error => { 52 }, error => {
53 // handle the response error 53 // handle the response error
54 console.log("error in interceptor - ",error.response.status) 54 console.log("error in interceptor - ", error.response.status)
55 var customError 55 var customError
56 const errorNo = error.response.status 56 const errorNo = error.response.status
57 57
58 switch (errorNo) { 58 switch (errorNo) {
59 case 401: 59 case 401:
60 customError = "Session expired" 60 customError = "Session expired"
61 console.log("what is this - ", vm1) 61 console.log("what is this - ", vm1)
62 vm1.$store.dispatch("setToken", null); 62 vm1.$store.dispatch("setToken", null);
63 vm1.$router.replace({ path: "/" }); 63 vm1.$router.replace({ path: "/" });
64 64
65 vm1.$store.dispatch("Id", null); 65 vm1.$store.dispatch("Id", null);
66 66
67 break; 67 break;
68 } 68 }
69 }) 69
70 // response parse 70 return Promise.reject(error);
71 })
72 // response parse
71 73
72 return instance; 74 return instance;
73 } 75 }
src/pages/Notification/notification.vue
1 <template> 1 <template>
2 <v-container fluid class="body-color"> 2 <v-container fluid class="body-color">
3 <!-- ****** EDITS NOTIFICATION DETAILS ****** --> 3 <!-- ****** EDITS NOTIFICATION DETAILS ****** -->
4 <v-dialog v-model="editNotificationDialog" max-width="500px"> 4 <v-dialog v-model="editNotificationDialog" max-width="500px">
5 <v-flex xs12 sm12> 5 <v-flex xs12 sm12>
6 <v-card flat class="card-style pa-3" dark> 6 <v-card flat class="card-style pa-3" dark>
7 <v-layout> 7 <v-layout>
8 <v-flex xs12> 8 <v-flex xs12>
9 <label class="title text-xs-center">Edit Notification</label> 9 <label class="title text-xs-center">Edit Notification</label>
10 <v-icon size="24" class="right" @click="editNotificationDialog = false">cancel</v-icon> 10 <v-icon size="24" class="right" @click="editNotificationDialog = false">cancel</v-icon>
11 </v-flex> 11 </v-flex>
12 </v-layout> 12 </v-layout>
13 <v-flex xs12 sm12> 13 <v-flex xs12 sm12>
14 <v-layout> 14 <v-layout>
15 <v-flex xs4 class="pt-4 subheading"> 15 <v-flex xs4 class="pt-4 subheading">
16 <label class="right">Title:</label> 16 <label class="right">Title:</label>
17 </v-flex> 17 </v-flex>
18 <v-flex xs8 sm8 class="ml-3"> 18 <v-flex xs8 sm8 class="ml-3">
19 <v-text-field 19 <v-text-field
20 v-model="editedItem.title" 20 v-model="editedItem.title"
21 placeholder="fill your Title" 21 placeholder="fill your Title"
22 name="name" 22 name="name"
23 type="text" 23 type="text"
24 ></v-text-field> 24 ></v-text-field>
25 </v-flex> 25 </v-flex>
26 </v-layout> 26 </v-layout>
27 </v-flex> 27 </v-flex>
28 <v-flex xs12 sm12> 28 <v-flex xs12 sm12>
29 <v-layout> 29 <v-layout>
30 <v-flex xs4 class="pt-4 subheading"> 30 <v-flex xs4 class="pt-4 subheading">
31 <label class="right">Description:</label> 31 <label class="right">Description:</label>
32 </v-flex> 32 </v-flex>
33 <v-flex xs8 sm8 class="ml-3"> 33 <v-flex xs8 sm8 class="ml-3">
34 <v-text-field 34 <v-text-field
35 placeholder="fill your Description" 35 placeholder="fill your Description"
36 v-model="editedItem.description" 36 v-model="editedItem.description"
37 type="text" 37 type="text"
38 ></v-text-field> 38 ></v-text-field>
39 </v-flex> 39 </v-flex>
40 </v-layout> 40 </v-layout>
41 </v-flex> 41 </v-flex>
42 <v-layout> 42 <v-layout>
43 <v-flex xs12> 43 <v-flex xs12>
44 <v-card-actions> 44 <v-card-actions>
45 <v-spacer></v-spacer> 45 <v-spacer></v-spacer>
46 <v-btn round dark @click="save" :loading="editLoading" class="add-button">Save</v-btn> 46 <v-btn round dark @click="save" :loading="editLoading" class="add-button">Save</v-btn>
47 <v-spacer></v-spacer> 47 <v-spacer></v-spacer>
48 </v-card-actions> 48 </v-card-actions>
49 </v-flex> 49 </v-flex>
50 </v-layout> 50 </v-layout>
51 </v-card> 51 </v-card>
52 </v-flex> 52 </v-flex>
53 </v-dialog> 53 </v-dialog>
54 54
55 <!-- ****** PROFILE VIEW NOTIFICATION DEATILS ****** --> 55 <!-- ****** PROFILE VIEW NOTIFICATION DEATILS ****** -->
56 56
57 <v-dialog v-model="profileNotificationDialog" max-width="400px"> 57 <v-dialog v-model="profileNotificationDialog" max-width="400px">
58 <v-card flat class="card-style pa-3" dark> 58 <v-card flat class="card-style pa-3" dark>
59 <v-layout> 59 <v-layout>
60 <v-flex xs12> 60 <v-flex xs12>
61 <label class="title text-xs-center">View Notification</label> 61 <label class="title text-xs-center">View Notification</label>
62 <v-icon size="24" class="right" @click="profileNotificationDialog = false">cancel</v-icon> 62 <v-icon size="24" class="right" @click="profileNotificationDialog = false">cancel</v-icon>
63 </v-flex> 63 </v-flex>
64 </v-layout> 64 </v-layout>
65 <v-card-text> 65 <v-card-text>
66 <v-container grid-list-md> 66 <v-container grid-list-md>
67 <v-layout wrap> 67 <v-layout wrap>
68 <v-flex xs12> 68 <v-flex xs12>
69 <v-layout> 69 <v-layout>
70 <v-flex xs4 sm6> 70 <v-flex xs4 sm6>
71 <h5 class="right my-1"> 71 <h5 class="right my-1">
72 <b>Title:</b> 72 <b>Title:</b>
73 </h5> 73 </h5>
74 </v-flex> 74 </v-flex>
75 <v-flex sm6 xs8> 75 <v-flex sm6 xs8>
76 <h5 class="my-1">{{ editedItem.title }}</h5> 76 <h5 class="my-1">{{ editedItem.title }}</h5>
77 </v-flex> 77 </v-flex>
78 </v-layout> 78 </v-layout>
79 </v-flex> 79 </v-flex>
80 <v-layout> 80 <v-layout>
81 <v-flex xs4 sm6> 81 <v-flex xs4 sm6>
82 <h5 class="right my-1"> 82 <h5 class="right my-1">
83 <b>Description:</b> 83 <b>Description:</b>
84 </h5> 84 </h5>
85 </v-flex> 85 </v-flex>
86 <v-flex sm6 xs8> 86 <v-flex sm6 xs8>
87 <h5 class="my-1">{{ editedItem.description }}</h5> 87 <h5 class="my-1">{{ editedItem.description }}</h5>
88 </v-flex> 88 </v-flex>
89 </v-layout> 89 </v-layout>
90 </v-layout> 90 </v-layout>
91 </v-container> 91 </v-container>
92 </v-card-text> 92 </v-card-text>
93 </v-card> 93 </v-card>
94 </v-dialog> 94 </v-dialog>
95 <!-- ****** NOTIFICATION TABLE ****** --> 95 <!-- ****** NOTIFICATION TABLE ****** -->
96 <v-toolbar color="transparent" flat> 96 <v-toolbar color="transparent" flat>
97 <v-btn 97 <v-btn
98 fab 98 fab
99 dark 99 dark
100 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only" 100 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
101 small 101 small
102 @click="addNotificationDialog = true" 102 @click="addNotificationDialog = true"
103 > 103 >
104 <v-icon dark>add</v-icon> 104 <v-icon dark>add</v-icon>
105 </v-btn> 105 </v-btn>
106 <v-btn 106 <v-btn
107 round 107 round
108 class="open-dialog-button hidden-sm-only hidden-xs-only" 108 class="open-dialog-button hidden-sm-only hidden-xs-only"
109 dark 109 dark
110 @click="addNotificationDialog = true" 110 @click="addNotificationDialog = true"
111 > 111 >
112 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Notification 112 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Notification
113 </v-btn> 113 </v-btn>
114 <v-spacer></v-spacer> 114 <v-spacer></v-spacer>
115 <v-card-title class="body-1" v-show="show"> 115 <v-card-title class="body-1" v-show="show">
116 <v-btn icon large flat @click="displaySearch"> 116 <v-btn icon large flat @click="displaySearch">
117 <v-avatar size="27"> 117 <v-avatar size="27">
118 <img src="/static/icon/search.png" alt="icon" /> 118 <img src="/static/icon/search.png" alt="icon" />
119 </v-avatar> 119 </v-avatar>
120 </v-btn> 120 </v-btn>
121 </v-card-title> 121 </v-card-title>
122 <v-flex xs8 sm8 md3 lg2 v-show="showSearch"> 122 <v-flex xs8 sm8 md3 lg2 v-show="showSearch">
123 <v-layout> 123 <v-layout>
124 <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field> 124 <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field>
125 <v-icon @click="closeSearch" color="error">close</v-icon> 125 <v-icon @click="closeSearch" color="error">close</v-icon>
126 </v-layout> 126 </v-layout>
127 </v-flex> 127 </v-flex>
128 </v-toolbar> 128 </v-toolbar>
129 <v-data-table 129 <v-data-table
130 :headers="headers" 130 :headers="headers"
131 :items="notifications" 131 :items="notifications"
132 :pagination.sync="pagination" 132 :pagination.sync="pagination"
133 :search="search" 133 :search="search"
134 > 134 >
135 <template slot="items" slot-scope="props"> 135 <template slot="items" slot-scope="props">
136 <tr class="tr"> 136 <tr class="tr">
137 <td class="td td-row">{{ props.index + 1}}</td> 137 <td class="td td-row">{{ props.index + 1}}</td>
138 <td class="td td-row text-xs-center">{{ props.item.title}}</td> 138 <td class="td td-row text-xs-center">{{ props.item.title}}</td>
139 <td class="td td-row text-xs-center">{{ props.item.description}}</td> 139 <td class="td td-row text-xs-center">{{ props.item.description}}</td>
140 <td class="td td-row text-xs-center"> 140 <td class="td td-row text-xs-center">
141 <span> 141 <span>
142 <v-tooltip top> 142 <v-tooltip top>
143 <img 143 <img
144 slot="activator" 144 slot="activator"
145 style="cursor:pointer; width:25px; height:25px; " 145 style="cursor:pointer; width:25px; height:25px; "
146 class="mr-3" 146 class="mr-3"
147 @click="profile(props.item)" 147 @click="profile(props.item)"
148 src="/static/icon/view.png" 148 src="/static/icon/view.png"
149 /> 149 />
150 <span>View</span> 150 <span>View</span>
151 </v-tooltip> 151 </v-tooltip>
152 <v-tooltip top> 152 <v-tooltip top>
153 <img 153 <img
154 slot="activator" 154 slot="activator"
155 style="cursor:pointer; width:20px; height:18px; " 155 style="cursor:pointer; width:20px; height:18px; "
156 class="mr-3" 156 class="mr-3"
157 @click="editItem(props.item)" 157 @click="editItem(props.item)"
158 src="/static/icon/edit.png" 158 src="/static/icon/edit.png"
159 /> 159 />
160 <span>Edit</span> 160 <span>Edit</span>
161 </v-tooltip> 161 </v-tooltip>
162 <v-tooltip top> 162 <v-tooltip top>
163 <img 163 <img
164 slot="activator" 164 slot="activator"
165 style="cursor:pointer; width:20px; height:20px; " 165 style="cursor:pointer; width:20px; height:20px; "
166 class="mr-3" 166 class="mr-3"
167 @click="deleteItem(props.item)" 167 @click="deleteItem(props.item)"
168 src="/static/icon/delete.png" 168 src="/static/icon/delete.png"
169 /> 169 />
170 <span>Delete</span> 170 <span>Delete</span>
171 </v-tooltip> 171 </v-tooltip>
172 </span> 172 </span>
173 </td> 173 </td>
174 </tr> 174 </tr>
175 </template> 175 </template>
176 <v-alert 176 <v-alert
177 slot="no-results" 177 slot="no-results"
178 :value="true" 178 :value="true"
179 color="error" 179 color="error"
180 icon="warning" 180 icon="warning"
181 >Your search for "{{ search }}" found no results.</v-alert> 181 >Your search for "{{ search }}" found no results.</v-alert>
182 </v-data-table> 182 </v-data-table>
183 183
184 <!-- ****** ADD MULTIPLE NOTIFICATION ****** --> 184 <!-- ****** ADD MULTIPLE NOTIFICATION ****** -->
185 <v-dialog v-model="addNotificationDialog" max-width="480px"> 185 <v-dialog v-model="addNotificationDialog" max-width="480px">
186 <v-card flat class="card-style pa-2" dark> 186 <v-card flat class="card-style pa-2" dark>
187 <v-layout> 187 <v-layout>
188 <v-flex xs12> 188 <v-flex xs12>
189 <label class="title text-xs-center">Add Notification</label> 189 <label class="title text-xs-center">Add Notification</label>
190 <v-icon size="24" class="right" @click="addNotificationDialog = false">cancel</v-icon> 190 <v-icon size="24" class="right" @click="addNotificationDialog = false">cancel</v-icon>
191 </v-flex> 191 </v-flex>
192 </v-layout> 192 </v-layout>
193 <v-form ref="form" v-model="valid" lazy-validation> 193 <v-form ref="form" v-model="valid" lazy-validation>
194 <v-container fluid fill-height> 194 <v-container fluid fill-height>
195 <v-layout align-center wrap> 195 <v-layout align-center wrap>
196 <v-flex xs12> 196 <v-flex xs12>
197 <v-layout> 197 <v-layout>
198 <v-flex xs4 class="pt-4 subheading"> 198 <v-flex xs4 class="pt-4 subheading">
199 <label class="right">Title:</label> 199 <label class="right">Title:</label>
200 </v-flex> 200 </v-flex>
201 <v-flex xs8 sm8 class="ml-3"> 201 <v-flex xs8 sm8 class="ml-3">
202 <v-text-field 202 <v-text-field
203 v-model="addNotification.title" 203 v-model="addNotification.title"
204 placeholder="fill your Title" 204 placeholder="fill your Title"
205 type="text" 205 type="text"
206 :rules="titleRules" 206 :rules="titleRules"
207 required 207 required
208 ></v-text-field> 208 ></v-text-field>
209 </v-flex> 209 </v-flex>
210 </v-layout> 210 </v-layout>
211 </v-flex> 211 </v-flex>
212 <v-flex xs12> 212 <v-flex xs12>
213 <v-layout> 213 <v-layout>
214 <v-flex xs4 class="pt-4 subheading"> 214 <v-flex xs4 class="pt-4 subheading">
215 <label class="right">Description:</label> 215 <label class="right">Description:</label>
216 </v-flex> 216 </v-flex>
217 <v-flex xs8 sm8 class="ml-3"> 217 <v-flex xs8 sm8 class="ml-3">
218 <v-text-field 218 <v-text-field
219 placeholder="fill your Description" 219 placeholder="fill your Description"
220 :rules="descriptionRules" 220 :rules="descriptionRules"
221 v-model="addNotification.description" 221 v-model="addNotification.description"
222 type="text" 222 type="text"
223 required 223 required
224 ></v-text-field> 224 ></v-text-field>
225 </v-flex> 225 </v-flex>
226 </v-layout> 226 </v-layout>
227 </v-flex> 227 </v-flex>
228 <v-layout> 228 <v-layout>
229 <v-flex xs12 sm12> 229 <v-flex xs12 sm12>
230 <v-layout class="hidden-xs-only hidden-sm-only right"> 230 <v-layout class="hidden-xs-only hidden-sm-only right">
231 <v-btn @click="clear" round class="clear-button" dark>Clear</v-btn> 231 <v-btn @click="clear" round class="clear-button" dark>Clear</v-btn>
232 <v-btn @click="submit" round dark :loading="loading" class="add-button">Add</v-btn> 232 <v-btn @click="submit" round dark :loading="loading" class="add-button">Add</v-btn>
233 </v-layout> 233 </v-layout>
234 <v-card-actions class="hidden-md-only hidden-lg-only hidden-xl-only"> 234 <v-card-actions class="hidden-md-only hidden-lg-only hidden-xl-only">
235 <v-spacer></v-spacer> 235 <v-spacer></v-spacer>
236 <v-btn @click="clear" round class="clear-button" dark>Clear</v-btn> 236 <v-btn @click="clear" round class="clear-button" dark>Clear</v-btn>
237 <v-btn @click="submit" round dark :loading="loading" class="add-button">Add</v-btn> 237 <v-btn @click="submit" round dark :loading="loading" class="add-button">Add</v-btn>
238 <v-spacer></v-spacer> 238 <v-spacer></v-spacer>
239 </v-card-actions> 239 </v-card-actions>
240 </v-flex> 240 </v-flex>
241 </v-layout> 241 </v-layout>
242 </v-layout> 242 </v-layout>
243 </v-container> 243 </v-container>
244 </v-form> 244 </v-form>
245 </v-card> 245 </v-card>
246 </v-dialog> 246 </v-dialog>
247 <v-snackbar 247 <v-snackbar
248 :timeout="timeout" 248 :timeout="timeout"
249 :top="y === 'top'" 249 :top="y === 'top'"
250 :right="x === 'right'" 250 :right="x === 'right'"
251 :vertical="mode === 'vertical'" 251 :vertical="mode === 'vertical'"
252 v-model="snackbar" 252 v-model="snackbar"
253 :color="color" 253 :color="color"
254 >{{ text }}</v-snackbar> 254 >{{ text }}</v-snackbar>
255 <div class="loader" v-if="showLoader"> 255 <div class="loader" v-if="showLoader">
256 <v-progress-circular indeterminate color="white"></v-progress-circular> 256 <v-progress-circular indeterminate color="white"></v-progress-circular>
257 </div> 257 </div>
258 </v-container> 258 </v-container>
259 </template> 259 </template>
260 260
261 <script> 261 <script>
262 import http from "@/Services/http.js"; 262 import http from "@/Services/http.js";
263 import Util from "@/util"; 263 import Util from "@/util";
264 264
265 export default { 265 export default {
266 data: () => ({ 266 data: () => ({
267 snackbar: false, 267 snackbar: false,
268 y: "top", 268 y: "top",
269 x: "right", 269 x: "right",
270 mode: "", 270 mode: "",
271 timeout: 3000, 271 timeout: 3000,
272 text: "", 272 text: "",
273 loading: false, 273 loading: false,
274 editLoading: false, 274 editLoading: false,
275 date: null, 275 date: null,
276 search: "", 276 search: "",
277 color: "", 277 color: "",
278 show: true, 278 show: true,
279 showSearch: false, 279 showSearch: false,
280 showLoader: false, 280 showLoader: false,
281 profileNotificationDialog: false, 281 profileNotificationDialog: false,
282 editNotificationDialog: false, 282 editNotificationDialog: false,
283 valid: true, 283 valid: true,
284 addNotificationDialog: false, 284 addNotificationDialog: false,
285 pagination: { 285 pagination: {
286 rowsPerPage: 10 286 rowsPerPage: 10
287 }, 287 },
288 imageData: {}, 288 imageData: {},
289 imageName: "", 289 imageName: "",
290 imageUrl: "", 290 imageUrl: "",
291 imageFile: "", 291 imageFile: "",
292 titleRules: [v => !!v || " Tilte is required"], 292 titleRules: [v => !!v || " Tilte is required"],
293 descriptionRules: [v => !!v || " Description is required"], 293 descriptionRules: [v => !!v || " Description is required"],
294 headers: [ 294 headers: [
295 { 295 {
296 text: "No", 296 text: "No",
297 align: "", 297 align: "",
298 sortable: false, 298 sortable: false,
299 value: "No" 299 value: "No"
300 }, 300 },
301 { text: "Title", value: "title", sortable: false, align: "center" }, 301 { text: "Title", value: "title", sortable: false, align: "center" },
302 { 302 {
303 text: "Description", 303 text: "Description",
304 value: "description", 304 value: "description",
305 sortable: false, 305 sortable: false,
306 align: "center" 306 align: "center"
307 }, 307 },
308 { text: "Action", value: "", sortable: false, align: "center" } 308 { text: "Action", value: "", sortable: false, align: "center" }
309 ], 309 ],
310 notifications: [], 310 notifications: [],
311 editedIndex: -1, 311 editedIndex: -1,
312 addNotification: { 312 addNotification: {
313 title: "", 313 title: "",
314 description: "" 314 description: ""
315 }, 315 },
316 editedItem: { 316 editedItem: {
317 title: "", 317 title: "",
318 description: "" 318 description: ""
319 } 319 }
320 }), 320 }),
321 methods: { 321 methods: {
322 pickFile() { 322 pickFile() {
323 this.$refs.image.click(); 323 this.$refs.image.click();
324 }, 324 },
325 325
326 onFilePicked(e) { 326 onFilePicked(e) {
327 const files = e.target.files; 327 const files = e.target.files;
328 this.imageData.upload = e.target.files[0]; 328 this.imageData.upload = e.target.files[0];
329 if (files[0] !== undefined) { 329 if (files[0] !== undefined) {
330 this.imageName = files[0].name; 330 this.imageName = files[0].name;
331 if (this.imageName.lastIndexOf(".") <= 0) { 331 if (this.imageName.lastIndexOf(".") <= 0) {
332 return; 332 return;
333 } 333 }
334 const fr = new FileReader(); 334 const fr = new FileReader();
335 fr.readAsDataURL(files[0]); 335 fr.readAsDataURL(files[0]);
336 fr.addEventListener("load", () => { 336 fr.addEventListener("load", () => {
337 this.imageUrl = fr.result; 337 this.imageUrl = fr.result;
338 this.imageFile = files[0]; // this is an image file that can be sent to server... 338 this.imageFile = files[0]; // this is an image file that can be sent to server...
339 this.imageData.imageUrl = URL.createObjectURL(this.imageFile); 339 this.imageData.imageUrl = URL.createObjectURL(this.imageFile);
340 }); 340 });
341 } else { 341 } else {
342 this.imageName = ""; 342 this.imageName = "";
343 this.imageFile = ""; 343 this.imageFile = "";
344 this.imageUrl = ""; 344 this.imageUrl = "";
345 } 345 }
346 }, 346 },
347 getNotifications() { 347 getNotifications() {
348 this.showLoader = true; 348 this.showLoader = true;
349 var token = this.$store.state.token; 349 var token = this.$store.state.token;
350 http() 350 http()
351 .get("/getNotificationsList", { 351 .get("/getNotificationsList", {
352 headers: { Authorization: "Bearer " + token } 352 headers: { Authorization: "Bearer " + token }
353 }) 353 })
354 .then(response => { 354 .then(response => {
355 this.notifications = response.data.data; 355 this.notifications = response.data.data;
356 this.showLoader = false; 356 this.showLoader = false;
357 }) 357 })
358 .catch(error => { 358 .catch(error => {
359 this.showLoader = false; 359 this.showLoader = false;
360 if (error.response.status === 401) { 360 if (error.response.status === 401) {
361 this.$router.replace({ path: "/" }); 361 this.$router.replace({ path: "/" });
362 this.$store.dispatch("setToken", null); 362 this.$store.dispatch("setToken", null);
363 this.$store.dispatch("Id", null); 363 this.$store.dispatch("Id", null);
364 } 364 }
365 }); 365 });
366 }, 366 },
367 editItem(item) { 367 editItem(item) {
368 this.editedIndex = this.notifications.indexOf(item); 368 this.editedIndex = this.notifications.indexOf(item);
369 this.editedItem = Object.assign({}, item); 369 this.editedItem = Object.assign({}, item);
370 this.editNotificationDialog = true; 370 this.editNotificationDialog = true;
371 }, 371 },
372 profile(item) { 372 profile(item) {
373 this.editedIndex = this.notifications.indexOf(item); 373 this.editedIndex = this.notifications.indexOf(item);
374 this.editedItem = Object.assign({}, item); 374 this.editedItem = Object.assign({}, item);
375 this.profileNotificationDialog = true; 375 this.profileNotificationDialog = true;
376 }, 376 },
377 377
378 deleteItem(item) { 378 deleteItem(item) {
379 let deleteNotification = { 379 let deleteNotification = {
380 notificationId: item._id 380 notificationId: item._id
381 }; 381 };
382 http() 382 http()
383 .delete( 383 .delete(
384 "/deleteNotification", 384 "/deleteNotification",
385 confirm("Are you sure you want to delete this?") && { 385 confirm("Are you sure you want to delete this?") && {
386 params: deleteNotification 386 params: deleteNotification
387 } 387 }
388 ) 388 )
389 .then(response => { 389 .then(response => {
390 this.snackbar = true; 390 this.snackbar = true;
391 this.text = response.data.message; 391 this.text = response.data.message;
392 this.color = "green"; 392 this.color = "green";
393 this.getNotifications(); 393 this.getNotifications();
394 }) 394 })
395 .catch(error => { 395 .catch(error => {
396 this.snackbar = true; 396 this.snackbar = true;
397 this.text = error.response.data.message; 397 this.text = error.response.data.message;
398 this.color = "error"; 398 this.color = "error";
399 }); 399 });
400 }, 400 },
401 close() { 401 close() {
402 this.editNotificationDialog = false; 402 this.editNotificationDialog = false;
403 }, 403 },
404 closeNotificationDialog() { 404 closeNotificationDialog() {
405 this.profileNotificationDialog = false; 405 this.profileNotificationDialog = false;
406 }, 406 },
407 submit() { 407 submit() {
408 if (this.$refs.form.validate()) { 408 if (this.$refs.form.validate()) {
409 let imageData = new FormData(); 409 let imageData = new FormData();
410 imageData.append("upload", this.imageFile); 410 imageData.append("upload", this.imageFile);
411 let create = { 411 let create = {
412 title: this.addNotification.title, 412 title: this.addNotification.title,
413 description: this.addNotification.description 413 description: this.addNotification.description
414 }; 414 };
415 this.loading = true; 415 this.loading = true;
416 http() 416 http()
417 .post("/createNotification", create) 417 .post("/createNotification", create)
418 .then(response => { 418 .then(response => {
419 this.snackbar = true; 419 this.snackbar = true;
420 this.text = response.data.message; 420 this.text = response.data.message;
421 this.color = "green"; 421 this.color = "green";
422 this.getNotifications(); 422 this.getNotifications();
423 this.addNotificationDialog = false;
423 this.clear(); 424 this.clear();
424 this.loading = false; 425 this.loading = false;
425 }) 426 })
426 .catch(error => { 427 .catch(error => {
427 this.snackbar = true; 428 this.snackbar = true;
428 this.text = error.response.data.message; 429 this.text = error.response.data.message;
429 this.color = "error"; 430 this.color = "error";
430 this.loading = false; 431 this.loading = false;
431 }); 432 });
432 } 433 }
433 }, 434 },
434 clear() { 435 clear() {
435 this.$refs.form.reset(); 436 this.$refs.form.reset();
436 }, 437 },
437 save() { 438 save() {
438 let imageData = new FormData(); 439 let imageData = new FormData();
439 imageData.append("upload", this.imageFile); 440 imageData.append("upload", this.imageFile);
440 let editNotification = { 441 let editNotification = {
441 notificationId: this.editedItem._id, 442 notificationId: this.editedItem._id,
442 title: this.editedItem.title, 443 title: this.editedItem.title,
443 description: this.editedItem.description 444 description: this.editedItem.description
444 }; 445 };
445 this.editLoading = true; 446 this.editLoading = true;
446 http() 447 http()
447 .put("/updateNotification", editNotification) 448 .put("/updateNotification", editNotification)
448 .then(response => { 449 .then(response => {
449 this.snackbar = true; 450 this.snackbar = true;
450 this.text = response.data.message; 451 this.text = response.data.message;
451 this.color = "green"; 452 this.color = "green";
452 this.getNotifications(); 453 this.getNotifications();
453 this.close(); 454 this.close();
454 this.editLoading = false; 455 this.editLoading = false;
455 }) 456 })
456 .catch(error => { 457 .catch(error => {
457 this.editLoading = false; 458 this.editLoading = false;
458 this.snackbar = true; 459 this.snackbar = true;
459 this.color = "error"; 460 this.color = "error";
460 this.text = error.response.data.message; 461 this.text = error.response.data.message;
461 }); 462 });
462 }, 463 },
463 displaySearch() { 464 displaySearch() {
464 (this.show = false), (this.showSearch = true); 465 (this.show = false), (this.showSearch = true);
465 }, 466 },
466 closeSearch() { 467 closeSearch() {
467 this.showSearch = false; 468 this.showSearch = false;
468 this.show = true; 469 this.show = true;
469 this.search = ""; 470 this.search = "";
470 } 471 }
471 }, 472 },
472 mounted() { 473 mounted() {
473 this.getNotifications(); 474 this.getNotifications();
474 } 475 }
475 }; 476 };
476 </script> 477 </script>
src/pages/Parent/parents.vue
1 <template> 1 <template>
2 <v-container fluid class="body-color"> 2 <v-container fluid class="body-color">
3 <v-dialog v-model="editParentDilaog" max-width="600px" scrollable> 3 <v-dialog v-model="editParentDilaog" max-width="600px" scrollable>
4 <v-card flat class="card-style pa-2" dark> 4 <v-card flat class="card-style pa-2" dark>
5 <v-layout> 5 <v-layout>
6 <v-flex xs12> 6 <v-flex xs12>
7 <label class="title text-xs-center">Edit Parents Details</label> 7 <label class="title text-xs-center">Edit Parents Details</label>
8 <v-icon size="24" class="right" @click="editParentDilaog = false">cancel</v-icon> 8 <v-icon size="24" class="right" @click="editParentDilaog = false">cancel</v-icon>
9 </v-flex> 9 </v-flex>
10 </v-layout> 10 </v-layout>
11 <v-card-text class="hidden-xs-only hidden-sm-only"> 11 <v-card-text class="hidden-xs-only hidden-sm-only">
12 <v-form ref="editParentForm" v-model="validEditParent" lazy-validation> 12 <v-form ref="editParentForm" v-model="validEditParent" lazy-validation>
13 <v-flex xs12> 13 <v-flex xs12>
14 <v-layout> 14 <v-layout>
15 <v-flex xs3 sm4 class="pt-4 subheading"> 15 <v-flex xs3 sm4 class="pt-4 subheading">
16 <label class="right">Email ID:</label> 16 <label class="right">Email ID:</label>
17 </v-flex> 17 </v-flex>
18 <v-flex xs8 sm6 class="ml-3"> 18 <v-flex xs8 sm6 class="ml-3">
19 <v-text-field 19 <v-text-field
20 placeholder="fill your email" 20 placeholder="fill your email"
21 v-model="editedItem.email" 21 v-model="editedItem.email"
22 type="text" 22 type="text"
23 name="email" 23 name="email"
24 required 24 required
25 ></v-text-field> 25 ></v-text-field>
26 </v-flex> 26 </v-flex>
27 </v-layout> 27 </v-layout>
28 </v-flex> 28 </v-flex>
29 <v-flex xs12> 29 <v-flex xs12>
30 <v-layout> 30 <v-layout>
31 <v-flex xs3 sm4 class="pt-4 subheading"> 31 <v-flex xs3 sm4 class="pt-4 subheading">
32 <label class="right">Father Name:</label> 32 <label class="right">Father Name:</label>
33 </v-flex> 33 </v-flex>
34 <v-flex xs8 sm6 class="ml-3"> 34 <v-flex xs8 sm6 class="ml-3">
35 <v-text-field 35 <v-text-field
36 v-model="editedItem.fatherName" 36 v-model="editedItem.fatherName"
37 placeholder="fill your father Name" 37 placeholder="fill your father Name"
38 required 38 required
39 ></v-text-field> 39 ></v-text-field>
40 </v-flex> 40 </v-flex>
41 </v-layout> 41 </v-layout>
42 </v-flex> 42 </v-flex>
43 <v-flex xs12> 43 <v-flex xs12>
44 <v-layout> 44 <v-layout>
45 <v-flex xs3 sm4 class="pt-4 subheading"> 45 <v-flex xs3 sm4 class="pt-4 subheading">
46 <label class="right">Father Cell No:</label> 46 <label class="right">Father Cell No:</label>
47 </v-flex> 47 </v-flex>
48 <v-flex xs8 sm6 class="ml-3"> 48 <v-flex xs8 sm6 class="ml-3">
49 <v-text-field 49 <v-text-field
50 v-model="editedItem.fatherCellNo" 50 v-model="editedItem.fatherCellNo"
51 placeholder="fill your father Cell Number" 51 placeholder="fill your father Cell Number"
52 :rules="editFatherNoRule" 52 :rules="editFatherNoRule"
53 type="number" 53 type="number"
54 required 54 required
55 ></v-text-field> 55 ></v-text-field>
56 </v-flex> 56 </v-flex>
57 </v-layout> 57 </v-layout>
58 </v-flex> 58 </v-flex>
59 <v-flex xs12> 59 <v-flex xs12>
60 <v-layout> 60 <v-layout>
61 <v-flex xs3 sm4 class="pt-4 subheading"> 61 <v-flex xs3 sm4 class="pt-4 subheading">
62 <label class="right">Father Profession:</label> 62 <label class="right">Father Profession:</label>
63 </v-flex> 63 </v-flex>
64 <v-flex xs8 sm6 class="ml-3"> 64 <v-flex xs8 sm6 class="ml-3">
65 <v-text-field 65 <v-text-field
66 v-model="editedItem.fatherProfession" 66 v-model="editedItem.fatherProfession"
67 placeholder="fill your father Profession" 67 placeholder="fill your father Profession"
68 required 68 required
69 ></v-text-field> 69 ></v-text-field>
70 </v-flex> 70 </v-flex>
71 </v-layout> 71 </v-layout>
72 </v-flex> 72 </v-flex>
73 <v-flex xs12> 73 <v-flex xs12>
74 <v-layout> 74 <v-layout>
75 <v-flex xs3 sm4 class="pt-4 subheading"> 75 <v-flex xs3 sm4 class="pt-4 subheading">
76 <label class="right">Mother Name:</label> 76 <label class="right">Mother Name:</label>
77 </v-flex> 77 </v-flex>
78 <v-flex xs8 sm6 class="ml-3"> 78 <v-flex xs8 sm6 class="ml-3">
79 <v-text-field 79 <v-text-field
80 v-model="editedItem.motherName" 80 v-model="editedItem.motherName"
81 placeholder="fill your Mother Name" 81 placeholder="fill your Mother Name"
82 type="text" 82 type="text"
83 required 83 required
84 ></v-text-field> 84 ></v-text-field>
85 </v-flex> 85 </v-flex>
86 </v-layout> 86 </v-layout>
87 </v-flex> 87 </v-flex>
88 <v-flex xs12> 88 <v-flex xs12>
89 <v-layout> 89 <v-layout>
90 <v-flex xs3 sm4 class="pt-4 subheading"> 90 <v-flex xs3 sm4 class="pt-4 subheading">
91 <label class="right">Mother Cell No:</label> 91 <label class="right">Mother Cell No:</label>
92 </v-flex> 92 </v-flex>
93 <v-flex xs8 sm6 class="ml-3"> 93 <v-flex xs8 sm6 class="ml-3">
94 <v-text-field 94 <v-text-field
95 v-model="editedItem.motherCellNo" 95 v-model="editedItem.motherCellNo"
96 placeholder="fill your Mother Cell Number" 96 placeholder="fill your Mother Cell Number"
97 type="number" 97 type="number"
98 required 98 required
99 ></v-text-field> 99 ></v-text-field>
100 </v-flex> 100 </v-flex>
101 </v-layout> 101 </v-layout>
102 </v-flex> 102 </v-flex>
103 <v-flex xs12> 103 <v-flex xs12>
104 <v-layout> 104 <v-layout>
105 <v-flex xs3 sm4 class="pt-4 subheading"> 105 <v-flex xs3 sm4 class="pt-4 subheading">
106 <label class="right">Mother Profession:</label> 106 <label class="right">Mother Profession:</label>
107 </v-flex> 107 </v-flex>
108 <v-flex xs8 sm6 class="ml-3"> 108 <v-flex xs8 sm6 class="ml-3">
109 <v-text-field 109 <v-text-field
110 v-model="editedItem.motherProfession" 110 v-model="editedItem.motherProfession"
111 placeholder="fill your Mother Profession" 111 placeholder="fill your Mother Profession"
112 type="text" 112 type="text"
113 required 113 required
114 ></v-text-field> 114 ></v-text-field>
115 </v-flex> 115 </v-flex>
116 </v-layout> 116 </v-layout>
117 <v-layout> 117 <v-layout>
118 <v-flex xs4 class="pt-4 subheading"> 118 <v-flex xs4 class="pt-4 subheading">
119 <label class="right">Password:</label> 119 <label class="right">Password:</label>
120 </v-flex> 120 </v-flex>
121 <v-flex xs8 class="ml-3"> 121 <v-flex xs8 class="ml-3">
122 <v-text-field 122 <v-text-field
123 v-model="editedItem.password" 123 v-model="editedItem.password"
124 placeholder="Enter Password" 124 placeholder="Enter Password"
125 type="text" 125 type="text"
126 required 126 required
127 ></v-text-field> 127 ></v-text-field>
128 </v-flex> 128 </v-flex>
129 </v-layout> 129 </v-layout>
130 </v-flex> 130 </v-flex>
131 <v-layout> 131 <v-layout>
132 <v-flex xs12 sm12> 132 <v-flex xs12 sm12>
133 <v-card-actions> 133 <v-card-actions>
134 <v-spacer></v-spacer> 134 <v-spacer></v-spacer>
135 <v-btn round dark @click="save" class="add-button">Save</v-btn> 135 <v-btn round dark @click="save" class="add-button">Save</v-btn>
136 <v-spacer></v-spacer> 136 <v-spacer></v-spacer>
137 </v-card-actions> 137 </v-card-actions>
138 </v-flex> 138 </v-flex>
139 </v-layout> 139 </v-layout>
140 </v-form> 140 </v-form>
141 </v-card-text> 141 </v-card-text>
142 <v-card-text style="height: 600px;" class="hidden-lg-only hidden-xl-only hidden-md-only"> 142 <v-card-text style="height: 600px;" class="hidden-lg-only hidden-xl-only hidden-md-only">
143 <v-flex xs12> 143 <v-flex xs12>
144 <v-layout wrap> 144 <v-layout wrap>
145 <v-flex xs12 class="pt-4 subheading"> 145 <v-flex xs12 class="pt-4 subheading">
146 <label>Email ID:</label> 146 <label>Email ID:</label>
147 </v-flex> 147 </v-flex>
148 <v-flex xs12> 148 <v-flex xs12>
149 <v-text-field 149 <v-text-field
150 placeholder="fill your email" 150 placeholder="fill your email"
151 v-model="editedItem.email" 151 v-model="editedItem.email"
152 type="text" 152 type="text"
153 name="email" 153 name="email"
154 required 154 required
155 ></v-text-field> 155 ></v-text-field>
156 </v-flex> 156 </v-flex>
157 </v-layout> 157 </v-layout>
158 </v-flex> 158 </v-flex>
159 <v-flex xs12> 159 <v-flex xs12>
160 <v-layout wrap> 160 <v-layout wrap>
161 <v-flex xs12 class="pt-4 subheading"> 161 <v-flex xs12 class="pt-4 subheading">
162 <label>Father Name:</label> 162 <label>Father Name:</label>
163 </v-flex> 163 </v-flex>
164 <v-flex xs12> 164 <v-flex xs12>
165 <v-text-field 165 <v-text-field
166 v-model="editedItem.fatherName" 166 v-model="editedItem.fatherName"
167 placeholder="fill your father Name" 167 placeholder="fill your father Name"
168 required 168 required
169 ></v-text-field> 169 ></v-text-field>
170 </v-flex> 170 </v-flex>
171 </v-layout> 171 </v-layout>
172 </v-flex> 172 </v-flex>
173 <v-flex xs12> 173 <v-flex xs12>
174 <v-layout wrap> 174 <v-layout wrap>
175 <v-flex xs12 class="pt-4 subheading"> 175 <v-flex xs12 class="pt-4 subheading">
176 <label>Father Cell No:</label> 176 <label>Father Cell No:</label>
177 </v-flex> 177 </v-flex>
178 <v-flex xs12> 178 <v-flex xs12>
179 <v-text-field 179 <v-text-field
180 v-model="editedItem.fatherCellNo" 180 v-model="editedItem.fatherCellNo"
181 placeholder="fill your father Cell Number" 181 placeholder="fill your father Cell Number"
182 type="number" 182 type="number"
183 required 183 required
184 ></v-text-field> 184 ></v-text-field>
185 </v-flex> 185 </v-flex>
186 </v-layout> 186 </v-layout>
187 </v-flex> 187 </v-flex>
188 <v-flex xs12> 188 <v-flex xs12>
189 <v-layout wrap> 189 <v-layout wrap>
190 <v-flex xs12 class="pt-4 subheading"> 190 <v-flex xs12 class="pt-4 subheading">
191 <label>Father Profession:</label> 191 <label>Father Profession:</label>
192 </v-flex> 192 </v-flex>
193 <v-flex xs12> 193 <v-flex xs12>
194 <v-text-field 194 <v-text-field
195 v-model="editedItem.fatherProfession" 195 v-model="editedItem.fatherProfession"
196 placeholder="fill your father Profession" 196 placeholder="fill your father Profession"
197 required 197 required
198 ></v-text-field> 198 ></v-text-field>
199 </v-flex> 199 </v-flex>
200 </v-layout> 200 </v-layout>
201 </v-flex> 201 </v-flex>
202 <v-flex xs12> 202 <v-flex xs12>
203 <v-layout wrap> 203 <v-layout wrap>
204 <v-flex xs12 class="pt-4 subheading"> 204 <v-flex xs12 class="pt-4 subheading">
205 <label>Mother Name:</label> 205 <label>Mother Name:</label>
206 </v-flex> 206 </v-flex>
207 <v-flex xs12> 207 <v-flex xs12>
208 <v-text-field 208 <v-text-field
209 v-model="editedItem.motherName" 209 v-model="editedItem.motherName"
210 placeholder="fill your Mother Name" 210 placeholder="fill your Mother Name"
211 type="text" 211 type="text"
212 required 212 required
213 ></v-text-field> 213 ></v-text-field>
214 </v-flex> 214 </v-flex>
215 </v-layout> 215 </v-layout>
216 </v-flex> 216 </v-flex>
217 <v-flex xs12> 217 <v-flex xs12>
218 <v-layout wrap> 218 <v-layout wrap>
219 <v-flex xs12 class="pt-4 subheading"> 219 <v-flex xs12 class="pt-4 subheading">
220 <label>Mother Cell No:</label> 220 <label>Mother Cell No:</label>
221 </v-flex> 221 </v-flex>
222 <v-flex xs12> 222 <v-flex xs12>
223 <v-text-field 223 <v-text-field
224 v-model="editedItem.motherCellNo" 224 v-model="editedItem.motherCellNo"
225 placeholder="fill your Mother Cell Number" 225 placeholder="fill your Mother Cell Number"
226 type="number" 226 type="number"
227 required 227 required
228 ></v-text-field> 228 ></v-text-field>
229 </v-flex> 229 </v-flex>
230 </v-layout> 230 </v-layout>
231 </v-flex> 231 </v-flex>
232 <v-flex xs12> 232 <v-flex xs12>
233 <v-layout wrap> 233 <v-layout wrap>
234 <v-flex xs12 class="pt-4 subheading"> 234 <v-flex xs12 class="pt-4 subheading">
235 <label>Mother Profession:</label> 235 <label>Mother Profession:</label>
236 </v-flex> 236 </v-flex>
237 <v-flex xs12> 237 <v-flex xs12>
238 <v-text-field 238 <v-text-field
239 v-model="editedItem.motherProfession" 239 v-model="editedItem.motherProfession"
240 placeholder="fill your Mother Profession" 240 placeholder="fill your Mother Profession"
241 type="text" 241 type="text"
242 required 242 required
243 ></v-text-field> 243 ></v-text-field>
244 </v-flex> 244 </v-flex>
245 <v-flex xs12 class="pt-4 subheading"> 245 <v-flex xs12 class="pt-4 subheading">
246 <label>Password:</label> 246 <label>Password:</label>
247 </v-flex> 247 </v-flex>
248 <v-flex xs12> 248 <v-flex xs12>
249 <v-text-field 249 <v-text-field
250 v-model="editedItem.password" 250 v-model="editedItem.password"
251 placeholder="Enter Password" 251 placeholder="Enter Password"
252 type="text" 252 type="text"
253 required 253 required
254 ></v-text-field> 254 ></v-text-field>
255 </v-flex> 255 </v-flex>
256 </v-layout> 256 </v-layout>
257 </v-flex> 257 </v-flex>
258 <v-layout> 258 <v-layout>
259 <v-flex xs12 sm12> 259 <v-flex xs12 sm12>
260 <v-card-actions> 260 <v-card-actions>
261 <v-spacer></v-spacer> 261 <v-spacer></v-spacer>
262 <v-btn round dark @click="save" class="add-button">Save</v-btn> 262 <v-btn round dark @click="save" class="add-button">Save</v-btn>
263 <v-spacer></v-spacer> 263 <v-spacer></v-spacer>
264 </v-card-actions> 264 </v-card-actions>
265 </v-flex> 265 </v-flex>
266 </v-layout> 266 </v-layout>
267 </v-card-text> 267 </v-card-text>
268 </v-card> 268 </v-card>
269 </v-dialog> 269 </v-dialog>
270 270
271 <!-- ****** RESET Parents MPIN ****** --> 271 <!-- ****** RESET Parents MPIN ****** -->
272 <v-dialog v-model="resetParentMpin" max-width="500px" scrollable> 272 <v-dialog v-model="resetParentMpin" max-width="500px" scrollable>
273 <v-card class="card-style pa-2" dark> 273 <v-card class="card-style pa-2" dark>
274 <v-layout> 274 <v-layout>
275 <v-flex xs12> 275 <v-flex xs12>
276 <label class="title text-xs-center">Reset Mpin</label> 276 <label class="title text-xs-center">Reset Mpin</label>
277 <v-icon size="24" class="right" @click="resetParentMpin = false">cancel</v-icon> 277 <v-icon size="24" class="right" @click="resetParentMpin = false">cancel</v-icon>
278 </v-flex> 278 </v-flex>
279 </v-layout> 279 </v-layout>
280 <v-card-text class="hidden-xs-only hidden-sm-only"> 280 <v-card-text class="hidden-xs-only hidden-sm-only">
281 <v-form ref="resetParentMpinForm" v-model="validParentMpin" lazy-validation> 281 <v-form ref="resetParentMpinForm" v-model="validParentMpin" lazy-validation>
282 <v-flex xs12> 282 <v-flex xs12>
283 <v-layout> 283 <v-layout>
284 <v-flex xs3 sm4 class="pt-4 subheading"> 284 <v-flex xs3 sm4 class="pt-4 subheading">
285 <label class="right">Change Mpin:</label> 285 <label class="right">Change Mpin:</label>
286 </v-flex> 286 </v-flex>
287 <v-flex xs8 sm6 class="ml-3"> 287 <v-flex xs8 sm6 class="ml-3">
288 <v-text-field 288 <v-text-field
289 placeholder="change mpin" 289 placeholder="change mpin"
290 :rules="mPinRules" 290 :rules="mPinRules"
291 v-model="editMpin.mPin" 291 v-model="editMpin.mPin"
292 type="number" 292 type="number"
293 counter="4" 293 counter="4"
294 required 294 required
295 ></v-text-field> 295 ></v-text-field>
296 </v-flex> 296 </v-flex>
297 </v-layout> 297 </v-layout>
298 </v-flex> 298 </v-flex>
299 </v-form> 299 </v-form>
300 <v-layout> 300 <v-layout>
301 <v-flex xs12 sm12> 301 <v-flex xs12 sm12>
302 <v-card-actions> 302 <v-card-actions>
303 <v-spacer></v-spacer> 303 <v-spacer></v-spacer>
304 <v-btn round dark @click="resetMpin" class="add-button">Reset</v-btn> 304 <v-btn round dark @click="resetMpin" class="add-button">Reset</v-btn>
305 <v-spacer></v-spacer> 305 <v-spacer></v-spacer>
306 </v-card-actions> 306 </v-card-actions>
307 </v-flex> 307 </v-flex>
308 </v-layout> 308 </v-layout>
309 </v-card-text> 309 </v-card-text>
310 </v-card> 310 </v-card>
311 </v-dialog> 311 </v-dialog>
312 312
313 <!-- ****** PROFILE VIEW Parents DEATILS ****** --> 313 <!-- ****** PROFILE VIEW Parents DEATILS ****** -->
314 314
315 <v-dialog v-model="profileParentDialog" max-width="500px" scrollable> 315 <v-dialog v-model="profileParentDialog" max-width="500px" scrollable>
316 <v-card class="card-style pa-2" dark> 316 <v-card class="card-style pa-2" dark>
317 <v-layout> 317 <v-layout>
318 <v-flex xs12> 318 <v-flex xs12>
319 <label class="title text-xs-center">View Parent Details</label> 319 <label class="title text-xs-center">View Parent Details</label>
320 <v-icon size="24" class="right" @click="profileParentDialog = false">cancel</v-icon> 320 <v-icon size="24" class="right" @click="profileParentDialog = false">cancel</v-icon>
321 </v-flex> 321 </v-flex>
322 </v-layout> 322 </v-layout>
323 <v-flex align-center justify-center layout text-xs-center class="mt-3"> 323 <v-flex align-center justify-center layout text-xs-center class="mt-3">
324 <v-avatar size="100px"> 324 <v-avatar size="100px">
325 <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> 325 <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" />
326 <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> 326 <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" />
327 </v-avatar> 327 </v-avatar>
328 </v-flex> 328 </v-flex>
329 <v-container grid-list-md> 329 <v-container grid-list-md>
330 <v-layout wrap> 330 <v-layout wrap>
331 <v-flex xs12> 331 <v-flex xs12>
332 <v-layout> 332 <v-layout>
333 <v-flex xs12 sm12> 333 <v-flex xs12 sm12>
334 <v-layout> 334 <v-layout>
335 <v-flex xs6> 335 <v-flex xs6>
336 <h5 class="right my-1"> 336 <h5 class="right my-1">
337 <b>Email:</b> 337 <b>Email:</b>
338 </h5> 338 </h5>
339 </v-flex> 339 </v-flex>
340 <v-flex xs6> 340 <v-flex xs6>
341 <h5 class="my-1">{{ editedItem.email }}</h5> 341 <h5 class="my-1">{{ editedItem.email }}</h5>
342 </v-flex> 342 </v-flex>
343 </v-layout> 343 </v-layout>
344 </v-flex> 344 </v-flex>
345 </v-layout> 345 </v-layout>
346 <v-layout> 346 <v-layout>
347 <v-flex xs12> 347 <v-flex xs12>
348 <v-layout> 348 <v-layout>
349 <v-flex xs6> 349 <v-flex xs6>
350 <b> 350 <b>
351 <h5 class="right my-1"> 351 <h5 class="right my-1">
352 <b>Fahter Name:</b> 352 <b>Fahter Name:</b>
353 </h5> 353 </h5>
354 </b> 354 </b>
355 </v-flex> 355 </v-flex>
356 <v-flex xs6> 356 <v-flex xs6>
357 <h5 class="my-1">{{ editedItem.fatherName }}</h5> 357 <h5 class="my-1">{{ editedItem.fatherName }}</h5>
358 </v-flex> 358 </v-flex>
359 </v-layout> 359 </v-layout>
360 </v-flex> 360 </v-flex>
361 </v-layout> 361 </v-layout>
362 <v-layout> 362 <v-layout>
363 <v-flex xs12> 363 <v-flex xs12>
364 <v-layout> 364 <v-layout>
365 <v-flex xs6> 365 <v-flex xs6>
366 <b> 366 <b>
367 <h5 class="right my-1"> 367 <h5 class="right my-1">
368 <b>Mother Name:</b> 368 <b>Mother Name:</b>
369 </h5> 369 </h5>
370 </b> 370 </b>
371 </v-flex> 371 </v-flex>
372 <v-flex xs6> 372 <v-flex xs6>
373 <h5 class="my-1">{{ editedItem.motherName }}</h5> 373 <h5 class="my-1">{{ editedItem.motherName }}</h5>
374 </v-flex> 374 </v-flex>
375 </v-layout> 375 </v-layout>
376 </v-flex> 376 </v-flex>
377 </v-layout> 377 </v-layout>
378 <v-layout> 378 <v-layout>
379 <v-flex xs12> 379 <v-flex xs12>
380 <v-layout> 380 <v-layout>
381 <v-flex sm6 xs6> 381 <v-flex sm6 xs6>
382 <b> 382 <b>
383 <h5 class="right my-1"> 383 <h5 class="right my-1">
384 <b>Father Cell No:</b> 384 <b>Father Cell No:</b>
385 </h5> 385 </h5>
386 </b> 386 </b>
387 </v-flex> 387 </v-flex>
388 <v-flex sm6 xs6> 388 <v-flex sm6 xs6>
389 <h5 class="my-1">{{ editedItem.fatherCellNo }}</h5> 389 <h5 class="my-1">{{ editedItem.fatherCellNo }}</h5>
390 </v-flex> 390 </v-flex>
391 </v-layout> 391 </v-layout>
392 </v-flex> 392 </v-flex>
393 </v-layout> 393 </v-layout>
394 <v-layout> 394 <v-layout>
395 <v-flex xs12> 395 <v-flex xs12>
396 <v-layout> 396 <v-layout>
397 <v-flex xs6> 397 <v-flex xs6>
398 <b> 398 <b>
399 <h5 class="right my-1"> 399 <h5 class="right my-1">
400 <b>Mother Cell No:</b> 400 <b>Mother Cell No:</b>
401 </h5> 401 </h5>
402 </b> 402 </b>
403 </v-flex> 403 </v-flex>
404 <v-flex xs6> 404 <v-flex xs6>
405 <h5 class="my-1">{{ editedItem.motherCellNo }}</h5> 405 <h5 class="my-1">{{ editedItem.motherCellNo }}</h5>
406 </v-flex> 406 </v-flex>
407 </v-layout> 407 </v-layout>
408 </v-flex> 408 </v-flex>
409 </v-layout> 409 </v-layout>
410 <v-layout> 410 <v-layout>
411 <v-flex xs12> 411 <v-flex xs12>
412 <v-layout> 412 <v-layout>
413 <v-flex xs6> 413 <v-flex xs6>
414 <b> 414 <b>
415 <h5 class="right my-1 hidden-lg-only hidden-xl-only hidden-md-only"> 415 <h5 class="right my-1 hidden-lg-only hidden-xl-only hidden-md-only">
416 <b>FatherProfession:</b> 416 <b>FatherProfession:</b>
417 </h5> 417 </h5>
418 <h5 class="right my-1 hidden-sm-only hidden-xs-only"> 418 <h5 class="right my-1 hidden-sm-only hidden-xs-only">
419 <b>Father Profession:</b> 419 <b>Father Profession:</b>
420 </h5> 420 </h5>
421 </b> 421 </b>
422 </v-flex> 422 </v-flex>
423 <v-flex xs6> 423 <v-flex xs6>
424 <h5 class="my-1">{{ editedItem.fatherProfession }}</h5> 424 <h5 class="my-1">{{ editedItem.fatherProfession }}</h5>
425 </v-flex> 425 </v-flex>
426 </v-layout> 426 </v-layout>
427 </v-flex> 427 </v-flex>
428 </v-layout> 428 </v-layout>
429 <v-layout> 429 <v-layout>
430 <v-flex xs12> 430 <v-flex xs12>
431 <v-layout> 431 <v-layout>
432 <v-flex xs6> 432 <v-flex xs6>
433 <b> 433 <b>
434 <h5 class="right my-1 hidden-lg-only hidden-xl-only hidden-md-only"> 434 <h5 class="right my-1 hidden-lg-only hidden-xl-only hidden-md-only">
435 <b>MotherProfession:</b> 435 <b>MotherProfession:</b>
436 </h5> 436 </h5>
437 <h5 class="right my-1 hidden-sm-only hidden-xs-only"> 437 <h5 class="right my-1 hidden-sm-only hidden-xs-only">
438 <b>Mother Profession:</b> 438 <b>Mother Profession:</b>
439 </h5> 439 </h5>
440 </b> 440 </b>
441 </v-flex> 441 </v-flex>
442 <v-flex xs6> 442 <v-flex xs6>
443 <h5 class="my-1">{{ editedItem.motherProfession }}</h5> 443 <h5 class="my-1">{{ editedItem.motherProfession }}</h5>
444 </v-flex> 444 </v-flex>
445 </v-layout> 445 </v-layout>
446 <!-- <v-layout> 446 <!-- <v-layout>
447 <v-flex xs6> 447 <v-flex xs6>
448 <b> 448 <b>
449 <h5 class="right my-1 hidden-lg-only hidden-xl-only hidden-md-only"> 449 <h5 class="right my-1 hidden-lg-only hidden-xl-only hidden-md-only">
450 <b>Password:</b> 450 <b>Password:</b>
451 </h5> 451 </h5>
452 <h5 class="right my-1 hidden-sm-only hidden-xs-only"> 452 <h5 class="right my-1 hidden-sm-only hidden-xs-only">
453 <b>Password:</b> 453 <b>Password:</b>
454 </h5> 454 </h5>
455 </b> 455 </b>
456 </v-flex> 456 </v-flex>
457 <v-flex xs6> 457 <v-flex xs6>
458 <h5 class="my-1">{{ editedItem.password }}</h5> 458 <h5 class="my-1">{{ editedItem.password }}</h5>
459 </v-flex> 459 </v-flex>
460 </v-layout>--> 460 </v-layout>-->
461 </v-flex> 461 </v-flex>
462 </v-layout> 462 </v-layout>
463 </v-flex> 463 </v-flex>
464 </v-layout> 464 </v-layout>
465 </v-container> 465 </v-container>
466 </v-card> 466 </v-card>
467 </v-dialog> 467 </v-dialog>
468 <!-- ****** EXISTING-USERS Parents TABLE ****** --> 468 <!-- ****** EXISTING-USERS Parents TABLE ****** -->
469 <v-toolbar color="transparent" flat> 469 <v-toolbar color="transparent" flat>
470 <v-btn 470 <v-btn
471 fab 471 fab
472 dark 472 dark
473 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only" 473 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
474 small 474 small
475 @click="addParentDialog = true" 475 @click="addParentDialog = true"
476 > 476 >
477 <v-icon dark>add</v-icon> 477 <v-icon dark>add</v-icon>
478 </v-btn> 478 </v-btn>
479 <v-btn 479 <v-btn
480 v-if="role != 'TEACHER' " 480 v-if="role != 'TEACHER' "
481 round 481 round
482 class="open-dialog-button hidden-sm-only hidden-xs-only" 482 class="open-dialog-button hidden-sm-only hidden-xs-only"
483 dark 483 dark
484 @click="addParentDialog = true" 484 @click="addParentDialog = true"
485 > 485 >
486 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Parent 486 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Parent
487 </v-btn> 487 </v-btn>
488 <v-spacer></v-spacer> 488 <v-spacer></v-spacer>
489 <v-card-title class="body-1" v-show="show"> 489 <v-card-title class="body-1" v-show="show">
490 <v-btn icon large flat @click="displaySearch"> 490 <v-btn icon large flat @click="displaySearch">
491 <v-avatar size="27"> 491 <v-avatar size="27">
492 <img src="/static/icon/search.png" alt="icon" /> 492 <img src="/static/icon/search.png" alt="icon" />
493 </v-avatar> 493 </v-avatar>
494 </v-btn> 494 </v-btn>
495 </v-card-title> 495 </v-card-title>
496 <v-flex xs8 sm8 md2 lg2 v-show="showSearch"> 496 <v-flex xs8 sm8 md2 lg2 v-show="showSearch">
497 <v-layout> 497 <v-layout>
498 <v-text-field 498 <v-text-field
499 v-model="search" 499 v-model="search"
500 label="Search" 500 label="Search"
501 prepend-inner-icon="search" 501 prepend-inner-icon="search"
502 color="primary" 502 color="primary"
503 style="transition: 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); !important" 503 style="transition: 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); !important"
504 ></v-text-field> 504 ></v-text-field>
505 <v-icon @click="closeSearch" color="error">close</v-icon> 505 <v-icon @click="closeSearch" color="error">close</v-icon>
506 </v-layout> 506 </v-layout>
507 </v-flex> 507 </v-flex>
508 </v-toolbar> 508 </v-toolbar>
509 <v-data-table 509 <v-data-table
510 :headers="headers" 510 :headers="headers"
511 :items="parentsList" 511 :items="parentsList"
512 :pagination.sync="pagination" 512 :pagination.sync="pagination"
513 :search="search" 513 :search="search"
514 > 514 >
515 <template slot="items" slot-scope="props"> 515 <template slot="items" slot-scope="props">
516 <tr class="tr"> 516 <tr class="tr">
517 <td class="text-xs-center td td-row">{{ props.index + 1}}</td> 517 <td class="text-xs-center td td-row">{{ props.index + 1}}</td>
518 <td class="text-xs-center td td-row">{{ props.item.email }}</td> 518 <td class="text-xs-center td td-row">{{ props.item.email }}</td>
519 <td class="text-xs-center td td-row">{{ props.item.fatherName }}</td> 519 <td class="text-xs-center td td-row">{{ props.item.fatherName }}</td>
520 <td class="text-xs-center td td-row">{{ props.item.fatherCellNo }}</td> 520 <td class="text-xs-center td td-row">{{ props.item.fatherCellNo }}</td>
521 <td class="text-xs-center td td-row">{{ props.item.motherName }}</td> 521 <td class="text-xs-center td td-row">{{ props.item.motherName }}</td>
522 <td class="text-xs-center td td-row">{{ props.item.motherCellNo }}</td> 522 <td class="text-xs-center td td-row">{{ props.item.motherCellNo }}</td>
523 <td class="text-xs-center td td-row"> 523 <td class="text-xs-center td td-row">
524 <span> 524 <span>
525 <v-tooltip top> 525 <v-tooltip top>
526 <img 526 <img
527 slot="activator" 527 slot="activator"
528 style="cursor:pointer; width:25px; height:25px; " 528 style="cursor:pointer; width:25px; height:25px; "
529 class="mr-3" 529 class="mr-3"
530 @click="profile(props.item)" 530 @click="profile(props.item)"
531 src="/static/icon/view.png" 531 src="/static/icon/view.png"
532 /> 532 />
533 <span>View</span> 533 <span>View</span>
534 </v-tooltip> 534 </v-tooltip>
535 <v-tooltip top v-if="role != 'TEACHER' "> 535 <v-tooltip top v-if="role != 'TEACHER' ">
536 <img 536 <img
537 slot="activator" 537 slot="activator"
538 style="cursor:pointer; width:20px; height:18px; " 538 style="cursor:pointer; width:20px; height:18px; "
539 @click="editItem(props.item)" 539 @click="editItem(props.item)"
540 src="/static/icon/edit.png" 540 src="/static/icon/edit.png"
541 class="mr-3" 541 class="mr-3"
542 /> 542 />
543 <span>Edit</span> 543 <span>Edit</span>
544 </v-tooltip> 544 </v-tooltip>
545 <span> 545 <span>
546 <i class="material-icons md-18" 546 <i class="material-icons md-18"
547 style="cursor:pointer; width:20px; height:18px;" 547 style="cursor:pointer; width:20px; height:18px;"
548 @click="resetParentMPIN(props.item)" 548 @click="resetParentMPIN(props.item)"
549 >vpn_key</i> 549 >vpn_key</i>
550 </span> 550 </span>
551 </span> 551 </span>
552 </td> 552 </td>
553 </tr> 553 </tr>
554 </template> 554 </template>
555 <v-alert 555 <v-alert
556 slot="no-results" 556 slot="no-results"
557 :value="true" 557 :value="true"
558 color="error" 558 color="error"
559 icon="warning" 559 icon="warning"
560 >Your search for "{{ search }}" found no results.</v-alert> 560 >Your search for "{{ search }}" found no results.</v-alert>
561 </v-data-table> 561 </v-data-table>
562 562
563 <!-- ****** ADD PARENTS DETAILS****** --> 563 <!-- ****** ADD PARENTS DETAILS****** -->
564 <v-dialog v-model="addParentDialog" max-width="1100px"> 564 <v-dialog v-model="addParentDialog" max-width="1100px">
565 <v-card flat class="card-style pa-2" dark> 565 <v-card flat class="card-style pa-2" dark>
566 <v-layout> 566 <v-layout>
567 <v-flex xs12> 567 <v-flex xs12>
568 <label class="title text-xs-center">Add Parent</label> 568 <label class="title text-xs-center">Add Parent</label>
569 <v-icon size="24" class="right" @click="addParentDialog = false">cancel</v-icon> 569 <v-icon size="24" class="right" @click="addParentDialog = false">cancel</v-icon>
570 </v-flex> 570 </v-flex>
571 </v-layout> 571 </v-layout>
572 <v-container fluid fill-height> 572 <v-container fluid fill-height>
573 <v-layout align-center> 573 <v-layout align-center>
574 <v-flex xs12 sm12> 574 <v-flex xs12 sm12>
575 <v-form ref="parentForm" v-model="valid" lazy-validation> 575 <v-form ref="parentForm" v-model="valid" lazy-validation>
576 <v-container fluid class="hidden-xs-only hidden-sm-only"> 576 <v-container fluid class="hidden-xs-only hidden-sm-only">
577 <v-layout> 577 <v-layout>
578 <v-flex xs12 sm6> 578 <v-flex xs12 sm6>
579 <v-layout> 579 <v-layout>
580 <v-flex xs4 class="pt-4 subheading"> 580 <v-flex xs4 class="pt-4 subheading">
581 <label class="right">Father Cell No:</label> 581 <label class="right">Father Cell No:</label>
582 </v-flex> 582 </v-flex>
583 <v-flex xs8 class="ml-3"> 583 <v-flex xs8 class="ml-3">
584 <v-text-field 584 <v-text-field
585 v-model="parentData.fatherCellNo" 585 v-model="parentData.fatherCellNo"
586 placeholder="fill your father Cell Number" 586 placeholder="fill your father Cell Number"
587 type="number" 587 type="number"
588 :rules="fatheCellNoRules" 588 :rules="fatheCellNoRules"
589 counter="10" 589 counter="10"
590 required 590 required
591 ></v-text-field> 591 ></v-text-field>
592 </v-flex> 592 </v-flex>
593 </v-layout> 593 </v-layout>
594 </v-flex> 594 </v-flex>
595 <v-flex xs12 sm6> 595 <v-flex xs12 sm6>
596 <v-layout> 596 <v-layout>
597 <v-flex xs4 class="pt-4 subheading"> 597 <v-flex xs4 class="pt-4 subheading">
598 <label class="right">Parent Email Id:</label> 598 <label class="right">Parent Email Id:</label>
599 </v-flex> 599 </v-flex>
600 <v-flex xs8 class="ml-3"> 600 <v-flex xs8 class="ml-3">
601 <v-text-field 601 <v-text-field
602 placeholder="fill Parent email" 602 placeholder="fill Parent email"
603 v-model="parentData.email" 603 v-model="parentData.email"
604 type="text" 604 type="text"
605 required 605 required
606 ></v-text-field> 606 ></v-text-field>
607 </v-flex> 607 </v-flex>
608 </v-layout> 608 </v-layout>
609 </v-flex> 609 </v-flex>
610 </v-layout> 610 </v-layout>
611 <v-layout> 611 <v-layout>
612 <v-flex xs12 sm6> 612 <v-flex xs12 sm6>
613 <v-layout> 613 <v-layout>
614 <v-flex xs4 class="pt-4 subheading"> 614 <v-flex xs4 class="pt-4 subheading">
615 <label class="right">Father Name:</label> 615 <label class="right">Father Name:</label>
616 </v-flex> 616 </v-flex>
617 <v-flex xs8 class="ml-3"> 617 <v-flex xs8 class="ml-3">
618 <v-text-field 618 <v-text-field
619 v-model="parentData.fatherName" 619 v-model="parentData.fatherName"
620 placeholder="Fill your father Name" 620 placeholder="Fill your father Name"
621 required 621 required
622 ></v-text-field> 622 ></v-text-field>
623 </v-flex> 623 </v-flex>
624 </v-layout> 624 </v-layout>
625 </v-flex> 625 </v-flex>
626 <v-flex xs12 sm6> 626 <v-flex xs12 sm6>
627 <v-layout> 627 <v-layout>
628 <v-flex xs4 class="pt-4 subheading"> 628 <v-flex xs4 class="pt-4 subheading">
629 <label class="right">Father Profession:</label> 629 <label class="right">Father Profession:</label>
630 </v-flex> 630 </v-flex>
631 <v-flex xs8 class="ml-3"> 631 <v-flex xs8 class="ml-3">
632 <v-text-field 632 <v-text-field
633 v-model="parentData.fatherProfession" 633 v-model="parentData.fatherProfession"
634 placeholder="fill your father Profession" 634 placeholder="fill your father Profession"
635 required 635 required
636 ></v-text-field> 636 ></v-text-field>
637 </v-flex> 637 </v-flex>
638 </v-layout> 638 </v-layout>
639 </v-flex> 639 </v-flex>
640 </v-layout> 640 </v-layout>
641 <v-layout> 641 <v-layout>
642 <v-flex xs12 sm6> 642 <v-flex xs12 sm6>
643 <v-layout> 643 <v-layout>
644 <v-flex xs4 class="pt-4 subheading"> 644 <v-flex xs4 class="pt-4 subheading">
645 <label class="right">Mother Name:</label> 645 <label class="right">Mother Name:</label>
646 </v-flex> 646 </v-flex>
647 <v-flex xs8 class="ml-3"> 647 <v-flex xs8 class="ml-3">
648 <v-text-field 648 <v-text-field
649 v-model="parentData.motherName" 649 v-model="parentData.motherName"
650 placeholder="fill your Mother Name" 650 placeholder="fill your Mother Name"
651 type="text" 651 type="text"
652 required 652 required
653 ></v-text-field> 653 ></v-text-field>
654 </v-flex> 654 </v-flex>
655 </v-layout> 655 </v-layout>
656 </v-flex> 656 </v-flex>
657 <v-flex xs12 sm6> 657 <v-flex xs12 sm6>
658 <v-layout> 658 <v-layout>
659 <v-flex xs4 class="pt-4 subheading"> 659 <v-flex xs4 class="pt-4 subheading">
660 <label class="right">Mother Cell No:</label> 660 <label class="right">Mother Cell No:</label>
661 </v-flex> 661 </v-flex>
662 <v-flex xs8 class="ml-3"> 662 <v-flex xs8 class="ml-3">
663 <v-text-field 663 <v-text-field
664 v-model="parentData.motherCellNo" 664 v-model="parentData.motherCellNo"
665 placeholder="fill your Mother Cell Number" 665 placeholder="fill your Mother Cell Number"
666 counter="10" 666 counter="10"
667 type="number" 667 type="number"
668 required 668 required
669 ></v-text-field> 669 ></v-text-field>
670 </v-flex> 670 </v-flex>
671 </v-layout> 671 </v-layout>
672 </v-flex> 672 </v-flex>
673 </v-layout> 673 </v-layout>
674 <v-layout> 674 <v-layout>
675 <v-flex xs12 sm6> 675 <v-flex xs12 sm6>
676 <v-layout> 676 <v-layout>
677 <v-flex xs4 class="pt-4 subheading"> 677 <v-flex xs4 class="pt-4 subheading">
678 <label class="right">Mother Profession:</label> 678 <label class="right">Mother Profession:</label>
679 </v-flex> 679 </v-flex>
680 <v-flex xs8 class="ml-3"> 680 <v-flex xs8 class="ml-3">
681 <v-text-field 681 <v-text-field
682 v-model="parentData.motherProfession" 682 v-model="parentData.motherProfession"
683 placeholder="fill your Mother Profession" 683 placeholder="fill your Mother Profession"
684 type="text" 684 type="text"
685 required 685 required
686 ></v-text-field> 686 ></v-text-field>
687 </v-flex> 687 </v-flex>
688 </v-layout> 688 </v-layout>
689 </v-flex> 689 </v-flex>
690 <v-flex xs12 sm6> 690 <v-flex xs12 sm6>
691 <v-layout> 691 <v-layout>
692 <v-flex xs4 class="pt-4 subheading"> 692 <v-flex xs4 class="pt-4 subheading">
693 <label class="right">Password:</label> 693 <label class="right">Password:</label>
694 </v-flex> 694 </v-flex>
695 <v-flex xs8 class="ml-3"> 695 <v-flex xs8 class="ml-3">
696 <v-text-field 696 <v-text-field
697 v-model="parentData.password" 697 v-model="parentData.password"
698 :append-icon="e1 ? 'visibility_off' : 'visibility'" 698 :append-icon="e1 ? 'visibility_off' : 'visibility'"
699 :append-icon-cb="() => (e1 = !e1)" 699 :append-icon-cb="() => (e1 = !e1)"
700 :type="e1 ? 'password' : 'text'" 700 :type="e1 ? 'password' : 'text'"
701 :rules="password" 701 :rules="password"
702 placeholder="Enter Your Password" 702 placeholder="Enter Your Password"
703 :disabled="isFatherCellExists"
703 required 704 required
704 ></v-text-field> 705 ></v-text-field>
705 </v-flex> 706 </v-flex>
706 </v-layout> 707 </v-layout>
707 </v-flex> 708 </v-flex>
708 </v-layout> 709 </v-layout>
709 <v-flex xs12 sm12> 710 <v-flex xs12 sm12>
710 <v-layout> 711 <v-layout>
711 <v-flex xs12 sm12> 712 <v-flex xs12 sm12>
712 <v-btn 713 <v-btn
713 class="right add-button" 714 class="right add-button"
714 @click="submitParentDetails" 715 @click="submitParentDetails"
715 round 716 round
716 dark 717 dark
717 :loading="loading" 718 :loading="loading"
718 v-show="showParent" 719 v-show="showParent"
719 >Add</v-btn> 720 >Add</v-btn>
720 <v-btn @click="clear" round dark class="clear-button right">Clear</v-btn> 721 <v-btn @click="clear" round dark class="clear-button right">Clear</v-btn>
721 </v-flex> 722 </v-flex>
722 </v-layout> 723 </v-layout>
723 </v-flex> 724 </v-flex>
724 </v-container> 725 </v-container>
725 <v-container fluid class="hidden-lg-only hidden-xl-only hidden-md-only"> 726 <v-container fluid class="hidden-lg-only hidden-xl-only hidden-md-only">
726 <v-layout wrap> 727 <v-layout wrap>
727 <v-flex xs12 sm6> 728 <v-flex xs12 sm6>
728 <v-layout wrap> 729 <v-layout wrap>
729 <v-flex xs12 class="pt-4 subheading"> 730 <v-flex xs12 class="pt-4 subheading">
730 <label>Father Cell No:</label> 731 <label>Father Cell No:</label>
731 </v-flex> 732 </v-flex>
732 <v-flex xs12> 733 <v-flex xs12>
733 <v-text-field 734 <v-text-field
734 v-model="parentData.fatherCellNo" 735 v-model="parentData.fatherCellNo"
735 :rules="fatheCellNoRules" 736 :rules="fatheCellNoRules"
736 counter="10" 737 counter="10"
737 placeholder="fill your father Cell Number" 738 placeholder="fill your father Cell Number"
738 type="number" 739 type="number"
739 required 740 required
740 ></v-text-field> 741 ></v-text-field>
741 </v-flex> 742 </v-flex>
742 </v-layout> 743 </v-layout>
743 </v-flex> 744 </v-flex>
744 <v-flex xs12 sm6> 745 <v-flex xs12 sm6>
745 <v-layout wrap> 746 <v-layout wrap>
746 <v-flex xs12 class="pt-4 subheading"> 747 <v-flex xs12 class="pt-4 subheading">
747 <label>Parent Email Id:</label> 748 <label>Parent Email Id:</label>
748 </v-flex> 749 </v-flex>
749 <v-flex xs12> 750 <v-flex xs12>
750 <v-text-field 751 <v-text-field
751 placeholder="fill Parent email" 752 placeholder="fill Parent email"
752 v-model="parentData.email" 753 v-model="parentData.email"
753 type="text" 754 type="text"
754 required 755 required
755 ></v-text-field> 756 ></v-text-field>
756 </v-flex> 757 </v-flex>
757 </v-layout> 758 </v-layout>
758 </v-flex> 759 </v-flex>
759 </v-layout> 760 </v-layout>
760 <v-layout wrap> 761 <v-layout wrap>
761 <v-flex xs12 sm6> 762 <v-flex xs12 sm6>
762 <v-layout wrap> 763 <v-layout wrap>
763 <v-flex xs12 class="pt-4 subheading"> 764 <v-flex xs12 class="pt-4 subheading">
764 <label>Father Name:</label> 765 <label>Father Name:</label>
765 </v-flex> 766 </v-flex>
766 <v-flex xs12> 767 <v-flex xs12>
767 <v-text-field 768 <v-text-field
768 v-model="parentData.fatherName" 769 v-model="parentData.fatherName"
769 placeholder="Fill your father Name" 770 placeholder="Fill your father Name"
770 required 771 required
771 ></v-text-field> 772 ></v-text-field>
772 </v-flex> 773 </v-flex>
773 </v-layout> 774 </v-layout>
774 </v-flex> 775 </v-flex>
775 <v-flex xs12 sm6> 776 <v-flex xs12 sm6>
776 <v-layout wrap> 777 <v-layout wrap>
777 <v-flex xs12 class="pt-4 subheading"> 778 <v-flex xs12 class="pt-4 subheading">
778 <label>Father Profession:</label> 779 <label>Father Profession:</label>
779 </v-flex> 780 </v-flex>
780 <v-flex xs12> 781 <v-flex xs12>
781 <v-text-field 782 <v-text-field
782 v-model="parentData.fatherProfession" 783 v-model="parentData.fatherProfession"
783 placeholder="fill your father Profession" 784 placeholder="fill your father Profession"
784 required 785 required
785 ></v-text-field> 786 ></v-text-field>
786 </v-flex> 787 </v-flex>
787 </v-layout> 788 </v-layout>
788 </v-flex> 789 </v-flex>
789 </v-layout> 790 </v-layout>
790 <v-layout wrap> 791 <v-layout wrap>
791 <v-flex xs12 sm6> 792 <v-flex xs12 sm6>
792 <v-layout wrap> 793 <v-layout wrap>
793 <v-flex xs12 class="pt-4 subheading"> 794 <v-flex xs12 class="pt-4 subheading">
794 <label>Mother Name:</label> 795 <label>Mother Name:</label>
795 </v-flex> 796 </v-flex>
796 <v-flex xs12> 797 <v-flex xs12>
797 <v-text-field 798 <v-text-field
798 v-model="parentData.motherName" 799 v-model="parentData.motherName"
799 placeholder="fill your Mother Name" 800 placeholder="fill your Mother Name"
800 type="text" 801 type="text"
801 required 802 required
802 ></v-text-field> 803 ></v-text-field>
803 </v-flex> 804 </v-flex>
804 </v-layout> 805 </v-layout>
805 </v-flex> 806 </v-flex>
806 <v-flex xs12 sm6> 807 <v-flex xs12 sm6>
807 <v-layout wrap> 808 <v-layout wrap>
808 <v-flex xs42 class="pt-4 subheading"> 809 <v-flex xs42 class="pt-4 subheading">
809 <label>Mother Cell No:</label> 810 <label>Mother Cell No:</label>
810 </v-flex> 811 </v-flex>
811 <v-flex xs12> 812 <v-flex xs12>
812 <v-text-field 813 <v-text-field
813 v-model="parentData.motherCellNo" 814 v-model="parentData.motherCellNo"
814 placeholder="fill your Mother Cell Number" 815 placeholder="fill your Mother Cell Number"
815 type="number" 816 type="number"
816 required 817 required
817 ></v-text-field> 818 ></v-text-field>
818 </v-flex> 819 </v-flex>
819 </v-layout> 820 </v-layout>
820 </v-flex> 821 </v-flex>
821 </v-layout> 822 </v-layout>
822 <v-layout wrap> 823 <v-layout wrap>
823 <v-flex xs12 sm6> 824 <v-flex xs12 sm6>
824 <v-layout wrap> 825 <v-layout wrap>
825 <v-flex xs12 class="pt-4 subheading"> 826 <v-flex xs12 class="pt-4 subheading">
826 <label>Mother Profession:</label> 827 <label>Mother Profession:</label>
827 </v-flex> 828 </v-flex>
828 <v-flex xs12> 829 <v-flex xs12>
829 <v-text-field 830 <v-text-field
830 v-model="parentData.motherProfession" 831 v-model="parentData.motherProfession"
831 placeholder="fill your Mother Profession" 832 placeholder="fill your Mother Profession"
832 type="text" 833 type="text"
833 required 834 required
834 ></v-text-field> 835 ></v-text-field>
835 </v-flex> 836 </v-flex>
836 </v-layout> 837 </v-layout>
837 </v-flex> 838 </v-flex>
838 </v-layout> 839 </v-layout>
839 <v-flex xs12 sm12> 840 <v-flex xs12 sm12>
840 <v-layout> 841 <v-layout>
841 <v-flex xs6 sm6 offset-sm1> 842 <v-flex xs6 sm6 offset-sm1>
842 <v-btn @click="clear" class="clear-button" round dark>clear</v-btn> 843 <v-btn @click="clear" class="clear-button" round dark>clear</v-btn>
843 </v-flex> 844 </v-flex>
844 <v-flex xs6 sm6> 845 <v-flex xs6 sm6>
845 <v-btn 846 <v-btn
846 class="add-button" 847 class="add-button"
847 @click="submitParentDetails" 848 @click="submitParentDetails"
848 round 849 round
849 dark 850 dark
850 :loading="loading" 851 :loading="loading"
851 v-show="showParent" 852 v-show="showParent"
852 >Add</v-btn> 853 >Add</v-btn>
853 </v-flex> 854 </v-flex>
854 </v-layout> 855 </v-layout>
855 </v-flex> 856 </v-flex>
856 </v-container> 857 </v-container>
857 </v-form> 858 </v-form>
858 </v-flex> 859 </v-flex>
859 </v-layout> 860 </v-layout>
860 </v-container> 861 </v-container>
861 </v-card> 862 </v-card>
862 </v-dialog> 863 </v-dialog>
863 <div class="loader" v-if="showLoader"> 864 <div class="loader" v-if="showLoader">
864 <v-progress-circular indeterminate color="white"></v-progress-circular> 865 <v-progress-circular indeterminate color="white"></v-progress-circular>
865 </div> 866 </div>
866 <v-snackbar 867 <v-snackbar
867 :timeout="timeout" 868 :timeout="timeout"
868 :top="y === 'top'" 869 :top="y === 'top'"
869 :right="x === 'right'" 870 :right="x === 'right'"
870 :vertical="mode === 'vertical'" 871 :vertical="mode === 'vertical'"
871 v-model="snackbar" 872 v-model="snackbar"
872 color="success" 873 color="success"
873 >{{ text }}</v-snackbar> 874 >{{ text }}</v-snackbar>
874 </v-container> 875 </v-container>
875 </template> 876 </template>
876 877
877 <script> 878 <script>
878 import http from "@/Services/http.js"; 879 import http from "@/Services/http.js";
879 import Util from "@/util"; 880 import Util from "@/util";
880 import moment from "moment"; 881 import moment from "moment";
881 882
882 export default { 883 export default {
883 data: () => ({ 884 data: () => ({
884 e1: true, 885 e1: true,
885 showParent: true, 886 showParent: true,
886 snackbar: false, 887 snackbar: false,
887 role: "", 888 role: "",
888 // TEACHER: "", 889 // TEACHER: "",
889 y: "top", 890 y: "top",
890 x: "right", 891 x: "right",
891 color: "", 892 color: "",
892 mode: "", 893 mode: "",
893 timeout: 3000, 894 timeout: 3000,
894 text: "", 895 text: "",
895 show: true, 896 show: true,
896 showSearch: false, 897 showSearch: false,
897 showLoader: false, 898 showLoader: false,
898 loading: false, 899 loading: false,
899 date: null, 900 date: null,
900 search: "", 901 search: "",
901 password: "", 902 password: "",
902 addParentDialog: false, 903 addParentDialog: false,
903 menu: false, 904 menu: false,
904 menu1: false, 905 menu1: false,
905 editParentDilaog: false, 906 editParentDilaog: false,
906 profileParentDialog: false, 907 profileParentDialog: false,
907 resetParentMpin: false, 908 resetParentMpin: false,
908 viewProfileParentDialog: false, 909 viewProfileParentDialog: false,
909 valid: true, 910 valid: true,
910 validEditParent: true, 911 validEditParent: true,
911 validParentMpin: true, 912 validParentMpin: true,
912 pagination: { 913 pagination: {
913 rowsPerPage: 10 914 rowsPerPage: 10
914 }, 915 },
915 fatherNameRules: [v => !!v || " Father Name is required"], 916 fatherNameRules: [v => !!v || " Father Name is required"],
916 fatheCellNoRules: [ 917 fatheCellNoRules: [
917 v => !!v || " father Cell Number is required", 918 v => !!v || " father Cell Number is required",
918 v => v <= 10000000000 || "Max 10 characters is required" 919 v => v <= 10000000000 || "Max 10 characters is required"
919 ], 920 ],
920 password: [ 921 password: [
921 v => !!v || "Password field is Required." 922 v => !!v || "Password field is Required."
922 // v => (/^(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/).test(v) && v.length >= 8 || 'Min 8 characters lower case symbol required' 923 // v => (/^(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/).test(v) && v.length >= 8 || 'Min 8 characters lower case symbol required'
923 ], 924 ],
924 editFatherNoRule: [ 925 editFatherNoRule: [
925 v => !!v || " father Cell Number is required", 926 v => !!v || " father Cell Number is required",
926 v => v <= 10000000000 || "Max 10 characters is required" 927 v => v <= 10000000000 || "Max 10 characters is required"
927 ], 928 ],
928 929
929 editfatherCellNo: [v => !!v || " Father Name is required"], 930 editfatherCellNo: [v => !!v || " Father Name is required"],
930 errorMessages: "", 931 errorMessages: "",
931 emailRules: [ 932 emailRules: [
932 v => !!v || "E-mail is required", 933 v => !!v || "E-mail is required",
933 v => 934 v =>
934 /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || 935 /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) ||
935 "E-mail must be valid" 936 "E-mail must be valid"
936 ], 937 ],
937 mPinRules: [ 938 mPinRules: [
938 v => !!v || "MPIN is required", 939 v => !!v || "MPIN is required",
939 v => v <= 10000 || "Max 4 numbers are required" 940 v => v <= 10000 || "Max 4 numbers are required"
940 ], 941 ],
941 headers: [ 942 headers: [
942 { 943 {
943 text: "No", 944 text: "No",
944 align: "center", 945 align: "center",
945 sortable: false, 946 sortable: false,
946 value: "No" 947 value: "No"
947 }, 948 },
948 { text: "Email", value: "email", sortable: false, align: "center" }, 949 { text: "Email", value: "email", sortable: false, align: "center" },
949 { 950 {
950 text: "Father Name", 951 text: "Father Name",
951 value: "fatherName", 952 value: "fatherName",
952 sortable: false, 953 sortable: false,
953 align: "center" 954 align: "center"
954 }, 955 },
955 { 956 {
956 text: "Father Cell No", 957 text: "Father Cell No",
957 value: "fatherName", 958 value: "fatherName",
958 sortable: false, 959 sortable: false,
959 align: "center" 960 align: "center"
960 }, 961 },
961 { 962 {
962 text: "Mother Name", 963 text: "Mother Name",
963 value: "motherName", 964 value: "motherName",
964 sortable: false, 965 sortable: false,
965 align: "center" 966 align: "center"
966 }, 967 },
967 { 968 {
968 text: "Mother Cell No", 969 text: "Mother Cell No",
969 value: "motherCellNo", 970 value: "motherCellNo",
970 sortable: false, 971 sortable: false,
971 align: "center" 972 align: "center"
972 }, 973 },
973 { text: "Action", value: "", sortable: false, align: "center" } 974 { text: "Action", value: "", sortable: false, align: "center" }
974 ], 975 ],
975 parentsList: [], 976 parentsList: [],
976 editedIndex: -1, 977 editedIndex: -1,
977 parentData: {}, 978 parentData: {},
978 max: 10, 979 max: 10,
979 editedItem: { 980 editedItem: {
980 fatherName: "", 981 fatherName: "",
981 fatherCellNo: "", 982 fatherCellNo: "",
982 motherName: "", 983 motherName: "",
983 motherCellNo: "", 984 motherCellNo: "",
984 email: "", 985 email: "",
985 password: "" 986 password: ""
986 }, 987 },
987 editMpin: { 988 editMpin: {
988 mPin: "" 989 mPin: ""
989 } 990 },
991 isFatherCellExists: false
990 }), 992 }),
991 watch: { 993 watch: {
992 menu(val) { 994 menu(val) {
993 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); 995 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR"));
994 }, 996 },
995 menu1(val) { 997 menu1(val) {
996 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); 998 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR"));
997 } 999 }
998 }, 1000 },
999 methods: { 1001 methods: {
1000 editItem(item) { 1002 editItem(item) {
1001 this.editedIndex = this.parentsList.indexOf(item); 1003 this.editedIndex = this.parentsList.indexOf(item);
1002 this.editedItem = Object.assign({}, item); 1004 this.editedItem = Object.assign({}, item);
1003 this.editParentDilaog = true; 1005 this.editParentDilaog = true;
1004 }, 1006 },
1005 profile(item) { 1007 profile(item) {
1006 this.editedIndex = this.parentsList.indexOf(item); 1008 this.editedIndex = this.parentsList.indexOf(item);
1007 this.editedItem = Object.assign({}, item); 1009 this.editedItem = Object.assign({}, item);
1008 this.profileParentDialog = true; 1010 this.profileParentDialog = true;
1009 }, 1011 },
1010 resetParentMPIN(item) { 1012 resetParentMPIN(item) {
1011 this.editMpin = Object.assign({}, item); 1013 this.editMpin = Object.assign({}, item);
1012 this.resetParentMpin = true; 1014 this.resetParentMpin = true;
1013 }, 1015 },
1014 close() { 1016 close() {
1015 this.editParentDilaog = false; 1017 this.editParentDilaog = false;
1016 }, 1018 },
1017 closeProfile() { 1019 closeProfile() {
1018 this.profileParentDialog = false; 1020 this.profileParentDialog = false;
1019 }, 1021 },
1020 closeReset() { 1022 closeReset() {
1021 this.resetParentMpin = false; 1023 this.resetParentMpin = false;
1022 }, 1024 },
1023 clear() { 1025 clear() {
1024 this.$refs.parentForm.reset(); 1026 this.$refs.parentForm.reset();
1025 }, 1027 },
1026 save() { 1028 save() {
1027 if (this.$refs.editParentForm.validate()) { 1029 if (this.$refs.editParentForm.validate()) {
1028 this.editedItem.parentId = this.editedItem._id; 1030 this.editedItem.parentId = this.editedItem._id;
1029 http() 1031 http()
1030 .put("/updateParent", this.editedItem) 1032 .put("/updateParent", this.editedItem)
1031 .then(response => { 1033 .then(response => {
1032 this.snackbar = true; 1034 this.snackbar = true;
1033 this.color = "green"; 1035 this.color = "green";
1034 this.text = response.data.message; 1036 this.text = response.data.message;
1035 this.getParentDetails(); 1037 this.getParentDetails();
1036 this.close(); 1038 this.close();
1037 }) 1039 })
1038 .catch(error => { 1040 .catch(error => {
1039 this.snackbar = true; 1041 this.snackbar = true;
1040 this.color = "error"; 1042 this.color = "error";
1041 this.text = error.response.data.message; 1043 this.text = error.response.data.message;
1042 if (error.response.data.statusText) { 1044 if (error.response.data.statusText) {
1043 this.text = error.response.data.statusText; 1045 this.text = error.response.data.statusText;
1044 } 1046 }
1045 }); 1047 });
1046 } 1048 }
1047 }, 1049 },
1048 resetMpin() { 1050 resetMpin() {
1049 if (this.$refs.resetParentMpinForm.validate()) { 1051 if (this.$refs.resetParentMpinForm.validate()) {
1050 var changeMpin = { 1052 var changeMpin = {
1051 parentId: this.editMpin._id, 1053 parentId: this.editMpin._id,
1052 mPin: this.editMpin.mPin 1054 mPin: this.editMpin.mPin
1053 }; 1055 };
1054 http() 1056 http()
1055 .put("/resetMPin", changeMpin) 1057 .put("/resetMPin", changeMpin)
1056 .then(response => { 1058 .then(response => {
1057 this.snackbar = true; 1059 this.snackbar = true;
1058 this.color = "green"; 1060 this.color = "green";
1059 this.text = response.data.message; 1061 this.text = response.data.message;
1060 this.getParentDetails(); 1062 this.getParentDetails();
1061 this.resetParentMpin = false; 1063 this.resetParentMpin = false;
1062 this.closeReset(); 1064 this.closeReset();
1063 }) 1065 })
1064 .catch(error => { 1066 .catch(error => {
1065 this.snackbar = true; 1067 this.snackbar = true;
1066 this.color = "error"; 1068 this.color = "error";
1067 this.text = error.response.data.message; 1069 this.text = error.response.data.message;
1068 if (error.response.data.statusText) { 1070 if (error.response.data.statusText) {
1069 this.text = error.response.data.statusText; 1071 this.text = error.response.data.statusText;
1070 } 1072 }
1071 }); 1073 });
1072 } 1074 }
1073 }, 1075 },
1074 async submitParentDetails() { 1076 async submitParentDetails() {
1075 if (this.$refs.parentForm.validate()) { 1077 if (this.$refs.parentForm.validate()) {
1076 this.parentData.role = "PARENT"; 1078 this.parentData.role = "PARENT";
1077 this.loading = true; 1079 this.loading = true;
1078 await http() 1080 await http()
1079 .post("/createParent", this.parentData) 1081 .post("/createParent", this.parentData)
1080 .then(response => { 1082 .then(response => {
1081 this.parentId = response.data.data.id; 1083 this.parentId = response.data.data.id;
1082 this.snackbar = true; 1084 this.snackbar = true;
1083 this.color = "green"; 1085 this.color = "green";
1084 this.text = response.data.message; 1086 this.text = response.data.message;
1085 this.getParentDetails(); 1087 this.getParentDetails();
1086 this.clear(); 1088 this.clear();
1087 this.loading = false; 1089 this.loading = false;
1090 this.isFatherCellExists = true;
1088 this.addParentDialog = false; 1091 this.addParentDialog = false;
1089 }) 1092 })
1090 .catch(error => { 1093 .catch(error => {
1091 this.snackbar = true; 1094 this.snackbar = true;
1092 this.color = "error"; 1095 this.color = "error";
1093 this.text = error.response.data.message; 1096 this.text = error.response.data.message;
1094 if (error.response.data.statusText) { 1097 if (error.response.data.statusText) {
1095 this.text = error.response.data.statusText; 1098 this.text = error.response.data.statusText;
1096 } 1099 }
1097 this.loading = false; 1100 this.loading = false;
1098 }); 1101 });
1099 } 1102 }
1100 }, 1103 },
1101 getParentDetails() { 1104 getParentDetails() {
1102 http() 1105 http()
1103 .get("getParentsList", { 1106 .get("getParentsList", {
1104 headers: { 1107 headers: {
1105 Authorization: "Bearer " + this.$store.state.token 1108 Authorization: "Bearer " + this.$store.state.token
1106 } 1109 }
1107 }) 1110 })
1108 .then(response => { 1111 .then(response => {
1109 this.parentsList = response.data.data; 1112 this.parentsList = response.data.data;
1110 }) 1113 })
1111 .catch(error => { 1114 .catch(error => {
1112 // console.log("err====>", error.response.data.message); 1115 // console.log("err====>", error.response.data.message);
1113 this.showLoader = false; 1116 this.showLoader = false;
1114 if (error.response.status === 401) { 1117 if (error.response.status === 401) {
1115 this.$router.replace({ path: "/" }); 1118 this.$router.replace({ path: "/" });
1116 this.$store.dispatch("setToken", null); 1119 this.$store.dispatch("setToken", null);
1117 this.$store.dispatch("Id", null); 1120 this.$store.dispatch("Id", null);
1118 this.$store.dispatch("Role", null); 1121 this.$store.dispatch("Role", null);
1119 } 1122 }
1120 }); 1123 });
1121 }, 1124 },
1122 displaySearch() { 1125 displaySearch() {
1123 (this.show = false), (this.showSearch = true); 1126 (this.show = false), (this.showSearch = true);
1124 }, 1127 },
1125 closeSearch() { 1128 closeSearch() {
1126 this.showSearch = false; 1129 this.showSearch = false;
1127 this.show = true; 1130 this.show = true;
1128 this.search = ""; 1131 this.search = "";
1129 } 1132 }
1130 }, 1133 },
1131 mounted() { 1134 mounted() {
1132 this.getParentDetails(); 1135 this.getParentDetails();
1133 // console.log("role", this.$store.state.role); 1136 // console.log("role", this.$store.state.role);
1134 this.role = this.$store.state.role; 1137 this.role = this.$store.state.role;
1135 } 1138 }
1136 }; 1139 };
1137 </script> 1140 </script>
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 @change="getReport(getReport.form)" 86
87 required 87 required
88 ></v-autocomplete> 88 ></v-autocomplete>
89 </v-flex> 89 </v-flex>
90 </v-layout> 90 </v-layout>
91 </v-flex> 91 </v-flex>
92 <v-flex xs12 sm12 lg3> 92 <v-flex xs12 sm12 lg3>
93 <v-btn 93 <v-btn
94 @click="getSchedule" 94 @click="getSchedule"
95 round 95 round
96 dark 96 dark
97 :loading="loading" 97 :loading="loading"
98 class="open-dialog-button mt-3" 98 class="open-dialog-button mt-3"
99 >Get Report</v-btn> 99 >Get Report</v-btn>
100 </v-flex> 100 </v-flex>
101 </v-layout> 101 </v-layout>
102 </v-flex> 102 </v-flex>
103 </v-form> 103 </v-form>
104 </v-card> 104 </v-card>
105 <div v-show="showTable"> 105 <div v-show="showTable">
106 <v-flex xs12 sm12 md10 style="margin:auto"> 106 <v-flex xs12 sm12 md10 style="margin:auto">
107 <v-layout> 107 <v-layout>
108 <v-flex xs12> 108 <v-flex xs12>
109 <v-btn class="open-dialog-button right" round dark @click="printAdmitReport()"> 109 <v-btn class="open-dialog-button right" round dark @click="printAdmitReport()">
110 Print 110 Print
111 <v-icon right dark>print</v-icon> 111 <v-icon right dark>print</v-icon>
112 </v-btn> 112 </v-btn>
113 </v-flex> 113 </v-flex>
114 </v-layout> 114 </v-layout>
115 <div id="printMe" v-if="frontPart"> 115 <div id="printMe" v-if="frontPart">
116 <v-card 116 <v-card
117 style=" 117 style="
118 background-color: #fff; 118 background-color: #fff;
119 border: 1px solid #ddd; 119 border: 1px solid #ddd;
120 color: rgba(0,0,0,0.87); 120 color: rgba(0,0,0,0.87);
121 overflow-x: auto; 121 overflow-x: auto;
122 display: block; 122 display: block;
123 padding:14px !important; 123 padding:14px !important;
124 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 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 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 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 > 126 >
127 <v-layout style="border-bottom: 1px solid #ddd;margin: 8px; auto"> 127 <v-layout style="border-bottom: 1px solid #ddd;margin: 8px; auto">
128 <v-flex xs3 style="margin-bottom:0px"> 128 <v-flex xs3 style="margin-bottom:0px">
129 <img 129 <img
130 :src="userData.schoolLogoUrl" 130 :src="userData.schoolLogoUrl"
131 style="widht:80px;height:80px;" 131 style="widht:80px;height:80px;"
132 alt="logo" 132 alt="logo"
133 v-if="userData.schoolLogoUrl" 133 v-if="userData.schoolLogoUrl"
134 /> 134 />
135 <img 135 <img
136 src="/static/default_thumb.png" 136 src="/static/default_thumb.png"
137 style="widht:80px;height:80px;" 137 style="widht:80px;height:80px;"
138 v-else-if="!userData.schoolLogoUrl" 138 v-else-if="!userData.schoolLogoUrl"
139 /> 139 />
140 </v-flex> 140 </v-flex>
141 <v-flex xs5 style="text-align:center;margin-bottom:0px"> 141 <v-flex xs5 style="text-align:center;margin-bottom:0px">
142 <p 142 <p
143 style="font-size:24px;color: #700CE8;letter-spacing:1px;margin-bottom: 4px" 143 style="font-size:24px;color: #700CE8;letter-spacing:1px;margin-bottom: 4px"
144 >{{ userData.name }}</p> 144 >{{ userData.name }}</p>
145 <p>{{ userData.address }}, {{ userData.pinCode }}</p> 145 <p>{{ userData.address }}, {{ userData.pinCode }}</p>
146 <div> 146 <div>
147 <h4>{{ getScheduleList.scheduleData[0].examId.examName }} Exam Admit Card</h4> 147 <h4>{{ getScheduleList.scheduleData[0].examId.examName }} Exam Admit Card</h4>
148 </div> 148 </div>
149 </v-flex> 149 </v-flex>
150 <v-flex xs4 style="text-align:center;margin-bottom:0px"> 150 <v-flex xs4 style="text-align:center;margin-bottom:0px">
151 <!-- {{userData.profilePicUrl}} --> 151 <!-- <img
152 <img
153 v-if="getScheduleList.studentData.profilePicUrl" 152 v-if="getScheduleList.studentData.profilePicUrl"
154 :src="getScheduleList.studentData.profilePicUrl" 153 :src="getScheduleList.studentData.profilePicUrl"
155 style="widht:80px;height:80px;" 154 style="widht:80px;height:80px;"
156 /> 155 />
157 <img 156 <img
158 v-if="!getScheduleList.studentData.profilePicUrl" 157 v-if="!getScheduleList.studentData.profilePicUrl"
159 src="/static/icon/user.png" 158 src="/static/icon/user.png"
160 style="widht:80px;" 159 style="widht:80px;"
161 /> 160 /> -->
161 <img
162 src="/static/icon/user.png"
163 v-if="!getScheduleList.studentData.profilePicUrl"
164 width="80"
165 />
166 <img
167 :src="getScheduleList.studentData.profilePicUrl"
168 onerror="this.src='/static/icon/user.png';"
169 v-if="getScheduleList.studentData.profilePicUrl"
170 width="80"
171 />
162 </v-flex> 172 </v-flex>
163 </v-layout> 173 </v-layout>
164 <v-layout> 174 <v-layout>
165 <v-flex xs5 style="margin-bottom:10px"> 175 <v-flex xs5 style="margin-bottom:10px">
166 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 176 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
167 <b>Name :</b> 177 <b>Name :</b>
168 <span>{{getScheduleList.studentData.name}}</span> 178 <span>{{getScheduleList.studentData.name}}</span>
169 </p> 179 </p>
170 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 180 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
171 <b>Class :</b> 181 <b>Class :</b>
172 <span>{{getScheduleList.studentData.classId.classNum}}</span> 182 <span>{{getScheduleList.studentData.classId.classNum}}</span>
173 </p> 183 </p>
174 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 184 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
175 <b>Roll :</b> 185 <b>Roll :</b>
176 <span>{{getScheduleList.studentData.rollNo}}</span> 186 <span>{{getScheduleList.studentData.rollNo}}</span>
177 </p> 187 </p>
178 </v-flex> 188 </v-flex>
179 <v-flex xs5 style="margin-bottom:10px"> 189 <v-flex xs5 style="margin-bottom:10px">
180 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 190 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
181 <b>Section :</b> 191 <b>Section :</b>
182 <span>{{getScheduleList.studentData.sectionId.name }}</span> 192 <span>{{getScheduleList.studentData.sectionId.name }}</span>
183 </p> 193 </p>
184 <p style="font-size: 16px;margin:0px;margin-bottom:8px;"> 194 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">
185 <b>Blood Group :</b> 195 <b>Blood Group :</b>
186 <span style="color: #707478">{{getScheduleList.studentData.bloodGroup }}</span> 196 <span style="color: #707478">{{getScheduleList.studentData.bloodGroup }}</span>
187 </p> 197 </p>
188 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">Subject in which Appearing</p> 198 <p style="font-size: 16px;margin:0px;margin-bottom:8px;">Subject in which Appearing</p>
189 </v-flex> 199 </v-flex>
190 </v-layout> 200 </v-layout>
191 <table 201 <table
192 class="mb-5 tableRsponsive feeTypeTable" 202 class="mb-5 tableRsponsive feeTypeTable"
193 style="border: 1px solid lightgrey; 203 style="border: 1px solid lightgrey;
194 border-collapse: collapse;!important 204 border-collapse: collapse;!important
195 table-layout: auto !important; 205 table-layout: auto !important;
196 width: 100% !important;" 206 width: 100% !important;"
197 > 207 >
198 <thead style="border: 1px solid lightgrey !important;"> 208 <thead style="border: 1px solid lightgrey !important;">
199 <tr style="border: 1px solid lightgrey !important;padding:4px;"> 209 <tr style="border: 1px solid lightgrey !important;padding:4px;">
200 <td style="border: 1px solid lightgrey !important;padding: 6px;">No</td> 210 <td style="border: 1px solid lightgrey !important;padding: 6px;">No</td>
201 <td style="border: 1px solid lightgrey !important;padding: 6px;">Exam Date</td> 211 <td style="border: 1px solid lightgrey !important;padding: 6px;">Exam Date</td>
202 <td style="border: 1px solid lightgrey !important;padding: 6px;">Start Time</td> 212 <td style="border: 1px solid lightgrey !important;padding: 6px;">Start Time</td>
203 <td style="border: 1px solid lightgrey !important;padding: 6px;">End Time</td> 213 <td style="border: 1px solid lightgrey !important;padding: 6px;">End Time</td>
204 <td style="border: 1px solid lightgrey !important;padding: 6px;">Subject Name</td> 214 <td style="border: 1px solid lightgrey !important;padding: 6px;">Subject Name</td>
205 </tr> 215 </tr>
206 </thead> 216 </thead>
207 <tbody style="border: 1px solid lightgrey !important;"> 217 <tbody style="border: 1px solid lightgrey !important;">
208 <tr v-for="(scheduleData,i) in getScheduleList.scheduleData" :key="i"> 218 <tr v-for="(scheduleData,i) in getScheduleList.scheduleData" :key="i">
209 <td style="border:1px solid lightgrey !important; padding:6px;">{{ i + 1 }}</td> 219 <td style="border:1px solid lightgrey !important; padding:6px;">{{ i + 1 }}</td>
210 <td 220 <td
211 style="border: 1px solid lightgrey !important;padding: 6px;" 221 style="border: 1px solid lightgrey !important;padding: 6px;"
212 >{{ scheduleData.date ? scheduleData.date : '-' }}</td> 222 >{{ scheduleData.date ? scheduleData.date : '-' }}</td>
213 <td 223 <td
214 style="border: 1px solid lightgrey !important;padding: 6px;" 224 style="border: 1px solid lightgrey !important;padding: 6px;"
215 >{{ scheduleData.timeFrom ? scheduleData.timeFrom : "-" }}</td> 225 >{{ scheduleData.timeFrom ? scheduleData.timeFrom : "-" }}</td>
216 <td 226 <td
217 style="border: 1px solid lightgrey !important;padding: 6px;" 227 style="border: 1px solid lightgrey !important;padding: 6px;"
218 >{{ scheduleData.timeTo ? scheduleData.timeTo : "-"}}</td> 228 >{{ scheduleData.timeTo ? scheduleData.timeTo : "-"}}</td>
219 <td 229 <td
220 style="border: 1px solid lightgrey !important;padding: 6px;" 230 style="border: 1px solid lightgrey !important;padding: 6px;"
221 >{{ scheduleData.subjectName ? scheduleData.subjectName : "-" }}</td> 231 >{{ scheduleData.subjectName ? scheduleData.subjectName : "-" }}</td>
222 </tr> 232 </tr>
223 <tr v-if="getScheduleList.scheduleData.length === 0"> 233 <tr v-if="getScheduleList.scheduleData.length === 0">
224 <td style="border: 1px soild lightgrey !importand;padding:6px;">-</td> 234 <td style="border: 1px soild lightgrey !importand;padding:6px;">-</td>
225 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td> 235 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td>
226 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td> 236 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td>
227 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td> 237 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td>
228 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td> 238 <td style="border: 1px solid lightgrey !important;padding: 6px;">-</td>
229 </tr> 239 </tr>
230 </tbody> 240 </tbody>
231 </table> 241 </table>
232 </v-card> 242 </v-card>
233 </div> 243 </div>
234 <div id="printMe" v-if="backPart"> 244 <div id="printMe" v-if="backPart">
235 <v-card 245 <v-card
236 style=" 246 style="
237 text-align:center 247 text-align:center
238 background-color: #fff; 248 background-color: #fff;
239 border: 1px solid #ddd; 249 border: 1px solid #ddd;
240 color: rgba(0,0,0,0.87); 250 color: rgba(0,0,0,0.87);
241 overflow-x: auto; 251 overflow-x: auto;
242 display: block; 252 display: block;
243 padding:14px !important; 253 padding:14px !important;
244 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; 254 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;
245 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;" 255 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 > 256 >
247 <div 257 <div
248 style=" 258 style="
249 margin-bottom: 16px; 259 margin-bottom: 16px;
250 overflow: hidden; 260 overflow: hidden;
251 padding: 50px 90px;" 261 padding: 50px 90px;"
252 > 262 >
253 <ol style=" 263 <ol style="
254 margin: 0; 264 margin: 0;
255 margin-bottom: 10px;"> 265 margin-bottom: 10px;">
256 <p 266 <p
257 style=" 267 style="
258 margin-bottom: 16px; 268 margin-bottom: 16px;
259 line-height: 20px; 269 line-height: 20px;
260 text-align: left;" 270 text-align: left;"
261 > 271 >
262 <b>1. Do not Carry these Electronic Gadgets:</b> 272 <b>1. Do not Carry these Electronic Gadgets:</b>
263 Electronic gadgets(Bluetooth devices,head phones,pen/buttonhole cameras,scanner,calculator,storage devices etc) 273 Electronic gadgets(Bluetooth devices,head phones,pen/buttonhole cameras,scanner,calculator,storage devices etc)
264 in the examination lab. These items are strictly prohibited from examination lab. 274 in the examination lab. These items are strictly prohibited from examination lab.
265 </p> 275 </p>
266 <p 276 <p
267 style=" 277 style="
268 margin-bottom: 16px; 278 margin-bottom: 16px;
269 line-height: 20px; 279 line-height: 20px;
270 text-align: left;" 280 text-align: left;"
271 > 281 >
272 <b>2. Do not Carry these Ornaments:</b> 282 <b>2. Do not Carry these Ornaments:</b>
273 Candidates should also not wear charms,veil,items containing such as rings,bracelet,earings,nose-pin,chains, 283 Candidates should also not wear charms,veil,items containing such as rings,bracelet,earings,nose-pin,chains,
274 necklace,pendants,badge,broach,hair-pin,hair-band. 284 necklace,pendants,badge,broach,hair-pin,hair-band.
275 </p> 285 </p>
276 <p 286 <p
277 style=" 287 style="
278 margin-bottom: 16px; 288 margin-bottom: 16px;
279 line-height: 20px; 289 line-height: 20px;
280 text-align: left;" 290 text-align: left;"
281 > 291 >
282 <b>3. What Candidates wear to Examination hall:</b> 292 <b>3. What Candidates wear to Examination hall:</b>
283 Candidates should not wear clothes with full sleeves or big button,etc. Candidates are adviced to wear open footwear 293 Candidates should not wear clothes with full sleeves or big button,etc. Candidates are adviced to wear open footwear
284 like slippers,sandals instead of shoes as the candidates could be asked to remove shoes by the frisking staff. 294 like slippers,sandals instead of shoes as the candidates could be asked to remove shoes by the frisking staff.
285 </p> 295 </p>
286 <p 296 <p
287 style=" 297 style="
288 margin-bottom: 16px; 298 margin-bottom: 16px;
289 line-height: 20px; 299 line-height: 20px;
290 text-align: left;" 300 text-align: left;"
291 > 301 >
292 <b>4. Do not carry Stationary:</b> 302 <b>4. Do not carry Stationary:</b>
293 Pen/pencil and paper for rough work would be provided in examination lab. Electronic watch (timer)will be available 303 Pen/pencil and paper for rough work would be provided in examination lab. Electronic watch (timer)will be available
294 on the computer screen alloted to the candidates. 304 on the computer screen alloted to the candidates.
295 </p> 305 </p>
296 <p 306 <p
297 style=" 307 style="
298 margin-bottom: 16px; 308 margin-bottom: 16px;
299 line-height: 20px; 309 line-height: 20px;
300 text-align: left;" 310 text-align: left;"
301 > 311 >
302 <b>5. Do not Carry Bags:</b> 312 <b>5. Do not Carry Bags:</b>
303 Don not Carry back pack, College bag or any other bag like hand bag. If candidates brings any bag, they must make a 313 Don not Carry back pack, College bag or any other bag like hand bag. If candidates brings any bag, they must make a
304 arrangement for safe custody of these items.The Commission shall not make any arrangement nor be responsible for the 314 arrangement for safe custody of these items.The Commission shall not make any arrangement nor be responsible for the
305 safe custody of such items. 315 safe custody of such items.
306 </p> 316 </p>
307 <p 317 <p
308 style=" 318 style="
309 margin-bottom: 16px; 319 margin-bottom: 16px;
310 line-height: 20px; 320 line-height: 20px;
311 text-align: left;" 321 text-align: left;"
312 > 322 >
313 <b>6. What will Happen if you carry Prohibited items to Exam Hall:</b> 323 <b>6. What will Happen if you carry Prohibited items to Exam Hall:</b>
314 If any such prohibited item is found in the possession of a candidate in examination lab, his/her candidature is liable 324 If any such prohibited item is found in the possession of a candidate in examination lab, his/her candidature is liable
315 to be canceled and legal/criminal proceedings could be initiated against him/her. He/she would also liable to be debarred 325 to be canceled and legal/criminal proceedings could be initiated against him/her. He/she would also liable to be debarred
316 from appearing in future examinations of the Commission for a period of 3 years. 326 from appearing in future examinations of the Commission for a period of 3 years.
317 </p> 327 </p>
318 <p 328 <p
319 style=" 329 style="
320 margin-bottom: 16px; 330 margin-bottom: 16px;
321 line-height: 20px; 331 line-height: 20px;
322 text-align: left; 332 text-align: left;
323 " 333 "
324 > 334 >
325 <b>7. Candidate should not create Disturbance in Exam Hall:</b> 335 <b>7. Candidate should not create Disturbance in Exam Hall:</b>
326 If any candidate is found obstructing the conduct of examination or creating disturbances at the examination venue, 336 If any candidate is found obstructing the conduct of examination or creating disturbances at the examination venue,
327 his/her candidature shall be summarily canceled. 337 his/her candidature shall be summarily canceled.
328 </p> 338 </p>
329 </ol> 339 </ol>
330 </div> 340 </div>
331 </v-card> 341 </v-card>
332 </div> 342 </div>
333 </v-flex> 343 </v-flex>
334 </div> 344 </div>
335 <v-snackbar 345 <v-snackbar
336 :timeout="timeout" 346 :timeout="timeout"
337 :top="y === 'top'" 347 :top="y === 'top'"
338 :right="x === 'right'" 348 :right="x === 'right'"
339 :vertical="mode === 'vertical'" 349 :vertical="mode === 'vertical'"
340 v-model="snackbar" 350 v-model="snackbar"
341 :color="color" 351 :color="color"
342 >{{ text }}</v-snackbar> 352 >{{ text }}</v-snackbar>
343 <div class="loader" v-if="showLoader"> 353 <div class="loader" v-if="showLoader">
344 <v-progress-circular indeterminate color="white"></v-progress-circular> 354 <v-progress-circular indeterminate color="white"></v-progress-circular>
345 </div> 355 </div>
346 </v-container> 356 </v-container>
347 </template> 357 </template>
348 <script> 358 <script>
349 import http from "@/Services/http.js"; 359 import http from "@/Services/http.js";
350 import moment from "moment"; 360 import moment from "moment";
351 import _ from "underscore"; 361 import _ from "underscore";
352 362
353 export default { 363 export default {
354 data: () => ({ 364 data: () => ({
355 snackbar: false, 365 snackbar: false,
356 color: "", 366 color: "",
357 y: "top", 367 y: "top",
358 x: "right", 368 x: "right",
359 mode: "", 369 mode: "",
360 timeout: 10000, 370 timeout: 10000,
361 text: "", 371 text: "",
362 showLoader: false, 372 showLoader: false,
363 valid: true, 373 valid: true,
364 userData: {}, 374 userData: {},
365 frontPart: false, 375 frontPart: false,
366 backPart: false, 376 backPart: false,
367 loading: false, 377 loading: false,
368 showTable: false, 378 showTable: false,
369 showData: false, 379 showData: false,
370 hideprintAdmitReport: false, 380 hideprintAdmitReport: false,
371 examRules: [v => !!v || "Exam Field is required"], 381 examRules: [v => !!v || "Exam Field is required"],
372 classRules: [v => !!v || "Class Field Required"], 382 classRules: [v => !!v || "Class Field Required"],
373 sectionRules: [v => !!v || "Section Field is required"], 383 sectionRules: [v => !!v || "Section Field is required"],
374 studentRules: [v => !!v || "Student Field is required"], 384 studentRules: [v => !!v || "Student Field is required"],
375 typeRules: [v => !!v || "Type Field is required"], 385 typeRules: [v => !!v || "Type Field is required"],
376 backgroundRules: [v => !!v || "Background Field is required"], 386 backgroundRules: [v => !!v || "Background Field is required"],
377 387
378 pagination: { 388 pagination: {
379 rowsPerPage: 10 389 rowsPerPage: 10
380 }, 390 },
381 search: "", 391 search: "",
382 392
383 classList: [], 393 classList: [],
384 studentData: {}, 394 studentData: {},
385 scheduleData: {}, 395 scheduleData: {},
386 examData: [], 396 examData: [],
387 addSection: [], 397 addSection: [],
388 getStudentsList: [], 398 getStudentsList: [],
389 getScheduleList: [], 399 getScheduleList: [],
390 getScheduleListArray: [], 400 getScheduleListArray: [],
401 getReport: {},
391 examName: [], 402 examName: [],
392 typeList: [ 403 typeList: [
393 { 404 {
394 name: "Front Part", 405 name: "Front Part",
395 value: "frontPart" 406 value: "frontPart"
396 }, 407 },
397 { 408 {
398 name: "Back Part", 409 name: "Back Part",
399 value: "backPart" 410 value: "backPart"
400 } 411 }
401 ], 412 ],
402 backgroundList: ["Yes", "No"], 413 backgroundList: ["Yes", "No"],
403 headers: [ 414 headers: [
404 { 415 {
405 text: "No", 416 text: "No",
406 align: "", 417 align: "",
407 sortable: false, 418 sortable: false,
408 value: "No" 419 value: "No"
409 }, 420 },
410 { 421 {
411 text: "Exam Date", 422 text: "Exam Date",
412 align: "center", 423 align: "center",
413 sortable: false, 424 sortable: false,
414 value: "date" 425 value: "date"
415 }, 426 },
416 { 427 {
417 text: "Start Time", 428 text: "Start Time",
418 align: "center", 429 align: "center",
419 sortable: false, 430 sortable: false,
420 value: "timeFrom" 431 value: "timeFrom"
421 }, 432 },
422 { 433 {
423 text: "End Time", 434 text: "End Time",
424 align: "center", 435 align: "center",
425 sortable: false, 436 sortable: false,
426 value: "timeTo" 437 value: "timeTo"
427 }, 438 },
428 { 439 {
429 text: "Subject Name", 440 text: "Subject Name",
430 align: "center", 441 align: "center",
431 sortable: false, 442 sortable: false,
432 value: "subjectName" 443 value: "subjectName"
433 } 444 }
434 ] 445 ]
435 }), 446 }),
436 447
437 mounted() { 448 mounted() {
438 this.token = this.$store.state.token; 449 this.token = this.$store.state.token;
439 this.getClass(); 450 this.getClass();
440 this.getExamList(); 451 this.getExamList();
441 this.getUserData(); 452 this.getUserData();
442 }, 453 },
443 454
444 methods: { 455 methods: {
445 getReport() {
446 if (this.getReport.form === "frontPart") {
447 this.frontPart = true;
448 this.backPart = false;
449 }
450 if (this.getReport.form === "backPart") {
451 this.frontPart = false;
452 this.backPart = true;
453 }
454 },
455 getExamList() { 456 getExamList() {
456 this.showLoader = true; 457 this.showLoader = true;
457 this.loadingSearch = true; 458 this.loadingSearch = true;
458 http() 459 http()
459 .get("/getExamsList", { 460 .get("/getExamsList", {
460 headers: { Authorization: "Bearer " + this.token } 461 headers: { Authorization: "Bearer " + this.token }
461 }) 462 })
462 .then(response => { 463 .then(response => {
463 this.examData = response.data.data; 464 this.examData = response.data.data;
464 this.showLoader = false; 465 this.showLoader = false;
465 this.loadingSearch = false; 466 this.loadingSearch = false;
466 }) 467 })
467 .catch(error => { 468 .catch(error => {
468 this.showLoader = false; 469 this.showLoader = false;
469 this.loadingSearch = false; 470 this.loadingSearch = false;
470 this.snackbar = true; 471 this.snackbar = true;
471 this.text = error.response.data.message; 472 this.text = error.response.data.message;
472 if (error.response.status === 401) { 473 if (error.response.status === 401) {
473 this.$router.replace({ path: "/" }); 474 this.$router.replace({ path: "/" });
474 this.$store.dispatch("setToken", null); 475 this.$store.dispatch("setToken", null);
475 this.$store.dispatch("Id", null); 476 this.$store.dispatch("Id", null);
476 } 477 }
477 }); 478 });
478 }, 479 },
479 getClass() { 480 getClass() {
480 this.showLoader = true; 481 this.showLoader = true;
481 http() 482 http()
482 .get("/getClassesList", { 483 .get("/getClassesList", {
483 headers: { Authorization: "Bearer " + this.token } 484 headers: { Authorization: "Bearer " + this.token }
484 }) 485 })
485 .then(response => { 486 .then(response => {
486 this.classList = response.data.data; 487 this.classList = response.data.data;
487 this.showLoader = false; 488 this.showLoader = false;
488 }) 489 })
489 .catch(error => { 490 .catch(error => {
490 this.showLoader = false; 491 this.showLoader = false;
491 // console.log("err====>", err); 492 // console.log("err====>", err);
492 }); 493 });
493 }, 494 },
494 getSections(_id) { 495 getSections(_id) {
495 this.showLoader = true; 496 this.showLoader = true;
496 http() 497 http()
497 .get( 498 .get(
498 "/getSectionsList", 499 "/getSectionsList",
499 { params: { classId: _id } }, 500 { params: { classId: _id } },
500 { 501 {
501 headers: { Authorization: "Bearer " + this.token } 502 headers: { Authorization: "Bearer " + this.token }
502 } 503 }
503 ) 504 )
504 .then(response => { 505 .then(response => {
505 this.addSection = response.data.data; 506 this.addSection = response.data.data;
506 this.showLoader = false; 507 this.showLoader = false;
507 }) 508 })
508 .catch(err => { 509 .catch(err => {
509 this.showLoader = false; 510 this.showLoader = false;
510 // console.log("err====>", err); 511 // console.log("err====>", err);
511 }); 512 });
512 }, 513 },
513 getStudents() { 514 getStudents() {
514 this.showLoader = true; 515 this.showLoader = true;
515 http() 516 http()
516 .get("/getStudentWithClass", { 517 .get("/getStudentWithClass", {
517 params: { 518 params: {
518 classId: this.getReport.classId, 519 classId: this.getReport.classId,
519 sectionId: this.getReport.sectionId 520 sectionId: this.getReport.sectionId
520 } 521 }
521 }) 522 })
522 .then(response => { 523 .then(response => {
523 this.getStudentsList = response.data.data; 524 this.getStudentsList = response.data.data;
524 this.showLoader = false; 525 this.showLoader = false;
525 }) 526 })
526 .catch(error => { 527 .catch(error => {
527 console.log("err====>", error); 528 console.log("err====>", error);
528 this.showLoader = false; 529 this.showLoader = false;
529 }); 530 });
530 }, 531 },
531 getSchedule() { 532 getSchedule() {
532 if (this.$refs.form.validate()) { 533 if (this.$refs.form.validate()) {
533 this.showLoader = true; 534 this.showLoader = true;
534 http() 535 http()
535 .get("/getScheduleForParticularStudent", { 536 .get("/getScheduleForParticularStudent", {
536 params: { 537 params: {
537 examId: this.getReport.examId, 538 examId: this.getReport.examId,
538 classId: this.getReport.classId, 539 classId: this.getReport.classId,
539 sectionId: this.getReport.sectionId, 540 sectionId: this.getReport.sectionId,
540 studentId: this.getReport.studentId 541 studentId: this.getReport.studentId
541 } 542 }
542 }) 543 })
543 .then(response => { 544 .then(response => {
544 this.showTable = true; 545 this.showTable = true;
545 this.getScheduleList = response.data.data; 546 this.getScheduleList = response.data.data;
547 if (response.data.data.scheduleData.length === 0) {
548 this.showLoader = false;
549 this.snackbar = true;
550 this.text = 'Student not found!';
551 return;
552 }
546 this.showData = true; 553 this.showData = true;
554 if (this.getReport.form === "frontPart") {
555 this.frontPart = true;
556 this.backPart = false;
557 }
558 if (this.getReport.form === "backPart") {
559 this.frontPart = false;
560 this.backPart = true;
561 }
547 this.showLoader = false; 562 this.showLoader = false;
548 }) 563 })
549 .catch(error => { 564 .catch(error => {
550 this.showLoader = false; 565 this.showLoader = false;
551 }); 566 });
552 } 567 }
553 }, 568 },
554 569
555 printAdmitReport() { 570 printAdmitReport() {
556 // Pass the element id here 571 // Pass the element id here
557 this.$htmlToPaper("printMe"); 572 this.$htmlToPaper("printMe");
558 }, 573 },
559 getUserData() { 574 getUserData() {
560 http() 575 http()
561 .get("/getParticularUserDetail") 576 .get("/getParticularUserDetail")
562 .then(response => { 577 .then(response => {
563 this.userData = response.data.data; 578 this.userData = response.data.data;
564 }) 579 })
565 .catch(error => { 580 .catch(error => {
566 if (error.response.status === 401) { 581 if (error.response.status === 401) {
567 this.$router.replace({ path: "/" }); 582 this.$router.replace({ path: "/" });
568 this.$store.dispatch("setToken", null); 583 this.$store.dispatch("setToken", null);
569 this.$store.dispatch("Id", null); 584 this.$store.dispatch("Id", null);
570 } 585 }
571 }); 586 });
572 } 587 }
573 // created() { 588 // created() {
574 // this.$root.$on("app:search", search => { 589 // this.$root.$on("app:search", search => {
575 // this.search = search; 590 // this.search = search;
576 // }); 591 // });
577 // }, 592 // },
578 // beforeDestroy() { 593 // beforeDestroy() {
579 // // dont forget to remove the listener 594 // // dont forget to remove the listener
580 // this.$root.$off("app:search"); 595 // this.$root.$off("app:search");
581 // } 596 // }
582 } 597 }
583 }; 598 };
584 </script> 599 </script>
585 <style> 600 <style>
586 .admincardreport { 601 .admincardreport {
587 border: 1px solid #ddd; 602 border: 1px solid #ddd;
588 overflow: hidden; 603 overflow: hidden;
589 padding: 20px 50px; 604 padding: 20px 50px;
590 /* margin-bottom: 10px; 605 /* margin-bottom: 10px;
591 min-height: 443px; */ 606 min-height: 443px; */
592 } 607 }
593 .line { 608 .line {
594 border-bottom: 1px solid #ddd; 609 border-bottom: 1px solid #ddd;
595 overflow: hidden; 610 overflow: hidden;
596 padding-bottom: 10px; 611 padding-bottom: 10px;
597 vertical-align: middle; 612 vertical-align: middle;
598 /* margin-bottom: 4px; */ 613 /* margin-bottom: 4px; */
599 } 614 }
600 .school-logo { 615 .school-logo {
601 float: left; 616 float: left;
602 } 617 }
603 .student-logo { 618 .student-logo {
604 position: absolute; 619 position: absolute;
605 top: 221px; 620 top: 221px;
606 right: 221px; 621 right: 221px;
607 } 622 }
608 .school-name { 623 .school-name {
609 box-sizing: border-box; 624 box-sizing: border-box;
610 align-items: center; 625 align-items: center;
611 } 626 }
612 /* .student-info { 627 /* .student-info {
613 float: left; 628 float: left;
614 width: max-content; 629 width: max-content;
615 text-align: initial; 630 text-align: initial;
616 } */ 631 } */
617 .student-info { 632 .student-info {
618 width: 50%; 633 width: 50%;
619 float: left; 634 float: left;
620 text-align: initial; 635 text-align: initial;
621 } 636 }
622 .student-info p { 637 .student-info p {
623 width: 50%; 638 width: 50%;
624 float: left; 639 float: left;
625 margin-bottom: 1px; 640 margin-bottom: 1px;
626 padding: 0 0px; 641 padding: 0 0px;
src/pages/Students/students.vue
1 <template> 1 <template>
2 <v-container fluid class="body-color"> 2 <v-container fluid class="body-color">
3 <!-- ****** EDITS STUDENTS DETAILS ****** --> 3 <!-- ****** EDITS STUDENTS DETAILS ****** -->
4 <v-dialog v-model="editStudentDialog" max-width="1700px" scrollable> 4 <v-dialog v-model="editStudentDialog" max-width="1700px" scrollable>
5 <v-card flat class="card-style pa-2" dark> 5 <v-card flat class="card-style pa-2" dark>
6 <v-layout> 6 <v-layout>
7 <v-flex xs12> 7 <v-flex xs12>
8 <label class="title text-xs-center">Edit Student Details</label> 8 <label class="title text-xs-center">Edit Student Details</label>
9 <v-icon size="24" class="right" @click="editStudentDialog = false">cancel</v-icon> 9 <v-icon size="24" class="right" @click="editStudentDialog = false">cancel</v-icon>
10 </v-flex> 10 </v-flex>
11 </v-layout> 11 </v-layout>
12 <v-card-text> 12 <v-card-text>
13 <v-form ref="form"> 13 <v-form ref="form">
14 <v-container fluid> 14 <v-container fluid>
15 <v-layout> 15 <v-layout>
16 <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center"> 16 <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center">
17 <v-avatar size="100px" v-if="!editedItem.profilePicUrl && !editImageUrl"> 17 <v-avatar size="100px" v-if="!editedItem.profilePicUrl && !editImageUrl">
18 <img src="/static/icon/user.png" /> 18 <img src="/static/icon/user.png" />
19 </v-avatar> 19 </v-avatar>
20 <img 20 <img
21 :src="editedItem.profilePicUrl" 21 :src="editedItem.profilePicUrl"
22 v-else-if="editedItem.profilePicUrl && !editImageUrl" 22 v-else-if="editedItem.profilePicUrl && !editImageUrl"
23 height="150" 23 height="150"
24 style="border-radius:50%; width:150px" 24 style="border-radius:50%; width:150px"
25 /> 25 />
26 <img 26 <img
27 v-if="editImageUrl" 27 v-if="editImageUrl"
28 :src="editImageUrl" 28 :src="editImageUrl"
29 style="border-radius:50%; width:150px;height:150px" 29 style="border-radius:50%; width:150px;height:150px"
30 /> 30 />
31 <input 31 <input
32 type="file" 32 type="file"
33 style="display: none" 33 style="display: none"
34 ref="editDataImage" 34 ref="editDataImage"
35 accept="image/*" 35 accept="image/*"
36 @change="onEditFilePicked" 36 @change="onEditFilePicked"
37 /> 37 />
38 </v-flex> 38 </v-flex>
39 </v-layout> 39 </v-layout>
40 <v-layout wrap> 40 <v-layout wrap>
41 <v-flex xs12 sm4> 41 <v-flex xs12 sm4>
42 <v-layout> 42 <v-layout>
43 <v-flex xs4 class="pt-4 subheading"> 43 <v-flex xs4 class="pt-4 subheading">
44 <label class="right hidden-xs-only hidden-sm-only">Select Class:</label> 44 <label class="right hidden-xs-only hidden-sm-only">Select Class:</label>
45 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Class:</label> 45 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Class:</label>
46 </v-flex> 46 </v-flex>
47 <v-flex xs8 class="ml-3"> 47 <v-flex xs8 class="ml-3">
48 <v-select 48 <v-select
49 :items="addclass" 49 :items="addclass"
50 label="Select Class" 50 label="Select Class"
51 v-model="editedItem.select" 51 v-model="editedItem.select"
52 item-text="classNum" 52 item-text="classNum"
53 item-value="_id" 53 item-value="_id"
54 name="Select Class" 54 name="Select Class"
55 @change="getSections(editedItem.select)" 55 @change="getSections(editedItem.select)"
56 required 56 required
57 ></v-select> 57 ></v-select>
58 </v-flex> 58 </v-flex>
59 </v-layout> 59 </v-layout>
60 </v-flex> 60 </v-flex>
61 <v-flex xs12 sm4> 61 <v-flex xs12 sm4>
62 <v-layout> 62 <v-layout>
63 <v-flex xs4 class="pt-4 subheading"> 63 <v-flex xs4 class="pt-4 subheading">
64 <label class="right hidden-xs-only hidden-sm-only">Select Section:</label> 64 <label class="right hidden-xs-only hidden-sm-only">Select Section:</label>
65 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Section:</label> 65 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Section:</label>
66 </v-flex> 66 </v-flex>
67 <v-flex xs8 class="ml-3"> 67 <v-flex xs8 class="ml-3">
68 <v-select 68 <v-select
69 :items="addSection" 69 :items="addSection"
70 label="Select Section" 70 label="Select Section"
71 v-model="editedItem.selectSection" 71 v-model="editedItem.selectSection"
72 item-text="name" 72 item-text="name"
73 item-value="_id" 73 item-value="_id"
74 name="Select Section" 74 name="Select Section"
75 required 75 required
76 ></v-select> 76 ></v-select>
77 </v-flex> 77 </v-flex>
78 </v-layout> 78 </v-layout>
79 </v-flex> 79 </v-flex>
80 <v-flex xs12 sm4> 80 <v-flex xs12 sm4>
81 <v-layout> 81 <v-layout>
82 <v-flex xs4 class="pt-4 subheading"> 82 <v-flex xs4 class="pt-4 subheading">
83 <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> 83 <label class="right hidden-xs-only hidden-sm-only">Full Name:</label>
84 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Name:</label> 84 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Name:</label>
85 </v-flex> 85 </v-flex>
86 <v-flex xs8 class="ml-3"> 86 <v-flex xs8 class="ml-3">
87 <v-text-field 87 <v-text-field
88 v-model="editedItem.name" 88 v-model="editedItem.name"
89 placeholder="fill your full Name" 89 placeholder="fill your full Name"
90 name="name" 90 name="name"
91 type="text" 91 type="text"
92 required 92 required
93 ></v-text-field> 93 ></v-text-field>
94 </v-flex> 94 </v-flex>
95 </v-layout> 95 </v-layout>
96 </v-flex> 96 </v-flex>
97 </v-layout> 97 </v-layout>
98 <v-layout wrap> 98 <v-layout wrap>
99 <v-flex xs12 sm4> 99 <v-flex xs12 sm4>
100 <v-layout> 100 <v-layout>
101 <v-flex xs4 class="pt-4 subheading"> 101 <v-flex xs4 class="pt-4 subheading">
102 <label class="right hidden-xs-only hidden-sm-only">Email Id:</label> 102 <label class="right hidden-xs-only hidden-sm-only">Email Id:</label>
103 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Email:</label> 103 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Email:</label>
104 </v-flex> 104 </v-flex>
105 <v-flex xs8 class="ml-3"> 105 <v-flex xs8 class="ml-3">
106 <v-text-field 106 <v-text-field
107 placeholder="fill your email" 107 placeholder="fill your email"
108 v-model="editedItem.email" 108 v-model="editedItem.email"
109 type="text" 109 type="text"
110 name="email" 110 name="email"
111 required 111 required
112 ></v-text-field> 112 ></v-text-field>
113 </v-flex> 113 </v-flex>
114 </v-layout> 114 </v-layout>
115 </v-flex> 115 </v-flex>
116 <v-flex xs12 sm4> 116 <v-flex xs12 sm4>
117 <v-layout> 117 <v-layout>
118 <v-flex xs4 class="pt-4 subheading"> 118 <v-flex xs4 class="pt-4 subheading">
119 <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> 119 <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label>
120 <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> 120 <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label>
121 </v-flex> 121 </v-flex>
122 <v-flex xs8 class="ml-3"> 122 <v-flex xs8 class="ml-3">
123 <v-menu 123 <v-menu
124 ref="menu" 124 ref="menu"
125 :close-on-content-click="false" 125 :close-on-content-click="false"
126 v-model="menu1" 126 v-model="menu1"
127 :nudge-right="40" 127 :nudge-right="40"
128 lazy 128 lazy
129 transition="scale-transition" 129 transition="scale-transition"
130 offset-y 130 offset-y
131 full-width 131 full-width
132 min-width="290px" 132 min-width="290px"
133 > 133 >
134 <v-text-field 134 <v-text-field
135 slot="activator" 135 slot="activator"
136 v-model="editedItem.dob" 136 v-model="editedItem.dob"
137 placeholder="Select Dob" 137 placeholder="Select Dob"
138 ></v-text-field> 138 ></v-text-field>
139 <v-date-picker 139 <v-date-picker
140 ref="picker" 140 ref="picker"
141 v-model="editedItem.dob" 141 v-model="editedItem.dob"
142 :max="new Date().toISOString().substr(0, 10)" 142 :max="new Date().toISOString().substr(0, 10)"
143 min="1950-01-01" 143 min="1950-01-01"
144 @input="menu1 = false" 144 @input="menu1 = false"
145 ></v-date-picker> 145 ></v-date-picker>
146 </v-menu> 146 </v-menu>
147 </v-flex> 147 </v-flex>
148 </v-layout> 148 </v-layout>
149 </v-flex> 149 </v-flex>
150 <v-flex xs12 sm4> 150 <v-flex xs12 sm4>
151 <v-layout> 151 <v-layout>
152 <v-flex xs4 class="pt-4 subheading"> 152 <v-flex xs4 class="pt-4 subheading">
153 <label class="right">City:</label> 153 <label class="right">City:</label>
154 </v-flex> 154 </v-flex>
155 <v-flex xs8 class="ml-3"> 155 <v-flex xs8 class="ml-3">
156 <v-text-field 156 <v-text-field
157 v-model="editedItem.city" 157 v-model="editedItem.city"
158 placeholder="fill your City Name" 158 placeholder="fill your City Name"
159 name="City" 159 name="City"
160 type="text" 160 type="text"
161 required 161 required
162 ></v-text-field> 162 ></v-text-field>
163 </v-flex> 163 </v-flex>
164 </v-layout> 164 </v-layout>
165 </v-flex> 165 </v-flex>
166 </v-layout> 166 </v-layout>
167 <v-layout wrap> 167 <v-layout wrap>
168 <v-flex xs12 sm4> 168 <v-flex xs12 sm4>
169 <v-layout> 169 <v-layout>
170 <v-flex xs4 class="pt-4 subheading"> 170 <v-flex xs4 class="pt-4 subheading">
171 <label class="right hidden-xs-only hidden-sm-only">Blood Group:</label> 171 <label class="right hidden-xs-only hidden-sm-only">Blood Group:</label>
172 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Blood:</label> 172 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Blood:</label>
173 </v-flex> 173 </v-flex>
174 <v-flex xs8 class="ml-3"> 174 <v-flex xs8 class="ml-3">
175 <v-text-field 175 <v-text-field
176 v-model="editedItem.bloodGroup" 176 v-model="editedItem.bloodGroup"
177 placeholder="fill your BloodGroup" 177 placeholder="fill your BloodGroup"
178 name="state" 178 name="state"
179 type="text" 179 type="text"
180 required 180 required
181 ></v-text-field> 181 ></v-text-field>
182 </v-flex> 182 </v-flex>
183 </v-layout> 183 </v-layout>
184 </v-flex> 184 </v-flex>
185 <v-flex xs12 sm4> 185 <v-flex xs12 sm4>
186 <v-layout> 186 <v-layout>
187 <v-flex xs4 class="pt-4 subheading"> 187 <v-flex xs4 class="pt-4 subheading">
188 <label class="right">Gender:</label> 188 <label class="right">Gender:</label>
189 </v-flex> 189 </v-flex>
190 <v-flex xs8 class="ml-3"> 190 <v-flex xs8 class="ml-3">
191 <v-select 191 <v-select
192 :items="gender" 192 :items="gender"
193 v-model="editedItem.gender" 193 v-model="editedItem.gender"
194 placeholder="Select Gender" 194 placeholder="Select Gender"
195 required 195 required
196 ></v-select> 196 ></v-select>
197 </v-flex> 197 </v-flex>
198 </v-layout> 198 </v-layout>
199 </v-flex> 199 </v-flex>
200 <v-flex xs12 sm4> 200 <v-flex xs12 sm4>
201 <v-layout> 201 <v-layout>
202 <v-flex xs4 class="pt-4 subheading"> 202 <v-flex xs4 class="pt-4 subheading">
203 <label class="right">Medical Notes:</label> 203 <label class="right">Medical Notes:</label>
204 </v-flex> 204 </v-flex>
205 <v-flex xs8 class="ml-3"> 205 <v-flex xs8 class="ml-3">
206 <v-text-field 206 <v-text-field
207 v-model="editedItem.medicalNotes" 207 v-model="editedItem.medicalNotes"
208 placeholder="fill your medicalNotes" 208 placeholder="fill your medicalNotes"
209 required 209 required
210 ></v-text-field> 210 ></v-text-field>
211 </v-flex> 211 </v-flex>
212 </v-layout> 212 </v-layout>
213 </v-flex> 213 </v-flex>
214 </v-layout> 214 </v-layout>
215 <v-layout wrap> 215 <v-layout wrap>
216 <v-flex xs12 sm4> 216 <v-flex xs12 sm4>
217 <v-layout> 217 <v-layout>
218 <v-flex xs4 class="pt-4 subheading"> 218 <v-flex xs4 class="pt-4 subheading">
219 <label class="right">Height:</label> 219 <label class="right">Height:</label>
220 </v-flex> 220 </v-flex>
221 <v-flex xs8 class="ml-3"> 221 <v-flex xs8 class="ml-3">
222 <v-text-field 222 <v-text-field
223 v-model="editedItem.height" 223 v-model="editedItem.height"
224 placeholder="fill your Height" 224 placeholder="fill your Height"
225 name="state" 225 name="state"
226 type="text" 226 type="text"
227 required 227 required
228 ></v-text-field> 228 ></v-text-field>
229 </v-flex> 229 </v-flex>
230 </v-layout> 230 </v-layout>
231 </v-flex> 231 </v-flex>
232 <v-flex xs12 sm4> 232 <v-flex xs12 sm4>
233 <v-layout> 233 <v-layout>
234 <v-flex xs4 class="pt-4 subheading"> 234 <v-flex xs4 class="pt-4 subheading">
235 <label class="right">Weight:</label> 235 <label class="right">Weight:</label>
236 </v-flex> 236 </v-flex>
237 <v-flex xs8 class="ml-3"> 237 <v-flex xs8 class="ml-3">
238 <v-text-field 238 <v-text-field
239 v-model="editedItem.weight" 239 v-model="editedItem.weight"
240 placeholder="fill your Weight" 240 placeholder="fill your Weight"
241 name="pincode" 241 name="pincode"
242 required 242 required
243 ></v-text-field> 243 ></v-text-field>
244 </v-flex> 244 </v-flex>
245 </v-layout> 245 </v-layout>
246 </v-flex> 246 </v-flex>
247 <v-flex xs12 sm4> 247 <v-flex xs12 sm4>
248 <v-layout> 248 <v-layout>
249 <v-flex xs4 class="pt-4 subheading"> 249 <v-flex xs4 class="pt-4 subheading">
250 <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> 250 <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label>
251 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod:</label> 251 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod:</label>
252 </v-flex> 252 </v-flex>
253 <v-flex xs8 class="ml-3"> 253 <v-flex xs8 class="ml-3">
254 <v-text-field 254 <v-text-field
255 label="Select Image" 255 label="Select Image"
256 @click="pickEditFile" 256 @click="pickEditFile"
257 v-model="editImageName" 257 v-model="editImageName"
258 append-icon="attach_file" 258 append-icon="attach_file"
259 ></v-text-field> 259 ></v-text-field>
260 </v-flex> 260 </v-flex>
261 </v-layout> 261 </v-layout>
262 </v-flex> 262 </v-flex>
263 </v-layout> 263 </v-layout>
264 <v-layout wrap> 264 <v-layout wrap>
265 <v-flex xs12 sm4> 265 <v-flex xs12 sm4>
266 <v-layout> 266 <v-layout>
267 <v-flex xs4 class="pt-4 subheading"> 267 <v-flex xs4 class="pt-4 subheading">
268 <label class="right">State:</label> 268 <label class="right">State:</label>
269 </v-flex> 269 </v-flex>
270 <v-flex xs8 class="ml-3"> 270 <v-flex xs8 class="ml-3">
271 <v-text-field 271 <v-text-field
272 v-model="editedItem.state" 272 v-model="editedItem.state"
273 placeholder="fill your State Name" 273 placeholder="fill your State Name"
274 name="state" 274 name="state"
275 type="text" 275 type="text"
276 required 276 required
277 ></v-text-field> 277 ></v-text-field>
278 </v-flex> 278 </v-flex>
279 </v-layout> 279 </v-layout>
280 </v-flex> 280 </v-flex>
281 <v-flex xs12 sm4> 281 <v-flex xs12 sm4>
282 <v-layout> 282 <v-layout>
283 <v-flex xs4 class="pt-4 subheading"> 283 <v-flex xs4 class="pt-4 subheading">
284 <label class="right">Pincode:</label> 284 <label class="right">Pincode:</label>
285 </v-flex> 285 </v-flex>
286 <v-flex xs8 class="ml-3"> 286 <v-flex xs8 class="ml-3">
287 <v-text-field 287 <v-text-field
288 v-model="editedItem.pincode" 288 v-model="editedItem.pincode"
289 placeholder="fill your pincode" 289 placeholder="fill your pincode"
290 name="pincode" 290 name="pincode"
291 type="number" 291 type="number"
292 required 292 required
293 ></v-text-field> 293 ></v-text-field>
294 </v-flex> 294 </v-flex>
295 </v-layout> 295 </v-layout>
296 </v-flex> 296 </v-flex>
297 <v-flex xs12 sm4> 297 <v-flex xs12 sm4>
298 <v-layout> 298 <v-layout>
299 <v-flex xs4 class="pt-4 subheading"> 299 <v-flex xs4 class="pt-4 subheading">
300 <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> 300 <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label>
301 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> 301 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label>
302 </v-flex> 302 </v-flex>
303 <v-flex xs8 class="ml-3"> 303 <v-flex xs8 class="ml-3">
304 <v-text-field 304 <v-text-field
305 v-model="editedItem.mobile" 305 v-model="editedItem.mobile"
306 placeholder="fill your MobileNo" 306 placeholder="fill your MobileNo"
307 name="mobileNo" 307 name="mobileNo"
308 type="number" 308 type="number"
309 required 309 required
310 ></v-text-field> 310 ></v-text-field>
311 </v-flex> 311 </v-flex>
312 </v-layout> 312 </v-layout>
313 </v-flex> 313 </v-flex>
314 </v-layout> 314 </v-layout>
315 <v-layout wrap> 315 <v-layout wrap>
316 <v-flex xs12 sm4> 316 <v-flex xs12 sm4>
317 <v-layout> 317 <v-layout>
318 <v-flex xs4 class="pt-4 subheading"> 318 <v-flex xs4 class="pt-4 subheading">
319 <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> 319 <label class="right hidden-xs-only hidden-sm-only">Select Country:</label>
320 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> 320 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label>
321 </v-flex> 321 </v-flex>
322 <v-flex xs8 class="ml-3"> 322 <v-flex xs8 class="ml-3">
323 <v-autocomplete 323 <v-autocomplete
324 v-model="editedItem.country" 324 v-model="editedItem.country"
325 :items="countries" 325 :items="countries"
326 placeholder="Select Country Name" 326 placeholder="Select Country Name"
327 required 327 required
328 ></v-autocomplete> 328 ></v-autocomplete>
329 </v-flex> 329 </v-flex>
330 </v-layout> 330 </v-layout>
331 </v-flex> 331 </v-flex>
332 <v-flex xs12 sm4 class="hidden-xs-only hidden-sm-only"> 332 <v-flex xs12 sm4 class="hidden-xs-only hidden-sm-only">
333 <v-layout> 333 <v-layout>
334 <v-flex xs4 class="pt-4 subheading"> 334 <v-flex xs4 class="pt-4 subheading">
335 <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label> 335 <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label>
336 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Roll No:</label> 336 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Roll No:</label>
337 </v-flex> 337 </v-flex>
338 <v-flex xs8 class="ml-3"> 338 <v-flex xs8 class="ml-3">
339 <v-text-field 339 <v-text-field
340 v-model="editedItem.rollNo" 340 v-model="editedItem.rollNo"
341 placeholder="fill roll number" 341 placeholder="fill roll number"
342 required 342 required
343 ></v-text-field> 343 ></v-text-field>
344 </v-flex> 344 </v-flex>
345 </v-layout> 345 </v-layout>
346 </v-flex> 346 </v-flex>
347 <v-flex xs12 sm4 class="hidden-xs-only hidden-sm-only"> 347 <v-flex xs12 sm4 class="hidden-xs-only hidden-sm-only">
348 <v-layout> 348 <v-layout>
349 <v-flex xs4 sm4 class="pt-4 subheading"> 349 <v-flex xs4 sm4 class="pt-4 subheading">
350 <label class="right hidden-xs-only hidden-sm-only">Permanent Address:</label> 350 <label class="right hidden-xs-only hidden-sm-only">Permanent Address:</label>
351 <label 351 <label
352 class="right hidden-lg-only hidden-md-only hidden-xl-only" 352 class="right hidden-lg-only hidden-md-only hidden-xl-only"
353 >Permanent Address:</label> 353 >Permanent Address:</label>
354 </v-flex> 354 </v-flex>
355 <v-flex xs12 sm8 class="ml-3"> 355 <v-flex xs12 sm8 class="ml-3">
356 <v-text-field 356 <v-text-field
357 v-model="editedItem.permanentAddress" 357 v-model="editedItem.permanentAddress"
358 placeholder="fill Your Permanent Address" 358 placeholder="fill Your Permanent Address"
359 required 359 required
360 ></v-text-field> 360 ></v-text-field>
361 </v-flex> 361 </v-flex>
362 </v-layout> 362 </v-layout>
363 </v-flex> 363 </v-flex>
364 </v-layout> 364 </v-layout>
365 <v-layout class="hidden-xs-only hidden-sm-only"> 365 <v-layout class="hidden-xs-only hidden-sm-only">
366 <v-flex xs12 sm4> 366 <v-flex xs12 sm4>
367 <v-layout> 367 <v-layout>
368 <v-flex xs4 class="pt-4 subheading"> 368 <v-flex xs4 class="pt-4 subheading">
369 <label class="right hidden-xs-only hidden-sm-only">Present Address:</label> 369 <label class="right hidden-xs-only hidden-sm-only">Present Address:</label>
370 <label 370 <label
371 class="right hidden-lg-only hidden-md-only hidden-xl-only" 371 class="right hidden-lg-only hidden-md-only hidden-xl-only"
372 >Present Address:</label> 372 >Present Address:</label>
373 </v-flex> 373 </v-flex>
374 <v-flex xs8 class="ml-3"> 374 <v-flex xs8 class="ml-3">
375 <v-text-field 375 <v-text-field
376 v-model="editedItem.presentAddress" 376 v-model="editedItem.presentAddress"
377 placeholder="Select Country Name" 377 placeholder="Select Country Name"
378 required 378 required
379 ></v-text-field> 379 ></v-text-field>
380 </v-flex> 380 </v-flex>
381 </v-layout> 381 </v-layout>
382 </v-flex> 382 </v-flex>
383 </v-layout> 383 </v-layout>
384 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> 384 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap>
385 <v-flex xs12 sm12> 385 <v-flex xs12 sm12>
386 <v-layout> 386 <v-layout>
387 <v-flex xs4 class="pt-4 subheading"> 387 <v-flex xs4 class="pt-4 subheading">
388 <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label> 388 <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label>
389 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Roll No:</label> 389 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Roll No:</label>
390 </v-flex> 390 </v-flex>
391 <v-flex xs8 class="ml-3"> 391 <v-flex xs8 class="ml-3">
392 <v-text-field 392 <v-text-field
393 v-model="editedItem.rollNo" 393 v-model="editedItem.rollNo"
394 placeholder="fill roll number" 394 placeholder="fill roll number"
395 required 395 required
396 ></v-text-field> 396 ></v-text-field>
397 </v-flex> 397 </v-flex>
398 </v-layout> 398 </v-layout>
399 </v-flex> 399 </v-flex>
400 </v-layout> 400 </v-layout>
401 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> 401 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap>
402 <v-flex xs12 sm12> 402 <v-flex xs12 sm12>
403 <v-layout> 403 <v-layout>
404 <v-flex xs12 sm3 class="pt-4 subheading text-xs-center"> 404 <v-flex xs12 sm3 class="pt-4 subheading text-xs-center">
405 <label class>Present Address :</label> 405 <label class>Present Address :</label>
406 </v-flex> 406 </v-flex>
407 </v-layout> 407 </v-layout>
408 <v-layout> 408 <v-layout>
409 <v-flex xs12 sm12> 409 <v-flex xs12 sm12>
410 <v-textarea 410 <v-textarea
411 v-model="editedItem.presentAddress" 411 v-model="editedItem.presentAddress"
412 placeholder="fill Your present Address" 412 placeholder="fill Your present Address"
413 required 413 required
414 ></v-textarea> 414 ></v-textarea>
415 </v-flex> 415 </v-flex>
416 </v-layout> 416 </v-layout>
417 </v-flex> 417 </v-flex>
418 <v-flex xs12 sm12> 418 <v-flex xs12 sm12>
419 <v-layout> 419 <v-layout>
420 <v-flex xs12 sm3 class="pt-4 pr-4 subheading text-xs-center addressForm"> 420 <v-flex xs12 sm3 class="pt-4 pr-4 subheading text-xs-center addressForm">
421 <label>Permanent addr:</label> 421 <label>Permanent addr:</label>
422 </v-flex> 422 </v-flex>
423 </v-layout> 423 </v-layout>
424 <v-layout> 424 <v-layout>
425 <v-flex xs12 sm12> 425 <v-flex xs12 sm12>
426 <v-textarea 426 <v-textarea
427 name="input-4-3" 427 name="input-4-3"
428 v-model="editedItem.permanentAddress" 428 v-model="editedItem.permanentAddress"
429 placeholder="fill Your Permanent Address" 429 placeholder="fill Your Permanent Address"
430 required 430 required
431 ></v-textarea> 431 ></v-textarea>
432 </v-flex> 432 </v-flex>
433 </v-layout> 433 </v-layout>
434 </v-flex> 434 </v-flex>
435 </v-layout> 435 </v-layout>
436 <v-layout> 436 <v-layout>
437 <v-flex xs12 sm12> 437 <v-flex xs12 sm12>
438 <v-layout class="right"> 438 <v-layout class="right">
439 <v-btn @click="save" round dark :loading="editLoading" class="add-button">Save</v-btn> 439 <v-btn @click="save" round dark :loading="editLoading" class="add-button">Save</v-btn>
440 </v-layout> 440 </v-layout>
441 </v-flex> 441 </v-flex>
442 </v-layout> 442 </v-layout>
443 </v-container> 443 </v-container>
444 </v-form> 444 </v-form>
445 </v-card-text> 445 </v-card-text>
446 </v-card> 446 </v-card>
447 </v-dialog> 447 </v-dialog>
448 448
449 <!-- ****** PROFILE VIEW STUDENTS DEATILS ****** --> 449 <!-- ****** PROFILE VIEW STUDENTS DEATILS ****** -->
450 450
451 <v-dialog v-model="profileStudentDialog" max-width="1000px" scrollable> 451 <v-dialog v-model="profileStudentDialog" max-width="1000px" scrollable>
452 <v-card flat class="card-style pa-3" dark> 452 <v-card flat class="card-style pa-3" dark>
453 <v-layout> 453 <v-layout>
454 <v-flex xs12> 454 <v-flex xs12>
455 <label class="title text-xs-center">View Student Details</label> 455 <label class="title text-xs-center">View Student Details</label>
456 <v-icon size="24" class="right" @click="profileStudentDialog = false">cancel</v-icon> 456 <v-icon size="24" class="right" @click="profileStudentDialog = false">cancel</v-icon>
457 </v-flex> 457 </v-flex>
458 </v-layout> 458 </v-layout>
459 <v-card-text> 459 <v-card-text>
460 <v-flex align-center justify-center layout text-xs-center class="mt-3"> 460 <v-flex align-center justify-center layout text-xs-center class="mt-3">
461 <v-avatar size="100px"> 461 <v-avatar size="100px">
462 <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> 462 <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" />
463 <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> 463 <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" />
464 </v-avatar> 464 </v-avatar>
465 </v-flex> 465 </v-flex>
466 <v-container grid-list-md> 466 <v-container grid-list-md>
467 <v-layout wrap> 467 <v-layout wrap>
468 <v-flex xs12 sm5> 468 <v-flex xs12 sm5>
469 <v-layout> 469 <v-layout>
470 <v-flex xs6 sm6> 470 <v-flex xs6 sm6>
471 <h5 class="right my-1"> 471 <h5 class="right my-1">
472 <b>Full Name:</b> 472 <b>Full Name:</b>
473 </h5> 473 </h5>
474 </v-flex> 474 </v-flex>
475 <v-flex sm6 xs6> 475 <v-flex sm6 xs6>
476 <h5 class="my-1 left">{{ editedItem.name }}</h5> 476 <h5 class="my-1 left">{{ editedItem.name }}</h5>
477 </v-flex> 477 </v-flex>
478 </v-layout> 478 </v-layout>
479 </v-flex> 479 </v-flex>
480 <v-flex xs12 sm7> 480 <v-flex xs12 sm7>
481 <v-layout> 481 <v-layout>
482 <v-flex xs6 sm4> 482 <v-flex xs6 sm4>
483 <h5 class="right my-1"> 483 <h5 class="right my-1">
484 <b>Email:</b> 484 <b>Email:</b>
485 </h5> 485 </h5>
486 </v-flex> 486 </v-flex>
487 <v-flex sm8 xs6> 487 <v-flex sm8 xs6>
488 <h5 class="my-1 left">{{ editedItem.email }}</h5> 488 <h5 class="my-1 left">{{ editedItem.email }}</h5>
489 </v-flex> 489 </v-flex>
490 </v-layout> 490 </v-layout>
491 </v-flex> 491 </v-flex>
492 </v-layout> 492 </v-layout>
493 <v-layout wrap> 493 <v-layout wrap>
494 <v-flex xs12 sm5> 494 <v-flex xs12 sm5>
495 <v-layout> 495 <v-layout>
496 <v-flex xs6 sm6> 496 <v-flex xs6 sm6>
497 <b> 497 <b>
498 <h5 class="right my-1"> 498 <h5 class="right my-1">
499 <b>Gender:</b> 499 <b>Gender:</b>
500 </h5> 500 </h5>
501 </b> 501 </b>
502 </v-flex> 502 </v-flex>
503 <v-flex sm6 xs6> 503 <v-flex sm6 xs6>
504 <h5 class="my-1 left">{{ editedItem.gender }}</h5> 504 <h5 class="my-1 left">{{ editedItem.gender }}</h5>
505 </v-flex> 505 </v-flex>
506 </v-layout> 506 </v-layout>
507 </v-flex> 507 </v-flex>
508 <v-flex xs12 sm7> 508 <v-flex xs12 sm7>
509 <v-layout> 509 <v-layout>
510 <v-flex xs6 sm4> 510 <v-flex xs6 sm4>
511 <b> 511 <b>
512 <h5 class="right my-1"> 512 <h5 class="right my-1">
513 <b>D.O.B:</b> 513 <b>D.O.B:</b>
514 </h5> 514 </h5>
515 </b> 515 </b>
516 </v-flex> 516 </v-flex>
517 <v-flex sm8 xs6> 517 <v-flex sm8 xs6>
518 <h5 class="my-1">{{ dates(editedItem.dob) }}</h5> 518 <h5 class="my-1">{{ dates(editedItem.dob) }}</h5>
519 </v-flex> 519 </v-flex>
520 </v-layout> 520 </v-layout>
521 </v-flex> 521 </v-flex>
522 </v-layout> 522 </v-layout>
523 <v-layout wrap> 523 <v-layout wrap>
524 <v-flex xs12 sm5> 524 <v-flex xs12 sm5>
525 <v-layout> 525 <v-layout>
526 <v-flex xs6 sm6> 526 <v-flex xs6 sm6>
527 <b> 527 <b>
528 <h5 class="right my-1"> 528 <h5 class="right my-1">
529 <b>BloodGroup:</b> 529 <b>BloodGroup:</b>
530 </h5> 530 </h5>
531 </b> 531 </b>
532 </v-flex> 532 </v-flex>
533 <v-flex sm6 xs6> 533 <v-flex sm6 xs6>
534 <h5 class="my-1 left">{{ editedItem.bloodGroup }}</h5> 534 <h5 class="my-1 left">{{ editedItem.bloodGroup }}</h5>
535 </v-flex> 535 </v-flex>
536 </v-layout> 536 </v-layout>
537 </v-flex> 537 </v-flex>
538 <v-flex xs12 sm7> 538 <v-flex xs12 sm7>
539 <v-layout> 539 <v-layout>
540 <v-flex xs6 sm4> 540 <v-flex xs6 sm4>
541 <b> 541 <b>
542 <h5 class="right my-1"> 542 <h5 class="right my-1">
543 <b>Roll No. :</b> 543 <b>Roll No. :</b>
544 </h5> 544 </h5>
545 </b> 545 </b>
546 </v-flex> 546 </v-flex>
547 <v-flex sm8 xs6> 547 <v-flex sm8 xs6>
548 <h5 class="my-1">{{ editedItem.rollNo }}</h5> 548 <h5 class="my-1">{{ editedItem.rollNo }}</h5>
549 </v-flex> 549 </v-flex>
550 </v-layout> 550 </v-layout>
551 </v-flex> 551 </v-flex>
552 </v-layout> 552 </v-layout>
553 <v-layout wrap> 553 <v-layout wrap>
554 <v-flex xs12 sm5> 554 <v-flex xs12 sm5>
555 <v-layout> 555 <v-layout>
556 <v-flex xs6 sm6> 556 <v-flex xs6 sm6>
557 <b> 557 <b>
558 <h5 class="right my-1"> 558 <h5 class="right my-1">
559 <b>Height:</b> 559 <b>Height:</b>
560 </h5> 560 </h5>
561 </b> 561 </b>
562 </v-flex> 562 </v-flex>
563 <v-flex sm6 xs6> 563 <v-flex sm6 xs6>
564 <h5 class="my-1 left">{{ editedItem.height }}</h5> 564 <h5 class="my-1 left">{{ editedItem.height }}</h5>
565 </v-flex> 565 </v-flex>
566 </v-layout> 566 </v-layout>
567 </v-flex> 567 </v-flex>
568 <v-flex xs12 sm7> 568 <v-flex xs12 sm7>
569 <v-layout> 569 <v-layout>
570 <v-flex xs6 sm4> 570 <v-flex xs6 sm4>
571 <b> 571 <b>
572 <h5 class="right my-1"> 572 <h5 class="right my-1">
573 <b>Weight:</b> 573 <b>Weight:</b>
574 </h5> 574 </h5>
575 </b> 575 </b>
576 </v-flex> 576 </v-flex>
577 <v-flex sm8 xs6> 577 <v-flex sm8 xs6>
578 <h5 class="my-1">{{ editedItem.weight }}</h5> 578 <h5 class="my-1">{{ editedItem.weight }}</h5>
579 </v-flex> 579 </v-flex>
580 </v-layout> 580 </v-layout>
581 </v-flex> 581 </v-flex>
582 </v-layout> 582 </v-layout>
583 <v-layout wrap> 583 <v-layout wrap>
584 <v-flex xs12 sm5> 584 <v-flex xs12 sm5>
585 <v-layout> 585 <v-layout>
586 <v-flex xs6 sm6> 586 <v-flex xs6 sm6>
587 <b> 587 <b>
588 <h5 class="right my-1"> 588 <h5 class="right my-1">
589 <b>City:</b> 589 <b>City:</b>
590 </h5> 590 </h5>
591 </b> 591 </b>
592 </v-flex> 592 </v-flex>
593 <v-flex sm6 xs6> 593 <v-flex sm6 xs6>
594 <h5 class="my-1 left">{{ editedItem.city }}</h5> 594 <h5 class="my-1 left">{{ editedItem.city }}</h5>
595 </v-flex> 595 </v-flex>
596 </v-layout> 596 </v-layout>
597 </v-flex> 597 </v-flex>
598 <v-flex xs12 sm7> 598 <v-flex xs12 sm7>
599 <v-layout> 599 <v-layout>
600 <v-flex xs6 sm4> 600 <v-flex xs6 sm4>
601 <b> 601 <b>
602 <h5 class="right my-1"> 602 <h5 class="right my-1">
603 <b>State:</b> 603 <b>State:</b>
604 </h5> 604 </h5>
605 </b> 605 </b>
606 </v-flex> 606 </v-flex>
607 <v-flex sm8 xs6> 607 <v-flex sm8 xs6>
608 <h5 class="my-1">{{ editedItem.state }}</h5> 608 <h5 class="my-1">{{ editedItem.state }}</h5>
609 </v-flex> 609 </v-flex>
610 </v-layout> 610 </v-layout>
611 </v-flex> 611 </v-flex>
612 </v-layout> 612 </v-layout>
613 <v-layout wrap> 613 <v-layout wrap>
614 <v-flex xs12 sm5> 614 <v-flex xs12 sm5>
615 <v-layout> 615 <v-layout>
616 <v-flex xs6 sm6> 616 <v-flex xs6 sm6>
617 <b> 617 <b>
618 <h5 class="right my-1"> 618 <h5 class="right my-1">
619 <b>Pincode:</b> 619 <b>Pincode:</b>
620 </h5> 620 </h5>
621 </b> 621 </b>
622 </v-flex> 622 </v-flex>
623 <v-flex sm6 xs6> 623 <v-flex sm6 xs6>
624 <h5 class="my-1">{{ editedItem.pincode }}</h5> 624 <h5 class="my-1">{{ editedItem.pincode }}</h5>
625 </v-flex> 625 </v-flex>
626 </v-layout> 626 </v-layout>
627 </v-flex> 627 </v-flex>
628 <v-flex xs12 sm7> 628 <v-flex xs12 sm7>
629 <v-layout> 629 <v-layout>
630 <v-flex xs6 sm4> 630 <v-flex xs6 sm4>
631 <b> 631 <b>
632 <h5 class="right my-1"> 632 <h5 class="right my-1">
633 <b>Country:</b> 633 <b>Country:</b>
634 </h5> 634 </h5>
635 </b> 635 </b>
636 </v-flex> 636 </v-flex>
637 <v-flex sm7 xs6> 637 <v-flex sm7 xs6>
638 <h5 class="my-1">{{ editedItem.country }}</h5> 638 <h5 class="my-1">{{ editedItem.country }}</h5>
639 </v-flex> 639 </v-flex>
640 </v-layout> 640 </v-layout>
641 </v-flex> 641 </v-flex>
642 </v-layout> 642 </v-layout>
643 <v-layout wrap> 643 <v-layout wrap>
644 <v-flex xs12 sm5> 644 <v-flex xs12 sm5>
645 <v-layout> 645 <v-layout>
646 <v-flex sm6 xs6> 646 <v-flex sm6 xs6>
647 <b> 647 <b>
648 <h5 class="right my-1"> 648 <h5 class="right my-1">
649 <b>Mobile No:</b> 649 <b>Mobile No:</b>
650 </h5> 650 </h5>
651 </b> 651 </b>
652 </v-flex> 652 </v-flex>
653 <v-flex sm6 xs6> 653 <v-flex sm6 xs6>
654 <h5 class="my-1">{{ editedItem.mobile }}</h5> 654 <h5 class="my-1">{{ editedItem.mobile }}</h5>
655 </v-flex> 655 </v-flex>
656 </v-layout> 656 </v-layout>
657 </v-flex> 657 </v-flex>
658 <v-flex xs12 sm7> 658 <v-flex xs12 sm7>
659 <v-layout> 659 <v-layout>
660 <v-flex xs6 sm4> 660 <v-flex xs6 sm4>
661 <b> 661 <b>
662 <h5 class="right my-1"> 662 <h5 class="right my-1">
663 <b>FahterName:</b> 663 <b>FahterName:</b>
664 </h5> 664 </h5>
665 </b> 665 </b>
666 </v-flex> 666 </v-flex>
667 <v-flex sm8 xs6> 667 <v-flex sm8 xs6>
668 <h5 class="my-1">{{ editedItem.fatherName }}</h5> 668 <h5 class="my-1">{{ editedItem.fatherName }}</h5>
669 </v-flex> 669 </v-flex>
670 </v-layout> 670 </v-layout>
671 </v-flex> 671 </v-flex>
672 </v-layout> 672 </v-layout>
673 <v-layout wrap> 673 <v-layout wrap>
674 <v-flex xs12 sm5> 674 <v-flex xs12 sm5>
675 <v-layout> 675 <v-layout>
676 <v-flex xs6 sm6> 676 <v-flex xs6 sm6>
677 <b> 677 <b>
678 <h5 class="right my-1"> 678 <h5 class="right my-1">
679 <b>MotherName:</b> 679 <b>MotherName:</b>
680 </h5> 680 </h5>
681 </b> 681 </b>
682 </v-flex> 682 </v-flex>
683 <v-flex sm6 xs6> 683 <v-flex sm6 xs6>
684 <h5 class="my-1">{{ editedItem.motherName }}</h5> 684 <h5 class="my-1">{{ editedItem.motherName }}</h5>
685 </v-flex> 685 </v-flex>
686 </v-layout> 686 </v-layout>
687 </v-flex> 687 </v-flex>
688 <v-flex xs12 sm7> 688 <v-flex xs12 sm7>
689 <v-layout> 689 <v-layout>
690 <v-flex xs6 sm4> 690 <v-flex xs6 sm4>
691 <b> 691 <b>
692 <h5 class="right my-1"> 692 <h5 class="right my-1">
693 <b>FatherCellNo:</b> 693 <b>FatherCellNo:</b>
694 </h5> 694 </h5>
695 </b> 695 </b>
696 </v-flex> 696 </v-flex>
697 <v-flex sm6 xs6> 697 <v-flex sm6 xs6>
698 <h5 class="my-1">{{ editedItem.fatherCellNo }}</h5> 698 <h5 class="my-1">{{ editedItem.fatherCellNo }}</h5>
699 </v-flex> 699 </v-flex>
700 </v-layout> 700 </v-layout>
701 </v-flex> 701 </v-flex>
702 </v-layout> 702 </v-layout>
703 <v-layout wrap> 703 <v-layout wrap>
704 <v-flex xs12 sm5> 704 <v-flex xs12 sm5>
705 <v-layout> 705 <v-layout>
706 <v-flex xs6 sm6> 706 <v-flex xs6 sm6>
707 <b> 707 <b>
708 <h5 class="right my-1"> 708 <h5 class="right my-1">
709 <b>MotherCellNo:</b> 709 <b>MotherCellNo:</b>
710 </h5> 710 </h5>
711 </b> 711 </b>
712 </v-flex> 712 </v-flex>
713 <v-flex sm6 xs6> 713 <v-flex sm6 xs6>
714 <h5 class="my-1">{{ editedItem.motherCellNo }}</h5> 714 <h5 class="my-1">{{ editedItem.motherCellNo }}</h5>
715 </v-flex> 715 </v-flex>
716 </v-layout> 716 </v-layout>
717 </v-flex> 717 </v-flex>
718 <v-flex xs12 sm7> 718 <v-flex xs12 sm7>
719 <v-layout> 719 <v-layout>
720 <v-flex xs6 sm4> 720 <v-flex xs6 sm4>
721 <b> 721 <b>
722 <h5 class="my-1 right"> 722 <h5 class="my-1 right">
723 <b>AcademicYear:</b> 723 <b>AcademicYear:</b>
724 </h5> 724 </h5>
725 </b> 725 </b>
726 </v-flex> 726 </v-flex>
727 <v-flex sm5 xs8> 727 <v-flex sm5 xs8>
728 <h5 class="my-1">{{ editedItem.establishmentYear }}</h5> 728 <h5 class="my-1">{{ editedItem.establishmentYear }}</h5>
729 </v-flex> 729 </v-flex>
730 </v-layout> 730 </v-layout>
731 </v-flex> 731 </v-flex>
732 </v-layout> 732 </v-layout>
733 <v-layout wrap> 733 <v-layout wrap>
734 <v-flex xs12 sm5> 734 <v-flex xs12 sm5>
735 <v-layout> 735 <v-layout>
736 <v-flex xs6 sm6> 736 <v-flex xs6 sm6>
737 <b> 737 <b>
738 <h5 class="my-1 right"> 738 <h5 class="my-1 right">
739 <b>MedicalNotes:</b> 739 <b>MedicalNotes:</b>
740 </h5> 740 </h5>
741 </b> 741 </b>
742 </v-flex> 742 </v-flex>
743 <v-flex sm5 xs6> 743 <v-flex sm5 xs6>
744 <h5 class="my-1">{{ editedItem.medicalNotes }}</h5> 744 <h5 class="my-1">{{ editedItem.medicalNotes }}</h5>
745 </v-flex> 745 </v-flex>
746 </v-layout> 746 </v-layout>
747 </v-flex> 747 </v-flex>
748 <v-flex xs12 sm7 class="hidden-xs-only"> 748 <v-flex xs12 sm7 class="hidden-xs-only">
749 <v-layout wrap> 749 <v-layout wrap>
750 <v-flex sm4> 750 <v-flex sm4>
751 <b> 751 <b>
752 <h5 class="my-1 right"> 752 <h5 class="my-1 right">
753 <b>present Address:</b> 753 <b>present Address:</b>
754 </h5> 754 </h5>
755 </b> 755 </b>
756 </v-flex> 756 </v-flex>
757 <v-flex sm8> 757 <v-flex sm8>
758 <h5 class="my-1">{{ editedItem.presentAddress }}</h5> 758 <h5 class="my-1">{{ editedItem.presentAddress }}</h5>
759 </v-flex> 759 </v-flex>
760 </v-layout> 760 </v-layout>
761 </v-flex> 761 </v-flex>
762 <v-flex sm6 class="hidden-xs-only"> 762 <v-flex sm6 class="hidden-xs-only">
763 <v-layout wrap> 763 <v-layout wrap>
764 <v-flex sm5> 764 <v-flex sm5>
765 <b> 765 <b>
766 <h5 class="my-1 right"> 766 <h5 class="my-1 right">
767 <b>Permanent Address:</b> 767 <b>Permanent Address:</b>
768 </h5> 768 </h5>
769 </b> 769 </b>
770 </v-flex> 770 </v-flex>
771 <v-flex sm7> 771 <v-flex sm7>
772 <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> 772 <h5 class="my-1">{{ editedItem.permanentAddress }}</h5>
773 </v-flex> 773 </v-flex>
774 </v-layout> 774 </v-layout>
775 </v-flex> 775 </v-flex>
776 </v-layout> 776 </v-layout>
777 <v-layout wrap class="hidden-sm-only hidden-md-only hidden-lg-only hidden-xl-only"> 777 <v-layout wrap class="hidden-sm-only hidden-md-only hidden-lg-only hidden-xl-only">
778 <v-flex xs12 sm5> 778 <v-flex xs12 sm5>
779 <v-layout wrap> 779 <v-layout wrap>
780 <v-flex xs12 sm6> 780 <v-flex xs12 sm6>
781 <b> 781 <b>
782 <h5 class="my-1"> 782 <h5 class="my-1">
783 <b>present Address:-</b> 783 <b>present Address:-</b>
784 </h5> 784 </h5>
785 </b> 785 </b>
786 </v-flex> 786 </v-flex>
787 <v-flex sm5 xs12> 787 <v-flex sm5 xs12>
788 <h5 class="my-1">{{ editedItem.presentAddress }}</h5> 788 <h5 class="my-1">{{ editedItem.presentAddress }}</h5>
789 </v-flex> 789 </v-flex>
790 </v-layout> 790 </v-layout>
791 </v-flex> 791 </v-flex>
792 <v-flex xs12 sm6> 792 <v-flex xs12 sm6>
793 <v-layout wrap> 793 <v-layout wrap>
794 <v-flex xs12 sm6> 794 <v-flex xs12 sm6>
795 <b> 795 <b>
796 <h5 class="my-1"> 796 <h5 class="my-1">
797 <b>Permanent Address:-</b> 797 <b>Permanent Address:-</b>
798 </h5> 798 </h5>
799 </b> 799 </b>
800 </v-flex> 800 </v-flex>
801 <v-flex sm6 xs12> 801 <v-flex sm6 xs12>
802 <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> 802 <h5 class="my-1">{{ editedItem.permanentAddress }}</h5>
803 </v-flex> 803 </v-flex>
804 </v-layout> 804 </v-layout>
805 </v-flex> 805 </v-flex>
806 </v-layout> 806 </v-layout>
807 </v-container> 807 </v-container>
808 </v-card-text> 808 </v-card-text>
809 </v-card> 809 </v-card>
810 </v-dialog> 810 </v-dialog>
811 811
812 <!-- ****** STUDENTS TABLE ****** --> 812 <!-- ****** STUDENTS TABLE ****** -->
813 <v-toolbar color="transparent" flat> 813 <v-toolbar color="transparent" flat>
814 <v-btn 814 <v-btn
815 fab 815 fab
816 dark 816 dark
817 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only" 817 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
818 small 818 small
819 @click="addStudentDialog = true" 819 @click="addStudentDialog = true"
820 > 820 >
821 <v-icon dark>add</v-icon> 821 <v-icon dark>add</v-icon>
822 </v-btn> 822 </v-btn>
823 <v-btn 823 <v-btn
824 v-if="role != 'TEACHER' " 824 v-if="role != 'TEACHER' "
825 round 825 round
826 class="open-dialog-button hidden-sm-only hidden-xs-only" 826 class="open-dialog-button hidden-sm-only hidden-xs-only"
827 dark 827 dark
828 @click="addStudentDialog = true" 828 @click="addStudentDialog = true"
829 > 829 >
830 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Student 830 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Student
831 </v-btn> 831 </v-btn>
832 <v-card-actions class="hidden-xs-only hidden-sm-only"> 832 <v-card-actions class="hidden-xs-only hidden-sm-only">
833 <v-flex md13 lg12> 833 <v-flex md13 lg12>
834 <v-layout> 834 <v-layout>
835 <v-flex lg3 md4> 835 <v-flex lg3 md4>
836 <v-select 836 <v-select
837 :items="addclass" 837 :items="addclass"
838 label="Select Class" 838 label="Select Class"
839 v-model="selectStudents.select" 839 v-model="selectStudents.select"
840 item-text="classNum" 840 item-text="classNum"
841 item-value="_id" 841 item-value="_id"
842 name="Select Class" 842 name="Select Class"
843 :rules="classRules" 843 :rules="classRules"
844 @change="getSections(selectStudents.select)" 844 @change="getSections(selectStudents.select)"
845 required 845 required
846 class="ml-2" 846 class="ml-2"
847 ></v-select> 847 ></v-select>
848 </v-flex> 848 </v-flex>
849 <v-flex lg3 md4 class="ml-2"> 849 <v-flex lg3 md4 class="ml-2">
850 <v-layout> 850 <v-layout>
851 <v-select 851 <v-select
852 :items="addSection" 852 :items="addSection"
853 label="Select Section" 853 label="Select Section"
854 v-model="selectStudents.selectSection" 854 v-model="selectStudents.selectSection"
855 item-text="name" 855 item-text="name"
856 item-value="_id" 856 item-value="_id"
857 name="Select Section" 857 name="Select Section"
858 :rules="sectionRules" 858 :rules="sectionRules"
859 required 859 required
860 ></v-select> 860 ></v-select>
861 </v-layout> 861 </v-layout>
862 </v-flex> 862 </v-flex>
863 </v-layout> 863 </v-layout>
864 </v-flex> 864 </v-flex>
865 </v-card-actions> 865 </v-card-actions>
866 <v-spacer></v-spacer> 866 <v-spacer></v-spacer>
867 <v-btn 867 <v-btn
868 @click="findStudents()" 868 @click="findStudents()"
869 round 869 round
870 dark 870 dark
871 :loading="loading" 871 :loading="loading"
872 class="add-button hidden-xs-only hidden-sm-only" 872 class="add-button hidden-xs-only hidden-sm-only"
873 >Find</v-btn> 873 >Find</v-btn>
874 <v-card-title class="body-1" v-show="show"> 874 <v-card-title class="body-1" v-show="show">
875 <v-btn icon large flat @click="displaySearch"> 875 <v-btn icon large flat @click="displaySearch">
876 <v-avatar size="27"> 876 <v-avatar size="27">
877 <img src="/static/icon/search.png" alt="icon" /> 877 <img src="/static/icon/search.png" alt="icon" />
878 </v-avatar> 878 </v-avatar>
879 </v-btn> 879 </v-btn>
880 </v-card-title> 880 </v-card-title>
881 <v-flex xs8 sm7 lg2 md3 v-show="showSearch"> 881 <v-flex xs8 sm7 lg2 md3 v-show="showSearch">
882 <v-layout> 882 <v-layout>
883 <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field> 883 <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field>
884 <v-icon @click="closeSearch" color="error">close</v-icon> 884 <v-icon @click="closeSearch" color="error">close</v-icon>
885 </v-layout> 885 </v-layout>
886 </v-flex> 886 </v-flex>
887 </v-toolbar> 887 </v-toolbar>
888 <v-card flat class="elevation-0 transparent"> 888 <v-card flat class="elevation-0 transparent">
889 <v-flex class="hidden-xl-only hidden-lg-only hidden-md-only"> 889 <v-flex class="hidden-xl-only hidden-lg-only hidden-md-only">
890 <v-layout> 890 <v-layout>
891 <v-flex xs4> 891 <v-flex xs4>
892 <label class="right mt-4">Select Class:</label> 892 <label class="right mt-4">Select Class:</label>
893 </v-flex> 893 </v-flex>
894 <v-flex xs8> 894 <v-flex xs8>
895 <v-select 895 <v-select
896 :items="addclass" 896 :items="addclass"
897 label="Select Class" 897 label="Select Class"
898 v-model="selectStudents.select" 898 v-model="selectStudents.select"
899 item-text="classNum" 899 item-text="classNum"
900 item-value="_id" 900 item-value="_id"
901 name="Select Class" 901 name="Select Class"
902 :rules="classRules" 902 :rules="classRules"
903 @change="getSections(selectStudents.select)" 903 @change="getSections(selectStudents.select)"
904 class="px-2" 904 class="px-2"
905 ></v-select> 905 ></v-select>
906 </v-flex> 906 </v-flex>
907 </v-layout> 907 </v-layout>
908 <v-layout> 908 <v-layout>
909 <v-flex xs4> 909 <v-flex xs4>
910 <label class="right mt-4">Select Section:</label> 910 <label class="right mt-4">Select Section:</label>
911 </v-flex> 911 </v-flex>
912 <v-flex xs8> 912 <v-flex xs8>
913 <v-select 913 <v-select
914 :items="addSection" 914 :items="addSection"
915 label="Select Section" 915 label="Select Section"
916 v-model="selectStudents.selectSection" 916 v-model="selectStudents.selectSection"
917 item-text="name" 917 item-text="name"
918 item-value="_id" 918 item-value="_id"
919 name="Select Section" 919 name="Select Section"
920 :rules="sectionRules" 920 :rules="sectionRules"
921 class="px-2" 921 class="px-2"
922 required 922 required
923 ></v-select> 923 ></v-select>
924 </v-flex> 924 </v-flex>
925 </v-layout> 925 </v-layout>
926 <v-layout> 926 <v-layout>
927 <v-flex xs5 class="mx-auto mb-2"> 927 <v-flex xs5 class="mx-auto mb-2">
928 <v-btn 928 <v-btn
929 @click="findStudents()" 929 @click="findStudents()"
930 block 930 block
931 round 931 round
932 dark 932 dark
933 :loading="loading" 933 :loading="loading"
934 class="add-button" 934 class="add-button"
935 >Find</v-btn> 935 >Find</v-btn>
936 </v-flex> 936 </v-flex>
937 </v-layout> 937 </v-layout>
938 </v-flex> 938 </v-flex>
939 </v-card> 939 </v-card>
940 <v-data-table 940 <v-data-table
941 :headers="headers" 941 :headers="headers"
942 :items="studentsData" 942 :items="studentsData"
943 :pagination.sync="pagination" 943 :pagination.sync="pagination"
944 :search="search" 944 :search="search"
945 > 945 >
946 <template slot="items" slot-scope="props"> 946 <template slot="items" slot-scope="props">
947 <tr class="tr"> 947 <tr class="tr">
948 <td class="text-xs-center td td-row">{{ props.item.rollNo}}</td> 948 <td class="text-xs-center td td-row">{{ props.item.rollNo}}</td>
949 <td class="text-xs-center td td-row"> 949 <td class="text-xs-center td td-row">
950 <v-avatar size="40"> 950 <v-avatar size="40">
951 <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> 951 <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" />
952 <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> 952 <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" />
953 </v-avatar> 953 </v-avatar>
954 </td> 954 </td>
955 <td class="text-xs-center td td-row">{{ props.item.name}}</td> 955 <td class="text-xs-center td td-row">{{ props.item.name}}</td>
956 <td class="text-xs-center td td-row">{{ props.item.gender }}</td> 956 <td class="text-xs-center td td-row">{{ props.item.gender }}</td>
957 <td class="text-xs-center td td-row">{{ props.item.parentId.fatherName }}</td> 957 <td class="text-xs-center td td-row">{{ props.item.parentId.fatherName }}</td>
958 <td class="text-xs-center td td-row">{{ props.item.parentId.motherName }}</td> 958 <td class="text-xs-center td td-row">{{ props.item.parentId.motherName }}</td>
959 <td class="text-xs-center td td-row">{{ props.item.establishmentYear }}</td> 959 <td class="text-xs-center td td-row">{{ props.item.establishmentYear }}</td>
960 <!-- <td class="text-xs-center td td-row">{{ props.item.mobile}}</td> --> 960 <!-- <td class="text-xs-center td td-row">{{ props.item.mobile}}</td> -->
961 <td class="text-xs-center td td-row"> 961 <td class="text-xs-center td td-row">
962 <v-switch 962 <v-switch
963 class="pl-3" 963 class="pl-3"
964 v-model="props.item.status" 964 v-model="props.item.status"
965 @change="suspendStudentStatus(props.item.status,props.item._id)" 965 @change="suspendStudentStatus(props.item.status,props.item._id)"
966 ></v-switch> 966 ></v-switch>
967 </td> 967 </td>
968 <td class="text-xs-center td td-row"> 968 <td class="text-xs-center td td-row">
969 <span> 969 <span>
970 <v-tooltip top> 970 <v-tooltip top>
971 <img 971 <img
972 slot="activator" 972 slot="activator"
973 style="cursor:pointer; width:25px; height:25px; " 973 style="cursor:pointer; width:25px; height:25px; "
974 class="mr-3" 974 class="mr-3"
975 @click="profile(props.item)" 975 @click="profile(props.item)"
976 src="/static/icon/view.png" 976 src="/static/icon/view.png"
977 /> 977 />
978 <span>View</span> 978 <span>View</span>
979 </v-tooltip> 979 </v-tooltip>
980 <v-tooltip top v-if="role != 'TEACHER' "> 980 <v-tooltip top v-if="role != 'TEACHER' ">
981 <img 981 <img
982 slot="activator" 982 slot="activator"
983 style="cursor:pointer; width:20px; height:18px; " 983 style="cursor:pointer; width:20px; height:18px; "
984 class="mr-3" 984 class="mr-3"
985 @click="editItem(props.item)" 985 @click="editItem(props.item)"
986 src="/static/icon/edit.png" 986 src="/static/icon/edit.png"
987 /> 987 />
988 <span>Edit</span> 988 <span>Edit</span>
989 </v-tooltip> 989 </v-tooltip>
990 <v-tooltip top v-if="role != 'TEACHER' "> 990 <v-tooltip top v-if="role != 'TEACHER' ">
991 <img 991 <img
992 slot="activator" 992 slot="activator"
993 style="cursor:pointer; width:20px; height:20px; " 993 style="cursor:pointer; width:20px; height:20px; "
994 class="mr-3" 994 class="mr-3"
995 @click="deleteItem(props.item)" 995 @click="deleteItem(props.item)"
996 src="/static/icon/delete.png" 996 src="/static/icon/delete.png"
997 /> 997 />
998 <span>Delete</span> 998 <span>Delete</span>
999 </v-tooltip> 999 </v-tooltip>
1000 </span> 1000 </span>
1001 </td> 1001 </td>
1002 </tr> 1002 </tr>
1003 </template> 1003 </template>
1004 <v-alert 1004 <v-alert
1005 slot="no-results" 1005 slot="no-results"
1006 :value="true" 1006 :value="true"
1007 color="error" 1007 color="error"
1008 icon="warning" 1008 icon="warning"
1009 >Your search for "{{ search }}" found no results.</v-alert> 1009 >Your search for "{{ search }}" found no results.</v-alert>
1010 </v-data-table> 1010 </v-data-table>
1011 <!-- ****** ADD STUDENTS DETAILS****** --> 1011 <!-- ****** ADD STUDENTS DETAILS****** -->
1012 <v-dialog v-model="addStudentDialog" max-width="1280"> 1012 <v-dialog v-model="addStudentDialog" max-width="1280">
1013 <v-card flat class="card-style pa-2" dark> 1013 <v-card flat class="card-style pa-2" dark>
1014 <v-layout> 1014 <v-layout>
1015 <v-flex xs12> 1015 <v-flex xs12>
1016 <label class="title text-xs-center">Add Student</label> 1016 <label class="title text-xs-center">Add Student</label>
1017 <v-icon size="24" class="right" @click="addStudentDialog = false">cancel</v-icon> 1017 <v-icon size="24" class="right" @click="addStudentDialog = false">cancel</v-icon>
1018 </v-flex> 1018 </v-flex>
1019 </v-layout> 1019 </v-layout>
1020 <v-container fluid> 1020 <v-container fluid>
1021 <v-layout align-center> 1021 <v-layout align-center>
1022 <v-flex xs12> 1022 <v-flex xs12>
1023 <v-stepper v-model="e2" flat class="card-style elevation-0" dark> 1023 <v-stepper v-model="e2" flat class="card-style elevation-0" dark>
1024 <v-stepper-header> 1024 <v-stepper-header>
1025 <v-stepper-step :complete="e2 > 1" step="1">Fill parent Details</v-stepper-step> 1025 <v-stepper-step :complete="e2 > 1" step="1">Fill parent Details</v-stepper-step>
1026 <v-divider></v-divider> 1026 <v-divider></v-divider>
1027 <v-stepper-step step="2">Fill Student Details</v-stepper-step> 1027 <v-stepper-step step="2">Fill Student Details</v-stepper-step>
1028 </v-stepper-header> 1028 </v-stepper-header>
1029 <v-stepper-items> 1029 <v-stepper-items>
1030 <v-stepper-content step="1"> 1030 <v-stepper-content step="1">
1031 <v-container fluid class> 1031 <v-container fluid class>
1032 <v-flex xs12 sm12 class="hidden-md-only hidden-lg-only hidden-xl-only"> 1032 <v-flex xs12 sm12 class="hidden-md-only hidden-lg-only hidden-xl-only">
1033 <v-form ref="parentForm" v-model="valid" lazy-validation> 1033 <v-form ref="parentForm" v-model="valid" lazy-validation>
1034 <v-layout wrap> 1034 <v-layout wrap>
1035 <v-flex xs12 sm6> 1035 <v-flex xs12 sm6>
1036 <v-layout wrap> 1036 <v-layout wrap>
1037 <v-flex xs12 class="pt-4 subheading"> 1037 <v-flex xs12 class="pt-4 subheading">
1038 <label>Father Cell No:</label> 1038 <label>Father Cell No:</label>
1039 </v-flex> 1039 </v-flex>
1040 <v-flex xs12> 1040 <v-flex xs12>
1041 <v-text-field 1041 <v-text-field
1042 v-model.trim="parentData.fatherCellNo" 1042 v-model.trim="parentData.fatherCellNo"
1043 placeholder="fill your father Cell Number" 1043 placeholder="fill your father Cell Number"
1044 type="number" 1044 type="number"
1045 :rules="fatheCellNoRules" 1045 :rules="fatheCellNoRules"
1046 counter="10" 1046 counter="10"
1047 v-on:keyup="getParentDetails()" 1047 v-on:keyup="getParentDetails()"
1048 required 1048 required
1049 ></v-text-field> 1049 ></v-text-field>
1050 </v-flex> 1050 </v-flex>
1051 </v-layout> 1051 </v-layout>
1052 </v-flex> 1052 </v-flex>
1053 <v-flex xs12 sm6> 1053 <v-flex xs12 sm6>
1054 <v-layout wrap> 1054 <v-layout wrap>
1055 <v-flex xs12 class="pt-4 subheading"> 1055 <v-flex xs12 class="pt-4 subheading">
1056 <label>Parent Email Id:</label> 1056 <label>Parent Email Id:</label>
1057 </v-flex> 1057 </v-flex>
1058 <v-flex xs12> 1058 <v-flex xs12>
1059 <v-text-field 1059 <v-text-field
1060 placeholder="fill Parent email" 1060 placeholder="fill Parent email"
1061 v-model="parentData.email" 1061 v-model="parentData.email"
1062 type="text" 1062 type="text"
1063 required 1063 required
1064 ></v-text-field> 1064 ></v-text-field>
1065 </v-flex> 1065 </v-flex>
1066 </v-layout> 1066 </v-layout>
1067 </v-flex> 1067 </v-flex>
1068 </v-layout> 1068 </v-layout>
1069 <v-layout wrap> 1069 <v-layout wrap>
1070 <v-flex xs12 sm6> 1070 <v-flex xs12 sm6>
1071 <v-layout wrap> 1071 <v-layout wrap>
1072 <v-flex xs12 class="pt-4 subheading"> 1072 <v-flex xs12 class="pt-4 subheading">
1073 <label>Father Name:</label> 1073 <label>Father Name:</label>
1074 </v-flex> 1074 </v-flex>
1075 <v-flex xs12> 1075 <v-flex xs12>
1076 <v-text-field 1076 <v-text-field
1077 v-model="parentData.fatherName" 1077 v-model="parentData.fatherName"
1078 placeholder="Fill your father Name" 1078 placeholder="Fill your father Name"
1079 required 1079 required
1080 ></v-text-field> 1080 ></v-text-field>
1081 </v-flex> 1081 </v-flex>
1082 </v-layout> 1082 </v-layout>
1083 </v-flex> 1083 </v-flex>
1084 <v-flex xs12 sm6> 1084 <v-flex xs12 sm6>
1085 <v-layout wrap> 1085 <v-layout wrap>
1086 <v-flex xs12 class="pt-4 subheading"> 1086 <v-flex xs12 class="pt-4 subheading">
1087 <label>Mother Name:</label> 1087 <label>Mother Name:</label>
1088 </v-flex> 1088 </v-flex>
1089 <v-flex xs12> 1089 <v-flex xs12>
1090 <v-text-field 1090 <v-text-field
1091 v-model="parentData.motherName" 1091 v-model="parentData.motherName"
1092 placeholder="fill your Mother Name" 1092 placeholder="fill your Mother Name"
1093 type="text" 1093 type="text"
1094 required 1094 required
1095 ></v-text-field> 1095 ></v-text-field>
1096 </v-flex> 1096 </v-flex>
1097 </v-layout> 1097 </v-layout>
1098 </v-flex> 1098 </v-flex>
1099 </v-layout> 1099 </v-layout>
1100 <v-layout wrap> 1100 <v-layout wrap>
1101 <v-flex xs12 sm6> 1101 <v-flex xs12 sm6>
1102 <v-layout wrap> 1102 <v-layout wrap>
1103 <v-flex xs12 class="pt-4 subheading"> 1103 <v-flex xs12 class="pt-4 subheading">
1104 <label>Mother Cell No:</label> 1104 <label>Mother Cell No:</label>
1105 </v-flex> 1105 </v-flex>
1106 <v-flex xs12> 1106 <v-flex xs12>
1107 <v-text-field 1107 <v-text-field
1108 v-model="parentData.motherCellNo" 1108 v-model="parentData.motherCellNo"
1109 placeholder="fill your Mother Cell Number" 1109 placeholder="fill your Mother Cell Number"
1110 type="number" 1110 type="number"
1111 required 1111 required
1112 ></v-text-field> 1112 ></v-text-field>
1113 </v-flex> 1113 </v-flex>
1114 </v-layout> 1114 </v-layout>
1115 </v-flex> 1115 </v-flex>
1116 <v-flex xs12 sm6> 1116 <v-flex xs12 sm6>
1117 <v-layout wrap> 1117 <v-layout wrap>
1118 <v-flex xs12 class="pt-4 subheading"> 1118 <v-flex xs12 class="pt-4 subheading">
1119 <label>Father Profession:</label> 1119 <label>Father Profession:</label>
1120 </v-flex> 1120 </v-flex>
1121 <v-flex xs12> 1121 <v-flex xs12>
1122 <v-text-field 1122 <v-text-field
1123 v-model="parentData.fatherProfession" 1123 v-model="parentData.fatherProfession"
1124 placeholder="fill your father profession" 1124 placeholder="fill your father profession"
1125 ></v-text-field> 1125 ></v-text-field>
1126 </v-flex> 1126 </v-flex>
1127 </v-layout> 1127 </v-layout>
1128 </v-flex> 1128 </v-flex>
1129 </v-layout> 1129 </v-layout>
1130 <v-layout wrap> 1130 <v-layout wrap>
1131 <v-flex xs12 sm6> 1131 <v-flex xs12 sm6>
1132 <v-layout wrap> 1132 <v-layout wrap>
1133 <v-flex xs12 class="pt-4 subheading"> 1133 <v-flex xs12 class="pt-4 subheading">
1134 <label>Mother Profession:</label> 1134 <label>Mother Profession:</label>
1135 </v-flex> 1135 </v-flex>
1136 <v-flex xs12> 1136 <v-flex xs12>
1137 <v-text-field 1137 <v-text-field
1138 v-model="parentData.motherProfession" 1138 v-model="parentData.motherProfession"
1139 placeholder="fill your mother profession" 1139 placeholder="fill your mother profession"
1140 ></v-text-field> 1140 ></v-text-field>
1141 </v-flex> 1141 </v-flex>
1142 </v-layout> 1142 </v-layout>
1143 </v-flex> 1143 </v-flex>
1144 <v-flex xs12 sm6> 1144 <v-flex xs12 sm6>
1145 <v-layout wrap> 1145 <v-layout wrap>
1146 <v-flex xs12 class="pt-4 subheading"> 1146 <v-flex xs12 class="pt-4 subheading">
1147 <label>Password:</label> 1147 <label>Password:</label>
1148 </v-flex> 1148 </v-flex>
1149 <v-flex xs12> 1149 <v-flex xs12>
1150 <v-text-field 1150 <v-text-field
1151 v-model="parentData.password" 1151 v-model="parentData.password"
1152 placeholder="Enter Your Password" 1152 placeholder="Enter Your Password"
1153 ></v-text-field> 1153 ></v-text-field>
1154 </v-flex> 1154 </v-flex>
1155 </v-layout> 1155 </v-layout>
1156 </v-flex> 1156 </v-flex>
1157 </v-layout> 1157 </v-layout>
1158 <v-flex sm12 class="hidden-xs-only"> 1158 <v-flex sm12 class="hidden-xs-only">
1159 <v-card-actions> 1159 <v-card-actions>
1160 <v-spacer></v-spacer> 1160 <v-spacer></v-spacer>
1161 <v-btn 1161 <v-btn
1162 @click="submitParentDetails" 1162 @click="submitParentDetails"
1163 round 1163 round
1164 dark 1164 dark
1165 :loading="loading" 1165 :loading="loading"
1166 v-show="showParent" 1166 v-show="showParent"
1167 class="add-button" 1167 class="add-button"
1168 >Add</v-btn> 1168 >Add</v-btn>
1169 <v-btn 1169 <v-btn
1170 v-show="showNext" 1170 v-show="showNext"
1171 @click="e2 = 2" 1171 @click="e2 = 2"
1172 round 1172 round
1173 dark 1173 dark
1174 class="add-button" 1174 class="add-button"
1175 >Next</v-btn> 1175 >Next</v-btn>
1176 </v-card-actions> 1176 </v-card-actions>
1177 </v-flex> 1177 </v-flex>
1178 <v-flex 1178 <v-flex
1179 xs6 1179 xs6
1180 class="hidden-md-only hidden-sm-only hidden-lg-only hidden-xl-only mx-auto mt-2" 1180 class="hidden-md-only hidden-sm-only hidden-lg-only hidden-xl-only mx-auto mt-2"
1181 > 1181 >
1182 <v-btn 1182 <v-btn
1183 @click="submitParentDetails" 1183 @click="submitParentDetails"
1184 round 1184 round
1185 dark 1185 dark
1186 :loading="loading" 1186 :loading="loading"
1187 v-show="showParent" 1187 v-show="showParent"
1188 class="add-button" 1188 class="add-button"
1189 >Add</v-btn> 1189 >Add</v-btn>
1190 <v-btn 1190 <v-btn
1191 v-show="showNext" 1191 v-show="showNext"
1192 @click="e2 = 2" 1192 @click="e2 = 2"
1193 round 1193 round
1194 dark 1194 dark
1195 class="add-button" 1195 class="add-button"
1196 >Next</v-btn> 1196 >Next</v-btn>
1197 </v-flex> 1197 </v-flex>
1198 </v-form> 1198 </v-form>
1199 </v-flex> 1199 </v-flex>
1200 <v-flex xs12 sm12 class="hidden-xs-only hidden-sm-only"> 1200 <v-flex xs12 sm12 class="hidden-xs-only hidden-sm-only">
1201 <v-form ref="parentForm" v-model="valid" lazy-validation> 1201 <v-form ref="parentForm" v-model="valid" lazy-validation>
1202 <v-layout wrap> 1202 <v-layout wrap>
1203 <v-flex xs12 sm6> 1203 <v-flex xs12 sm6>
1204 <v-layout> 1204 <v-layout>
1205 <v-flex xs4 class="pt-4 subheading"> 1205 <v-flex xs4 class="pt-4 subheading">
1206 <label class="right">Father Cell No:</label> 1206 <label class="right">Father Cell No:</label>
1207 </v-flex> 1207 </v-flex>
1208 <v-flex xs8 class="ml-3"> 1208 <v-flex xs8 class="ml-3">
1209 <v-text-field 1209 <v-text-field
1210 v-model.trim="parentData.fatherCellNo" 1210 v-model.trim="parentData.fatherCellNo"
1211 placeholder="fill your father Cell Number" 1211 placeholder="fill your father Cell Number"
1212 type="number" 1212 type="number"
1213 :rules="fatheCellNoRules" 1213 :rules="fatheCellNoRules"
1214 counter="10" 1214 counter="10"
1215 required 1215 required
1216 v-on:keyup="getParentDetails()" 1216 v-on:keyup="getParentDetails()"
1217 ></v-text-field> 1217 ></v-text-field>
1218 </v-flex> 1218 </v-flex>
1219 </v-layout> 1219 </v-layout>
1220 </v-flex> 1220 </v-flex>
1221 <v-flex xs12 sm6> 1221 <v-flex xs12 sm6>
1222 <v-layout> 1222 <v-layout>
1223 <v-flex xs4 class="pt-4 subheading"> 1223 <v-flex xs4 class="pt-4 subheading">
1224 <label class="right">Parent Email Id:</label> 1224 <label class="right">Parent Email Id:</label>
1225 </v-flex> 1225 </v-flex>
1226 <v-flex xs8 class="ml-3"> 1226 <v-flex xs8 class="ml-3">
1227 <v-text-field 1227 <v-text-field
1228 placeholder="fill Parent email" 1228 placeholder="fill Parent email"
1229 v-model="parentData.email" 1229 v-model="parentData.email"
1230 type="text" 1230 type="text"
1231 required 1231 required
1232 ></v-text-field> 1232 ></v-text-field>
1233 </v-flex> 1233 </v-flex>
1234 </v-layout> 1234 </v-layout>
1235 </v-flex> 1235 </v-flex>
1236 </v-layout> 1236 </v-layout>
1237 <v-layout wrap> 1237 <v-layout wrap>
1238 <v-flex xs12 sm6> 1238 <v-flex xs12 sm6>
1239 <v-layout> 1239 <v-layout>
1240 <v-flex xs4 class="pt-4 subheading"> 1240 <v-flex xs4 class="pt-4 subheading">
1241 <label class="right">Father Name:</label> 1241 <label class="right">Father Name:</label>
1242 </v-flex> 1242 </v-flex>
1243 <v-flex xs8 class="ml-3"> 1243 <v-flex xs8 class="ml-3">
1244 <v-text-field 1244 <v-text-field
1245 v-model="parentData.fatherName" 1245 v-model="parentData.fatherName"
1246 placeholder="Fill your father Name" 1246 placeholder="Fill your father Name"
1247 required 1247 required
1248 ></v-text-field> 1248 ></v-text-field>
1249 </v-flex> 1249 </v-flex>
1250 </v-layout> 1250 </v-layout>
1251 </v-flex> 1251 </v-flex>
1252 <v-flex xs12 sm6> 1252 <v-flex xs12 sm6>
1253 <v-layout> 1253 <v-layout>
1254 <v-flex xs4 class="pt-4 subheading"> 1254 <v-flex xs4 class="pt-4 subheading">
1255 <label class="right">Mother Name:</label> 1255 <label class="right">Mother Name:</label>
1256 </v-flex> 1256 </v-flex>
1257 <v-flex xs8 class="ml-3"> 1257 <v-flex xs8 class="ml-3">
1258 <v-text-field 1258 <v-text-field
1259 v-model="parentData.motherName" 1259 v-model="parentData.motherName"
1260 placeholder="fill your Mother Name" 1260 placeholder="fill your Mother Name"
1261 type="text" 1261 type="text"
1262 required 1262 required
1263 ></v-text-field> 1263 ></v-text-field>
1264 </v-flex> 1264 </v-flex>
1265 </v-layout> 1265 </v-layout>
1266 </v-flex> 1266 </v-flex>
1267 </v-layout> 1267 </v-layout>
1268 <v-layout wrap> 1268 <v-layout wrap>
1269 <v-flex xs12 sm6> 1269 <v-flex xs12 sm6>
1270 <v-layout> 1270 <v-layout>
1271 <v-flex xs4 class="pt-4 subheading"> 1271 <v-flex xs4 class="pt-4 subheading">
1272 <label class="right">Mother Cell No:</label> 1272 <label class="right">Mother Cell No:</label>
1273 </v-flex> 1273 </v-flex>
1274 <v-flex xs8 class="ml-3"> 1274 <v-flex xs8 class="ml-3">
1275 <v-text-field 1275 <v-text-field
1276 v-model="parentData.motherCellNo" 1276 v-model="parentData.motherCellNo"
1277 placeholder="fill your Mother Cell Number" 1277 placeholder="fill your Mother Cell Number"
1278 type="number" 1278 type="number"
1279 required 1279 required
1280 ></v-text-field> 1280 ></v-text-field>
1281 </v-flex> 1281 </v-flex>
1282 </v-layout> 1282 </v-layout>
1283 </v-flex> 1283 </v-flex>
1284 <v-flex xs12 sm6> 1284 <v-flex xs12 sm6>
1285 <v-layout> 1285 <v-layout>
1286 <v-flex xs4 class="pt-4 subheading"> 1286 <v-flex xs4 class="pt-4 subheading">
1287 <label class="right">Father Profession:</label> 1287 <label class="right">Father Profession:</label>
1288 </v-flex> 1288 </v-flex>
1289 <v-flex xs8 class="ml-3"> 1289 <v-flex xs8 class="ml-3">
1290 <v-text-field 1290 <v-text-field
1291 v-model="parentData.fatherProfession" 1291 v-model="parentData.fatherProfession"
1292 placeholder="fill your father profession" 1292 placeholder="fill your father profession"
1293 ></v-text-field> 1293 ></v-text-field>
1294 </v-flex> 1294 </v-flex>
1295 </v-layout> 1295 </v-layout>
1296 </v-flex> 1296 </v-flex>
1297 </v-layout> 1297 </v-layout>
1298 <v-layout wrap> 1298 <v-layout wrap>
1299 <v-flex xs12 sm6> 1299 <v-flex xs12 sm6>
1300 <v-layout> 1300 <v-layout>
1301 <v-flex xs4 class="pt-4 subheading"> 1301 <v-flex xs4 class="pt-4 subheading">
1302 <label class="right">Mother Profession:</label> 1302 <label class="right">Mother Profession:</label>
1303 </v-flex> 1303 </v-flex>
1304 <v-flex xs8 class="ml-3"> 1304 <v-flex xs8 class="ml-3">
1305 <v-text-field 1305 <v-text-field
1306 v-model="parentData.motherProfession" 1306 v-model="parentData.motherProfession"
1307 placeholder="fill your mother profession" 1307 placeholder="fill your mother profession"
1308 ></v-text-field> 1308 ></v-text-field>
1309 </v-flex> 1309 </v-flex>
1310 </v-layout> 1310 </v-layout>
1311 </v-flex> 1311 </v-flex>
1312 <v-flex xs12 sm6> 1312 <v-flex xs12 sm6>
1313 <v-layout> 1313 <v-layout>
1314 <v-flex xs4 class="pt-4 subheading"> 1314 <v-flex xs4 class="pt-4 subheading">
1315 <label class="right">Password:</label> 1315 <label class="right">Password:</label>
1316 </v-flex> 1316 </v-flex>
1317 <v-flex xs8 class="ml-3"> 1317 <v-flex xs8 class="ml-3">
1318 <v-text-field 1318 <v-text-field
1319 :append-icon="e1 ? 'visibility_off' : 'visibility'" 1319 :append-icon="e1 ? 'visibility_off' : 'visibility'"
1320 :append-icon-cb="() => (e1 = !e1)" 1320 :append-icon-cb="() => (e1 = !e1)"
1321 :type="e1 ? 'password' : 'text'" 1321 :type="e1 ? 'password' : 'text'"
1322 :rules="password" 1322 :rules="password"
1323 v-model="parentData.password" 1323 v-model="parentData.password"
1324 placeholder="Enter Your Password" 1324 placeholder="Enter Your Password"
1325 :disabled="isFatherCellExists"
1325 required 1326 required
1326 ></v-text-field> 1327 ></v-text-field>
1327 </v-flex> 1328 </v-flex>
1328 </v-layout> 1329 </v-layout>
1329 </v-flex> 1330 </v-flex>
1330 </v-layout> 1331 </v-layout>
1331 <v-flex sm12 class="hidden-xs-only"> 1332 <v-flex sm12 class="hidden-xs-only">
1332 <v-card-actions> 1333 <v-card-actions>
1333 <v-spacer></v-spacer> 1334 <v-spacer></v-spacer>
1334 <v-btn 1335 <v-btn
1335 @click="submitParentDetails" 1336 @click="submitParentDetails"
1336 round 1337 round
1337 dark 1338 dark
1338 :loading="loading" 1339 :loading="loading"
1339 v-show="showParent" 1340 v-show="showParent"
1340 class="add-button" 1341 class="add-button"
1341 >Add</v-btn> 1342 >Add</v-btn>
1342 <v-btn 1343 <v-btn
1343 v-show="showNext" 1344 v-show="showNext"
1344 @click="e2 = 2" 1345 @click="e2 = 2"
1345 round 1346 round
1346 dark 1347 dark
1347 class="add-button" 1348 class="add-button"
1348 >Next</v-btn> 1349 >Next</v-btn>
1349 </v-card-actions> 1350 </v-card-actions>
1350 </v-flex> 1351 </v-flex>
1351 <v-flex 1352 <v-flex
1352 xs6 1353 xs6
1353 class="hidden-md-only hidden-sm-only hidden-lg-only hidden-xl-only mx-auto mt-2" 1354 class="hidden-md-only hidden-sm-only hidden-lg-only hidden-xl-only mx-auto mt-2"
1354 > 1355 >
1355 <v-btn 1356 <v-btn
1356 @click="submitParentDetails" 1357 @click="submitParentDetails"
1357 round 1358 round
1358 dark 1359 dark
1359 :loading="loading" 1360 :loading="loading"
1360 v-show="showParent" 1361 v-show="showParent"
1361 class="add-button" 1362 class="add-button"
1362 >Add</v-btn> 1363 >Add</v-btn>
1363 <v-btn 1364 <v-btn
1364 v-show="showNext" 1365 v-show="showNext"
1365 @click="e2 = 2" 1366 @click="e2 = 2"
1366 round 1367 round
1367 dark 1368 dark
1368 class="add-button" 1369 class="add-button"
1369 >Next</v-btn> 1370 >Next</v-btn>
1370 </v-flex> 1371 </v-flex>
1371 </v-form> 1372 </v-form>
1372 </v-flex> 1373 </v-flex>
1373 </v-container> 1374 </v-container>
1374 </v-stepper-content> 1375 </v-stepper-content>
1375 <v-stepper-content step="2"> 1376 <v-stepper-content step="2">
1376 <v-flex xs12 sm12> 1377 <v-flex xs12 sm12>
1377 <v-form ref="form" v-model="valid" lazy-validation> 1378 <v-form ref="form" v-model="valid" lazy-validation>
1378 <v-layout> 1379 <v-layout>
1379 <v-flex 1380 <v-flex
1380 xs12 1381 xs12
1381 class="text-xs-center text-sm-center text-md-center text-lg-center" 1382 class="text-xs-center text-sm-center text-md-center text-lg-center"
1382 > 1383 >
1383 <v-avatar size="100px"> 1384 <v-avatar size="100px">
1384 <img src="/static/icon/user.png" v-if="!imageUrl" /> 1385 <img src="/static/icon/user.png" v-if="!imageUrl" />
1385 </v-avatar> 1386 </v-avatar>
1386 <input 1387 <input
1387 type="file" 1388 type="file"
1388 style="display: none" 1389 style="display: none"
1389 ref="image" 1390 ref="image"
1390 accept="image/*" 1391 accept="image/*"
1391 @change="onFilePicked" 1392 @change="onFilePicked"
1392 /> 1393 />
1393 <img 1394 <img
1394 :src="imageData.imageUrl" 1395 :src="imageData.imageUrl"
1395 height="150" 1396 height="150"
1396 v-if="imageUrl" 1397 v-if="imageUrl"
1397 style="border-radius:50%; width:200px" 1398 style="border-radius:50%; width:200px"
1398 /> 1399 />
1399 </v-flex> 1400 </v-flex>
1400 </v-layout> 1401 </v-layout>
1401 <v-layout wrap> 1402 <v-layout wrap>
1402 <v-flex xs12 sm6> 1403 <v-flex xs12 sm6>
1403 <v-layout> 1404 <v-layout>
1404 <v-flex x4 sm4 class="pt-4 subheading"> 1405 <v-flex x4 sm4 class="pt-4 subheading">
1405 <label class="right hidden-xs-only hidden-sm-only">Select Class:</label> 1406 <label class="right hidden-xs-only hidden-sm-only">Select Class:</label>
1406 <label 1407 <label
1407 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1408 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1408 >Class:</label> 1409 >Class:</label>
1409 </v-flex> 1410 </v-flex>
1410 <v-flex xs8 sm8 class="ml-3"> 1411 <v-flex xs8 sm8 class="ml-3">
1411 <v-select 1412 <v-select
1412 :items="addclass" 1413 :items="addclass"
1413 label="Select Class" 1414 label="Select Class"
1414 v-model="addStudents.select" 1415 v-model="addStudents.select"
1415 item-text="classNum" 1416 item-text="classNum"
1416 item-value="_id" 1417 item-value="_id"
1417 name="Select Class" 1418 name="Select Class"
1418 :rules="classRules" 1419 :rules="classRules"
1419 @change="getSection(addStudents.select)" 1420 @change="getSection(addStudents.select)"
1420 required 1421 required
1421 ></v-select> 1422 ></v-select>
1422 </v-flex> 1423 </v-flex>
1423 </v-layout> 1424 </v-layout>
1424 </v-flex> 1425 </v-flex>
1425 <v-flex xs12 sm6> 1426 <v-flex xs12 sm6>
1426 <v-layout> 1427 <v-layout>
1427 <v-flex xs4 class="pt-4 subheading"> 1428 <v-flex xs4 class="pt-4 subheading">
1428 <label class="right hidden-xs-only hidden-sm-only">Select Section:</label> 1429 <label class="right hidden-xs-only hidden-sm-only">Select Section:</label>
1429 <label 1430 <label
1430 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1431 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1431 >Section:</label> 1432 >Section:</label>
1432 </v-flex> 1433 </v-flex>
1433 <v-flex xs8 class="ml-3"> 1434 <v-flex xs8 class="ml-3">
1434 <v-select 1435 <v-select
1435 :items="addSection" 1436 :items="addSection"
1436 label="Select Section" 1437 label="Select Section"
1437 v-model="addStudents.selectSection" 1438 v-model="addStudents.selectSection"
1438 item-text="name" 1439 item-text="name"
1439 item-value="_id" 1440 item-value="_id"
1440 name="Select Section" 1441 name="Select Section"
1441 :rules="sectionRules" 1442 :rules="sectionRules"
1442 required 1443 required
1443 ></v-select> 1444 ></v-select>
1444 </v-flex> 1445 </v-flex>
1445 </v-layout> 1446 </v-layout>
1446 </v-flex> 1447 </v-flex>
1447 </v-layout> 1448 </v-layout>
1448 <v-layout wrap> 1449 <v-layout wrap>
1449 <v-flex xs12 sm6> 1450 <v-flex xs12 sm6>
1450 <v-layout> 1451 <v-layout>
1451 <v-flex xs4 sm4 class="pt-4 subheading"> 1452 <v-flex xs4 sm4 class="pt-4 subheading">
1452 <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> 1453 <label class="right hidden-xs-only hidden-sm-only">Full Name:</label>
1453 <label 1454 <label
1454 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1455 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1455 >Name:</label> 1456 >Name:</label>
1456 </v-flex> 1457 </v-flex>
1457 <v-flex xs8 sm8 class="ml-3"> 1458 <v-flex xs8 sm8 class="ml-3">
1458 <v-text-field 1459 <v-text-field
1459 v-model="addStudents.name" 1460 v-model="addStudents.name"
1460 placeholder="fill your full Name" 1461 placeholder="fill your full Name"
1461 name="name" 1462 name="name"
1462 type="text" 1463 type="text"
1463 :rules="nameRules" 1464 :rules="nameRules"
1464 required 1465 required
1465 ></v-text-field> 1466 ></v-text-field>
1466 </v-flex> 1467 </v-flex>
1467 </v-layout> 1468 </v-layout>
1468 </v-flex> 1469 </v-flex>
1469 <v-flex xs12 sm6> 1470 <v-flex xs12 sm6>
1470 <v-layout> 1471 <v-layout>
1471 <v-flex xs4 sm4 class="pt-4 subheading"> 1472 <v-flex xs4 sm4 class="pt-4 subheading">
1472 <label class="right">Email:</label> 1473 <label class="right">Email:</label>
1473 </v-flex> 1474 </v-flex>
1474 <v-flex xs8 sm8 class="ml-3"> 1475 <v-flex xs8 sm8 class="ml-3">
1475 <v-text-field 1476 <v-text-field
1476 placeholder="fill your email" 1477 placeholder="fill your email"
1477 v-model="addStudents.email" 1478 v-model="addStudents.email"
1478 type="text" 1479 type="text"
1479 name="email" 1480 name="email"
1480 required 1481 required
1481 ></v-text-field> 1482 ></v-text-field>
1482 </v-flex> 1483 </v-flex>
1483 </v-layout> 1484 </v-layout>
1484 </v-flex> 1485 </v-flex>
1485 </v-layout> 1486 </v-layout>
1486 <v-layout wrap> 1487 <v-layout wrap>
1487 <v-flex xs12 sm6> 1488 <v-flex xs12 sm6>
1488 <v-layout> 1489 <v-layout>
1489 <v-flex xs4 sm4 class="pt-4 subheading"> 1490 <v-flex xs4 sm4 class="pt-4 subheading">
1490 <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> 1491 <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label>
1491 <label 1492 <label
1492 class="right hidden-lg-only hidden-xl-only hidden-md-only" 1493 class="right hidden-lg-only hidden-xl-only hidden-md-only"
1493 >D.O.B:</label> 1494 >D.O.B:</label>
1494 </v-flex> 1495 </v-flex>
1495 <v-flex xs8 sm8 class="ml-3"> 1496 <v-flex xs8 sm8 class="ml-3">
1496 <v-menu 1497 <v-menu
1497 ref="menu" 1498 ref="menu"
1498 :close-on-content-click="false" 1499 :close-on-content-click="false"
1499 v-model="menu" 1500 v-model="menu"
1500 :nudge-right="40" 1501 :nudge-right="40"
1501 lazy 1502 lazy
1502 transition="scale-transition" 1503 transition="scale-transition"
1503 offset-y 1504 offset-y
1504 full-width 1505 full-width
1505 min-width="290px" 1506 min-width="290px"
1506 > 1507 >
1507 <v-text-field 1508 <v-text-field
1508 slot="activator" 1509 slot="activator"
1509 :rules="dateRules" 1510 :rules="dateRules"
1510 v-model="addStudents.date" 1511 v-model="addStudents.date"
1511 placeholder="Select date" 1512 placeholder="Select date"
1512 ></v-text-field> 1513 ></v-text-field>
1513 <v-date-picker 1514 <v-date-picker
1514 ref="picker" 1515 ref="picker"
1515 v-model="addStudents.date" 1516 v-model="addStudents.date"
1516 :max="new Date().toISOString().substr(0, 10)" 1517 :max="new Date().toISOString().substr(0, 10)"
1517 min="1950-01-01" 1518 min="1950-01-01"
1518 @input="menu = false" 1519 @input="menu = false"
1519 ></v-date-picker> 1520 ></v-date-picker>
1520 </v-menu> 1521 </v-menu>
1521 </v-flex> 1522 </v-flex>
1522 </v-layout> 1523 </v-layout>
1523 </v-flex> 1524 </v-flex>
1524 <v-flex xs12 sm6> 1525 <v-flex xs12 sm6>
1525 <v-layout> 1526 <v-layout>
1526 <v-flex xs4 class="pt-4 subheading"> 1527 <v-flex xs4 class="pt-4 subheading">
1527 <label class="right">City:</label> 1528 <label class="right">City:</label>
1528 </v-flex> 1529 </v-flex>
1529 <v-flex xs8 class="ml-3"> 1530 <v-flex xs8 class="ml-3">
1530 <v-text-field 1531 <v-text-field
1531 v-model="addStudents.city" 1532 v-model="addStudents.city"
1532 placeholder="fill your City Name" 1533 placeholder="fill your City Name"
1533 name="City" 1534 name="City"
1534 type="text" 1535 type="text"
1535 :rules="cityRules" 1536 :rules="cityRules"
1536 required 1537 required
1537 ></v-text-field> 1538 ></v-text-field>
1538 </v-flex> 1539 </v-flex>
1539 </v-layout> 1540 </v-layout>
1540 </v-flex> 1541 </v-flex>
1541 </v-layout> 1542 </v-layout>
1542 <v-layout wrap> 1543 <v-layout wrap>
1543 <v-flex xs12 sm6> 1544 <v-flex xs12 sm6>
1544 <v-layout> 1545 <v-layout>
1545 <v-flex xs4 class="pt-4 subheading"> 1546 <v-flex xs4 class="pt-4 subheading">
1546 <label class="right">State:</label> 1547 <label class="right">State:</label>
1547 </v-flex> 1548 </v-flex>
1548 <v-flex xs8 class="ml-3"> 1549 <v-flex xs8 class="ml-3">
1549 <v-text-field 1550 <v-text-field
1550 v-model="addStudents.state" 1551 v-model="addStudents.state"
1551 placeholder="fill your State Name" 1552 placeholder="fill your State Name"
1552 name="state" 1553 name="state"
1553 type="text" 1554 type="text"
1554 :rules="stateRules" 1555 :rules="stateRules"
1555 required 1556 required
1556 ></v-text-field> 1557 ></v-text-field>
1557 </v-flex> 1558 </v-flex>
1558 </v-layout> 1559 </v-layout>
1559 </v-flex> 1560 </v-flex>
1560 <v-flex xs12 sm6> 1561 <v-flex xs12 sm6>
1561 <v-layout> 1562 <v-layout>
1562 <v-flex xs4 class="pt-4 subheading"> 1563 <v-flex xs4 class="pt-4 subheading">
1563 <label class="right">Pincode:</label> 1564 <label class="right">Pincode:</label>
1564 </v-flex> 1565 </v-flex>
1565 <v-flex xs8 class="ml-3"> 1566 <v-flex xs8 class="ml-3">
1566 <v-text-field 1567 <v-text-field
1567 v-model="addStudents.pincode" 1568 v-model="addStudents.pincode"
1568 placeholder="fill your pincode" 1569 placeholder="fill your pincode"
1569 name="pincode" 1570 name="pincode"
1570 type="number" 1571 type="number"
1571 :rules="pincode" 1572 :rules="pincode"
1572 required 1573 required
1573 ></v-text-field> 1574 ></v-text-field>
1574 </v-flex> 1575 </v-flex>
1575 </v-layout> 1576 </v-layout>
1576 </v-flex> 1577 </v-flex>
1577 </v-layout> 1578 </v-layout>
1578 <v-layout wrap> 1579 <v-layout wrap>
1579 <v-flex xs12 sm6> 1580 <v-flex xs12 sm6>
1580 <v-layout> 1581 <v-layout>
1581 <v-flex xs4 class="pt-4 subheading"> 1582 <v-flex xs4 class="pt-4 subheading">
1582 <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> 1583 <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label>
1583 <label 1584 <label
1584 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1585 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1585 >Mobile:</label> 1586 >Mobile:</label>
1586 </v-flex> 1587 </v-flex>
1587 <v-flex xs8 class="ml-3"> 1588 <v-flex xs8 class="ml-3">
1588 <v-text-field 1589 <v-text-field
1589 v-model="addStudents.mobile" 1590 v-model="addStudents.mobile"
1590 placeholder="fill your MobileNo" 1591 placeholder="fill your MobileNo"
1591 name="mobileNo" 1592 name="mobileNo"
1592 type="number" 1593 type="number"
1593 ></v-text-field> 1594 ></v-text-field>
1594 </v-flex> 1595 </v-flex>
1595 </v-layout> 1596 </v-layout>
1596 </v-flex> 1597 </v-flex>
1597 <v-flex xs12 sm6> 1598 <v-flex xs12 sm6>
1598 <v-layout> 1599 <v-layout>
1599 <v-flex xs4 class="pt-4 subheading"> 1600 <v-flex xs4 class="pt-4 subheading">
1600 <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> 1601 <label class="right hidden-xs-only hidden-sm-only">Select Country:</label>
1601 <label 1602 <label
1602 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1603 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1603 >Country:</label> 1604 >Country:</label>
1604 </v-flex> 1605 </v-flex>
1605 <v-flex xs8 class="ml-3"> 1606 <v-flex xs8 class="ml-3">
1606 <v-autocomplete 1607 <v-autocomplete
1607 v-model="addStudents.country" 1608 v-model="addStudents.country"
1608 :rules="country" 1609 :rules="country"
1609 :items="countries" 1610 :items="countries"
1610 placeholder="Select Country Name" 1611 placeholder="Select Country Name"
1611 required 1612 required
1612 ></v-autocomplete> 1613 ></v-autocomplete>
1613 </v-flex> 1614 </v-flex>
1614 </v-layout> 1615 </v-layout>
1615 </v-flex> 1616 </v-flex>
1616 </v-layout> 1617 </v-layout>
1617 <v-layout wrap> 1618 <v-layout wrap>
1618 <v-flex xs12 sm6> 1619 <v-flex xs12 sm6>
1619 <v-layout> 1620 <v-layout>
1620 <v-flex xs4 class="pt-4 subheading"> 1621 <v-flex xs4 class="pt-4 subheading">
1621 <label class="right">Gender:</label> 1622 <label class="right">Gender:</label>
1622 </v-flex> 1623 </v-flex>
1623 <v-flex xs8 class="ml-3"> 1624 <v-flex xs8 class="ml-3">
1624 <v-select 1625 <v-select
1625 :items="gender" 1626 :items="gender"
1626 v-model="addStudents.gender" 1627 v-model="addStudents.gender"
1627 :rules="genderRules" 1628 :rules="genderRules"
1628 label="Select Gender" 1629 label="Select Gender"
1629 required 1630 required
1630 ></v-select> 1631 ></v-select>
1631 </v-flex> 1632 </v-flex>
1632 </v-layout> 1633 </v-layout>
1633 </v-flex> 1634 </v-flex>
1634 <v-flex xs12 sm6> 1635 <v-flex xs12 sm6>
1635 <v-layout> 1636 <v-layout>
1636 <v-flex xs4 class="pt-4 subheading"> 1637 <v-flex xs4 class="pt-4 subheading">
1637 <label class="right hidden-xs-only hidden-sm-only">Blood Group:</label> 1638 <label class="right hidden-xs-only hidden-sm-only">Blood Group:</label>
1638 <label 1639 <label
1639 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1640 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1640 >Blood:</label> 1641 >Blood:</label>
1641 </v-flex> 1642 </v-flex>
1642 <v-flex xs8 class="ml-3"> 1643 <v-flex xs8 class="ml-3">
1643 <v-text-field 1644 <v-text-field
1644 v-model="addStudents.bloodGroup" 1645 v-model="addStudents.bloodGroup"
1645 placeholder="Fill your Blood Group" 1646 placeholder="Fill your Blood Group"
1646 required 1647 required
1647 ></v-text-field> 1648 ></v-text-field>
1648 </v-flex> 1649 </v-flex>
1649 </v-layout> 1650 </v-layout>
1650 </v-flex> 1651 </v-flex>
1651 </v-layout> 1652 </v-layout>
1652 <v-layout wrap> 1653 <v-layout wrap>
1653 <v-flex xs12 sm6> 1654 <v-flex xs12 sm6>
1654 <v-layout> 1655 <v-layout>
1655 <v-flex xs4 class="pt-4 subheading"> 1656 <v-flex xs4 class="pt-4 subheading">
1656 <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label> 1657 <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label>
1657 <label 1658 <label
1658 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1659 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1659 >Roll No:</label> 1660 >Roll No:</label>
1660 </v-flex> 1661 </v-flex>
1661 <v-flex xs8 class="ml-3"> 1662 <v-flex xs8 class="ml-3">
1662 <v-text-field 1663 <v-text-field
1663 v-model="addStudents.rollNo" 1664 v-model="addStudents.rollNo"
1664 placeholder="Fill your Roll Number" 1665 placeholder="Fill your Roll Number"
1665 :rules="rollNo" 1666 :rules="rollNo"
1666 required 1667 required
1667 ></v-text-field> 1668 ></v-text-field>
1668 </v-flex> 1669 </v-flex>
1669 </v-layout> 1670 </v-layout>
1670 </v-flex> 1671 </v-flex>
1671 <v-flex xs12 sm6> 1672 <v-flex xs12 sm6>
1672 <v-layout> 1673 <v-layout>
1673 <v-flex xs4 class="pt-4 subheading"> 1674 <v-flex xs4 class="pt-4 subheading">
1674 <label class="right hidden-xs-only hidden-sm-only">Medical Notes:</label> 1675 <label class="right hidden-xs-only hidden-sm-only">Medical Notes:</label>
1675 <label 1676 <label
1676 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1677 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1677 >Medical:</label> 1678 >Medical:</label>
1678 </v-flex> 1679 </v-flex>
1679 <v-flex xs8 class="ml-3"> 1680 <v-flex xs8 class="ml-3">
1680 <v-text-field 1681 <v-text-field
1681 v-model="addStudents.medicalNotes" 1682 v-model="addStudents.medicalNotes"
1682 placeholder="Fill your Medical Notes" 1683 placeholder="Fill your Medical Notes"
1683 required 1684 required
1684 ></v-text-field> 1685 ></v-text-field>
1685 </v-flex> 1686 </v-flex>
1686 </v-layout> 1687 </v-layout>
1687 </v-flex> 1688 </v-flex>
1688 </v-layout> 1689 </v-layout>
1689 <v-layout wrap> 1690 <v-layout wrap>
1690 <v-flex xs12 sm6> 1691 <v-flex xs12 sm6>
1691 <v-layout> 1692 <v-layout>
1692 <v-flex xs4 class="pt-4 subheading"> 1693 <v-flex xs4 class="pt-4 subheading">
1693 <label class="right">Height:</label> 1694 <label class="right">Height:</label>
1694 </v-flex> 1695 </v-flex>
1695 <v-flex xs8 class="ml-3"> 1696 <v-flex xs8 class="ml-3">
1696 <v-text-field 1697 <v-text-field
1697 v-model="addStudents.height" 1698 v-model="addStudents.height"
1698 placeholder="Fill your Height" 1699 placeholder="Fill your Height"
1699 required 1700 required
1700 ></v-text-field> 1701 ></v-text-field>
1701 </v-flex> 1702 </v-flex>
1702 </v-layout> 1703 </v-layout>
1703 </v-flex> 1704 </v-flex>
1704 <v-flex xs12 sm6> 1705 <v-flex xs12 sm6>
1705 <v-layout> 1706 <v-layout>
1706 <v-flex xs4 class="pt-4 subheading"> 1707 <v-flex xs4 class="pt-4 subheading">
1707 <label class="right">Weight:</label> 1708 <label class="right">Weight:</label>
1708 </v-flex> 1709 </v-flex>
1709 <v-flex xs8 class="ml-3"> 1710 <v-flex xs8 class="ml-3">
1710 <v-text-field 1711 <v-text-field
1711 v-model="addStudents.weight" 1712 v-model="addStudents.weight"
1712 placeholder="Fill your Weight" 1713 placeholder="Fill your Weight"
1713 required 1714 required
1714 ></v-text-field> 1715 ></v-text-field>
1715 </v-flex> 1716 </v-flex>
1716 </v-layout> 1717 </v-layout>
1717 </v-flex> 1718 </v-flex>
1718 </v-layout> 1719 </v-layout>
1719 <v-layout wrap> 1720 <v-layout wrap>
1720 <v-flex xs12 sm6> 1721 <v-flex xs12 sm6>
1721 <v-layout> 1722 <v-layout>
1722 <v-flex xs4 class="pt-4 subheading"> 1723 <v-flex xs4 class="pt-4 subheading">
1723 <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> 1724 <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label>
1724 <label 1725 <label
1725 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1726 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1726 >Uplaod :</label> 1727 >Uplaod :</label>
1727 </v-flex> 1728 </v-flex>
1728 <v-flex xs8 class="ml-3"> 1729 <v-flex xs8 class="ml-3">
1729 <v-text-field 1730 <v-text-field
1730 label="Select Image" 1731 label="Select Image"
1731 @click="pickFile" 1732 @click="pickFile"
1732 v-model="imageName" 1733 v-model="imageName"
1733 append-icon="attach_file" 1734 append-icon="attach_file"
1734 ></v-text-field> 1735 ></v-text-field>
1735 </v-flex> 1736 </v-flex>
1736 </v-layout> 1737 </v-layout>
1737 </v-flex> 1738 </v-flex>
1738 <v-flex xs12 sm6> 1739 <v-flex xs12 sm6>
1739 <v-layout> 1740 <v-layout>
1740 <v-flex xs4 class="pt-4 subheading"> 1741 <v-flex xs4 class="pt-4 subheading">
1741 <label class="right hidden-xs-only hidden-sm-only">Academic Year:</label> 1742 <label class="right hidden-xs-only hidden-sm-only">Academic Year:</label>
1742 <label 1743 <label
1743 class="right hidden-lg-only hidden-md-only hidden-xl-only" 1744 class="right hidden-lg-only hidden-md-only hidden-xl-only"
1744 >Year:</label> 1745 >Year:</label>
1745 </v-flex> 1746 </v-flex>
1746 <v-flex xs8 class="ml-3"> 1747 <v-flex xs8 class="ml-3">
1747 <v-text-field 1748 <v-text-field
1748 v-model="addStudents.establishmentYear" 1749 v-model="addStudents.establishmentYear"
1749 placeholder="fill your Academic Year" 1750 placeholder="fill your Academic Year"
1750 name="state" 1751 name="state"
1751 type="number" 1752 type="number"
1752 :rules="establishmentYearRules" 1753 :rules="establishmentYearRules"
1753 required 1754 required
1754 ></v-text-field> 1755 ></v-text-field>
1755 </v-flex> 1756 </v-flex>
1756 </v-layout> 1757 </v-layout>
1757 </v-flex> 1758 </v-flex>
1758 </v-layout> 1759 </v-layout>
1759 <v-layout wrap class="hidden-xs-only hidden-sm-only"> 1760 <v-layout wrap class="hidden-xs-only hidden-sm-only">
1760 <v-flex xs12 sm6> 1761 <v-flex xs12 sm6>
1761 <v-layout> 1762 <v-layout>
1762 <v-flex xs4 sm4 class="pt-4 subheading"> 1763 <v-flex xs4 sm4 class="pt-4 subheading">
1763 <label class="right">Present Address:</label> 1764 <label class="right">Present Address:</label>
1764 </v-flex> 1765 </v-flex>
1765 <v-flex xs8 sm8 class="ml-3"> 1766 <v-flex xs8 sm8 class="ml-3">
1766 <v-text-field 1767 <v-text-field
1767 v-model="addStudents.presentAddress" 1768 v-model="addStudents.presentAddress"
1768 :rules="presentAddress" 1769 :rules="presentAddress"
1769 placeholder="fill Your present Address" 1770 placeholder="fill Your present Address"
1770 @keyup="copyData" 1771 @keyup="copyData"
1771 ></v-text-field> 1772 ></v-text-field>
1772 </v-flex> 1773 </v-flex>
1773 </v-layout> 1774 </v-layout>
1774 </v-flex> 1775 </v-flex>
1775 <v-flex xs12 sm6> 1776 <v-flex xs12 sm6>
1776 <v-layout> 1777 <v-layout>
1777 <v-flex xs4 sm4 class="pt-4 subheading addressForm"> 1778 <v-flex xs4 sm4 class="pt-4 subheading addressForm">
1778 <label class="right">Permanent Address:</label> 1779 <label class="right">Permanent Address:</label>
1779 </v-flex> 1780 </v-flex>
1780 <v-flex xs12 sm8 class="ml-3"> 1781 <v-flex xs12 sm8 class="ml-3">
1781 <v-switch 1782 <v-switch
1782 v-model="addStudents.permanentAddress" 1783 v-model="addStudents.permanentAddress"
1783 label="Select Permanent Address" 1784 label="Select Permanent Address"
1784 :value="addStudents.presentAddress" 1785 :value="addStudents.presentAddress"
1785 ></v-switch> 1786 ></v-switch>
1786 </v-flex> 1787 </v-flex>
1787 </v-layout> 1788 </v-layout>
1788 </v-flex> 1789 </v-flex>
1789 </v-layout> 1790 </v-layout>
1790 <v-layout class="hidden-xs-only hidden-sm-only"> 1791 <v-layout class="hidden-xs-only hidden-sm-only">
1791 <v-flex xs12 sm6> 1792 <v-flex xs12 sm6>
1792 <v-layout> 1793 <v-layout>
1793 <v-flex xs4 sm4 class="pt-4 subheading addressForm"> 1794 <v-flex xs4 sm4 class="pt-4 subheading addressForm">
1794 <label class="right">Permanent Address:</label> 1795 <label class="right">Permanent Address:</label>
1795 </v-flex> 1796 </v-flex>
1796 <v-flex xs12 sm8 class="ml-3"> 1797 <v-flex xs12 sm8 class="ml-3">
1797 <v-text-field 1798 <v-text-field
1798 v-model="addStudents.permanentAddress" 1799 v-model="addStudents.permanentAddress"
1799 :rules="permanentAddress" 1800 :rules="permanentAddress"
1800 placeholder="fill Your Permanent Address" 1801 placeholder="fill Your Permanent Address"
1801 ></v-text-field> 1802 ></v-text-field>
1802 </v-flex> 1803 </v-flex>
1803 </v-layout> 1804 </v-layout>
1804 </v-flex> 1805 </v-flex>
1805 </v-layout> 1806 </v-layout>
1806 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> 1807 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap>
1807 <v-flex xs12 sm12> 1808 <v-flex xs12 sm12>
1808 <v-layout> 1809 <v-layout>
1809 <v-flex xs12 sm12 class="pt-4 subheading text-xs-center"> 1810 <v-flex xs12 sm12 class="pt-4 subheading text-xs-center">
1810 <label class>Present Address:</label> 1811 <label class>Present Address:</label>
1811 </v-flex> 1812 </v-flex>
1812 </v-layout> 1813 </v-layout>
1813 <v-layout> 1814 <v-layout>
1814 <v-flex xs12 sm12> 1815 <v-flex xs12 sm12>
1815 <v-textarea 1816 <v-textarea
1816 name="input-4-3" 1817 name="input-4-3"
1817 v-model="addStudents.presentAddress" 1818 v-model="addStudents.presentAddress"
1818 :rules="presentAddress" 1819 :rules="presentAddress"
1819 placeholder="fill Your present Address" 1820 placeholder="fill Your present Address"
1820 required 1821 required
1821 ></v-textarea> 1822 ></v-textarea>
1822 </v-flex> 1823 </v-flex>
1823 </v-layout> 1824 </v-layout>
1824 </v-flex> 1825 </v-flex>
1825 <v-flex xs12 sm12> 1826 <v-flex xs12 sm12>
1826 <v-layout> 1827 <v-layout>
1827 <v-flex 1828 <v-flex
1828 xs12 1829 xs12
1829 sm12 1830 sm12
1830 class="pt-4 pr-4 subheading text-xs-center addressForm" 1831 class="pt-4 pr-4 subheading text-xs-center addressForm"
1831 > 1832 >
1832 <label>Permanent Address:</label> 1833 <label>Permanent Address:</label>
1833 </v-flex> 1834 </v-flex>
1834 </v-layout> 1835 </v-layout>
1835 <v-layout> 1836 <v-layout>
1836 <v-flex xs12 sm12> 1837 <v-flex xs12 sm12>
1837 <v-textarea 1838 <v-textarea
1838 name="input-4-3" 1839 name="input-4-3"
1839 v-model="addStudents.permanentAddress" 1840 v-model="addStudents.permanentAddress"
1840 :rules="permanentAddress" 1841 :rules="permanentAddress"
1841 placeholder="fill Your Permanent Address" 1842 placeholder="fill Your Permanent Address"
1842 required 1843 required
1843 ></v-textarea> 1844 ></v-textarea>
1844 </v-flex> 1845 </v-flex>
1845 </v-layout> 1846 </v-layout>
1846 </v-flex> 1847 </v-flex>
1847 </v-layout> 1848 </v-layout>
1848 <v-layout> 1849 <v-layout>
1849 <v-flex xs12 sm12> 1850 <v-flex xs12 sm12>
1850 <v-layout class="right"> 1851 <v-layout class="right">
1851 <!-- <v-flex xs6> --> 1852 <!-- <v-flex xs6> -->
1852 <v-btn round dark @click="e2 = 1" class="clear-button">Back</v-btn> 1853 <v-btn round dark @click="e2 = 1" class="clear-button">Back</v-btn>
1853 <!-- </v-flex> 1854 <!-- </v-flex>
1854 <v-flex xs6>--> 1855 <v-flex xs6>-->
1855 <v-btn 1856 <v-btn
1856 @click="submit" 1857 @click="submit"
1857 round 1858 round
1858 dark 1859 dark
1859 :loading="loading" 1860 :loading="loading"
1860 class="add-button" 1861 class="add-button"
1861 >Add</v-btn> 1862 >Add</v-btn>
1862 <!-- </v-flex> --> 1863 <!-- </v-flex> -->
1863 </v-layout> 1864 </v-layout>
1864 </v-flex> 1865 </v-flex>
1865 </v-layout> 1866 </v-layout>
1866 </v-form> 1867 </v-form>
1867 </v-flex> 1868 </v-flex>
1868 </v-stepper-content> 1869 </v-stepper-content>
1869 </v-stepper-items> 1870 </v-stepper-items>
1870 </v-stepper> 1871 </v-stepper>
1871 </v-flex> 1872 </v-flex>
1872 </v-layout> 1873 </v-layout>
1873 </v-container> 1874 </v-container>
1874 </v-card> 1875 </v-card>
1875 </v-dialog> 1876 </v-dialog>
1876 <v-snackbar 1877 <v-snackbar
1877 :timeout="timeout" 1878 :timeout="timeout"
1878 :top="y === 'top'" 1879 :top="y === 'top'"
1879 :right="x === 'right'" 1880 :right="x === 'right'"
1880 :vertical="mode === 'vertical'" 1881 :vertical="mode === 'vertical'"
1881 v-model="snackbar" 1882 v-model="snackbar"
1882 :color="color" 1883 :color="color"
1883 >{{ text }}</v-snackbar> 1884 >{{ text }}</v-snackbar>
1884 <div class="loader" v-if="showLoader"> 1885 <div class="loader" v-if="showLoader">
1885 <v-progress-circular indeterminate color="white"></v-progress-circular> 1886 <v-progress-circular indeterminate color="white"></v-progress-circular>
1886 </div> 1887 </div>
1887 </v-container> 1888 </v-container>
1888 </template> 1889 </template>
1889 1890
1890 <script> 1891 <script>
1891 import http from "@/Services/http.js"; 1892 import http from "@/Services/http.js";
1892 import moment from "moment"; 1893 import moment from "moment";
1893 import countryList from "@/script/country.js"; 1894 import countryList from "@/script/country.js";
1894 import parent from "@/script/parents.js"; 1895 import parent from "@/script/parents.js";
1895 1896
1896 export default { 1897 export default {
1897 data: () => ({ 1898 data: () => ({
1898 e1: true, 1899 e1: true,
1899 e2: 0, 1900 e2: 0,
1900 showParent: true, 1901 showParent: true,
1901 showNext: false, 1902 showNext: false,
1902 snackbar: false, 1903 snackbar: false,
1903 y: "top", 1904 y: "top",
1904 x: "right", 1905 x: "right",
1905 role: "", 1906 role: "",
1906 mode: "", 1907 mode: "",
1907 append: "", 1908 append: "",
1908 timeout: 3000, 1909 timeout: 3000,
1909 text: "", 1910 text: "",
1910 show: true, 1911 show: true,
1911 color: "", 1912 color: "",
1912 showSearch: false, 1913 showSearch: false,
1913 showLoader: false, 1914 showLoader: false,
1914 loading: false, 1915 loading: false,
1915 editLoading: false, 1916 editLoading: false,
1916 date: null, 1917 date: null,
1917 search: "", 1918 search: "",
1918 password: "", 1919 password: "",
1919 menu: false, 1920 menu: false,
1920 menu1: false, 1921 menu1: false,
1921 editStudentDialog: false, 1922 editStudentDialog: false,
1922 profileStudentDialog: false, 1923 profileStudentDialog: false,
1923 addStudentDialog: false, 1924 addStudentDialog: false,
1924 valid: true, 1925 valid: true,
1925 addclass: [], 1926 addclass: [],
1926 addSection: [], 1927 addSection: [],
1927 gender: ["Male", "Female"], 1928 gender: ["Male", "Female"],
1928 pagination: { 1929 pagination: {
1929 rowsPerPage: 10 1930 rowsPerPage: 10
1930 }, 1931 },
1931 imageData: {}, 1932 imageData: {},
1932 imageName: "", 1933 imageName: "",
1933 imageUrl: "", 1934 imageUrl: "",
1934 imageFile: "", 1935 imageFile: "",
1935 editImageName: "", 1936 editImageName: "",
1936 editImageUrl: "", 1937 editImageUrl: "",
1937 nameRules: [v => !!v || " Full Name is required"], 1938 nameRules: [v => !!v || " Full Name is required"],
1938 dateRules: [v => !!v || " DOB is required"], 1939 dateRules: [v => !!v || " DOB is required"],
1939 cityRules: [v => !!v || " City Name is required"], 1940 cityRules: [v => !!v || " City Name is required"],
1940 pincode: [v => !!v || " Pincode is required"], 1941 pincode: [v => !!v || " Pincode is required"],
1941 country: [v => !!v || " Country Name is required"], 1942 country: [v => !!v || " Country Name is required"],
1942 rollNo: [v => !!v || "Roll No is required"], 1943 rollNo: [v => !!v || "Roll No is required"],
1943 permanentAddress: [v => !!v || " Permanent Address is required"], 1944 permanentAddress: [v => !!v || " Permanent Address is required"],
1944 presentAddress: [v => !!v || " Present Address is required"], 1945 presentAddress: [v => !!v || " Present Address is required"],
1945 stateRules: [v => !!v || "State Name is required"], 1946 stateRules: [v => !!v || "State Name is required"],
1946 classRules: [v => !!v || " Class Name is required"], 1947 classRules: [v => !!v || " Class Name is required"],
1947 sectionRules: [v => !!v || " Section Name is required"], 1948 sectionRules: [v => !!v || " Section Name is required"],
1948 genderRules: [v => !!v || " Select Gender is required"], 1949 genderRules: [v => !!v || " Select Gender is required"],
1949 fatheCellNoRules: [ 1950 fatheCellNoRules: [
1950 v => !!v || " father Cell Number is required", 1951 v => !!v || " father Cell Number is required",
1951 v => v <= 10000000000 || "Max 10 characters is required" 1952 v => v <= 10000000000 || "Max 10 characters is required"
1952 ], 1953 ],
1953 password: [ 1954 password: [
1954 v => !!v || "Password field is Required." 1955 v => !!v || "Password field is Required."
1955 // v => (/^(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/).test(v) && v.length >= 8 1956 // v => (/^(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/).test(v) && v.length >= 8
1956 ], 1957 ],
1957 mobileNoRule: [v => !!v || " Mobile Number is required"], 1958 mobileNoRule: [v => !!v || " Mobile Number is required"],
1958 establishmentYearRules: [v => !!v || " Academic Year is required"], 1959 establishmentYearRules: [v => !!v || " Academic Year is required"],
1959 errorMessages: "", 1960 errorMessages: "",
1960 countries: [], 1961 countries: [],
1961 headers: [ 1962 headers: [
1962 { 1963 {
1963 text: "Roll No.", 1964 text: "Roll No.",
1964 align: "center", 1965 align: "center",
1965 sortable: false, 1966 sortable: false,
1966 value: "rollNo" 1967 value: "rollNo"
1967 }, 1968 },
1968 { 1969 {
1969 text: "Profile Pic", 1970 text: "Profile Pic",
1970 value: "profilePicUrl", 1971 value: "profilePicUrl",
1971 sortable: false, 1972 sortable: false,
1972 align: "center" 1973 align: "center"
1973 }, 1974 },
1974 { text: "Name", value: "name", sortable: false, align: "center" }, 1975 { text: "Name", value: "name", sortable: false, align: "center" },
1975 { text: "Gender", value: "gender", sortable: false, align: "center" }, 1976 { text: "Gender", value: "gender", sortable: false, align: "center" },
1976 { 1977 {
1977 text: "Father Name", 1978 text: "Father Name",
1978 value: "fatherName", 1979 value: "fatherName",
1979 sortable: false, 1980 sortable: false,
1980 align: "center" 1981 align: "center"
1981 }, 1982 },
1982 { 1983 {
1983 text: "Mother Name", 1984 text: "Mother Name",
1984 value: "motherName", 1985 value: "motherName",
1985 sortable: false, 1986 sortable: false,
1986 align: "center" 1987 align: "center"
1987 }, 1988 },
1988 { 1989 {
1989 text: "Academic Year", 1990 text: "Academic Year",
1990 value: "establishmentYear", 1991 value: "establishmentYear",
1991 sortable: false, 1992 sortable: false,
1992 align: "center" 1993 align: "center"
1993 }, 1994 },
1994 // { text: "Mobile No", value: "mobile", sortable: false, align: "center" }, 1995 // { text: "Mobile No", value: "mobile", sortable: false, align: "center" },
1995 { 1996 {
1996 text: "Status", 1997 text: "Status",
1997 value: "status", 1998 value: "status",
1998 sortable: false, 1999 sortable: false,
1999 align: "center" 2000 align: "center"
2000 }, 2001 },
2001 { text: "Action", value: "", sortable: false, align: "center" } 2002 { text: "Action", value: "", sortable: false, align: "center" }
2002 ], 2003 ],
2003 studentsData: [], 2004 studentsData: [],
2004 parentId: "", 2005 parentId: "",
2005 editedIndex: -1, 2006 editedIndex: -1,
2006 parentData: {}, 2007 parentData: {},
2007 addStudents: { 2008 addStudents: {
2008 role: "STUDENT", 2009 role: "STUDENT",
2009 name: "", 2010 name: "",
2010 email: "", 2011 email: "",
2011 date: "", 2012 date: "",
2012 city: "", 2013 city: "",
2013 pincode: "", 2014 pincode: "",
2014 country: "", 2015 country: "",
2015 permanentAddress: "", 2016 permanentAddress: "",
2016 presentAddress: "", 2017 presentAddress: "",
2017 mobile: "", 2018 mobile: "",
2018 state: "", 2019 state: "",
2019 gender: "", 2020 gender: "",
2020 select: "", 2021 select: "",
2021 selectSection: "", 2022 selectSection: "",
2022 bloodGroup: "", 2023 bloodGroup: "",
2023 allergies: "", 2024 allergies: "",
2024 medicalNotes: "", 2025 medicalNotes: "",
2025 height: "", 2026 height: "",
2026 weight: "", 2027 weight: "",
2027 rollNo: "", 2028 rollNo: "",
2028 establishmentYear: new Date().getFullYear() 2029 establishmentYear: new Date().getFullYear()
2029 }, 2030 },
2030 selectStudents: { 2031 selectStudents: {
2031 select: "", 2032 select: "",
2032 selectSection: "" 2033 selectSection: ""
2033 }, 2034 },
2034 editedItem: { 2035 editedItem: {
2035 role: "STUDENT", 2036 role: "STUDENT",
2036 name: "", 2037 name: "",
2037 email: "", 2038 email: "",
2038 dob: "", 2039 dob: "",
2039 city: "", 2040 city: "",
2040 pincode: "", 2041 pincode: "",
2041 country: "", 2042 country: "",
2042 permanentAddress: "", 2043 permanentAddress: "",
2043 presentAddress: "", 2044 presentAddress: "",
2044 mobile: "", 2045 mobile: "",
2045 state: "", 2046 state: "",
2046 gender: "", 2047 gender: "",
2047 select: "", 2048 select: "",
2048 selectSection: "", 2049 selectSection: "",
2049 bloodGroup: "", 2050 bloodGroup: "",
2050 allergies: "", 2051 allergies: "",
2051 medicalNotes: "", 2052 medicalNotes: "",
2052 height: "", 2053 height: "",
2053 weight: "", 2054 weight: "",
2054 rollNo: "", 2055 rollNo: "",
2055 establishmentYear: new Date().getFullYear() 2056 establishmentYear: new Date().getFullYear()
2056 } 2057 },
2058 isFatherCellExists: false
2057 }), 2059 }),
2058 watch: { 2060 watch: {
2059 menu(val) { 2061 menu(val) {
2060 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); 2062 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR"));
2061 }, 2063 },
2062 menu1(val) { 2064 menu1(val) {
2063 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); 2065 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR"));
2064 } 2066 }
2065 }, 2067 },
2066 methods: { 2068 methods: {
2067 findStudents() { 2069 findStudents() {
2068 this.showLoader = true; 2070 this.showLoader = true;
2069 http() 2071 http()
2070 .get("/getStudentWithClass", { 2072 .get("/getStudentWithClass", {
2071 params: { 2073 params: {
2072 classId: this.selectStudents.select, 2074 classId: this.selectStudents.select,
2073 sectionId: this.selectStudents.selectSection 2075 sectionId: this.selectStudents.selectSection
2074 } 2076 }
2075 }) 2077 })
2076 .then(response => { 2078 .then(response => {
2077 this.studentsData = response.data.data; 2079 this.studentsData = response.data.data;
2078 this.showLoader = false; 2080 this.showLoader = false;
2079 }) 2081 })
2080 .catch(err => { 2082 .catch(err => {
2081 console.log("err====>", err); 2083 console.log("err====>", err);
2082 this.showLoader = false; 2084 this.showLoader = false;
2083 }); 2085 });
2084 }, 2086 },
2085 getSections(_id) { 2087 getSections(_id) {
2086 var token = this.$store.state.token; 2088 var token = this.$store.state.token;
2087 this.showLoader = true; 2089 this.showLoader = true;
2088 http() 2090 http()
2089 .get( 2091 .get(
2090 "/getSectionsList", 2092 "/getSectionsList",
2091 { params: { classId: _id } }, 2093 { params: { classId: _id } },
2092 { 2094 {
2093 headers: { Authorization: "Bearer " + token } 2095 headers: { Authorization: "Bearer " + token }
2094 } 2096 }
2095 ) 2097 )
2096 .then(response => { 2098 .then(response => {
2097 this.addSection = response.data.data; 2099 this.addSection = response.data.data;
2098 this.showLoader = false; 2100 this.showLoader = false;
2099 }) 2101 })
2100 .catch(err => { 2102 .catch(err => {
2101 this.showLoader = false; 2103 this.showLoader = false;
2102 }); 2104 });
2103 }, 2105 },
2104 getSection(_id) { 2106 getSection(_id) {
2105 var token = this.$store.state.token; 2107 var token = this.$store.state.token;
2106 this.showLoader = true; 2108 this.showLoader = true;
2107 http() 2109 http()
2108 .get( 2110 .get(
2109 "/getSectionsList", 2111 "/getSectionsList",
2110 { params: { classId: _id } }, 2112 { params: { classId: _id } },
2111 { 2113 {
2112 headers: { Authorization: "Bearer " + token } 2114 headers: { Authorization: "Bearer " + token }
2113 } 2115 }
2114 ) 2116 )
2115 .then(response => { 2117 .then(response => {
2116 this.addSection = response.data.data; 2118 this.addSection = response.data.data;
2117 this.showLoader = false; 2119 this.showLoader = false;
2118 }) 2120 })
2119 .catch(err => { 2121 .catch(err => {
2120 this.showLoader = false; 2122 this.showLoader = false;
2121 }); 2123 });
2122 }, 2124 },
2123 pickFile() { 2125 pickFile() {
2124 this.$refs.image.click(); 2126 this.$refs.image.click();
2125 }, 2127 },
2126 pickEditFile() { 2128 pickEditFile() {
2127 this.$refs.editDataImage.click(); 2129 this.$refs.editDataImage.click();
2128 }, 2130 },
2129 dates: function(date) { 2131 dates: function(date) {
2130 return moment(date).format("MMMM DD, YYYY"); 2132 return moment(date).format("MMMM DD, YYYY");
2131 return date; 2133 return date;
2132 }, 2134 },
2133 onFilePicked(e) { 2135 onFilePicked(e) {
2134 // console.log(e) 2136 // console.log(e)
2135 const files = e.target.files; 2137 const files = e.target.files;
2136 this.imageData.upload = e.target.files[0]; 2138 this.imageData.upload = e.target.files[0];
2137 if (files[0] !== undefined) { 2139 if (files[0] !== undefined) {
2138 this.imageName = files[0].name; 2140 this.imageName = files[0].name;
2139 if (this.imageName.lastIndexOf(".") <= 0) { 2141 if (this.imageName.lastIndexOf(".") <= 0) {
2140 return; 2142 return;
2141 } 2143 }
2142 const fr = new FileReader(); 2144 const fr = new FileReader();
2143 fr.readAsDataURL(files[0]); 2145 fr.readAsDataURL(files[0]);
2144 fr.addEventListener("load", () => { 2146 fr.addEventListener("load", () => {
2145 this.imageUrl = fr.result; 2147 this.imageUrl = fr.result;
2146 this.imageFile = files[0]; // this is an image file that can be sent to server... 2148 this.imageFile = files[0]; // this is an image file that can be sent to server...
2147 this.imageData.imageUrl = URL.createObjectURL(this.imageFile); 2149 this.imageData.imageUrl = URL.createObjectURL(this.imageFile);
2148 }); 2150 });
2149 } else { 2151 } else {
2150 this.imageName = ""; 2152 this.imageName = "";
2151 this.imageFile = ""; 2153 this.imageFile = "";
2152 this.imageUrl = ""; 2154 this.imageUrl = "";
2153 } 2155 }
2154 }, 2156 },
2155 onEditFilePicked(e) { 2157 onEditFilePicked(e) {
2156 console.log(e); 2158 console.log(e);
2157 const files = e.target.files; 2159 const files = e.target.files;
2158 if (files[0] !== undefined) { 2160 if (files[0] !== undefined) {
2159 this.editImageName = files[0].name; 2161 this.editImageName = files[0].name;
2160 console.log("this.editImageName", this.editImageName); 2162 console.log("this.editImageName", this.editImageName);
2161 2163
2162 if (this.editImageName.lastIndexOf(".") <= 0) { 2164 if (this.editImageName.lastIndexOf(".") <= 0) {
2163 return; 2165 return;
2164 } 2166 }
2165 const fr = new FileReader(); 2167 const fr = new FileReader();
2166 fr.readAsDataURL(files[0]); 2168 fr.readAsDataURL(files[0]);
2167 fr.addEventListener("load", () => { 2169 fr.addEventListener("load", () => {
2168 this.editImageUrl = fr.result; 2170 this.editImageUrl = fr.result;
2169 this.editiImageFile = files[0]; // this is an image file that can be sent to server... 2171 this.editiImageFile = files[0]; // this is an image file that can be sent to server...
2170 }); 2172 });
2171 } else { 2173 } else {
2172 this.editImageName = ""; 2174 this.editImageName = "";
2173 this.editiImageFile = ""; 2175 this.editiImageFile = "";
2174 } 2176 }
2175 }, 2177 },
2176 editItem(item) { 2178 editItem(item) {
2177 this.editedIndex = this.studentsData.indexOf(item); 2179 this.editedIndex = this.studentsData.indexOf(item);
2178 this.editedItem = Object.assign({}, item); 2180 this.editedItem = Object.assign({}, item);
2179 this.editedItem.fatherName = item.parentId.fatherName; 2181 this.editedItem.fatherName = item.parentId.fatherName;
2180 this.editedItem.fatherCellNo = item.parentId.fatherCellNo; 2182 this.editedItem.fatherCellNo = item.parentId.fatherCellNo;
2181 this.editedItem.motherName = item.parentId.motherName; 2183 this.editedItem.motherName = item.parentId.motherName;
2182 this.editedItem.motherCellNo = item.parentId.motherCellNo; 2184 this.editedItem.motherCellNo = item.parentId.motherCellNo;
2183 this.editedItem.dob = 2185 this.editedItem.dob =
2184 this.editedItem.dob != undefined 2186 this.editedItem.dob != undefined
2185 ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10)) 2187 ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10))
2186 : (this.editedItem.dob = ""); 2188 : (this.editedItem.dob = "");
2187 this.editStudentDialog = true; 2189 this.editStudentDialog = true;
2188 }, 2190 },
2189 profile(item) { 2191 profile(item) {
2190 this.editedIndex = this.studentsData.indexOf(item); 2192 this.editedIndex = this.studentsData.indexOf(item);
2191 this.editedItem = Object.assign({}, item); 2193 this.editedItem = Object.assign({}, item);
2192 this.editedItem.fatherName = item.parentId.fatherName; 2194 this.editedItem.fatherName = item.parentId.fatherName;
2193 this.editedItem.fatherCellNo = item.parentId.fatherCellNo; 2195 this.editedItem.fatherCellNo = item.parentId.fatherCellNo;
2194 this.editedItem.motherName = item.parentId.motherName; 2196 this.editedItem.motherName = item.parentId.motherName;
2195 this.editedItem.motherCellNo = item.parentId.motherCellNo; 2197 this.editedItem.motherCellNo = item.parentId.motherCellNo;
2196 2198
2197 this.profileStudentDialog = true; 2199 this.profileStudentDialog = true;
2198 }, 2200 },
2199 deleteItem(item) { 2201 deleteItem(item) {
2200 let deleteStudent = { 2202 let deleteStudent = {
2201 studentId: item._id 2203 studentId: item._id
2202 }; 2204 };
2203 http() 2205 http()
2204 .delete( 2206 .delete(
2205 "/deleteStudent", 2207 "/deleteStudent",
2206 confirm("Are you sure you want to delete this?") && { 2208 confirm("Are you sure you want to delete this?") && {
2207 params: deleteStudent 2209 params: deleteStudent
2208 } 2210 }
2209 ) 2211 )
2210 .then(response => { 2212 .then(response => {
2211 this.snackbar = true; 2213 this.snackbar = true;
2212 this.text = response.data.message; 2214 this.text = response.data.message;
2213 this.color = "green"; 2215 this.color = "green";
2214 this.findStudents(); 2216 this.findStudents();
2215 }) 2217 })
2216 .catch(error => { 2218 .catch(error => {
2217 this.snackbar = true; 2219 this.snackbar = true;
2218 this.text = error.response.data.message; 2220 this.text = error.response.data.message;
2219 this.color = "error"; 2221 this.color = "error";
2220 }); 2222 });
2221 }, 2223 },
2222 close() { 2224 close() {
2223 this.editStudentDialog = false; 2225 this.editStudentDialog = false;
2224 }, 2226 },
2225 closeStudentProfile() { 2227 closeStudentProfile() {
2226 this.profileStudentDialog = false; 2228 this.profileStudentDialog = false;
2227 }, 2229 },
2228 copyData() { 2230 copyData() {
2229 this.addStudents.permanentAddress = this.addStudents.presentAddress; 2231 this.addStudents.permanentAddress = this.addStudents.presentAddress;
2230 }, 2232 },
2231 submit() { 2233 submit() {
2232 if (this.$refs.form.validate()) { 2234 if (this.$refs.form.validate()) {
2233 let addStudent = { 2235 let addStudent = {
2234 parentId: this.parentId, 2236 parentId: this.parentId,
2235 name: this.addStudents.name, 2237 name: this.addStudents.name,
2236 email: this.addStudents.email, 2238 email: this.addStudents.email,
2237 role: this.addStudents.role, 2239 role: this.addStudents.role,
2238 dob: this.addStudents.date, 2240 dob: this.addStudents.date,
2239 city: this.addStudents.city, 2241 city: this.addStudents.city,
2240 pincode: this.addStudents.pincode, 2242 pincode: this.addStudents.pincode,
2241 country: this.addStudents.country, 2243 country: this.addStudents.country,
2242 permanentAddress: this.addStudents.permanentAddress, 2244 permanentAddress: this.addStudents.permanentAddress,
2243 presentAddress: this.addStudents.presentAddress, 2245 presentAddress: this.addStudents.presentAddress,
2244 mobile: this.addStudents.mobile, 2246 mobile: this.addStudents.mobile,
2245 state: this.addStudents.state, 2247 state: this.addStudents.state,
2246 gender: this.addStudents.gender, 2248 gender: this.addStudents.gender,
2247 establishmentYear: this.addStudents.establishmentYear, 2249 establishmentYear: this.addStudents.establishmentYear,
2248 classId: this.addStudents.select, 2250 classId: this.addStudents.select,
2249 sectionId: this.addStudents.selectSection, 2251 sectionId: this.addStudents.selectSection,
2250 bloodGroup: this.addStudents.bloodGroup, 2252 bloodGroup: this.addStudents.bloodGroup,
2251 medicalNotes: this.addStudents.medicalNotes, 2253 medicalNotes: this.addStudents.medicalNotes,
2252 height: this.addStudents.height, 2254 height: this.addStudents.height,
2253 weight: this.addStudents.weight, 2255 weight: this.addStudents.weight,
2254 rollNo: this.addStudents.rollNo 2256 rollNo: this.addStudents.rollNo
2255 }; 2257 };
2256 if (this.imageUrl) { 2258 if (this.imageUrl) {
2257 var str = this.imageUrl; 2259 var str = this.imageUrl;
2258 const [baseUrl, imageUrl] = str.split(/,/); 2260 const [baseUrl, imageUrl] = str.split(/,/);
2259 addStudent.upload = imageUrl; 2261 addStudent.upload = imageUrl;
2260 } 2262 }
2261 this.loading = true; 2263 this.loading = true;
2262 http() 2264 http()
2263 .post("/createStudent", addStudent) 2265 .post("/createStudent", addStudent)
2264 .then(response => { 2266 .then(response => {
2265 this.snackbar = true; 2267 this.snackbar = true;
2266 this.text = "New Student added successfully"; 2268 this.text = "New Student added successfully";
2267 this.color = "green"; 2269 this.color = "green";
2268 this.addStudentDialog = false; 2270 this.addStudentDialog = false;
2269 this.clear(); 2271 this.clear();
2270 this.clearParents(); 2272 this.clearParents();
2271 this.loading = false; 2273 this.loading = false;
2272 }) 2274 })
2273 .catch(error => { 2275 .catch(error => {
2274 this.snackbar = true; 2276 this.snackbar = true;
2275 this.text = error.response.data.message; 2277 this.text = error.response.data.message;
2276 this.color = "error"; 2278 this.color = "error";
2277 this.loading = false; 2279 this.loading = false;
2278 }); 2280 });
2279 } 2281 }
2280 }, 2282 },
2281 clear() { 2283 clear() {
2282 this.$refs.form.reset(); 2284 this.$refs.form.reset();
2283 this.imageUrl = ""; 2285 this.imageUrl = "";
2284 }, 2286 },
2285 clearParents() { 2287 clearParents() {
2286 this.$refs.parentForm.reset(); 2288 this.$refs.parentForm.reset();
2287 }, 2289 },
2288 save() { 2290 save() {
2289 let editStudent = { 2291 let editStudent = {
2290 studentId: this.editedItem._id, 2292 studentId: this.editedItem._id,
2291 name: this.editedItem.name, 2293 name: this.editedItem.name,
2292 email: this.editedItem.email, 2294 email: this.editedItem.email,
2293 role: this.editedItem.role, 2295 role: this.editedItem.role,
2294 dob: this.editedItem.dob, 2296 dob: this.editedItem.dob,
2295 city: this.editedItem.city, 2297 city: this.editedItem.city,
2296 pincode: this.editedItem.pincode, 2298 pincode: this.editedItem.pincode,
2297 country: this.editedItem.country, 2299 country: this.editedItem.country,
2298 permanentAddress: this.editedItem.permanentAddress, 2300 permanentAddress: this.editedItem.permanentAddress,
2299 presentAddress: this.editedItem.presentAddress, 2301 presentAddress: this.editedItem.presentAddress,
2300 mobile: this.editedItem.mobile, 2302 mobile: this.editedItem.mobile,
2301 state: this.editedItem.state, 2303 state: this.editedItem.state,
2302 gender: this.editedItem.gender, 2304 gender: this.editedItem.gender,
2303 establishmentYear: this.editedItem.establishmentYear, 2305 establishmentYear: this.editedItem.establishmentYear,
2304 classId: this.editedItem.select, 2306 classId: this.editedItem.select,
2305 sectionId: this.editedItem.selectSection, 2307 sectionId: this.editedItem.selectSection,
2306 bloodGroup: this.editedItem.bloodGroup, 2308 bloodGroup: this.editedItem.bloodGroup,
2307 medicalNotes: this.editedItem.medicalNotes, 2309 medicalNotes: this.editedItem.medicalNotes,
2308 height: this.editedItem.height, 2310 height: this.editedItem.height,
2309 weight: this.editedItem.weight, 2311 weight: this.editedItem.weight,
2310 rollNo: this.editedItem.rollNo 2312 rollNo: this.editedItem.rollNo
2311 }; 2313 };
2312 if (this.editImageUrl) { 2314 if (this.editImageUrl) {
2313 var str = this.editImageUrl; 2315 var str = this.editImageUrl;
2314 const [baseUrl, editImageUrl] = str.split(/,/); 2316 const [baseUrl, editImageUrl] = str.split(/,/);
2315 editStudent.upload = editImageUrl; 2317 editStudent.upload = editImageUrl;
2316 } 2318 }
2317 this.editLoading = true; 2319 this.editLoading = true;
2318 http() 2320 http()
2319 .put("/updateStudent", editStudent) 2321 .put("/updateStudent", editStudent)
2320 .then(response => { 2322 .then(response => {
2321 this.snackbar = true; 2323 this.snackbar = true;
2322 this.text = response.data.message; 2324 this.text = response.data.message;
2323 this.color = "green"; 2325 this.color = "green";
2324 this.imageUrl = ""; 2326 this.imageUrl = "";
2325 this.findStudents(); 2327 this.findStudents();
2326 this.close(); 2328 this.close();
2327 this.editLoading = false; 2329 this.editLoading = false;
2328 }) 2330 })
2329 .catch(error => { 2331 .catch(error => {
2330 this.snackbar = true; 2332 this.snackbar = true;
2331 this.text = error.response.data.statusText; 2333 this.text = error.response.data.statusText;
2332 this.color = "error"; 2334 this.color = "error";
2333 this.editLoading = false; 2335 this.editLoading = false;
2334 }); 2336 });
2335 }, 2337 },
2336 submitParentDetails() { 2338 submitParentDetails() {
2337 if (this.$refs.parentForm.validate()) { 2339 if (this.$refs.parentForm.validate()) {
2338 this.parentData.fatherCellNo = this.parentData.fatherCellNo; 2340 this.parentData.fatherCellNo = this.parentData.fatherCellNo;
2339 this.parentData.motherCellNo = this.parentData.motherCellNo; 2341 this.parentData.motherCellNo = this.parentData.motherCellNo;
2340 let addparentDetails = { 2342 let addparentDetails = {
2341 email: this.parentData.email, 2343 email: this.parentData.email,
2342 fatherName: this.parentData.fatherName, 2344 fatherName: this.parentData.fatherName,
2343 fatherCellNo: this.parentData.fatherCellNo, 2345 fatherCellNo: this.parentData.fatherCellNo,
2344 motherName: this.parentData.motherName, 2346 motherName: this.parentData.motherName,
2345 motherCellNo: this.parentData.motherCellNo, 2347 motherCellNo: this.parentData.motherCellNo,
2346 fatherProfession: this.parentData.fatherProfession, 2348 fatherProfession: this.parentData.fatherProfession,
2347 motherProfession: this.parentData.motherProfession, 2349 motherProfession: this.parentData.motherProfession,
2348 password: this.parentData.password, 2350 password: this.parentData.password,
2349 role: "PARENT" 2351 role: "PARENT"
2350 }; 2352 };
2351 this.loading = true; 2353 this.loading = true;
2352 http() 2354 http()
2353 .post("/createParent", addparentDetails) 2355 .post("/createParent", addparentDetails)
2354 .then(response => { 2356 .then(response => {
2355 this.parentId = response.data.data.id; 2357 this.parentId = response.data.data.id;
2356 this.e2 = 2; 2358 this.e2 = 2;
2357 this.snackbar = true; 2359 this.snackbar = true;
2358 this.text = response.data.message; 2360 this.text = response.data.message;
2359 this.color = "green"; 2361 this.color = "green";
2360 // this.getStudentList(); 2362 // this.getStudentList();
2361 this.clear(); 2363 this.clear();
2362 this.loading = false; 2364 this.loading = false;
2363 }) 2365 })
2364 .catch(error => { 2366 .catch(error => {
2365 this.snackbar = true; 2367 this.snackbar = true;
2366 this.text = error.response.data.message; 2368 this.text = error.response.data.message;
2367 this.color = "error"; 2369 this.color = "error";
2368 if (error.response.data.statusText) { 2370 if (error.response.data.statusText) {
2369 this.text = error.response.data.statusText; 2371 this.text = error.response.data.statusText;
2370 } 2372 }
2371 this.loading = false; 2373 this.loading = false;
2372 }); 2374 });
2373 } 2375 }
2374 }, 2376 },
2375 getParentDetails() { 2377 getParentDetails() {
2376 if (this.parentData.fatherCellNo.length > 9) { 2378 if (this.parentData.fatherCellNo.length > 9) {
2377 this.showLoader = true; 2379 this.showLoader = true;
2378 http() 2380 http()
2379 .get("getParticularParent", { 2381 .get("getParticularParent", {
2380 params: { fatherCellNo: this.parentData.fatherCellNo }, 2382 params: { fatherCellNo: this.parentData.fatherCellNo },
2381 headers: { 2383 headers: {
2382 Authorization: "Bearer " + this.$store.state.token 2384 Authorization: "Bearer " + this.$store.state.token
2383 } 2385 }
2384 }) 2386 })
2385 .then(response => { 2387 .then(response => {
2386 this.showNext = true; 2388 this.showNext = true;
2387 this.showParent = false; 2389 this.showParent = false;
2388 this.parentData = response.data.data; 2390 this.parentData = response.data.data;
2389 this.parentId = response.data.data._id; 2391 this.parentId = response.data.data._id;
2390 this.showLoader = false; 2392 this.showLoader = false;
2393 this.isFatherCellExists = true;
2391 }) 2394 })
2392 .catch(error => { 2395 .catch(error => {
2393 console.log("err====>", error.response.data.message); 2396 console.log("err====>", error.response.data.message);
2394 this.text = error.response.data.message; 2397 this.text = error.response.data.message;
2395 this.snackbar = true; 2398 this.snackbar = true;
2396 if (this.text === "Data not found!") { 2399 if (this.text === "Data not found!") {
2397 this.showNext = false; 2400 this.showNext = false;
2398 this.showParent = true; 2401 this.showParent = true;
2399 this.parentData.email = ""; 2402 this.parentData.email = "";
2400 this.parentData.fatherName = ""; 2403 this.parentData.fatherName = "";
2401 this.parentData.motherName = ""; 2404 this.parentData.motherName = "";
2402 this.parentData.motherCellNo = ""; 2405 this.parentData.motherCellNo = "";
2403 this.parentData.fatherProfession = ""; 2406 this.parentData.fatherProfession = "";
2404 this.parentData.motherProfession = ""; 2407 this.parentData.motherProfession = "";
2405 this.parentData.password = ""; 2408 this.parentData.password = "";
2406 } 2409 }
2407 this.showLoader = false; 2410 this.showLoader = false;
2408 }); 2411 });
2409 } 2412 }
2410 }, 2413 },
2411 suspendStudentStatus(status, id) { 2414 suspendStudentStatus(status, id) {
2412 let suspendStudentData = { 2415 let suspendStudentData = {
2413 studentId: id, 2416 studentId: id,
2414 status: status 2417 status: status
2415 }; 2418 };
2416 http() 2419 http()
2417 .put("/suspendStudentAccount", suspendStudentData) 2420 .put("/suspendStudentAccount", suspendStudentData)
2418 .then(response => { 2421 .then(response => {
2419 this.findStudents(); 2422 this.findStudents();
2420 this.text = response.data.message; 2423 this.text = response.data.message;
2421 this.color = "green"; 2424 this.color = "green";
2422 this.snackbar = true; 2425 this.snackbar = true;
2423 }) 2426 })
2424 .catch(error => { 2427 .catch(error => {
2425 this.snackbar = true; 2428 this.snackbar = true;
2426 this.color = "error"; 2429 this.color = "error";
2427 this.text = error.response.data.message; 2430 this.text = error.response.data.message;
2428 }); 2431 });
2429 }, 2432 },
2430 displaySearch() { 2433 displaySearch() {
2431 (this.show = false), (this.showSearch = true); 2434 (this.show = false), (this.showSearch = true);
2432 }, 2435 },
2433 closeSearch() { 2436 closeSearch() {
2434 this.showSearch = false; 2437 this.showSearch = false;
2435 this.show = true; 2438 this.show = true;
2436 this.search = ""; 2439 this.search = "";
2437 } 2440 }
2438 }, 2441 },
2439 mounted() { 2442 mounted() {
2440 const getCountryList = countryList(); 2443 const getCountryList = countryList();
2441 this.role = this.$store.state.role; 2444 this.role = this.$store.state.role;
2442 this.countries = getCountryList; 2445 this.countries = getCountryList;
2443 var token = this.$store.state.token; 2446 var token = this.$store.state.token;
2444 http() 2447 http()
2445 .get("/getClassesList", { 2448 .get("/getClassesList", {
2446 headers: { Authorization: "Bearer " + token } 2449 headers: { Authorization: "Bearer " + token }
2447 }) 2450 })
2448 .then(response => { 2451 .then(response => {
2449 this.addclass = response.data.data; 2452 this.addclass = response.data.data;
2450 }) 2453 })
2451 .catch(error => { 2454 .catch(error => {
2452 this.showLoader = false; 2455 this.showLoader = false;
2453 if (error.response.status === 401) { 2456 if (error.response.status === 401) {
2454 this.$router.replace({ path: "/" }); 2457 this.$router.replace({ path: "/" });
2455 this.$store.dispatch("setToken", null); 2458 this.$store.dispatch("setToken", null);
2456 this.$store.dispatch("Id", null); 2459 this.$store.dispatch("Id", null);
2457 this.$store.dispatch("Role", null); 2460 this.$store.dispatch("Role", null);
2458 } 2461 }
2459 }); 2462 });
2460 } 2463 }
2461 }; 2464 };
2462 </script> 2465 </script>
2463 <style scoped> 2466 <style scoped>
2464 .active { 2467 .active {
2465 background-color: gray; 2468 background-color: gray;
2466 color: white !important; 2469 color: white !important;
2467 } 2470 }
2468 .activebtn { 2471 .activebtn {
2469 color: black !important; 2472 color: black !important;
2470 } 2473 }
2471 </style> 2474 </style>
src/pages/Teachers/teachers.vue
1 <template> 1 <template>
2 <v-container fluid class="body-color"> 2 <v-container fluid class="body-color">
3 <!-- ****** EDIT TEACHERS DETAILS ****** --> 3 <!-- ****** EDIT TEACHERS DETAILS ****** -->
4 <v-dialog v-model="editTeacherDialog" max-width="1160px" scrollable> 4 <v-dialog v-model="editTeacherDialog" max-width="1160px" scrollable>
5 <v-card flat class="card-style" dark> 5 <v-card flat class="card-style" dark>
6 <v-card-text> 6 <v-card-text>
7 <v-layout> 7 <v-layout>
8 <v-flex xs12> 8 <v-flex xs12>
9 <label class="title text-xs-center">Edit Teacher Details</label> 9 <label class="title text-xs-center">Edit Teacher Details</label>
10 <v-icon size="24" class="right" @click="editTeacherDialog = false">cancel</v-icon> 10 <v-icon size="24" class="right" @click="editTeacherDialog = false">cancel</v-icon>
11 </v-flex> 11 </v-flex>
12 </v-layout> 12 </v-layout>
13 <v-container fluid> 13 <v-container fluid>
14 <v-layout> 14 <v-layout>
15 <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center my-4"> 15 <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center my-4">
16 <v-avatar size="100px" v-if="!editedItem.profilePicUrl && !imageUrl"> 16 <v-avatar size="100px" v-if="!editedItem.profilePicUrl && !imageUrl">
17 <img src="/static/icon/user.png" /> 17 <img src="/static/icon/user.png" />
18 </v-avatar> 18 </v-avatar>
19 <img 19 <img
20 :src="editedItem.profilePicUrl" 20 :src="editedItem.profilePicUrl"
21 v-else-if="editedItem.profilePicUrl && !imageUrl" 21 v-else-if="editedItem.profilePicUrl && !imageUrl"
22 height="150" 22 height="150"
23 style="border-radius:50%; width:150px" 23 style="border-radius:50%; width:150px"
24 /> 24 />
25 <img 25 <img
26 v-if="imageUrl" 26 v-if="imageUrl"
27 :src="imageUrl" 27 :src="imageUrl"
28 height="150" 28 height="150"
29 style="border-radius:50%; width:150px" 29 style="border-radius:50%; width:150px"
30 /> 30 />
31 <input 31 <input
32 type="file" 32 type="file"
33 style="display:none" 33 style="display:none"
34 ref="image" 34 ref="image"
35 accept="image/*" 35 accept="image/*"
36 @change="onFilePicked" 36 @change="onFilePicked"
37 /> 37 />
38 </v-flex> 38 </v-flex>
39 </v-layout> 39 </v-layout>
40 <v-layout wrap> 40 <v-layout wrap>
41 <v-flex xs12 sm6> 41 <v-flex xs12 sm6>
42 <v-layout> 42 <v-layout>
43 <v-flex xs4 class="pt-4 subheading"> 43 <v-flex xs4 class="pt-4 subheading">
44 <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> 44 <label class="right hidden-xs-only hidden-sm-only">Full Name:</label>
45 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Name:</label> 45 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Name:</label>
46 </v-flex> 46 </v-flex>
47 <v-flex xs8 class="ml-3"> 47 <v-flex xs8 class="ml-3">
48 <v-text-field 48 <v-text-field
49 v-model="editedItem.name" 49 v-model="editedItem.name"
50 placeholder="fill your full Name" 50 placeholder="fill your full Name"
51 type="text" 51 type="text"
52 required 52 required
53 ></v-text-field> 53 ></v-text-field>
54 </v-flex> 54 </v-flex>
55 </v-layout> 55 </v-layout>
56 </v-flex> 56 </v-flex>
57 <v-flex xs12 sm6> 57 <v-flex xs12 sm6>
58 <v-layout> 58 <v-layout>
59 <v-flex xs4 sm4 class="pt-4 subheading"> 59 <v-flex xs4 sm4 class="pt-4 subheading">
60 <label class="right">Email ID:</label> 60 <label class="right">Email ID:</label>
61 </v-flex> 61 </v-flex>
62 <v-flex xs8 sm8 class="ml-3"> 62 <v-flex xs8 sm8 class="ml-3">
63 <v-text-field 63 <v-text-field
64 placeholder="fill your email" 64 placeholder="fill your email"
65 v-model="editedItem.email" 65 v-model="editedItem.email"
66 type="text" 66 type="text"
67 required 67 required
68 ></v-text-field> 68 ></v-text-field>
69 </v-flex> 69 </v-flex>
70 </v-layout> 70 </v-layout>
71 </v-flex> 71 </v-flex>
72 </v-layout> 72 </v-layout>
73 <v-layout wrap> 73 <v-layout wrap>
74 <v-flex xs12 sm6> 74 <v-flex xs12 sm6>
75 <v-layout> 75 <v-layout>
76 <v-flex xs4 class="pt-4 subheading"> 76 <v-flex xs4 class="pt-4 subheading">
77 <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> 77 <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label>
78 <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> 78 <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label>
79 </v-flex> 79 </v-flex>
80 <v-flex xs8 class="ml-3"> 80 <v-flex xs8 class="ml-3">
81 <v-menu 81 <v-menu
82 ref="menu" 82 ref="menu"
83 :close-on-content-click="false" 83 :close-on-content-click="false"
84 v-model="menu2" 84 v-model="menu2"
85 :nudge-right="40" 85 :nudge-right="40"
86 lazy 86 lazy
87 transition="scale-transition" 87 transition="scale-transition"
88 offset-y 88 offset-y
89 full-width 89 full-width
90 min-width="290px" 90 min-width="290px"
91 > 91 >
92 <v-text-field 92 <v-text-field
93 slot="activator" 93 slot="activator"
94 v-model="editedItem.dob" 94 v-model="editedItem.dob"
95 placeholder="Select date" 95 placeholder="Select date"
96 ></v-text-field> 96 ></v-text-field>
97 <v-date-picker 97 <v-date-picker
98 ref="picker" 98 ref="picker"
99 v-model="editedItem.dob" 99 v-model="editedItem.dob"
100 :max="new Date().toISOString().substr(0, 10)" 100 :max="new Date().toISOString().substr(0, 10)"
101 min="1950-01-01" 101 min="1950-01-01"
102 @input="menu2 = false" 102 @input="menu2 = false"
103 ></v-date-picker> 103 ></v-date-picker>
104 </v-menu> 104 </v-menu>
105 </v-flex> 105 </v-flex>
106 </v-layout> 106 </v-layout>
107 </v-flex> 107 </v-flex>
108 <v-flex xs12 sm6> 108 <v-flex xs12 sm6>
109 <v-layout> 109 <v-layout>
110 <v-flex xs4 class="pt-4 subheading"> 110 <v-flex xs4 class="pt-4 subheading">
111 <label class="right">City:</label> 111 <label class="right">City:</label>
112 </v-flex> 112 </v-flex>
113 <v-flex xs8 class="ml-3"> 113 <v-flex xs8 class="ml-3">
114 <v-text-field 114 <v-text-field
115 v-model="editedItem.city" 115 v-model="editedItem.city"
116 placeholder="fill your City Name" 116 placeholder="fill your City Name"
117 type="text" 117 type="text"
118 required 118 required
119 ></v-text-field> 119 ></v-text-field>
120 </v-flex> 120 </v-flex>
121 </v-layout> 121 </v-layout>
122 </v-flex> 122 </v-flex>
123 </v-layout> 123 </v-layout>
124 <v-layout wrap> 124 <v-layout wrap>
125 <v-flex xs12 sm6> 125 <v-flex xs12 sm6>
126 <v-layout> 126 <v-layout>
127 <v-flex xs4 class="pt-4 subheading"> 127 <v-flex xs4 class="pt-4 subheading">
128 <label class="right">State:</label> 128 <label class="right">State:</label>
129 </v-flex> 129 </v-flex>
130 <v-flex xs8 class="ml-3"> 130 <v-flex xs8 class="ml-3">
131 <v-text-field 131 <v-text-field
132 v-model="editedItem.state" 132 v-model="editedItem.state"
133 placeholder="fill your State Name" 133 placeholder="fill your State Name"
134 type="text" 134 type="text"
135 required 135 required
136 ></v-text-field> 136 ></v-text-field>
137 </v-flex> 137 </v-flex>
138 </v-layout> 138 </v-layout>
139 </v-flex> 139 </v-flex>
140 <v-flex xs12 sm6> 140 <v-flex xs12 sm6>
141 <v-layout> 141 <v-layout>
142 <v-flex xs4 class="pt-4 subheading"> 142 <v-flex xs4 class="pt-4 subheading">
143 <label class="right">PinCode:</label> 143 <label class="right">PinCode:</label>
144 </v-flex> 144 </v-flex>
145 <v-flex xs8 class="ml-3"> 145 <v-flex xs8 class="ml-3">
146 <v-text-field 146 <v-text-field
147 v-model="editedItem.pincode" 147 v-model="editedItem.pincode"
148 placeholder="fill your pincode" 148 placeholder="fill your pincode"
149 type="number" 149 type="number"
150 required 150 required
151 ></v-text-field> 151 ></v-text-field>
152 </v-flex> 152 </v-flex>
153 </v-layout> 153 </v-layout>
154 </v-flex> 154 </v-flex>
155 </v-layout> 155 </v-layout>
156 <v-layout wrap> 156 <v-layout wrap>
157 <v-flex xs12 sm6> 157 <v-flex xs12 sm6>
158 <v-layout> 158 <v-layout>
159 <v-flex xs4 class="pt-4 subheading"> 159 <v-flex xs4 class="pt-4 subheading">
160 <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> 160 <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label>
161 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> 161 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label>
162 </v-flex> 162 </v-flex>
163 <v-flex xs8 class="ml-3"> 163 <v-flex xs8 class="ml-3">
164 <v-text-field 164 <v-text-field
165 v-model="editedItem.mobileNo" 165 v-model="editedItem.mobileNo"
166 placeholder="fill your MobileNo" 166 placeholder="fill your MobileNo"
167 type="number" 167 type="number"
168 required 168 required
169 ></v-text-field> 169 ></v-text-field>
170 </v-flex> 170 </v-flex>
171 </v-layout> 171 </v-layout>
172 </v-flex> 172 </v-flex>
173 <v-flex xs12 sm6> 173 <v-flex xs12 sm6>
174 <v-layout> 174 <v-layout>
175 <v-flex xs4 class="pt-4 subheading"> 175 <v-flex xs4 class="pt-4 subheading">
176 <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> 176 <label class="right hidden-xs-only hidden-sm-only">Select Country:</label>
177 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> 177 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label>
178 </v-flex> 178 </v-flex>
179 <v-flex xs8 sm8 class="ml-3"> 179 <v-flex xs8 sm8 class="ml-3">
180 <v-autocomplete 180 <v-autocomplete
181 v-model="editedItem.country" 181 v-model="editedItem.country"
182 :items="countries" 182 :items="countries"
183 placeholder="Select Country Name" 183 placeholder="Select Country Name"
184 required 184 required
185 ></v-autocomplete> 185 ></v-autocomplete>
186 </v-flex> 186 </v-flex>
187 </v-layout> 187 </v-layout>
188 </v-flex> 188 </v-flex>
189 </v-layout> 189 </v-layout>
190 <v-layout wrap> 190 <v-layout wrap>
191 <v-flex xs12 sm6> 191 <v-flex xs12 sm6>
192 <v-layout> 192 <v-layout>
193 <v-flex xs4 class="pt-4 subheading"> 193 <v-flex xs4 class="pt-4 subheading">
194 <label class="right">Join Date:</label> 194 <label class="right">Join Date:</label>
195 </v-flex> 195 </v-flex>
196 <v-flex xs8 sm8 class="ml-3"> 196 <v-flex xs8 sm8 class="ml-3">
197 <v-menu 197 <v-menu
198 ref="menu" 198 ref="menu"
199 :close-on-content-click="false" 199 :close-on-content-click="false"
200 v-model="menu3" 200 v-model="menu3"
201 :nudge-right="40" 201 :nudge-right="40"
202 lazy 202 lazy
203 transition="scale-transition" 203 transition="scale-transition"
204 offset-y 204 offset-y
205 full-width 205 full-width
206 min-width="290px" 206 min-width="290px"
207 > 207 >
208 <v-text-field 208 <v-text-field
209 slot="activator" 209 slot="activator"
210 v-model="editedItem.joinDate" 210 v-model="editedItem.joinDate"
211 placeholder="Select date" 211 placeholder="Select date"
212 ></v-text-field> 212 ></v-text-field>
213 <v-date-picker 213 <v-date-picker
214 ref="picker" 214 ref="picker"
215 v-model="editedItem.joinDate" 215 v-model="editedItem.joinDate"
216 :max="new Date().toISOString().substr(0, 10)" 216 :max="new Date().toISOString().substr(0, 10)"
217 min="1950-01-01" 217 min="1950-01-01"
218 @input="menu3 = false" 218 @input="menu3 = false"
219 ></v-date-picker> 219 ></v-date-picker>
220 </v-menu> 220 </v-menu>
221 </v-flex> 221 </v-flex>
222 </v-layout> 222 </v-layout>
223 </v-flex> 223 </v-flex>
224 <v-flex xs12 sm6> 224 <v-flex xs12 sm6>
225 <v-layout> 225 <v-layout>
226 <v-flex xs4 class="pt-4 subheading"> 226 <v-flex xs4 class="pt-4 subheading">
227 <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> 227 <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label>
228 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod :</label> 228 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod :</label>
229 </v-flex> 229 </v-flex>
230 <v-flex xs8 sm8 class="ml-3"> 230 <v-flex xs8 sm8 class="ml-3">
231 <v-text-field 231 <v-text-field
232 label="Select Image" 232 label="Select Image"
233 @click="pickFile" 233 @click="pickFile"
234 v-model="imageName" 234 v-model="imageName"
235 append-icon="attach_file" 235 append-icon="attach_file"
236 ></v-text-field> 236 ></v-text-field>
237 </v-flex> 237 </v-flex>
238 </v-layout> 238 </v-layout>
239 </v-flex> 239 </v-flex>
240 </v-layout> 240 </v-layout>
241 <v-layout class="hidden-xs-only hidden-sm-only" wrap> 241 <v-layout class="hidden-xs-only hidden-sm-only" wrap>
242 <v-flex xs12 sm6> 242 <v-flex xs12 sm6>
243 <v-layout> 243 <v-layout>
244 <v-flex xs4 sm4 class="pt-4 subheading"> 244 <v-flex xs4 sm4 class="pt-4 subheading">
245 <label class="right">Present Address:</label> 245 <label class="right">Present Address:</label>
246 </v-flex> 246 </v-flex>
247 <v-flex xs8 sm8 class="ml-3"> 247 <v-flex xs8 sm8 class="ml-3">
248 <v-text-field 248 <v-text-field
249 name="input-4-3" 249 name="input-4-3"
250 v-model="editedItem.presentAddress" 250 v-model="editedItem.presentAddress"
251 placeholder="fill Your present Address" 251 placeholder="fill Your present Address"
252 required 252 required
253 ></v-text-field> 253 ></v-text-field>
254 </v-flex> 254 </v-flex>
255 </v-layout> 255 </v-layout>
256 </v-flex> 256 </v-flex>
257 <v-flex xs12 sm6> 257 <v-flex xs12 sm6>
258 <v-layout> 258 <v-layout>
259 <v-flex xs4 sm4 class="pt-4 subheading"> 259 <v-flex xs4 sm4 class="pt-4 subheading">
260 <label class="right">Permanent Address:</label> 260 <label class="right">Permanent Address:</label>
261 </v-flex> 261 </v-flex>
262 <v-flex xs12 sm8 class="ml-3"> 262 <v-flex xs12 sm8 class="ml-3">
263 <v-text-field 263 <v-text-field
264 name="input-4-3" 264 name="input-4-3"
265 v-model="editedItem.permanentAddress" 265 v-model="editedItem.permanentAddress"
266 placeholder="fill Your Permanent Address" 266 placeholder="fill Your Permanent Address"
267 required 267 required
268 ></v-text-field> 268 ></v-text-field>
269 </v-flex> 269 </v-flex>
270 </v-layout> 270 </v-layout>
271 </v-flex> 271 </v-flex>
272 </v-layout> 272 </v-layout>
273 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> 273 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap>
274 <v-flex xs12 sm12> 274 <v-flex xs12 sm12>
275 <v-layout> 275 <v-layout>
276 <v-flex xs12 sm3 class="pt-4 subheading text-xs-center"> 276 <v-flex xs12 sm3 class="pt-4 subheading text-xs-center">
277 <label class>Present Address:</label> 277 <label class>Present Address:</label>
278 </v-flex> 278 </v-flex>
279 </v-layout> 279 </v-layout>
280 <v-layout> 280 <v-layout>
281 <v-flex xs12 sm12> 281 <v-flex xs12 sm12>
282 <v-textarea 282 <v-textarea
283 name="input-4-3" 283 name="input-4-3"
284 v-model="editedItem.presentAddress" 284 v-model="editedItem.presentAddress"
285 placeholder="fill Your present Address" 285 placeholder="fill Your present Address"
286 required 286 required
287 ></v-textarea> 287 ></v-textarea>
288 </v-flex> 288 </v-flex>
289 </v-layout> 289 </v-layout>
290 </v-flex> 290 </v-flex>
291 <v-flex xs12 sm12> 291 <v-flex xs12 sm12>
292 <v-layout> 292 <v-layout>
293 <v-flex xs12 sm3 class="pt-4 pr-4 subheading text-xs-center addressForm"> 293 <v-flex xs12 sm3 class="pt-4 pr-4 subheading text-xs-center addressForm">
294 <label>Permanent Address:</label> 294 <label>Permanent Address:</label>
295 </v-flex> 295 </v-flex>
296 </v-layout> 296 </v-layout>
297 <v-layout> 297 <v-layout>
298 <v-flex xs12 sm12> 298 <v-flex xs12 sm12>
299 <v-textarea 299 <v-textarea
300 name="input-4-3" 300 name="input-4-3"
301 v-model="editedItem.permanentAddress" 301 v-model="editedItem.permanentAddress"
302 placeholder="fill Your Permanent Address" 302 placeholder="fill Your Permanent Address"
303 required 303 required
304 ></v-textarea> 304 ></v-textarea>
305 </v-flex> 305 </v-flex>
306 </v-layout> 306 </v-layout>
307 </v-flex> 307 </v-flex>
308 </v-layout> 308 </v-layout>
309 <v-layout> 309 <v-layout>
310 <v-flex xs12 sm12> 310 <v-flex xs12 sm12>
311 <v-flex xs12 sm12> 311 <v-flex xs12 sm12>
312 <v-layout class="right"> 312 <v-layout class="right">
313 <v-btn @click="save" round dark :loading="loading" class="add-button">Save</v-btn> 313 <v-btn @click="save" round dark :loading="loading" class="add-button">Save</v-btn>
314 </v-layout> 314 </v-layout>
315 </v-flex> 315 </v-flex>
316 </v-flex> 316 </v-flex>
317 </v-layout> 317 </v-layout>
318 </v-container> 318 </v-container>
319 </v-card-text> 319 </v-card-text>
320 </v-card> 320 </v-card>
321 </v-dialog> 321 </v-dialog>
322 322
323 <!-- ****** PROFILE VIEW TEACHERS DETAILS ****** --> 323 <!-- ****** PROFILE VIEW TEACHERS DETAILS ****** -->
324 324
325 <v-dialog v-model="viewTeacherProfileDialog" max-width="500px" scrollable> 325 <v-dialog v-model="viewTeacherProfileDialog" max-width="500px" scrollable>
326 <v-card flat class="card-style pa-3" dark> 326 <v-card flat class="card-style pa-3" dark>
327 <v-layout> 327 <v-layout>
328 <v-flex xs12> 328 <v-flex xs12>
329 <label class="title text-xs-center">View Teacher</label> 329 <label class="title text-xs-center">View Teacher</label>
330 <v-icon size="24" class="right" @click="viewTeacherProfileDialog = false">cancel</v-icon> 330 <v-icon size="24" class="right" @click="viewTeacherProfileDialog = false">cancel</v-icon>
331 </v-flex> 331 </v-flex>
332 </v-layout> 332 </v-layout>
333 <v-card-text> 333 <v-card-text>
334 <v-container grid-list-md> 334 <v-container grid-list-md>
335 <v-layout wrap> 335 <v-layout wrap>
336 <v-flex> 336 <v-flex>
337 <v-flex align-center justify-center layout text-xs-center> 337 <v-flex align-center justify-center layout text-xs-center>
338 <v-avatar size="80"> 338 <v-avatar size="80">
339 <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> 339 <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" />
340 <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> 340 <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" />
341 </v-avatar> 341 </v-avatar>
342 </v-flex> 342 </v-flex>
343 <v-layout> 343 <v-layout>
344 <v-flex xs5 sm6> 344 <v-flex xs5 sm6>
345 <h5 class="right my-1"> 345 <h5 class="right my-1">
346 <b>Full Name:</b> 346 <b>Full Name:</b>
347 </h5> 347 </h5>
348 </v-flex> 348 </v-flex>
349 <v-flex sm6 xs8> 349 <v-flex sm6 xs8>
350 <h5 class="my-1">{{ editedItem.name }}</h5> 350 <h5 class="my-1">{{ editedItem.name }}</h5>
351 </v-flex> 351 </v-flex>
352 </v-layout> 352 </v-layout>
353 <v-layout> 353 <v-layout>
354 <v-flex xs5 sm6> 354 <v-flex xs5 sm6>
355 <h5 class="right my-1"> 355 <h5 class="right my-1">
356 <b>Email:</b> 356 <b>Email:</b>
357 </h5> 357 </h5>
358 </v-flex> 358 </v-flex>
359 <v-flex sm6 xs8> 359 <v-flex sm6 xs8>
360 <h5 class="my-1">{{ editedItem.email }}</h5> 360 <h5 class="my-1">{{ editedItem.email }}</h5>
361 </v-flex> 361 </v-flex>
362 </v-layout> 362 </v-layout>
363 <v-layout> 363 <v-layout>
364 <v-flex xs5 sm6> 364 <v-flex xs5 sm6>
365 <h5 class="right my-1"> 365 <h5 class="right my-1">
366 <b>City:</b> 366 <b>City:</b>
367 </h5> 367 </h5>
368 </v-flex> 368 </v-flex>
369 <v-flex sm6 xs8> 369 <v-flex sm6 xs8>
370 <h5 class="my-1">{{ editedItem.city }}</h5> 370 <h5 class="my-1">{{ editedItem.city }}</h5>
371 </v-flex> 371 </v-flex>
372 </v-layout> 372 </v-layout>
373 <v-layout> 373 <v-layout>
374 <v-flex xs5 sm6> 374 <v-flex xs5 sm6>
375 <h5 class="right my-1"> 375 <h5 class="right my-1">
376 <b>State:</b> 376 <b>State:</b>
377 </h5> 377 </h5>
378 </v-flex> 378 </v-flex>
379 <v-flex sm6 xs8> 379 <v-flex sm6 xs8>
380 <h5 class="my-1">{{ editedItem.state }}</h5> 380 <h5 class="my-1">{{ editedItem.state }}</h5>
381 </v-flex> 381 </v-flex>
382 </v-layout> 382 </v-layout>
383 <v-layout> 383 <v-layout>
384 <v-flex xs5 sm6> 384 <v-flex xs5 sm6>
385 <h5 class="right my-1"> 385 <h5 class="right my-1">
386 <b>Country:</b> 386 <b>Country:</b>
387 </h5> 387 </h5>
388 </v-flex> 388 </v-flex>
389 <v-flex sm6 xs8> 389 <v-flex sm6 xs8>
390 <h5 class="my-1">{{ editedItem.country }}</h5> 390 <h5 class="my-1">{{ editedItem.country }}</h5>
391 </v-flex> 391 </v-flex>
392 </v-layout> 392 </v-layout>
393 <v-layout> 393 <v-layout>
394 <v-flex xs5 sm6> 394 <v-flex xs5 sm6>
395 <h5 class="right my-1"> 395 <h5 class="right my-1">
396 <b>Pincode:</b> 396 <b>Pincode:</b>
397 </h5> 397 </h5>
398 </v-flex> 398 </v-flex>
399 <v-flex sm6 xs8> 399 <v-flex sm6 xs8>
400 <h5 class="my-1">{{ editedItem.pincode }}</h5> 400 <h5 class="my-1">{{ editedItem.pincode }}</h5>
401 </v-flex> 401 </v-flex>
402 </v-layout> 402 </v-layout>
403 <v-layout> 403 <v-layout>
404 <v-flex xs5 sm6> 404 <v-flex xs5 sm6>
405 <h5 class="right my-1"> 405 <h5 class="right my-1">
406 <b>Mobile No:</b> 406 <b>Mobile No:</b>
407 </h5> 407 </h5>
408 </v-flex> 408 </v-flex>
409 <v-flex sm6 xs8> 409 <v-flex sm6 xs8>
410 <h5 class="my-1">{{ editedItem.mobileNo }}</h5> 410 <h5 class="my-1">{{ editedItem.mobileNo }}</h5>
411 </v-flex> 411 </v-flex>
412 </v-layout> 412 </v-layout>
413 <v-layout> 413 <v-layout>
414 <v-flex xs5 sm6> 414 <v-flex xs5 sm6>
415 <h5 class="right my-1"> 415 <h5 class="right my-1">
416 <b>Join Date:</b> 416 <b>Join Date:</b>
417 </h5> 417 </h5>
418 </v-flex> 418 </v-flex>
419 <v-flex sm6 xs8> 419 <v-flex sm6 xs8>
420 <h5 class="my-1">{{ dates(editedItem.joinDate) }}</h5> 420 <h5 class="my-1">{{ dates(editedItem.joinDate) }}</h5>
421 </v-flex> 421 </v-flex>
422 </v-layout> 422 </v-layout>
423 <v-layout> 423 <v-layout>
424 <v-flex xs5 sm6> 424 <v-flex xs5 sm6>
425 <h5 class="right my-1"> 425 <h5 class="right my-1">
426 <b>D.O.B :</b> 426 <b>D.O.B :</b>
427 </h5> 427 </h5>
428 </v-flex> 428 </v-flex>
429 <v-flex sm6 xs8> 429 <v-flex sm6 xs8>
430 <h5 class="my-1">{{ dates(editedItem.dob) }}</h5> 430 <h5 class="my-1">{{ dates(editedItem.dob) }}</h5>
431 </v-flex> 431 </v-flex>
432 </v-layout> 432 </v-layout>
433 <v-layout> 433 <v-layout>
434 <v-flex xs6 sm6> 434 <v-flex xs6 sm6>
435 <h5 class="right my-1"> 435 <h5 class="right my-1">
436 <b>Permanent Address:</b> 436 <b>Permanent Address:</b>
437 </h5> 437 </h5>
438 </v-flex> 438 </v-flex>
439 <v-flex sm6 xs8> 439 <v-flex sm6 xs8>
440 <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> 440 <h5 class="my-1">{{ editedItem.permanentAddress }}</h5>
441 </v-flex> 441 </v-flex>
442 </v-layout> 442 </v-layout>
443 <v-layout> 443 <v-layout>
444 <v-flex xs6 sm6> 444 <v-flex xs6 sm6>
445 <h5 class="right my-1"> 445 <h5 class="right my-1">
446 <b>present Address:</b> 446 <b>present Address:</b>
447 </h5> 447 </h5>
448 </v-flex> 448 </v-flex>
449 <v-flex sm6 xs8> 449 <v-flex sm6 xs8>
450 <h5 class="my-1">{{ editedItem.presentAddress }}</h5> 450 <h5 class="my-1">{{ editedItem.presentAddress }}</h5>
451 </v-flex> 451 </v-flex>
452 </v-layout> 452 </v-layout>
453 </v-flex> 453 </v-flex>
454 </v-layout> 454 </v-layout>
455 </v-container> 455 </v-container>
456 </v-card-text> 456 </v-card-text>
457 </v-card> 457 </v-card>
458 </v-dialog> 458 </v-dialog>
459 <!-- ****** EXISTING-Teachers TABLE DATA****** --> 459 <!-- ****** EXISTING-Teachers TABLE DATA****** -->
460 <v-toolbar color="transparent" flat> 460 <v-toolbar color="transparent" flat>
461 <v-btn 461 <v-btn
462 fab 462 fab
463 dark 463 dark
464 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only" 464 class="open-dialog-button hidden-xl-only hidden-md-only hidden-lg-only"
465 small 465 small
466 @click="addTeacherDialog = true" 466 @click="addTeacherDialog = true"
467 > 467 >
468 <v-icon dark>add</v-icon> 468 <v-icon dark>add</v-icon>
469 </v-btn> 469 </v-btn>
470 <v-btn 470 <v-btn
471 v-if="role != 'TEACHER' " 471 v-if="role != 'TEACHER' "
472 round 472 round
473 class="open-dialog-button hidden-sm-only hidden-xs-only" 473 class="open-dialog-button hidden-sm-only hidden-xs-only"
474 dark 474 dark
475 @click="addTeacherDialog = true" 475 @click="addTeacherDialog = true"
476 > 476 >
477 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Teacher 477 <v-icon class="white--text pr-1" size="20">add</v-icon>Add Teacher
478 </v-btn> 478 </v-btn>
479 <v-spacer></v-spacer> 479 <v-spacer></v-spacer>
480 <v-card-title class="body-1" v-show="show"> 480 <v-card-title class="body-1" v-show="show">
481 <v-btn icon large flat @click="displaySearch"> 481 <v-btn icon large flat @click="displaySearch">
482 <v-avatar size="27"> 482 <v-avatar size="27">
483 <img src="/static/icon/search.png" alt="icon" /> 483 <img src="/static/icon/search.png" alt="icon" />
484 </v-avatar> 484 </v-avatar>
485 </v-btn> 485 </v-btn>
486 </v-card-title> 486 </v-card-title>
487 <v-flex md2 lg2 sm6 xs8 v-show="showSearch"> 487 <v-flex md2 lg2 sm6 xs8 v-show="showSearch">
488 <v-layout> 488 <v-layout>
489 <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field> 489 <v-text-field v-model="search" label="Search" prepend-inner-icon="search" color="primary"></v-text-field>
490 <v-icon @click="closeSearch" color="error">close</v-icon> 490 <v-icon @click="closeSearch" color="error">close</v-icon>
491 </v-layout> 491 </v-layout>
492 </v-flex> 492 </v-flex>
493 </v-toolbar> 493 </v-toolbar>
494 <v-data-table 494 <v-data-table
495 :headers="headers" 495 :headers="headers"
496 :items="desserts" 496 :items="desserts"
497 :pagination.sync="pagination" 497 :pagination.sync="pagination"
498 :search="search" 498 :search="search"
499 > 499 >
500 <template slot="items" slot-scope="props"> 500 <template slot="items" slot-scope="props">
501 <tr class="tr"> 501 <tr class="tr">
502 <td class="td td-row">{{ props.index + 1}}</td> 502 <td class="td td-row">{{ props.index + 1}}</td>
503 <td class="td td-row text-xs-center"> 503 <td class="td td-row text-xs-center">
504 <v-avatar size="40"> 504 <v-avatar size="40">
505 <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> 505 <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" />
506 <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> 506 <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" />
507 </v-avatar> 507 </v-avatar>
508 </td> 508 </td>
509 <td class="td td-row text-xs-center">{{ props.item.name}}</td> 509 <td class="td td-row text-xs-center">{{ props.item.name}}</td>
510 <td class="td td-row text-xs-center">{{ props.item.email }}</td> 510 <td class="td td-row text-xs-center">{{ props.item.email }}</td>
511 <td class="td td-row text-xs-center">{{ dates(props.item.dob) }}</td> 511 <td class="td td-row text-xs-center">{{ dates(props.item.dob) }}</td>
512 <td class="td td-row text-xs-center">{{ dates(props.item.joinDate)}}</td> 512 <td class="td td-row text-xs-center">{{ dates(props.item.joinDate)}}</td>
513 <td class="td td-row text-xs-center">{{ props.item.mobileNo }}</td> 513 <td class="td td-row text-xs-center">{{ props.item.mobileNo }}</td>
514 <td class="td td-row text-xs-center"> 514 <td class="td td-row text-xs-center">
515 <v-switch 515 <v-switch
516 class="pl-3" 516 class="pl-3"
517 v-model="props.item.status" 517 v-model="props.item.status"
518 @change="suspendStatus(props.item.status,props.item._id)" 518 @change="suspendStatus(props.item.status,props.item._id)"
519 ></v-switch> 519 ></v-switch>
520 </td> 520 </td>
521 <td class="text-xs-center td td-row"> 521 <td class="text-xs-center td td-row">
522 <span> 522 <span>
523 <v-tooltip top> 523 <v-tooltip top>
524 <img 524 <img
525 slot="activator" 525 slot="activator"
526 style="cursor:pointer; width:25px; height:25px; " 526 style="cursor:pointer; width:25px; height:25px; "
527 class="mr-3" 527 class="mr-3"
528 @click="profile(props.item)" 528 @click="profile(props.item)"
529 src="/static/icon/view.png" 529 src="/static/icon/view.png"
530 /> 530 />
531 <span>View</span> 531 <span>View</span>
532 </v-tooltip> 532 </v-tooltip>
533 <v-tooltip top v-if="role != 'TEACHER' "> 533 <v-tooltip top v-if="role != 'TEACHER' ">
534 <img 534 <img
535 slot="activator" 535 slot="activator"
536 style="cursor:pointer; width:20px; height:18px; " 536 style="cursor:pointer; width:20px; height:18px; "
537 class="mr-3" 537 class="mr-3"
538 @click="editItem(props.item)" 538 @click="editItem(props.item)"
539 src="/static/icon/edit.png" 539 src="/static/icon/edit.png"
540 /> 540 />
541 <span>Edit</span> 541 <span>Edit</span>
542 </v-tooltip> 542 </v-tooltip>
543 <v-tooltip top v-if="role != 'TEACHER' "> 543 <!-- <v-tooltip top v-if="role != 'TEACHER' ">
544 <img 544 <img
545 slot="activator" 545 slot="activator"
546 style="cursor:pointer; width:20px; height:20px; " 546 style="cursor:pointer; width:20px; height:20px; "
547 @click="deleteItem(props.item)" 547 @click="deleteItem(props.item)"
548 src="/static/icon/delete.png" 548 src="/static/icon/delete.png"
549 class="mr-3" 549 class="mr-3"
550 /> 550 />
551 <span>Delete</span> 551 <span>Delete</span>
552 </v-tooltip> 552 </v-tooltip> -->
553 </span> 553 </span>
554 </td> 554 </td>
555 </tr> 555 </tr>
556 </template> 556 </template>
557 <v-alert 557 <v-alert
558 slot="no-results" 558 slot="no-results"
559 :value="true" 559 :value="true"
560 color="error" 560 color="error"
561 icon="warning" 561 icon="warning"
562 >Your search for "{{ search }}" found no results.</v-alert> 562 >Your search for "{{ search }}" found no results.</v-alert>
563 </v-data-table> 563 </v-data-table>
564 564
565 <!-- ****** Add Teachers Data****** --> 565 <!-- ****** Add Teachers Data****** -->
566 <v-dialog v-model="addTeacherDialog" max-width="1160"> 566 <v-dialog v-model="addTeacherDialog" max-width="1160">
567 <v-card flat class="card-style pa-2" dark> 567 <v-card flat class="card-style pa-2" dark>
568 <v-layout> 568 <v-layout>
569 <v-flex xs12 class="pa-0"> 569 <v-flex xs12 class="pa-0">
570 <label class="title text-xs-center">Add Teacher</label> 570 <label class="title text-xs-center">Add Teacher</label>
571 <v-icon size="24" class="right" @click="addTeacherDialog = false">cancel</v-icon> 571 <v-icon size="24" class="right" @click="addTeacherDialog = false">cancel</v-icon>
572 </v-flex> 572 </v-flex>
573 </v-layout> 573 </v-layout>
574 <v-form ref="form" v-model="valid" lazy-validation> 574 <v-form ref="form" v-model="valid" lazy-validation>
575 <v-container fluid> 575 <v-container fluid>
576 <v-layout> 576 <v-layout>
577 <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center my-4"> 577 <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center my-4">
578 <v-avatar size="120px"> 578 <v-avatar size="120px">
579 <img src="/static/icon/user.png" v-if="!imageUrl" /> 579 <img src="/static/icon/user.png" v-if="!imageUrl" />
580 </v-avatar> 580 </v-avatar>
581 <img 581 <img
582 :src="imageUrl" 582 :src="imageUrl"
583 height="150" 583 height="150"
584 v-if="imageUrl" 584 v-if="imageUrl"
585 style="border-radius:50%; width:150px" 585 style="border-radius:50%; width:150px"
586 /> 586 />
587 </v-flex> 587 </v-flex>
588 </v-layout> 588 </v-layout>
589 <v-layout wrap> 589 <v-layout wrap>
590 <v-flex xs12 sm6> 590 <v-flex xs12 sm6>
591 <v-layout> 591 <v-layout>
592 <v-flex xs4 class="pt-4 subheading"> 592 <v-flex xs4 class="pt-4 subheading">
593 <label class="right hidden-sm-only hidden-xs-only">Full Name:</label> 593 <label class="right hidden-sm-only hidden-xs-only">Full Name:</label>
594 <label class="right hidden-lg-only hidden-xl-only hidden-md-only">Full Name</label> 594 <label class="right hidden-lg-only hidden-xl-only hidden-md-only">Full Name</label>
595 </v-flex> 595 </v-flex>
596 <v-flex xs8 class="ml-3"> 596 <v-flex xs8 class="ml-3">
597 <v-text-field 597 <v-text-field
598 v-model="addTeachers.name" 598 v-model="addTeachers.name"
599 placeholder="fill your full Name" 599 placeholder="fill your full Name"
600 name="name" 600 name="name"
601 type="text" 601 type="text"
602 :rules="nameRules" 602 :rules="nameRules"
603 required 603 required
604 ></v-text-field> 604 ></v-text-field>
605 </v-flex> 605 </v-flex>
606 </v-layout> 606 </v-layout>
607 </v-flex> 607 </v-flex>
608 <v-flex xs12 sm6> 608 <v-flex xs12 sm6>
609 <v-layout> 609 <v-layout>
610 <v-flex xs4 class="pt-4 subheading"> 610 <v-flex xs4 class="pt-4 subheading">
611 <label class="right">Email ID:</label> 611 <label class="right">Email ID:</label>
612 </v-flex> 612 </v-flex>
613 <v-flex xs8 class="ml-3"> 613 <v-flex xs8 class="ml-3">
614 <v-text-field 614 <v-text-field
615 placeholder="fill your email" 615 placeholder="fill your email"
616 v-model="addTeachers.email" 616 v-model="addTeachers.email"
617 type="text" 617 type="text"
618 name="email" 618 name="email"
619 required 619 required
620 ></v-text-field> 620 ></v-text-field>
621 </v-flex> 621 </v-flex>
622 </v-layout> 622 </v-layout>
623 </v-flex> 623 </v-flex>
624 </v-layout> 624 </v-layout>
625 <v-layout wrap> 625 <v-layout wrap>
626 <v-flex xs12 sm6> 626 <v-flex xs12 sm6>
627 <v-layout> 627 <v-layout>
628 <v-flex xs4 sm4 class="pt-4 subheading"> 628 <v-flex xs4 sm4 class="pt-4 subheading">
629 <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> 629 <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label>
630 <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> 630 <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label>
631 </v-flex> 631 </v-flex>
632 <v-flex xs8 class="ml-3"> 632 <v-flex xs8 class="ml-3">
633 <v-menu 633 <v-menu
634 ref="menu" 634 ref="menu"
635 :close-on-content-click="false" 635 :close-on-content-click="false"
636 v-model="menu" 636 v-model="menu"
637 :nudge-right="40" 637 :nudge-right="40"
638 lazy 638 lazy
639 transition="scale-transition" 639 transition="scale-transition"
640 offset-y 640 offset-y
641 full-width 641 full-width
642 min-width="290px" 642 min-width="290px"
643 > 643 >
644 <v-text-field 644 <v-text-field
645 slot="activator" 645 slot="activator"
646 :rules="dateRules" 646 :rules="dateRules"
647 v-model="addTeachers.date" 647 v-model="addTeachers.date"
648 placeholder="Select date" 648 placeholder="Select date"
649 ></v-text-field> 649 ></v-text-field>
650 <v-date-picker 650 <v-date-picker
651 ref="picker" 651 ref="picker"
652 v-model="addTeachers.date" 652 v-model="addTeachers.date"
653 :max="new Date().toISOString().substr(0, 10)" 653 :max="new Date().toISOString().substr(0, 10)"
654 min="1950-01-01" 654 min="1950-01-01"
655 @input="menu = false" 655 @input="menu = false"
656 ></v-date-picker> 656 ></v-date-picker>
657 </v-menu> 657 </v-menu>
658 </v-flex> 658 </v-flex>
659 </v-layout> 659 </v-layout>
660 </v-flex> 660 </v-flex>
661 <v-flex xs12 sm6> 661 <v-flex xs12 sm6>
662 <v-layout> 662 <v-layout>
663 <v-flex xs4 class="pt-4 subheading"> 663 <v-flex xs4 class="pt-4 subheading">
664 <label class="right">City:</label> 664 <label class="right">City:</label>
665 </v-flex> 665 </v-flex>
666 <v-flex xs8 class="ml-3"> 666 <v-flex xs8 class="ml-3">
667 <v-text-field 667 <v-text-field
668 v-model="addTeachers.city" 668 v-model="addTeachers.city"
669 placeholder="fill your City Name" 669 placeholder="fill your City Name"
670 name="City" 670 name="City"
671 type="text" 671 type="text"
672 :rules="cityRules" 672 :rules="cityRules"
673 required 673 required
674 ></v-text-field> 674 ></v-text-field>
675 </v-flex> 675 </v-flex>
676 </v-layout> 676 </v-layout>
677 </v-flex> 677 </v-flex>
678 </v-layout> 678 </v-layout>
679 <v-layout wrap> 679 <v-layout wrap>
680 <v-flex xs12 sm6> 680 <v-flex xs12 sm6>
681 <v-layout> 681 <v-layout>
682 <v-flex xs4 class="pt-4 subheading"> 682 <v-flex xs4 class="pt-4 subheading">
683 <label class="right">State:</label> 683 <label class="right">State:</label>
684 </v-flex> 684 </v-flex>
685 <v-flex xs8 class="ml-3"> 685 <v-flex xs8 class="ml-3">
686 <v-text-field 686 <v-text-field
687 v-model="addTeachers.state" 687 v-model="addTeachers.state"
688 placeholder="fill your State Name" 688 placeholder="fill your State Name"
689 name="state" 689 name="state"
690 type="text" 690 type="text"
691 :rules="stateRules" 691 :rules="stateRules"
692 required 692 required
693 ></v-text-field> 693 ></v-text-field>
694 </v-flex> 694 </v-flex>
695 </v-layout> 695 </v-layout>
696 </v-flex> 696 </v-flex>
697 <v-flex xs12 sm6> 697 <v-flex xs12 sm6>
698 <v-layout> 698 <v-layout>
699 <v-flex xs4 class="pt-4 subheading"> 699 <v-flex xs4 class="pt-4 subheading">
700 <label class="right">PinCode:</label> 700 <label class="right">PinCode:</label>
701 </v-flex> 701 </v-flex>
702 <v-flex xs8 class="ml-3"> 702 <v-flex xs8 class="ml-3">
703 <v-text-field 703 <v-text-field
704 v-model="addTeachers.pincode" 704 v-model="addTeachers.pincode"
705 placeholder="fill your pincode" 705 placeholder="fill your pincode"
706 name="pincode" 706 name="pincode"
707 type="number" 707 type="number"
708 :rules="pincode" 708 :rules="pincode"
709 required 709 required
710 ></v-text-field> 710 ></v-text-field>
711 </v-flex> 711 </v-flex>
712 </v-layout> 712 </v-layout>
713 </v-flex> 713 </v-flex>
714 </v-layout> 714 </v-layout>
715 <v-layout wrap> 715 <v-layout wrap>
716 <v-flex xs12 sm6> 716 <v-flex xs12 sm6>
717 <v-layout> 717 <v-layout>
718 <v-flex xs4 class="pt-4 subheading"> 718 <v-flex xs4 class="pt-4 subheading">
719 <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> 719 <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label>
720 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> 720 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label>
721 </v-flex> 721 </v-flex>
722 <v-flex xs8 class="ml-3"> 722 <v-flex xs8 class="ml-3">
723 <v-text-field 723 <v-text-field
724 v-model="addTeachers.mobileNo" 724 v-model="addTeachers.mobileNo"
725 placeholder="fill your Mobile No." 725 placeholder="fill your Mobile No."
726 name="mobileNo" 726 name="mobileNo"
727 type="number" 727 type="number"
728 :rules="mobileNoRules" 728 :rules="mobileNoRules"
729 required 729 required
730 ></v-text-field> 730 ></v-text-field>
731 </v-flex> 731 </v-flex>
732 </v-layout> 732 </v-layout>
733 </v-flex> 733 </v-flex>
734 <v-flex xs12 sm6> 734 <v-flex xs12 sm6>
735 <v-layout> 735 <v-layout>
736 <v-flex xs4 class="pt-4 subheading"> 736 <v-flex xs4 class="pt-4 subheading">
737 <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> 737 <label class="right hidden-xs-only hidden-sm-only">Select Country:</label>
738 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> 738 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label>
739 </v-flex> 739 </v-flex>
740 <v-flex xs8 class="ml-3"> 740 <v-flex xs8 class="ml-3">
741 <v-autocomplete 741 <v-autocomplete
742 v-model="addTeachers.country" 742 v-model="addTeachers.country"
743 :rules="country" 743 :rules="country"
744 :items="countries" 744 :items="countries"
745 placeholder="Select Country Name" 745 placeholder="Select Country Name"
746 required 746 required
747 ></v-autocomplete> 747 ></v-autocomplete>
748 </v-flex> 748 </v-flex>
749 </v-layout> 749 </v-layout>
750 </v-flex> 750 </v-flex>
751 </v-layout> 751 </v-layout>
752 <v-layout wrap> 752 <v-layout wrap>
753 <v-flex xs12 sm6> 753 <v-flex xs12 sm6>
754 <v-layout> 754 <v-layout>
755 <v-flex xs4 class="pt-4 subheading"> 755 <v-flex xs4 class="pt-4 subheading">
756 <label class="right">Join Date:</label> 756 <label class="right">Join Date:</label>
757 </v-flex> 757 </v-flex>
758 <v-flex xs8 class="ml-3"> 758 <v-flex xs8 class="ml-3">
759 <v-menu 759 <v-menu
760 ref="menu1" 760 ref="menu1"
761 :close-on-content-click="false" 761 :close-on-content-click="false"
762 v-model="menu1" 762 v-model="menu1"
763 :nudge-right="40" 763 :nudge-right="40"
764 lazy 764 lazy
765 transition="scale-transition" 765 transition="scale-transition"
766 offset-y 766 offset-y
767 full-width 767 full-width
768 min-width="290px" 768 min-width="290px"
769 > 769 >
770 <v-text-field 770 <v-text-field
771 slot="activator" 771 slot="activator"
772 :rules="joinDateRules" 772 :rules="joinDateRules"
773 v-model="addTeachers.joinDate" 773 v-model="addTeachers.joinDate"
774 placeholder="Select date" 774 placeholder="Select date"
775 ></v-text-field> 775 ></v-text-field>
776 <v-date-picker 776 <v-date-picker
777 ref="picker" 777 ref="picker"
778 v-model="addTeachers.joinDate" 778 v-model="addTeachers.joinDate"
779 :max="new Date().toISOString().substr(0, 10)" 779 :max="new Date().toISOString().substr(0, 10)"
780 min="1950-01-01" 780 min="1950-01-01"
781 @input="menu1 = false" 781 @input="menu1 = false"
782 ></v-date-picker> 782 ></v-date-picker>
783 </v-menu> 783 </v-menu>
784 </v-flex> 784 </v-flex>
785 </v-layout> 785 </v-layout>
786 </v-flex> 786 </v-flex>
787 <v-flex xs12 sm6> 787 <v-flex xs12 sm6>
788 <v-layout> 788 <v-layout>
789 <v-flex xs4 class="pt-4 subheading"> 789 <v-flex xs4 class="pt-4 subheading">
790 <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> 790 <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label>
791 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod:</label> 791 <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod:</label>
792 </v-flex> 792 </v-flex>
793 <v-flex xs8 class="ml-3"> 793 <v-flex xs8 class="ml-3">
794 <v-text-field 794 <v-text-field
795 label="Select Image" 795 label="Select Image"
796 @click="pickFile" 796 @click="pickFile"
797 v-model="imageName" 797 v-model="imageName"
798 append-icon="attach_file" 798 append-icon="attach_file"
799 ></v-text-field> 799 ></v-text-field>
800 <input 800 <input
801 type="file" 801 type="file"
802 style="display:none" 802 style="display:none"
803 ref="image" 803 ref="image"
804 accept="image/*" 804 accept="image/*"
805 @change="onFilePicked" 805 @change="onFilePicked"
806 /> 806 />
807 </v-flex> 807 </v-flex>
808 </v-layout> 808 </v-layout>
809 </v-flex> 809 </v-flex>
810 </v-layout> 810 </v-layout>
811 <v-layout class="hidden-xs-only hidden-sm-only"> 811 <v-layout class="hidden-xs-only hidden-sm-only">
812 <v-flex xs12 sm6> 812 <v-flex xs12 sm6>
813 <v-layout> 813 <v-layout>
814 <v-flex xs4 md4 class="pt-4 subheading"> 814 <v-flex xs4 md4 class="pt-4 subheading">
815 <label class="right">Present Address:</label> 815 <label class="right">Present Address:</label>
816 </v-flex> 816 </v-flex>
817 <v-flex xs8 md8 class="ml-3"> 817 <v-flex xs8 md8 class="ml-3">
818 <v-text-field 818 <v-text-field
819 name="input-4-3" 819 name="input-4-3"
820 v-model="addTeachers.presentAddress" 820 v-model="addTeachers.presentAddress"
821 :rules="presentAddress" 821 :rules="presentAddress"
822 placeholder="fill Your present Address" 822 placeholder="fill Your present Address"
823 @keyup="copyData" 823 @keyup="copyData"
824 ></v-text-field> 824 ></v-text-field>
825 </v-flex> 825 </v-flex>
826 </v-layout> 826 </v-layout>
827 </v-flex> 827 </v-flex>
828 <v-flex xs12 sm6> 828 <v-flex xs12 sm6>
829 <v-layout> 829 <v-layout>
830 <v-flex xs4 md4 class="pt-4 subheading addressForm"> 830 <v-flex xs4 md4 class="pt-4 subheading addressForm">
831 <label class="right">Permanent Address:</label> 831 <label class="right">Permanent Address:</label>
832 </v-flex> 832 </v-flex>
833 <v-flex xs12 md8 class="ml-3"> 833 <v-flex xs12 md8 class="ml-3">
834 <v-switch 834 <v-switch
835 v-model="addTeachers.permanentAddress" 835 v-model="addTeachers.permanentAddress"
836 label="Select Permanent Address" 836 label="Select Permanent Address"
837 :value="addTeachers.presentAddress" 837 :value="addTeachers.presentAddress"
838 ></v-switch> 838 ></v-switch>
839 </v-flex> 839 </v-flex>
840 </v-layout> 840 </v-layout>
841 </v-flex> 841 </v-flex>
842 </v-layout> 842 </v-layout>
843 <v-layout class="hidden-xs-only hidden-sm-only"> 843 <v-layout class="hidden-xs-only hidden-sm-only">
844 <v-flex xs12 sm6> 844 <v-flex xs12 sm6>
845 <v-layout> 845 <v-layout>
846 <v-flex xs4 md4 class="pt-4 subheading addressForm"> 846 <v-flex xs4 md4 class="pt-4 subheading addressForm">
847 <label class="right">Permanent Address:</label> 847 <label class="right">Permanent Address:</label>
848 </v-flex> 848 </v-flex>
849 <v-flex xs12 md8 class="ml-3"> 849 <v-flex xs12 md8 class="ml-3">
850 <v-text-field 850 <v-text-field
851 name="input-4-3" 851 name="input-4-3"
852 v-model="addTeachers.permanentAddress" 852 v-model="addTeachers.permanentAddress"
853 :rules="permanentAddress" 853 :rules="permanentAddress"
854 placeholder="fill Your Permanent Address" 854 placeholder="fill Your Permanent Address"
855 required 855 required
856 ></v-text-field> 856 ></v-text-field>
857 </v-flex> 857 </v-flex>
858 </v-layout> 858 </v-layout>
859 </v-flex> 859 </v-flex>
860 </v-layout> 860 </v-layout>
861 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> 861 <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap>
862 <v-flex xs12 sm12> 862 <v-flex xs12 sm12>
863 <v-layout> 863 <v-layout>
864 <v-flex xs12 sm12 class="pt-4 subheading text-xs-center"> 864 <v-flex xs12 sm12 class="pt-4 subheading text-xs-center">
865 <label class>Present Addres:</label> 865 <label class>Present Addres:</label>
866 </v-flex> 866 </v-flex>
867 </v-layout> 867 </v-layout>
868 <v-layout> 868 <v-layout>
869 <v-flex xs12 sm12> 869 <v-flex xs12 sm12>
870 <v-textarea 870 <v-textarea
871 name="input-4-3" 871 name="input-4-3"
872 v-model="addTeachers.presentAddress" 872 v-model="addTeachers.presentAddress"
873 :rules="presentAddress" 873 :rules="presentAddress"
874 placeholder="fill Your present Address" 874 placeholder="fill Your present Address"
875 required 875 required
876 ></v-textarea> 876 ></v-textarea>
877 </v-flex> 877 </v-flex>
878 </v-layout> 878 </v-layout>
879 </v-flex> 879 </v-flex>
880 <v-flex xs12 sm12> 880 <v-flex xs12 sm12>
881 <v-layout> 881 <v-layout>
882 <v-flex xs12 sm12 class="pt-4 pr-4 subheading text-xs-center addressForm"> 882 <v-flex xs12 sm12 class="pt-4 pr-4 subheading text-xs-center addressForm">
883 <label>Permanent Address:</label> 883 <label>Permanent Address:</label>
884 </v-flex> 884 </v-flex>
885 </v-layout> 885 </v-layout>
886 <v-layout> 886 <v-layout>
887 <v-flex xs12 sm12> 887 <v-flex xs12 sm12>
888 <v-textarea 888 <v-textarea
889 name="input-4-3" 889 name="input-4-3"
890 v-model="addTeachers.permanentAddress" 890 v-model="addTeachers.permanentAddress"
891 :rules="permanentAddress" 891 :rules="permanentAddress"
892 placeholder="fill Your Permanent Address" 892 placeholder="fill Your Permanent Address"
893 required 893 required
894 ></v-textarea> 894 ></v-textarea>
895 </v-flex> 895 </v-flex>
896 </v-layout> 896 </v-layout>
897 </v-flex> 897 </v-flex>
898 </v-layout> 898 </v-layout>
899 <v-layout> 899 <v-layout>
900 <v-flex xs12 sm12> 900 <v-flex xs12 sm12>
901 <v-layout class="right"> 901 <v-layout class="right">
902 <v-btn @click="clear" round dark class="clear-button">Clear</v-btn> 902 <v-btn @click="clear" round dark class="clear-button">Clear</v-btn>
903 <v-btn @click="submit" round dark :loading="loading" class="add-button">Add</v-btn> 903 <v-btn @click="submit" round dark :loading="loading" class="add-button">Add</v-btn>
904 </v-layout> 904 </v-layout>
905 </v-flex> 905 </v-flex>
906 </v-layout> 906 </v-layout>
907 </v-container> 907 </v-container>
908 </v-form> 908 </v-form>
909 </v-card> 909 </v-card>
910 </v-dialog> 910 </v-dialog>
911 <div class="loader" v-if="showLoader"> 911 <div class="loader" v-if="showLoader">
912 <v-progress-circular indeterminate color="white"></v-progress-circular> 912 <v-progress-circular indeterminate color="white"></v-progress-circular>
913 </div> 913 </div>
914 </v-container> 914 </v-container>
915 </template> 915 </template>
916 916
917 <script> 917 <script>
918 import http from "@/Services/http.js"; 918 import http from "@/Services/http.js";
919 import moment from "moment"; 919 import moment from "moment";
920 import countryList from "@/script/country.js"; 920 import countryList from "@/script/country.js";
921 921
922 export default { 922 export default {
923 data: () => ({ 923 data: () => ({
924 component: "report-generate", 924 component: "report-generate",
925 snackbar: false, 925 snackbar: false,
926 y: "top", 926 y: "top",
927 x: "right", 927 x: "right",
928 role: "", 928 role: "",
929 mode: "", 929 mode: "",
930 timeout: 3000, 930 timeout: 3000,
931 text: "", 931 text: "",
932 color: "", 932 color: "",
933 showLoader: false, 933 showLoader: false,
934 loading: false, 934 loading: false,
935 date: null, 935 date: null,
936 search: "", 936 search: "",
937 show: true, 937 show: true,
938 showSearch: false, 938 showSearch: false,
939 menu: false, 939 menu: false,
940 menu1: false, 940 menu1: false,
941 menu2: false, 941 menu2: false,
942 menu3: false, 942 menu3: false,
943 editTeacherDialog: false, 943 editTeacherDialog: false,
944 viewTeacherProfileDialog: false, 944 viewTeacherProfileDialog: false,
945 addTeacherDialog: false, 945 addTeacherDialog: false,
946 valid: true, 946 valid: true,
947 pagination: { 947 pagination: {
948 rowsPerPage: 10 948 rowsPerPage: 10
949 }, 949 },
950 imageData: {}, 950 imageData: {},
951 imageName: "", 951 imageName: "",
952 imageUrl: "", 952 imageUrl: "",
953 imageFile: "", 953 imageFile: "",
954 nameRules: [v => !!v || " Full Name is required"], 954 nameRules: [v => !!v || " Full Name is required"],
955 dateRules: [v => !!v || " DOB is required"], 955 dateRules: [v => !!v || " DOB is required"],
956 cityRules: [v => !!v || " City Name is required"], 956 cityRules: [v => !!v || " City Name is required"],
957 pincode: [v => !!v || " Pincode is required"], 957 pincode: [v => !!v || " Pincode is required"],
958 country: [v => !!v || " Country Name is required"], 958 country: [v => !!v || " Country Name is required"],
959 permanentAddress: [v => !!v || " Permanent Address is required"], 959 permanentAddress: [v => !!v || " Permanent Address is required"],
960 presentAddress: [v => !!v || " Present Address is required"], 960 presentAddress: [v => !!v || " Present Address is required"],
961 mobileNoRules: [v => !!v || "Mobile Number is required"], 961 mobileNoRules: [v => !!v || "Mobile Number is required"],
962 stateRules: [v => !!v || "State Name is required"], 962 stateRules: [v => !!v || "State Name is required"],
963 joinDateRules: [v => !!v || " Join Date is required"], 963 joinDateRules: [v => !!v || " Join Date is required"],
964 errorMessages: "", 964 errorMessages: "",
965 switch1: true, 965 switch1: true,
966 countries: [], 966 countries: [],
967 headers: [ 967 headers: [
968 { 968 {
969 text: "No", 969 text: "No",
970 align: "", 970 align: "",
971 sortable: false, 971 sortable: false,
972 value: "No" 972 value: "No"
973 }, 973 },
974 { 974 {
975 text: "Profile Pic", 975 text: "Profile Pic",
976 value: "profilePicUrl", 976 value: "profilePicUrl",
977 sortable: false, 977 sortable: false,
978 align: "center" 978 align: "center"
979 }, 979 },
980 { text: "Name", value: "name", sortable: false, align: "center" }, 980 { text: "Name", value: "name", sortable: false, align: "center" },
981 { text: "Email", value: "email", sortable: false, align: "center" }, 981 { text: "Email", value: "email", sortable: false, align: "center" },
982 { text: "DOB", value: "dob", sortable: false, align: "center" }, 982 { text: "DOB", value: "dob", sortable: false, align: "center" },
983 { 983 {
984 text: "Join Date", 984 text: "Join Date",
985 value: "joinDate", 985 value: "joinDate",
986 sortable: false, 986 sortable: false,
987 align: "center" 987 align: "center"
988 }, 988 },
989 { 989 {
990 text: "Mobile No", 990 text: "Mobile No",
991 value: "mobileNo", 991 value: "mobileNo",
992 sortable: false, 992 sortable: false,
993 align: "center" 993 align: "center"
994 }, 994 },
995 { 995 {
996 text: "Status", 996 text: "Status",
997 value: "status", 997 value: "status",
998 sortable: false, 998 sortable: false,
999 align: "center" 999 align: "center"
1000 }, 1000 },
1001 { text: "Action", value: "", sortable: false, align: "center" } 1001 { text: "Action", value: "", sortable: false, align: "center" }
1002 ], 1002 ],
1003 desserts: [], 1003 desserts: [],
1004 editedIndex: -1, 1004 editedIndex: -1,
1005 upload: "", 1005 upload: "",
1006 editedItem: { 1006 editedItem: {
1007 role: "TEACHER", 1007 role: "TEACHER",
1008 name: "", 1008 name: "",
1009 email: "", 1009 email: "",
1010 date: null, 1010 date: null,
1011 city: "", 1011 city: "",
1012 pincode: "", 1012 pincode: "",
1013 country: "", 1013 country: "",
1014 permanentAddress: "", 1014 permanentAddress: "",
1015 presentAddress: "", 1015 presentAddress: "",
1016 mobileNo: "", 1016 mobileNo: "",
1017 state: "", 1017 state: "",
1018 joinDate: null 1018 joinDate: null
1019 }, 1019 },
1020 addTeachers: { 1020 addTeachers: {
1021 role: "TEACHER", 1021 role: "TEACHER",
1022 name: "", 1022 name: "",
1023 email: "", 1023 email: "",
1024 date: null, 1024 date: null,
1025 city: "", 1025 city: "",
1026 pincode: "", 1026 pincode: "",
1027 country: "", 1027 country: "",
1028 permanentAddress: "", 1028 permanentAddress: "",
1029 presentAddress: "", 1029 presentAddress: "",
1030 mobileNo: "", 1030 mobileNo: "",
1031 state: "", 1031 state: "",
1032 joinDate: null 1032 joinDate: null
1033 }, 1033 },
1034 status: "" 1034 status: ""
1035 }), 1035 }),
1036 watch: { 1036 watch: {
1037 menu(val) { 1037 menu(val) {
1038 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); 1038 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR"));
1039 }, 1039 },
1040 menu1(val) { 1040 menu1(val) {
1041 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); 1041 val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR"));
1042 } 1042 }
1043 }, 1043 },
1044 methods: { 1044 methods: {
1045 save(date) { 1045 save(date) {
1046 this.$refs.menu.save(date); 1046 this.$refs.menu.save(date);
1047 }, 1047 },
1048 save(date) { 1048 save(date) {
1049 this.$refs.menu1.save(date); 1049 this.$refs.menu1.save(date);
1050 }, 1050 },
1051 pickFile() { 1051 pickFile() {
1052 this.$refs.image.click(); 1052 this.$refs.image.click();
1053 }, 1053 },
1054 onFilePicked(e) { 1054 onFilePicked(e) {
1055 const files = e.target.files; 1055 const files = e.target.files;
1056 this.upload = e.target.files[0]; 1056 this.upload = e.target.files[0];
1057 if (files[0] !== undefined) { 1057 if (files[0] !== undefined) {
1058 this.imageName = files[0].name; 1058 this.imageName = files[0].name;
1059 if (this.imageName.lastIndexOf(".") <= 0) { 1059 if (this.imageName.lastIndexOf(".") <= 0) {
1060 return; 1060 return;
1061 } 1061 }
1062 const fr = new FileReader(); 1062 const fr = new FileReader();
1063 fr.readAsDataURL(files[0]); 1063 fr.readAsDataURL(files[0]);
1064 fr.addEventListener("load", () => { 1064 fr.addEventListener("load", () => {
1065 this.imageUrl = fr.result; 1065 this.imageUrl = fr.result;
1066 this.imageFile = files[0]; // this is an image file that can be sent to server... 1066 this.imageFile = files[0]; // this is an image file that can be sent to server...
1067 }); 1067 });
1068 } else { 1068 } else {
1069 this.imageName = ""; 1069 this.imageName = "";
1070 this.imageFile = ""; 1070 this.imageFile = "";
1071 this.imageUrl = ""; 1071 this.imageUrl = "";
1072 } 1072 }
1073 }, 1073 },
1074 dates: function(date) { 1074 dates: function(date) {
1075 return moment(date).format("MMMM DD, YYYY"); 1075 return moment(date).format("MMMM DD, YYYY");
1076 }, 1076 },
1077 getTeacherList() { 1077 getTeacherList() {
1078 this.showLoader = true; 1078 this.showLoader = true;
1079 var token = this.$store.state.token; 1079 var token = this.$store.state.token;
1080 http() 1080 http()
1081 .get("/getTeachersList", { 1081 .get("/getTeachersList", {
1082 headers: { Authorization: "Bearer " + token } 1082 headers: { Authorization: "Bearer " + token }
1083 }) 1083 })
1084 .then(response => { 1084 .then(response => {
1085 this.desserts = response.data.data; 1085 this.desserts = response.data.data;
1086 this.showLoader = false; 1086 this.showLoader = false;
1087 // console.log("getTeacherList=====>",this.desserts) 1087 // console.log("getTeacherList=====>",this.desserts)
1088 }) 1088 })
1089 .catch(error => { 1089 .catch(error => {
1090 this.showLoader = false; 1090 this.showLoader = false;
1091 if (error.response.status === 401) { 1091 if (error.response.status === 401) {
1092 this.$router.replace({ path: "/" }); 1092 this.$router.replace({ path: "/" });
1093 this.$store.dispatch("setToken", null); 1093 this.$store.dispatch("setToken", null);
1094 this.$store.dispatch("Id", null); 1094 this.$store.dispatch("Id", null);
1095 } 1095 }
1096 }); 1096 });
1097 }, 1097 },
1098 editItem(item) { 1098 editItem(item) {
1099 this.editedIndex = this.desserts.indexOf(item); 1099 this.editedIndex = this.desserts.indexOf(item);
1100 this.editedItem = Object.assign({}, item); 1100 this.editedItem = Object.assign({}, item);
1101 this.editedItem.dob = 1101 this.editedItem.dob =
1102 this.editedItem.dob != undefined 1102 this.editedItem.dob != undefined
1103 ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10)) 1103 ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10))
1104 : (this.editedItem.dob = ""); 1104 : (this.editedItem.dob = "");
1105 this.editedItem.joinDate = 1105 this.editedItem.joinDate =
1106 this.editedItem.joinDate != undefined 1106 this.editedItem.joinDate != undefined
1107 ? (this.editedItem.joinDate = this.editedItem.joinDate.substring( 1107 ? (this.editedItem.joinDate = this.editedItem.joinDate.substring(
1108 0, 1108 0,
1109 10 1109 10
1110 )) 1110 ))
1111 : (this.editedItem.joinDate = ""); 1111 : (this.editedItem.joinDate = "");
1112 1112
1113 this.editTeacherDialog = true; 1113 this.editTeacherDialog = true;
1114 }, 1114 },
1115 profile(item) { 1115 profile(item) {
1116 this.editedIndex = this.desserts.indexOf(item); 1116 this.editedIndex = this.desserts.indexOf(item);
1117 this.editedItem = Object.assign({}, item); 1117 this.editedItem = Object.assign({}, item);
1118 this.viewTeacherProfileDialog = true; 1118 this.viewTeacherProfileDialog = true;
1119 }, 1119 },
1120 deleteItem(item) { 1120 deleteItem(item) {
1121 let deleteTeachers = { 1121 let deleteTeachers = {
1122 teacherId: item._id 1122 teacherId: item._id
1123 }; 1123 };
1124 http() 1124 http()
1125 .delete( 1125 .delete(
1126 "/deleteTeacher", 1126 "/deleteTeacher",
1127 confirm("Are you sure you want to delete this?") && { 1127 confirm("Are you sure you want to delete this?") && {
1128 params: deleteTeachers 1128 params: deleteTeachers
1129 } 1129 }
1130 ) 1130 )
1131 .then(response => { 1131 .then(response => {
1132 this.snackbar = true; 1132 this.snackbar = true;
1133 this.text = "Successfully delete Existing Teacher"; 1133 this.text = "Successfully delete Existing Teacher";
1134 this.color = "green"; 1134 this.color = "green";
1135 this.getTeacherList(); 1135 this.getTeacherList();
1136 }) 1136 })
1137 .catch(error => { 1137 .catch(error => {
1138 this.snackbar = true; 1138 this.snackbar = true;
1139 this.text = error.response.data.message; 1139 this.text = error.response.data.message;
1140 this.color = "error"; 1140 this.color = "error";
1141 }); 1141 });
1142 }, 1142 },
1143 closeEditTeacherDialog() { 1143 closeEditTeacherDialog() {
1144 this.editTeacherDialog = false; 1144 this.editTeacherDialog = false;
1145 }, 1145 },
1146 close1() { 1146 close1() {
1147 this.viewTeacherProfileDialog = false; 1147 this.viewTeacherProfileDialog = false;
1148 }, 1148 },
1149 copyData() { 1149 copyData() {
1150 this.addTeachers.permanentAddress = this.addTeachers.presentAddress; 1150 this.addTeachers.permanentAddress = this.addTeachers.presentAddress;
1151 }, 1151 },
1152 submit() { 1152 submit() {
1153 if (this.$refs.form.validate()) { 1153 if (this.$refs.form.validate()) {
1154 let addTeacher = { 1154 let addTeacher = {
1155 name: this.addTeachers.name, 1155 name: this.addTeachers.name,
1156 email: this.addTeachers.email, 1156 email: this.addTeachers.email,
1157 role: this.addTeachers.role, 1157 role: this.addTeachers.role,
1158 dob: this.addTeachers.date, 1158 dob: this.addTeachers.date,
1159 city: this.addTeachers.city, 1159 city: this.addTeachers.city,
1160 pincode: this.addTeachers.pincode, 1160 pincode: this.addTeachers.pincode,
1161 country: this.addTeachers.country, 1161 country: this.addTeachers.country,
1162 permanentAddress: this.addTeachers.permanentAddress, 1162 permanentAddress: this.addTeachers.permanentAddress,
1163 presentAddress: this.addTeachers.presentAddress, 1163 presentAddress: this.addTeachers.presentAddress,
1164 mobileNo: this.addTeachers.mobileNo, 1164 mobileNo: this.addTeachers.mobileNo,
1165 state: this.addTeachers.state, 1165 state: this.addTeachers.state,
1166 joinDate: this.addTeachers.joinDate 1166 joinDate: this.addTeachers.joinDate
1167 }; 1167 };
1168 if (this.imageUrl) { 1168 if (this.imageUrl) {
1169 var str = this.imageUrl; 1169 var str = this.imageUrl;
1170 const [baseUrl, imageUrl] = str.split(/,/); 1170 const [baseUrl, imageUrl] = str.split(/,/);
1171 addTeacher.upload = imageUrl; 1171 addTeacher.upload = imageUrl;
1172 } 1172 }
1173 this.loading = true; 1173 this.loading = true;
1174 http() 1174 http()
1175 .post("/createTeacher", addTeacher) 1175 .post("/createTeacher", addTeacher)
1176 .then(response => { 1176 .then(response => {
1177 this.imageUrl = ""; 1177 this.imageUrl = "";
1178 this.getTeacherList(); 1178 this.getTeacherList();
1179 this.snackbar = true; 1179 this.snackbar = true;
1180 this.text = "New Teacher added successfully"; 1180 this.text = "New Teacher added successfully";
1181 this.color = "green"; 1181 this.color = "green";
1182 this.clear(); 1182 this.clear();
1183 this.loading = false; 1183 this.loading = false;
1184 this.addTeacherDialog = false; 1184 this.addTeacherDialog = false;
1185 }) 1185 })
1186 .catch(error => { 1186 .catch(error => {
1187 this.snackbar = true; 1187 this.snackbar = true;
1188 this.text = error.response.data.message; 1188 this.text = error.response.data.message;
1189 this.color = "error"; 1189 this.color = "error";
1190 this.loading = false; 1190 this.loading = false;
1191 }); 1191 });
1192 } 1192 }
1193 }, 1193 },
1194 clear() { 1194 clear() {
1195 this.$refs.form.reset(); 1195 this.$refs.form.reset();
1196 this.imageUrl = ""; 1196 this.imageUrl = "";
1197 }, 1197 },
1198 save() { 1198 save() {
1199 this.loading = true; 1199 this.loading = true;
1200 let editTeacher = { 1200 let editTeacher = {
1201 teacherId: this.editedItem._id, 1201 teacherId: this.editedItem._id,
1202 name: this.editedItem.name, 1202 name: this.editedItem.name,
1203 email: this.editedItem.email, 1203 email: this.editedItem.email,
1204 role: this.editedItem.role, 1204 role: this.editedItem.role,
1205 dob: this.editedItem.dob, 1205 dob: this.editedItem.dob,
1206 city: this.editedItem.city, 1206 city: this.editedItem.city,
1207 pincode: this.editedItem.pincode, 1207 pincode: this.editedItem.pincode,
1208 country: this.editedItem.country, 1208 country: this.editedItem.country,
1209 permanentAddress: this.editedItem.permanentAddress, 1209 permanentAddress: this.editedItem.permanentAddress,
1210 presentAddress: this.editedItem.presentAddress, 1210 presentAddress: this.editedItem.presentAddress,
1211 mobileNo: this.editedItem.mobileNo, 1211 mobileNo: this.editedItem.mobileNo,
1212 state: this.editedItem.state, 1212 state: this.editedItem.state,
1213 joinDate: this.editedItem.joinDate 1213 joinDate: this.editedItem.joinDate
1214 }; 1214 };
1215 if (this.imageUrl) { 1215 if (this.imageUrl) {
1216 var str = this.imageUrl; 1216 var str = this.imageUrl;
1217 const [baseUrl, imageUrl] = str.split(/,/); 1217 const [baseUrl, imageUrl] = str.split(/,/);
1218 editTeacher.upload = imageUrl; 1218 editTeacher.upload = imageUrl;
1219 } 1219 }
1220 http() 1220 http()
1221 .put("/updateTeacher", editTeacher) 1221 .put("/updateTeacher", editTeacher)
1222 .then(response => { 1222 .then(response => {
1223 this.snackbar = true; 1223 this.snackbar = true;
1224 this.text = "Successfully Edit Existing Teacher"; 1224 this.text = "Successfully Edit Existing Teacher";
1225 this.color = "green"; 1225 this.color = "green";
1226 this.loading = false; 1226 this.loading = false;
1227 this.getTeacherList(); 1227 this.getTeacherList();
1228 this.closeEditTeacherDialog(); 1228 this.closeEditTeacherDialog();
1229 }) 1229 })
1230 .catch(error => { 1230 .catch(error => {
1231 this.snackbar = true; 1231 this.snackbar = true;
1232 this.text = error.response.data.message; 1232 this.text = error.response.data.message;
1233 this.color = "error"; 1233 this.color = "error";
1234 this.loading = false; 1234 this.loading = false;
1235 }); 1235 });
1236 }, 1236 },
1237 suspendStatus(suspendStatus, id) { 1237 suspendStatus(suspendStatus, id) {
1238 let suspendStatusData = { 1238 let suspendStatusData = {
1239 teacherId: id, 1239 teacherId: id,
1240 status: suspendStatus 1240 status: suspendStatus
1241 }; 1241 };
1242 this.showLoader = true; 1242 this.showLoader = true;
1243 http() 1243 http()
1244 .put("/suspendAccount", suspendStatusData) 1244 .put("/suspendAccount", suspendStatusData)
1245 .then(response => { 1245 .then(response => {
1246 this.getTeacherList(); 1246 this.getTeacherList();
1247 this.text = response.data.message; 1247 this.text = response.data.message;
1248 this.color = "green"; 1248 this.color = "green";
1249 this.snackbar = true; 1249 this.snackbar = true;
1250 this.showLoader = false; 1250 this.showLoader = false;
1251 }) 1251 })
1252 .catch(error => { 1252 .catch(error => {
1253 this.snackbar = true; 1253 this.snackbar = true;
1254 this.color = "error"; 1254 this.color = "error";
1255 this.text = error.response.data.message; 1255 this.text = error.response.data.message;
1256 this.showLoader = false; 1256 this.showLoader = false;
1257 }); 1257 });
1258 }, 1258 },
1259 displaySearch() { 1259 displaySearch() {
1260 (this.show = false), (this.showSearch = true); 1260 (this.show = false), (this.showSearch = true);
1261 }, 1261 },
1262 closeSearch() { 1262 closeSearch() {
1263 this.showSearch = false; 1263 this.showSearch = false;
1264 this.show = true; 1264 this.show = true;
1265 this.search = ""; 1265 this.search = "";
1266 } 1266 }
1267 }, 1267 },
1268 mounted() { 1268 mounted() {
1269 const getCountryList = countryList(); 1269 const getCountryList = countryList();
1270 this.countries = getCountryList; 1270 this.countries = getCountryList;
1271 this.getTeacherList(); 1271 this.getTeacherList();
1272 this.role = this.$store.state.role; 1272 this.role = this.$store.state.role;
1273 } 1273 }
1274 }; 1274 };
1275 </script> 1275 </script>
1276 <style scoped> 1276 <style scoped>
1277 .active { 1277 .active {
1278 background-color: gray; 1278 background-color: gray;
1279 color: white !important; 1279 color: white !important;
1280 } 1280 }
1281 .activebtn { 1281 .activebtn {
1282 color: black !important; 1282 color: black !important;
1283 } 1283 }
1284 </style> 1284 </style>