Commit 0cd2fbfba4d050be584a1a84b5180128293fa2da
1 parent
29ac0dbb24
Exists in
master
and in
3 other branches
implement create teacher antendece and view teahers attendence
Showing
7 changed files
with
716 additions
and
112 deletions
Show diff stats
src/api/menu.js
1 | const adminMenu = [ | 1 | const adminMenu = [ |
2 | // { header: 'Apps' }, | 2 | // { header: 'Apps' }, |
3 | { | 3 | { |
4 | title: 'Dashboard', | 4 | title: 'Dashboard', |
5 | // group: 'apps', | 5 | // group: 'apps', |
6 | path: '/dashboard', | 6 | path: '/dashboard', |
7 | icon: '/static/schoolIcons/Dashboard.png', | 7 | icon: '/static/schoolIcons/Dashboard.png', |
8 | }, | 8 | }, |
9 | { | 9 | { |
10 | title: 'Class', | 10 | title: 'Class', |
11 | // group: 'apps', | 11 | // group: 'apps', |
12 | path: '/addclass', | 12 | path: '/addclass', |
13 | icon: '/static/schoolIcons/Class.png', | 13 | icon: '/static/schoolIcons/Class.png', |
14 | }, | 14 | }, |
15 | { | 15 | { |
16 | title: 'Section', | 16 | title: 'Section', |
17 | // group: 'apps', | 17 | // group: 'apps', |
18 | path: '/section', | 18 | path: '/section', |
19 | icon: '/static/schoolIcons/Section.png', | 19 | icon: '/static/schoolIcons/Section.png', |
20 | }, | 20 | }, |
21 | { | 21 | { |
22 | title: 'Subjects', | 22 | title: 'Subjects', |
23 | path: '/subject', | 23 | path: '/subject', |
24 | icon: '/static/schoolIcons/Subjects.png', | 24 | icon: '/static/schoolIcons/Subjects.png', |
25 | }, | 25 | }, |
26 | { | 26 | { |
27 | title: 'Parents', | 27 | title: 'Parents', |
28 | // group: 'apps', | 28 | // group: 'apps', |
29 | path: '/parents', | 29 | path: '/parents', |
30 | icon: '/static/schoolIcons/Parents.png', | 30 | icon: '/static/schoolIcons/Parents.png', |
31 | }, | 31 | }, |
32 | { | 32 | { |
33 | title: 'Teachers', | 33 | title: 'Teachers', |
34 | // group: '', | 34 | // group: '', |
35 | path: 'teachers', | 35 | path: 'teachers', |
36 | icon: '/static/schoolIcons/Teachers.png', | 36 | icon: '/static/schoolIcons/Teachers.png', |
37 | }, | 37 | }, |
38 | { | 38 | { |
39 | title: 'Students', | 39 | title: 'Students', |
40 | // group: 'apps', | 40 | // group: 'apps', |
41 | path: '/Students', | 41 | path: '/Students', |
42 | icon: '/static/schoolIcons/Students.png', | 42 | icon: '/static/schoolIcons/Students.png', |
43 | }, | 43 | }, |
44 | { | 44 | { |
45 | title: 'User', | 45 | title: 'User', |
46 | path: '/User', | 46 | path: '/User', |
47 | icon: '/static/schoolIcons/User.png', | 47 | icon: '/static/schoolIcons/User.png', |
48 | }, | 48 | }, |
49 | { | 49 | { |
50 | title: 'Attendance', | 50 | title: 'Attendance', |
51 | group: 'Attendance', | 51 | group: 'Attendance', |
52 | component: 'Attendance', | 52 | component: 'Attendance', |
53 | icon: '/static/schoolIcons/Attendance.png', | 53 | icon: '/static/schoolIcons/Attendance.png', |
54 | items: [ | 54 | items: [ |
55 | { name: 'studentAttendence', title: 'Student Attendance', component: 'studentAttendence', action: '', }, | 55 | { name: 'studentAttendence', title: 'Student Attendance', component: 'studentAttendence', action: '', }, |
56 | // { name: 'teacherAttendence', title: 'Teacher Attendance', component: 'teacherAttendence', action: '', }, | 56 | { name: 'teacherAttendence', title: 'Teacher Attendance', component: 'teacherAttendence', action: '', } |
57 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, | 57 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, |
58 | ] | 58 | ] |
59 | }, | 59 | }, |
60 | { | 60 | { |
61 | title: 'Exam', | 61 | title: 'Exam', |
62 | group: 'Exam', | 62 | group: 'Exam', |
63 | component: 'Exam', | 63 | component: 'Exam', |
64 | icon: '/static/schoolIcons/exam.png', | 64 | icon: '/static/schoolIcons/exam.png', |
65 | items: [ | 65 | items: [ |
66 | { name: 'Exam', title: 'Exam', component: 'Exam', action: '', }, | 66 | { name: 'Exam', title: 'Exam', component: 'Exam', action: '', }, |
67 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'ExamSchedule', action: '', }, | 67 | { name: 'ExamSchedule', title: 'Exam Schedule', component: 'ExamSchedule', action: '', }, |
68 | { name: 'Grade', title: 'Grade', component: 'Grade', action: '', }, | 68 | { name: 'Grade', title: 'Grade', component: 'Grade', action: '', }, |
69 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, | 69 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, |
70 | ] | 70 | ] |
71 | }, | 71 | }, |
72 | { | 72 | { |
73 | title: 'Mark', | 73 | title: 'Mark', |
74 | group: 'Mark', | 74 | group: 'Mark', |
75 | component: 'Mark', | 75 | component: 'Mark', |
76 | icon: '/static/schoolIcons/marks.png', | 76 | icon: '/static/schoolIcons/marks.png', |
77 | items: [ | 77 | items: [ |
78 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', }, | 78 | { name: 'Mark', title: 'Mark', component: 'Mark', action: '', }, |
79 | { name: 'markDistribution', title: 'Mark Distribution', component: 'markDistribution', action: '', }, | 79 | { name: 'markDistribution', title: 'Mark Distribution', component: 'markDistribution', action: '', }, |
80 | { name: 'Promotion', title: 'promotion', component: 'Promotion', action: '', }, | 80 | { name: 'Promotion', title: 'promotion', component: 'Promotion', action: '', }, |
81 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, | 81 | // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, |
82 | ] | 82 | ] |
83 | }, | 83 | }, |
84 | { | 84 | { |
85 | title: 'Administrator', | 85 | title: 'Administrator', |
86 | group: 'Administrator', | 86 | group: 'Administrator', |
87 | component: 'Administrator', | 87 | component: 'Administrator', |
88 | icon: '/static/schoolIcons/administrator.png', | 88 | icon: '/static/schoolIcons/administrator.png', |
89 | items: [ | 89 | items: [ |
90 | { name: 'academicYear', title: 'Academic Year', component: 'academicYear', action: '', }, | 90 | { name: 'academicYear', title: 'Academic Year', component: 'academicYear', action: '', }, |
91 | { name: 'systemAdmin', title: 'System Admin', component: 'systemAdmin', action: '', }, | 91 | { name: 'systemAdmin', title: 'System Admin', component: 'systemAdmin', action: '', }, |
92 | { name: 'resetPassword', title: 'Reset Password', component: 'resetPassword', action: '', }, | 92 | { name: 'resetPassword', title: 'Reset Password', component: 'resetPassword', action: '', }, |
93 | { name: 'Role', title: 'Role', component: 'Role', action: '', }, | 93 | { name: 'Role', title: 'Role', component: 'Role', action: '', }, |
94 | { name: 'bulkImportole', title: 'Bulk Import', component: 'bulkImport', action: '', }, | 94 | { name: 'bulkImportole', title: 'Bulk Import', component: 'bulkImport', action: '', }, |
95 | 95 | ||
96 | ] | 96 | ] |
97 | }, | 97 | }, |
98 | { | 98 | { |
99 | title: 'Notice Board', | 99 | title: 'Notice Board', |
100 | path: '/NoticeBoard', | 100 | path: '/NoticeBoard', |
101 | icon: '/static/schoolIcons/Notice_board.png', | 101 | icon: '/static/schoolIcons/Notice_board.png', |
102 | }, | 102 | }, |
103 | { | 103 | { |
104 | title: 'News', | 104 | title: 'News', |
105 | path: '/news', | 105 | path: '/news', |
106 | icon: '/static/schoolIcons/News.png', | 106 | icon: '/static/schoolIcons/News.png', |
107 | }, | 107 | }, |
108 | // { | 108 | // { |
109 | // title: 'Reminder', | 109 | // title: 'Reminder', |
110 | // name: 'reminder', | 110 | // name: 'reminder', |
111 | // icon: 'alarm_add', | 111 | // icon: 'alarm_add', |
112 | // }, | 112 | // }, |
113 | { | 113 | { |
114 | title: 'Time Table', | 114 | title: 'Time Table', |
115 | path: '/timeTable', | 115 | path: '/timeTable', |
116 | icon: '/static/schoolIcons/Time_table.png', | 116 | icon: '/static/schoolIcons/Time_table.png', |
117 | }, | 117 | }, |
118 | { | 118 | { |
119 | title: 'Library', | 119 | title: 'Library', |
120 | group: 'Library', | 120 | group: 'Library', |
121 | component: 'Library', | 121 | component: 'Library', |
122 | icon: '/static/schoolIcons/Library.png', | 122 | icon: '/static/schoolIcons/Library.png', |
123 | items: [ | 123 | items: [ |
124 | { name: 'libraryMember', title: ' Library Member', component: 'libraryMember', action: '', }, | 124 | { name: 'libraryMember', title: ' Library Member', component: 'libraryMember', action: '', }, |
125 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, | 125 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, |
126 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, | 126 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, |
127 | { name: 'eBooks', title: 'E-Books', component: 'eBooks', action: '', } | 127 | { name: 'eBooks', title: 'E-Books', component: 'eBooks', action: '', } |
128 | 128 | ||
129 | ] | 129 | ] |
130 | }, | 130 | }, |
131 | { | 131 | { |
132 | title: 'Report', | 132 | title: 'Report', |
133 | group: 'Report', | 133 | group: 'Report', |
134 | component: 'Report', | 134 | component: 'Report', |
135 | icon: '/static/schoolIcons/reports.png', | 135 | icon: '/static/schoolIcons/reports.png', |
136 | items: [ | 136 | items: [ |
137 | { name: 'studentReport', title: 'Student Report', component: 'studentReport', action: '', }, | 137 | { name: 'studentReport', title: 'Student Report', component: 'studentReport', action: '', }, |
138 | { name: 'progressCardReport', title: 'Progress Card Report', component: 'progressCardReport', action: '', } | 138 | { name: 'progressCardReport', title: 'Progress Card Report', component: 'progressCardReport', action: '', } |
139 | ] | 139 | ] |
140 | }, | 140 | }, |
141 | { | 141 | { |
142 | title: 'Notification', | 142 | title: 'Notification', |
143 | path: '/notification', | 143 | path: '/notification', |
144 | icon: '/static/schoolIcons/Notification.png', | 144 | icon: '/static/schoolIcons/Notification.png', |
145 | }, | 145 | }, |
146 | { | 146 | { |
147 | title: 'Social Media', | 147 | title: 'Social Media', |
148 | path: '/SocialMedia', | 148 | path: '/SocialMedia', |
149 | icon: '/static/schoolIcons/Social_Media.png', | 149 | icon: '/static/schoolIcons/Social_Media.png', |
150 | }, | 150 | }, |
151 | { | 151 | { |
152 | title: 'Gallery', | 152 | title: 'Gallery', |
153 | path: '/Gallery', | 153 | path: '/Gallery', |
154 | icon: '/static/schoolIcons/Gallery.png', | 154 | icon: '/static/schoolIcons/Gallery.png', |
155 | }, | 155 | }, |
156 | { | 156 | { |
157 | title: 'Event', | 157 | title: 'Event', |
158 | path: '/Event', | 158 | path: '/Event', |
159 | icon: '/static/schoolIcons/Events.png', | 159 | icon: '/static/schoolIcons/Events.png', |
160 | }, | 160 | }, |
161 | { | 161 | { |
162 | title: 'Account', | 162 | title: 'Account', |
163 | group: 'Account', | 163 | group: 'Account', |
164 | component: 'Account', | 164 | component: 'Account', |
165 | icon: '/static/schoolIcons/Account.png', | 165 | icon: '/static/schoolIcons/Account.png', |
166 | items: [ | 166 | items: [ |
167 | { name: 'feeTypes', title: 'Fee Types', component: 'feeTypes', action: '', }, | 167 | { name: 'feeTypes', title: 'Fee Types', component: 'feeTypes', action: '', }, |
168 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, | 168 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, |
169 | { name: 'paymentHistory', title: 'Payment History', component: 'paymentHistory', action: '', }, | 169 | { name: 'paymentHistory', title: 'Payment History', component: 'paymentHistory', action: '', }, |
170 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, | 170 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, |
171 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, | 171 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, |
172 | ] | 172 | ] |
173 | }, | 173 | }, |
174 | { | 174 | { |
175 | title: 'Holiday', | 175 | title: 'Holiday', |
176 | path: '/Holiday', | 176 | path: '/Holiday', |
177 | icon: '/static/schoolIcons/Holidays.png', | 177 | icon: '/static/schoolIcons/Holidays.png', |
178 | }, | 178 | }, |
179 | { | 179 | { |
180 | title: 'General Setting', | 180 | title: 'General Setting', |
181 | path: '/generalSetting', | 181 | path: '/generalSetting', |
182 | icon: '/static/schoolIcons/settings.png', | 182 | icon: '/static/schoolIcons/settings.png', |
183 | } | 183 | } |
184 | ]; | 184 | ]; |
185 | 185 | ||
186 | const schoolMenu = [ | 186 | const schoolMenu = [ |
187 | // { header: 'Apps' }, | 187 | // { header: 'Apps' }, |
188 | { | 188 | { |
189 | title: 'School', | 189 | title: 'School', |
190 | // group: 'apps', | 190 | // group: 'apps', |
191 | path: '/school', | 191 | path: '/school', |
192 | icon: '/static/schoolIcons/Dashboard.png', | 192 | icon: '/static/schoolIcons/Dashboard.png', |
193 | } | 193 | } |
194 | ]; | 194 | ]; |
195 | 195 | ||
196 | // reorder menu | 196 | // reorder menu |
197 | // Menu.forEach((item) => { | 197 | // Menu.forEach((item) => { |
198 | // if (item.items) { | 198 | // if (item.items) { |
199 | // item.items.sort((x, y) => { | 199 | // item.items.sort((x, y) => { |
200 | // let textA = x.title.toUpperCase(); | 200 | // let textA = x.title.toUpperCase(); |
201 | // let textB = y.title.toUpperCase(); | 201 | // let textB = y.title.toUpperCase(); |
202 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; | 202 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; |
203 | // }); | 203 | // }); |
204 | // } | 204 | // } |
205 | // }); | 205 | // }); |
206 | 206 | ||
207 | export default { adminMenu, schoolMenu }; | 207 | export default { adminMenu, schoolMenu }; |
src/pages/Attendence/teacherAttendence.vue
1 | <template> | 1 | <template> |
2 | <v-app id="pages-dasboard"> | 2 | <v-app id="pages-dasboard"> |
3 | <!-- ****** EXISTING-Teachers TABLE DATA****** --> | 3 | <v-tabs grow slider-color="gray"> |
4 | <v-card flat> | 4 | <v-tab |
5 | <v-card-actions> | 5 | ripple |
6 | <v-layout> | 6 | @click="activeTab('existing')" |
7 | <h4 class="right mt-2 ml-2">Teacher Attendence</h4> | 7 | v-bind:class="{ active: isActive }" |
8 | </v-layout> | 8 | id="tab" |
9 | <v-spacer></v-spacer> | 9 | class="subheading" |
10 | </v-card-actions> | 10 | >Existing Teacher Attendence</v-tab> |
11 | </v-card> | 11 | <v-tab |
12 | <v-data-table | 12 | ripple |
13 | :headers="headers" | 13 | @click="activeTab('new')" |
14 | :items="desserts" | 14 | v-bind:class="{ active: newActive }" |
15 | :pagination.sync="pagination" | 15 | id="tab1" |
16 | :search="search" | 16 | User |
17 | > | 17 | class="subheading" |
18 | <template slot="items" slot-scope="props"> | 18 | >Add Teachers Attendence</v-tab> |
19 | <td id="td" class="text-xs-center">{{ props.index + 1}}</td> | 19 | <v-tab-item> |
20 | <td id="td" class="text-xs-center"> | 20 | <!-- ****** EXISTING TACHERS-TABLE DATA****** --> |
21 | <v-avatar> | 21 | <v-data-table |
22 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | 22 | :headers="headers" |
23 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | 23 | :items="desserts" |
24 | </v-avatar> | 24 | :pagination.sync="pagination" |
25 | </td> | 25 | :search="search" |
26 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> | 26 | > |
27 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> | 27 | <template slot="items" slot-scope="props"> |
28 | <td id="td" class="text-xs-center">{{ dates(props.item.dob) }}</td> | 28 | <td id="td" class="text-xs-center">{{ props.index + 1}}</td> |
29 | <td id="td" class="text-xs-center">{{ dates(props.item.joinDate)}}</td> | 29 | <td id="td" class="text-xs-center"> |
30 | <td id="td" class="text-xs-center">{{ props.item.mobileNo }}</td> | 30 | <v-avatar> |
31 | <td class="text-xs-center"> | 31 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> |
32 | <span> | 32 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> |
33 | <img | 33 | </v-avatar> |
34 | style="cursor:pointer; width:25px; height:18px; " | 34 | </td> |
35 | class="mr-5" | 35 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> |
36 | @click="profile(props.item)" | 36 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> |
37 | src="/static/icon/eye1.png" | 37 | <td id="td" class="text-xs-center">{{ props.item.mobileNo }}</td> |
38 | /> | 38 | <td class="text-xs-center"> |
39 | </span> | 39 | <router-link :to="{ name:'ViewTeacherAttendence',params: { teacherId:props.item._id } }"> |
40 | </td> | 40 | <span> |
41 | </template> | 41 | <v-tooltip top> |
42 | <v-alert | 42 | <img |
43 | slot="no-results" | 43 | slot="activator" |
44 | :value="true" | 44 | style="cursor:pointer; width:25px; height:18px; " |
45 | color="error" | 45 | class="mr5" |
46 | icon="warning" | 46 | src="/static/icon/eye1.png" |
47 | >Your search for "{{ search }}" found no results.</v-alert> | 47 | /> |
48 | </v-data-table> | 48 | <span>View</span> |
49 | </v-tooltip> | ||
50 | </span> | ||
51 | </router-link> | ||
52 | </td> | ||
53 | </template> | ||
54 | <v-alert | ||
55 | slot="no-results" | ||
56 | :value="true" | ||
57 | color="error" | ||
58 | icon="warning" | ||
59 | >Your search for "{{ search }}" found no results.</v-alert> | ||
60 | </v-data-table> | ||
61 | </v-tab-item> | ||
62 | <!-- ****** Add Teachers Attendece****** --> | ||
63 | <v-tab-item> | ||
64 | <v-card flat> | ||
65 | <v-flex xs12> | ||
66 | <v-layout wrap> | ||
67 | <v-flex xs12 md6> | ||
68 | <v-layout> | ||
69 | <v-flex xs4 sm4 md2> | ||
70 | <label class="title right mr-3 mt-4">Date:</label> | ||
71 | </v-flex> | ||
72 | <v-flex xs6> | ||
73 | <v-menu | ||
74 | ref="menu" | ||
75 | :close-on-content-click="false" | ||
76 | v-model="menu" | ||
77 | :nudge-right="40" | ||
78 | lazy | ||
79 | transition="scale-transition" | ||
80 | offset-y | ||
81 | full-width | ||
82 | min-width="290px" | ||
83 | > | ||
84 | <v-text-field | ||
85 | slot="activator" | ||
86 | v-model="date" | ||
87 | label="Select Date" | ||
88 | append-icon="event" | ||
89 | readonly | ||
90 | ></v-text-field> | ||
91 | <v-date-picker | ||
92 | ref="picker" | ||
93 | v-model="date" | ||
94 | :max="new Date().toISOString().substr(0, 10)" | ||
95 | min="1950-01-01" | ||
96 | @change="save" | ||
97 | ></v-date-picker> | ||
98 | </v-menu> | ||
99 | </v-flex> | ||
100 | </v-layout> | ||
101 | </v-flex> | ||
102 | <v-flex xs8 sm8 md6> | ||
103 | <v-btn class="right mt-3 black" dark round @click="showTable">Attendence</v-btn> | ||
104 | </v-flex> | ||
105 | </v-layout> | ||
106 | </v-flex> | ||
107 | </v-card> | ||
108 | <v-flex xs12 v-show="attendeceTable"> | ||
109 | <v-data-table | ||
110 | :headers="headers" | ||
111 | :items="teachersData" | ||
112 | :pagination.sync="pagination" | ||
113 | :search="search" | ||
114 | > | ||
115 | <template slot="items" slot-scope="props"> | ||
116 | <td id="td" class="text-xs-center">{{ props.index + 1}}</td> | ||
117 | <td id="td" class="text-xs-center"> | ||
118 | <v-avatar> | ||
119 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | ||
120 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | ||
121 | </v-avatar> | ||
122 | </td> | ||
123 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> | ||
124 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> | ||
125 | <td id="td" class="text-xs-center">{{ props.item.mobileNo }}</td> | ||
126 | <td class="text-xs-center"> | ||
127 | <v-radio-group v-model="props.item.attendence" :mandatory="false" row> | ||
128 | <v-radio | ||
129 | v-for="attendences in attendenceType" | ||
130 | :key="attendences.value" | ||
131 | :label="`${attendences.label}`" | ||
132 | :value="attendences.value" | ||
133 | ></v-radio> | ||
134 | </v-radio-group> | ||
135 | </td> | ||
136 | </template> | ||
137 | </v-data-table> | ||
138 | <v-btn @click="submit()" class="right black" round dark>Submit</v-btn> | ||
139 | </v-flex> | ||
140 | </v-tab-item> | ||
141 | </v-tabs> | ||
142 | <v-snackbar | ||
143 | :timeout="timeout" | ||
144 | :top="y === 'top'" | ||
145 | :right="x === 'right'" | ||
146 | :vertical="mode === 'vertical'" | ||
147 | v-model="snackbar" | ||
148 | color="success" | ||
149 | >{{ text }}</v-snackbar> | ||
49 | <div class="loader" v-if="showLoader"> | 150 | <div class="loader" v-if="showLoader"> |
50 | <v-progress-circular indeterminate color="white"></v-progress-circular> | 151 | <v-progress-circular indeterminate color="white"></v-progress-circular> |
51 | </div> | 152 | </div> |
52 | </v-app> | 153 | </v-app> |
53 | </template> | 154 | </template> |
54 | 155 | ||
55 | <script> | 156 | <script> |
56 | import http from "@/Services/http.js"; | 157 | import http from "@/Services/http.js"; |
57 | import Util from "@/util"; | ||
58 | import moment from "moment"; | 158 | import moment from "moment"; |
59 | 159 | ||
60 | export default { | 160 | export default { |
61 | data: () => ({ | 161 | data: () => ({ |
162 | snackbar: false, | ||
163 | y: "top", | ||
164 | x: "right", | ||
165 | mode: "", | ||
166 | timeout: 3000, | ||
167 | text: "", | ||
168 | date: null, | ||
169 | menu: false, | ||
170 | attendeceTable: false, | ||
62 | showLoader: false, | 171 | showLoader: false, |
172 | loading: false, | ||
63 | search: "", | 173 | search: "", |
174 | valid: true, | ||
175 | isActive: true, | ||
176 | newActive: false, | ||
177 | attendenceType: [ | ||
178 | { | ||
179 | label: "Present", | ||
180 | value: "present" | ||
181 | }, | ||
182 | { | ||
183 | label: "Late Present With Excuset", | ||
184 | value: "latePresentWithExcuse" | ||
185 | }, | ||
186 | { | ||
187 | label: "Late Present", | ||
188 | value: "latePresent" | ||
189 | }, | ||
190 | { | ||
191 | label: "Absent", | ||
192 | value: "absent" | ||
193 | } | ||
194 | ], | ||
64 | pagination: { | 195 | pagination: { |
65 | rowsPerPage: 15 | 196 | rowsPerPage: 15 |
66 | }, | 197 | }, |
67 | headers: [ | 198 | headers: [ |
68 | { | 199 | { |
69 | text: "No", | 200 | text: "No", |
70 | align: "center", | 201 | align: "center", |
71 | sortable: false, | 202 | sortable: false, |
72 | value: "No" | 203 | value: "No" |
73 | }, | 204 | }, |
74 | { | 205 | { |
75 | text: "Profile Pic", | 206 | text: "Profile Pic", |
76 | value: "profilePicUrl", | 207 | value: "profilePicUrl", |
77 | sortable: false, | 208 | sortable: false, |
78 | align: "center" | 209 | align: "center" |
79 | }, | 210 | }, |
80 | { text: "Name", value: "name", sortable: false, align: "center" }, | 211 | { text: "Name", value: "name", sortable: false, align: "center" }, |
81 | { text: "Email", value: "email", sortable: false, align: "center" }, | 212 | { text: "Email", value: "email", sortable: false, align: "center" }, |
82 | { text: "DOB", value: "dob", sortable: false, align: "center" }, | ||
83 | { | ||
84 | text: "Join Date", | ||
85 | value: "joinDate", | ||
86 | sortable: false, | ||
87 | align: "center" | ||
88 | }, | ||
89 | { | 213 | { |
90 | text: "Mobile No", | 214 | text: "Mobile No", |
91 | value: "mobileNo", | 215 | value: "mobileNo", |
92 | sortable: false, | 216 | sortable: false, |
93 | align: "center" | 217 | align: "center" |
94 | }, | 218 | }, |
95 | { text: "Action", value: "", sortable: false, align: "center" } | 219 | { text: "Attendance", value: "", sortable: false, align: "center" } |
96 | ], | 220 | ], |
97 | desserts: [] | 221 | desserts: [], |
222 | teachersData: [], | ||
223 | addTeachers: {} | ||
98 | }), | 224 | }), |
225 | watch: { | ||
226 | menu(val) { | ||
227 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "DAY")); | ||
228 | } | ||
229 | }, | ||
99 | methods: { | 230 | methods: { |
100 | dates: function(date) { | 231 | save(date) { |
101 | return moment(date).format("MMMM DD, YYYY"); | 232 | this.$refs.menu.save(date); |
233 | }, | ||
234 | showTable() { | ||
235 | this.attendeceTable = true; | ||
236 | this.getTeacherList(); | ||
237 | console.log("date", this.date); | ||
102 | }, | 238 | }, |
103 | getTeacherList() { | 239 | getTeacherList() { |
104 | this.showLoader = true; | 240 | this.showLoader = true; |
105 | var token = this.$store.state.token; | 241 | var token = this.$store.state.token; |
106 | http() | 242 | http() |
107 | .get("/getTeachersList", { | 243 | .get("/getTeachersList", { |
108 | headers: { Authorization: "Bearer " + token } | 244 | headers: { Authorization: "Bearer " + token } |
109 | }) | 245 | }) |
110 | .then(response => { | 246 | .then(response => { |
247 | this.teachersData = response.data.data; | ||
111 | this.desserts = response.data.data; | 248 | this.desserts = response.data.data; |
249 | var attendence = ""; | ||
250 | for (let i = 0; i < this.teachersData.length; i++) { | ||
251 | this.teachersData[i].attendence = "present"; | ||
252 | } | ||
112 | this.showLoader = false; | 253 | this.showLoader = false; |
113 | // console.log("getTeacherList=====>",this.desserts) | 254 | // console.log("getTeacherList=====>",this.desserts) |
114 | }) | 255 | }) |
115 | .catch(error => { | 256 | .catch(error => { |
116 | this.showLoader = false; | 257 | this.showLoader = false; |
117 | if (error.response.status === 401) { | 258 | if (error.response.status === 401) { |
118 | this.$router.replace({ path: "/" }); | 259 | this.$router.replace({ path: "/" }); |
119 | this.$store.dispatch("setToken", null); | 260 | this.$store.dispatch("setToken", null); |
120 | this.$store.dispatch("Id", null); | 261 | this.$store.dispatch("Id", null); |
121 | } | 262 | } |
122 | }); | 263 | }); |
264 | }, | ||
265 | activeTab(type) { | ||
266 | switch (type) { | ||
267 | case "existing": | ||
268 | this.newActive = false; | ||
269 | this.isActive = true; | ||
270 | break; | ||
271 | |||
272 | default: | ||
273 | this.newActive = true; | ||
274 | this.isActive = false; | ||
275 | break; | ||
276 | } | ||
277 | }, | ||
278 | submit() { | ||
279 | var teachersAttendence = []; | ||
280 | for (var j = 0; j < this.teachersData.length; j++) { | ||
281 | teachersAttendence.push({ | ||
282 | teacherId: this.teachersData[j]._id, | ||
283 | attendanceType: this.teachersData[j].attendence | ||
284 | }); | ||
285 | } | ||
286 | let attendanceData = { | ||
287 | date: this.date, | ||
288 | teachers: teachersAttendence | ||
289 | }; | ||
290 | http() | ||
291 | .post("/createTeacherAttendance", attendanceData) | ||
292 | .then(response => { | ||
293 | this.snackbar = true; | ||
294 | this.text = response.data.message; | ||
295 | }) | ||
296 | .catch(error => { | ||
297 | this.snackbar = true; | ||
298 | this.text = error.response.data.message; | ||
299 | }); | ||
300 | }, | ||
301 | clear() { | ||
302 | this.$refs.form.reset(); | ||
303 | this.imageUrl = ""; | ||
123 | } | 304 | } |
124 | }, | 305 | }, |
125 | mounted() { | 306 | mounted() { |
126 | this.getTeacherList(); | 307 | this.getTeacherList(); |
127 | }, | 308 | }, |
128 | created() { | 309 | created() { |
129 | this.$root.$on("app:search", search => { | 310 | this.$root.$on("app:search", search => { |
130 | this.search = search; | 311 | this.search = search; |
131 | }); | 312 | }); |
132 | }, | 313 | }, |
133 | beforeDestroy() { | 314 | beforeDestroy() { |
134 | // dont forget to remove the listener | 315 | // dont forget to remove the listener |
135 | this.$root.$off("app:search"); | 316 | this.$root.$off("app:search"); |
136 | } | 317 | } |
137 | }; | 318 | }; |
138 | </script> | 319 | </script> |
139 | <style scoped> | 320 | <style scoped> |
src/pages/Attendence/viewTeacherAttendence.vue
File was created | 1 | <template> | |
2 | <v-container fluid grid-list-md> | ||
3 | <!-- <div v-show="hideData"> --> | ||
4 | <!-- <v-layout row> | ||
5 | <v-btn color="grey" @click="exportPdf" class="right" dark> | ||
6 | Export Pdf | ||
7 | <v-icon dark right size="20">save_alt</v-icon> | ||
8 | </v-btn> | ||
9 | <v-dialog v-model="dialogExport" max-width="500px"> | ||
10 | <v-btn slot="activator" color="grey" class="right" dark> | ||
11 | Export csv | ||
12 | <v-icon dark right size="20">save_alt</v-icon> | ||
13 | </v-btn> | ||
14 | <v-card> | ||
15 | <h3 class="text-xs-center py-2 grey lighten-1 white--text">Export</h3> | ||
16 | <v-card-text> | ||
17 | <v-container grid-list-md> | ||
18 | <v-layout wrap> | ||
19 | <v-flex xs12> | ||
20 | <v-menu | ||
21 | ref="menuStartDate" | ||
22 | :close-on-content-click="false" | ||
23 | v-model="menuStartDate" | ||
24 | :nudge-right="40" | ||
25 | :return-value.sync="startDate" | ||
26 | lazy | ||
27 | transition="scale-transition" | ||
28 | offset-y | ||
29 | full-width | ||
30 | min-width="290px" | ||
31 | > | ||
32 | <v-text-field | ||
33 | slot="activator" | ||
34 | v-model="startDate" | ||
35 | label="Select Start Date" | ||
36 | prepend-icon="event" | ||
37 | readonly | ||
38 | ></v-text-field> | ||
39 | <v-date-picker | ||
40 | v-model="startDate" | ||
41 | @input="$refs.menuStartDate.save(startDate)" | ||
42 | ></v-date-picker> | ||
43 | </v-menu> | ||
44 | </v-flex> | ||
45 | <v-flex xs12> | ||
46 | <v-menu | ||
47 | ref="menuEndDate" | ||
48 | :close-on-content-click="false" | ||
49 | v-model="menuEndDate" | ||
50 | :nudge-right="40" | ||
51 | :return-value.sync="endDate" | ||
52 | lazy | ||
53 | transition="scale-transition" | ||
54 | offset-y | ||
55 | full-width | ||
56 | min-width="290px" | ||
57 | > | ||
58 | <v-text-field | ||
59 | slot="activator" | ||
60 | v-model="endDate" | ||
61 | label="Select End Date" | ||
62 | prepend-icon="event" | ||
63 | readonly | ||
64 | ></v-text-field> | ||
65 | <v-date-picker v-model="endDate" @input="$refs.menuEndDate.save(endDate)"></v-date-picker> | ||
66 | </v-menu> | ||
67 | </v-flex> | ||
68 | </v-layout> | ||
69 | </v-container> | ||
70 | </v-card-text> | ||
71 | <v-card-actions> | ||
72 | <v-spacer></v-spacer> | ||
73 | <v-btn color="blue darken-1" flat @click.native="dialogExport = false">Close</v-btn> | ||
74 | <download-csv :data="json_data"> | ||
75 | <v-btn color="blue darken-1" flat @click.native="exportData">Export</v-btn> | ||
76 | </download-csv> | ||
77 | </v-card-actions> | ||
78 | </v-card> | ||
79 | </v-dialog> | ||
80 | </v-layout> --> | ||
81 | <v-layout wrap> | ||
82 | <v-flex xs12 sm12 md4> | ||
83 | <v-card flat> | ||
84 | <h3 class="text-xs-center py-2 grey lighten-1 white--text">Profile</h3> | ||
85 | <v-card-text> | ||
86 | <v-container> | ||
87 | <v-layout wrap> | ||
88 | <v-flex xs12> | ||
89 | <v-layout> | ||
90 | <v-flex | ||
91 | xs12 | ||
92 | class="text-xs-center text-sm-center text-md-center text-lg-center" | ||
93 | > | ||
94 | <v-avatar size="160px"> | ||
95 | <img src="/static/icon/user.png" v-if="!teacherData.teacherData.profilePicUrl" /> | ||
96 | <img | ||
97 | :src="teacherData.teacherData.profilePicUrl" | ||
98 | v-else-if="teacherData.teacherData.profilePicUrl" | ||
99 | /> | ||
100 | </v-avatar> | ||
101 | </v-flex> | ||
102 | </v-layout> | ||
103 | <v-layout> | ||
104 | <v-flex xs12 sm12> | ||
105 | <h3 class="text-xs-center"> | ||
106 | <b>{{ teacherData.teacherData.name }}</b> | ||
107 | </h3> | ||
108 | <p class="text-xs-center grey--text">Teacher</p> | ||
109 | </v-flex> | ||
110 | </v-layout> | ||
111 | <!-- <v-layout style="border: 1px solid lightgrey;"> | ||
112 | <v-flex xs6 sm6 class="pa-0"> | ||
113 | <h4 class="right"> | ||
114 | <b>Gender :</b> | ||
115 | </h4> | ||
116 | </v-flex> | ||
117 | <v-flex sm6 xs6 class="pa-0"> | ||
118 | <h4>{{ teacherData.teacherData.gender }}</h4> | ||
119 | </v-flex> | ||
120 | </v-layout> --> | ||
121 | <v-layout style="border: 1px solid lightgrey;"> | ||
122 | <v-flex xs6 sm6 class="pa-0"> | ||
123 | <h4 class="right"> | ||
124 | <b>D.O.B:</b> | ||
125 | </h4> | ||
126 | </v-flex> | ||
127 | <v-flex sm6 xs6 class="right pa-0"> | ||
128 | <h4>{{ dates(teacherData.teacherData.dob) }}</h4> | ||
129 | </v-flex> | ||
130 | </v-layout> | ||
131 | <v-layout style="border: 1px solid lightgrey;"> | ||
132 | <v-flex xs6 sm6 class="right pa-0"> | ||
133 | <h4 class="right"> | ||
134 | <b>Phone :</b> | ||
135 | </h4> | ||
136 | </v-flex> | ||
137 | <v-flex sm6 xs6 class="right pa-0"> | ||
138 | <h4>{{ teacherData.teacherData.mobileNo}}</h4> | ||
139 | </v-flex> | ||
140 | </v-layout> | ||
141 | </v-flex> | ||
142 | </v-layout> | ||
143 | </v-container> | ||
144 | </v-card-text> | ||
145 | </v-card> | ||
146 | </v-flex> | ||
147 | <v-flex xs12 sm12 md8> | ||
148 | <v-card flat> | ||
149 | <h3 class="py-2 text-xs-center grey lighten-1 white--text"> | ||
150 | Attendence | ||
151 | <span class="ml-4"> | ||
152 | <v-avatar class="green caption" size="12"></v-avatar> | ||
153 | <span class="subheading">Present</span> | ||
154 | </span> | ||
155 | <span class="ml-4"> | ||
156 | <v-avatar color="red caption" size="12" class></v-avatar> | ||
157 | <span class="subheading">Absent</span> | ||
158 | </span> | ||
159 | </h3> | ||
160 | <!-- <YearCalendar | ||
161 | v-model="year" | ||
162 | :activeDates="activeDates" | ||
163 | prefixClass="your_customized_wrapper_class" | ||
164 | :activeClass="activeClass" | ||
165 | ></YearCalendar> --> | ||
166 | </v-card> | ||
167 | </v-flex> | ||
168 | </v-layout> | ||
169 | </div> | ||
170 | <v-layout v-show="showPdfData"> | ||
171 | <v-container> | ||
172 | <v-flex xs12 sm12 md8 offset-sm2> | ||
173 | <!-- <v-btn | ||
174 | color="grey" | ||
175 | @click="generatePDF2Canvas()" | ||
176 | :loading="loadingPdf" | ||
177 | class="right" | ||
178 | dark | ||
179 | > | ||
180 | Download | ||
181 | <v-icon dark right size="20">save_alt</v-icon> | ||
182 | </v-btn> --> | ||
183 | </v-flex> | ||
184 | </v-container> | ||
185 | </v-layout> | ||
186 | <v-layout v-show="showPdfData"> | ||
187 | <v-container> | ||
188 | <v-layout v-show="showPdfData"> | ||
189 | <v-flex xs12 sm12 md8 offset-sm2> | ||
190 | <div ref="printMe"> | ||
191 | <v-flex xs12 class="pl-3"> | ||
192 | <!-- <v-layout> | ||
193 | <v-flex xs6 sm2 class="pa-0 mb-1"> | ||
194 | <h4> | ||
195 | <b>Name</b> | ||
196 | </h4> | ||
197 | </v-flex> | ||
198 | <v-flex sm10 xs6 class="pa-0"> | ||
199 | <h4>: {{ studentData.name }}</h4> | ||
200 | </v-flex> | ||
201 | </v-layout> | ||
202 | <v-layout> | ||
203 | <v-flex xs6 sm2 class="pa-0 mb-1"> | ||
204 | <h4> | ||
205 | <b>Type</b> | ||
206 | </h4> | ||
207 | </v-flex> | ||
208 | <v-flex sm10 xs6 class="pa-0 mb-1"> | ||
209 | <h4>: Student</h4> | ||
210 | </v-flex> | ||
211 | </v-layout> | ||
212 | <v-layout> | ||
213 | <v-flex xs6 sm2 class="pa-0 mb-1"> | ||
214 | <h4> | ||
215 | <b>Roll No</b> | ||
216 | </h4> | ||
217 | </v-flex> | ||
218 | <v-flex sm10 xs6 class="pa-0 mb-1"> | ||
219 | <h4>: {{ studentData.rollNo }}</h4> | ||
220 | </v-flex> | ||
221 | </v-layout> | ||
222 | <v-layout> | ||
223 | <v-flex xs6 sm2 class="pa-0 mb-1"> | ||
224 | <h4> | ||
225 | <b>Class</b> | ||
226 | </h4> | ||
227 | </v-flex> | ||
228 | <v-flex sm10 xs6 class="pa-0 mb-1"> | ||
229 | <h4>: {{ studentData.classId.classNum }}</h4> | ||
230 | </v-flex> | ||
231 | </v-layout> | ||
232 | <v-layout> | ||
233 | <v-flex xs6 sm2 class="pa-0 mb-1"> | ||
234 | <h4> | ||
235 | <b>Section</b> | ||
236 | </h4> | ||
237 | </v-flex> | ||
238 | <v-flex sm10 xs6 class="pa-0 mb-3"> | ||
239 | <h4>: {{ studentData.sectionId.name}}</h4> | ||
240 | </v-flex> | ||
241 | </v-layout> --> | ||
242 | </v-flex> | ||
243 | <!-- <v-card flat> | ||
244 | <h3 class="py-2 text-xs-center grey lighten-1 white--text"> | ||
245 | Attendence | ||
246 | <span class="ml-4"> | ||
247 | <v-avatar class="green caption" size="12"></v-avatar> | ||
248 | <span class="subheading">Present</span> | ||
249 | </span> | ||
250 | <span class="ml-4"> | ||
251 | <v-avatar color="red caption" size="12" class></v-avatar> | ||
252 | <span class="subheading">Absent</span> | ||
253 | </span> | ||
254 | </h3> | ||
255 | <YearCalendar | ||
256 | v-model="year" | ||
257 | :activeDates="activeDates" | ||
258 | prefixClass="your_customized_wrapper_class" | ||
259 | :activeClass="activeClass" | ||
260 | ></YearCalendar> | ||
261 | </v-card> --> | ||
262 | </div> | ||
263 | </v-flex> | ||
264 | </v-layout> | ||
265 | </v-container> | ||
266 | </v-layout> | ||
267 | <!-- <img :src="output" v-show="false"/> --> | ||
268 | <div class="loader" v-if="showLoader"> | ||
269 | <v-progress-circular indeterminate color="white"></v-progress-circular> | ||
270 | </div> | ||
271 | </v-container> | ||
272 | </template> | ||
273 | |||
274 | <script lang="js"> | ||
275 | import moment from "moment"; | ||
276 | import http from "@/Services/http.js"; | ||
277 | import YearCalendar from "vue-material-year-calendar"; | ||
278 | import jsPDF from 'jspdf'; | ||
279 | // eslint-disable-next-line | ||
280 | import autoTable from 'jspdf-autotable'; | ||
281 | |||
282 | export default { | ||
283 | components: { YearCalendar }, | ||
284 | data() { | ||
285 | return { | ||
286 | showPdfData:false, | ||
287 | hideData:true, | ||
288 | loadingPdf:false, | ||
289 | output:null, | ||
290 | studentsList: [], | ||
291 | json_data: [], | ||
292 | dialogExport: false, | ||
293 | startDate: "", | ||
294 | endDate: "", | ||
295 | menuEndDate: false, | ||
296 | menuStartDate: false, | ||
297 | showLoader: false, | ||
298 | token: "", | ||
299 | year: new Date().getFullYear(), | ||
300 | activeDates: [], | ||
301 | activeClass: "", | ||
302 | teacherData: {} | ||
303 | }; | ||
304 | }, | ||
305 | mounted() { | ||
306 | this.token = this.$store.state.token; | ||
307 | this.getTeacherAttendence(); | ||
308 | // this.getStudentData(); | ||
309 | }, | ||
310 | methods: { | ||
311 | dates: function(date) { | ||
312 | return moment(date).format("MMMM DD, YYYY"); | ||
313 | }, | ||
314 | getTeacherAttendence() { | ||
315 | this.showLoader = true; | ||
316 | http() | ||
317 | .get( | ||
318 | "/teacherAttendance", | ||
319 | { params: { teacherId: this.$route.params.teacherId } }, | ||
320 | { | ||
321 | headers: { Authorization: "Bearer " + this.token } | ||
322 | } | ||
323 | ) | ||
324 | .then(response => { | ||
325 | this.showLoader = false; | ||
326 | this.teacherData = response.data.data; | ||
327 | // let array = []; | ||
328 | // for (let i = 0; i < response.data.data.length; i++) { | ||
329 | // if (response.data.data[i].students[0].isPresent == true) { | ||
330 | // array.push({ | ||
331 | // date: response.data.data[i].date, | ||
332 | // className: "green" | ||
333 | // }); | ||
334 | // } else if (response.data.data[i].students[0].isPresent == false) { | ||
335 | // array.push({ | ||
336 | // date: response.data.data[i].date, | ||
337 | // className: "red" | ||
338 | // }); | ||
339 | // } | ||
340 | // } | ||
341 | // this.activeDates = array; | ||
342 | }) | ||
343 | .catch(error => { | ||
344 | this.showLoader = false; | ||
345 | if (error.response.status === 401) { | ||
346 | this.$router.replace({ path: "/" }); | ||
347 | this.$store.dispatch("setToken", null); | ||
348 | this.$store.dispatch("Id", null); | ||
349 | this.$store.dispatch("Role", null); | ||
350 | } | ||
351 | }); | ||
352 | }, | ||
353 | // getStudentData() { | ||
354 | // http() | ||
355 | // .get( | ||
356 | // "/getParticularStudentDetail", | ||
357 | // { params: { studentId: this.$route.params.id } }, | ||
358 | // { | ||
359 | // headers: { Authorization: "Bearer " + this.token } | ||
360 | // } | ||
361 | // ) | ||
362 | // .then(response => { | ||
363 | // this.studentData = response.data.data; | ||
364 | // }) | ||
365 | // .catch(err => { | ||
366 | // console.log("err====>", err); | ||
367 | // // this.$router.replace({ path: '/' }); | ||
368 | // }); | ||
369 | // }, | ||
370 | // exportData() { | ||
371 | // http() | ||
372 | // .get( | ||
373 | // "/studentAttendanceByMonth", | ||
374 | // { | ||
375 | // params: { | ||
376 | // studentId: this.$route.params.id, | ||
377 | // startDate: this.startDate, | ||
378 | // endDate: this.endDate | ||
379 | // } | ||
380 | // }, | ||
381 | // { | ||
382 | // headers: { Authorization: "Bearer " + this.token } | ||
383 | // } | ||
384 | // ) | ||
385 | // .then(response => { | ||
386 | // this.json_data = response.data.data; | ||
387 | // this.dialogExport = true; | ||
388 | // }) | ||
389 | // .catch(err => { | ||
390 | // console.log("err====>", err); | ||
391 | // // this.$router.replace({ path: '/' }); | ||
392 | // }); | ||
393 | // }, | ||
394 | // exportPdf(){ | ||
395 | // this.hideData = false; | ||
396 | // this.showPdfData = true | ||
397 | // }, | ||
398 | // async generatePDF2Canvas(){ | ||
399 | // this.loadingPdf = true | ||
400 | // const el = this.$refs.printMe; | ||
401 | // // add option type to get the image version | ||
402 | // // if not provided the promise will return | ||
403 | // // the canvas. | ||
404 | // const options = { | ||
405 | // type: 'dataURL' | ||
406 | // } | ||
407 | // this.output = await this.$html2canvas(el, options); | ||
408 | // if(this.output) { | ||
409 | // this.loadingPdf = false | ||
410 | // } | ||
411 | // let doc = new jsPDF(); | ||
412 | // doc.addImage(this.output, 'JPEG', 5, 10, 200, 280); | ||
413 | // doc.save("Attendance.pdf"); | ||
414 | // } | ||
415 | } | ||
416 | }; | ||
417 | </script> | ||
418 |
src/pages/Mark/mark.vue
1 | <template> | 1 | <template> |
2 | <v-app id="pages-dasboard"> | 2 | <v-app id="pages-dasboard"> |
3 | <v-tabs grow slider-color="gray"> | 3 | <v-tabs grow slider-color="gray"> |
4 | <v-tab | 4 | <v-tab |
5 | ripple | 5 | ripple |
6 | @click="activeTab('existing')" | 6 | @click="activeTab('existing')" |
7 | v-bind:class="{ active: isActive }" | 7 | v-bind:class="{ active: isActive }" |
8 | id="tab" | 8 | id="tab" |
9 | class="subheading" | 9 | class="subheading" |
10 | >Existing Mark</v-tab> | 10 | >Existing Mark</v-tab> |
11 | <v-tab | 11 | <v-tab |
12 | ripple | 12 | ripple |
13 | @click="activeTab('new')" | 13 | @click="activeTab('new')" |
14 | v-bind:class="{ active: newActive }" | 14 | v-bind:class="{ active: newActive }" |
15 | id="tab1" | 15 | id="tab1" |
16 | User | 16 | User |
17 | class="subheading" | 17 | class="subheading" |
18 | >Add Mark</v-tab> | 18 | >Add Mark</v-tab> |
19 | 19 | ||
20 | <!-- ****** Edit Mark ****** --> | 20 | <!-- ****** Edit Mark ****** --> |
21 | 21 | ||
22 | <v-tab-item> | 22 | <v-tab-item> |
23 | <v-snackbar | 23 | <v-snackbar |
24 | :timeout="timeout" | 24 | :timeout="timeout" |
25 | :top="y === 'top'" | 25 | :top="y === 'top'" |
26 | :right="x === 'right'" | 26 | :right="x === 'right'" |
27 | :vertical="mode === 'vertical'" | 27 | :vertical="mode === 'vertical'" |
28 | v-model="snackbar" | 28 | v-model="snackbar" |
29 | color="success" | 29 | color="success" |
30 | >{{ text }}</v-snackbar> | 30 | >{{ text }}</v-snackbar> |
31 | 31 | ||
32 | <!-- ****** EXISTING MARK TABLE ****** --> | 32 | <!-- ****** EXISTING MARK TABLE ****** --> |
33 | 33 | ||
34 | <v-card flat> | 34 | <v-card flat> |
35 | <v-flex xs12 sm12 lg12> | 35 | <v-flex xs12 sm12 lg12> |
36 | <v-layout wrap> | 36 | <v-layout wrap> |
37 | <v-flex xs12 sm12 lg3> | 37 | <v-flex xs12 sm12 lg3> |
38 | <v-layout> | 38 | <v-layout> |
39 | <v-flex xs3 sm6 lg2 class="subheading mt-4"> | 39 | <v-flex xs3 sm6 lg2 class="subheading mt-4"> |
40 | <label class="right">Class:</label> | 40 | <label class="right">Class:</label> |
41 | </v-flex> | 41 | </v-flex> |
42 | <v-flex xs12 sm12 lg8 class="ml-2"> | 42 | <v-flex xs12 sm12 lg8 class="ml-2"> |
43 | <v-select | 43 | <v-select |
44 | v-model="getMark.classId" | 44 | v-model="getMark.classId" |
45 | label="Select your class" | 45 | label="Select your class" |
46 | type="text" | 46 | type="text" |
47 | :items="classList" | 47 | :items="classList" |
48 | item-text="classNum" | 48 | item-text="classNum" |
49 | item-value="_id" | 49 | item-value="_id" |
50 | @change="getSections(getMark.classId)" | 50 | @change="getSections(getMark.classId)" |
51 | required | 51 | required |
52 | ></v-select> | 52 | ></v-select> |
53 | </v-flex> | 53 | </v-flex> |
54 | </v-layout> | 54 | </v-layout> |
55 | </v-flex> | 55 | </v-flex> |
56 | <v-flex xs12 sm12 lg3> | 56 | <v-flex xs12 sm12 lg3> |
57 | <v-layout> | 57 | <v-layout> |
58 | <v-flex xs3 sm6 lg2 class="subheading mt-4"> | 58 | <v-flex xs3 sm6 lg2 class="subheading mt-4"> |
59 | <label class="right">Section:</label> | 59 | <label class="right">Section:</label> |
60 | </v-flex> | 60 | </v-flex> |
61 | <v-flex xs12 sm12 lg8 class="ml-2"> | 61 | <v-flex xs12 sm12 lg8 class="ml-2"> |
62 | <v-select | 62 | <v-select |
63 | :items="addSection" | 63 | :items="addSection" |
64 | label="Select your Section" | 64 | label="Select your Section" |
65 | v-model="getMark.sectionId" | 65 | v-model="getMark.sectionId" |
66 | item-text="name" | 66 | item-text="name" |
67 | item-value="_id" | 67 | item-value="_id" |
68 | name="Select Section" | 68 | name="Select Section" |
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 | <v-flex xs12 sm12 lg6> | 74 | <v-flex xs12 sm12 lg6> |
75 | <v-btn @click="getStudents" round dark :loading="loading" class="right mt-4">Mark</v-btn> | 75 | <v-btn @click="getStudents" round dark :loading="loading" class="right mt-4">Mark</v-btn> |
76 | </v-flex> | 76 | </v-flex> |
77 | </v-layout> | 77 | </v-layout> |
78 | </v-flex> | 78 | </v-flex> |
79 | </v-card> | 79 | </v-card> |
80 | <v-data-table | 80 | <v-data-table |
81 | :headers="headers" | 81 | :headers="headers" |
82 | :items="getStudentsList" | 82 | :items="getStudentsList" |
83 | :pagination.sync="pagination" | 83 | :pagination.sync="pagination" |
84 | :search="search" | 84 | :search="search" |
85 | > | 85 | > |
86 | <template slot="items" slot-scope="props"> | 86 | <template slot="items" slot-scope="props"> |
87 | <td class="text-xs-center">{{ props.index + 1}}</td> | 87 | <td class="text-xs-center">{{ props.index + 1}}</td> |
88 | <td id="td" class="text-xs-center"> | 88 | <td id="td" class="text-xs-center"> |
89 | <v-avatar> | 89 | <v-avatar> |
90 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | 90 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> |
91 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | 91 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> |
92 | </v-avatar> | 92 | </v-avatar> |
93 | </td> | 93 | </td> |
94 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> | 94 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> |
95 | <td id="td" class="text-xs-center">{{ props.item.rollNo }}</td> | 95 | <td id="td" class="text-xs-center">{{ props.item.rollNo }}</td> |
96 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> | 96 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> |
97 | <td class="text-xs-center"> | 97 | <td class="text-xs-center"> |
98 | <span> | 98 | <span> |
99 | <router-link :to="{ name:'viewMark',params: { markId:props.item._id } }"> | 99 | <router-link :to="{ name:'viewMark',params: { markId:props.item._id } }"> |
100 | <v-tooltip top> | 100 | <v-tooltip top> |
101 | <img | 101 | <img |
102 | slot="activator" | 102 | slot="activator" |
103 | style="cursor:pointer; width:20px; height:18px; " | 103 | style="cursor:pointer; width:20px; height:18px; " |
104 | class="mr-5" | 104 | class="mr-5" |
105 | src="/static/icon/edit1.png" | 105 | src="/static/icon/edit1.png" |
106 | /> | 106 | /> |
107 | <span>Edit</span> | 107 | <span>Edit</span> |
108 | </v-tooltip> | 108 | </v-tooltip> |
109 | </router-link> | 109 | </router-link> |
110 | </span> | 110 | </span> |
111 | </td> | 111 | </td> |
112 | </template> | 112 | </template> |
113 | <v-alert | 113 | <v-alert |
114 | slot="no-results" | 114 | slot="no-results" |
115 | :value="true" | 115 | :value="true" |
116 | color="error" | 116 | color="error" |
117 | icon="warning" | 117 | icon="warning" |
118 | >Your search for "{{ search }}" found no results.</v-alert> | 118 | >Your search for "{{ search }}" found no results.</v-alert> |
119 | </v-data-table> | 119 | </v-data-table> |
120 | </v-tab-item> | 120 | </v-tab-item> |
121 | 121 | ||
122 | <!-- ****** ADD Mark Schedule ****** --> | 122 | <!-- ****** ADD Mark Schedule ****** --> |
123 | 123 | ||
124 | <v-tab-item> | 124 | <v-tab-item> |
125 | <v-snackbar | 125 | <v-snackbar |
126 | :timeout="timeout" | 126 | :timeout="timeout" |
127 | :top="y === 'top'" | 127 | :top="y === 'top'" |
128 | :right="x === 'right'" | 128 | :right="x === 'right'" |
129 | :vertical="mode === 'vertical'" | 129 | :vertical="mode === 'vertical'" |
130 | v-model="snackbar" | 130 | v-model="snackbar" |
131 | :color="color" | 131 | :color="color" |
132 | >{{ text }}</v-snackbar> | 132 | >{{ text }}</v-snackbar> |
133 | <v-form ref="form" v-model="valid" lazy-validation> | 133 | <v-form ref="form" v-model="valid" lazy-validation> |
134 | <v-container fluid> | 134 | <v-container fluid> |
135 | <v-flex xs12 sm12 lg12> | 135 | <v-flex xs12 sm12 lg12> |
136 | <v-layout wrap> | 136 | <v-layout wrap> |
137 | <v-flex xs12 sm12 lg10> | 137 | <v-flex xs12 sm12 lg10> |
138 | <v-layout wrap> | 138 | <v-layout wrap> |
139 | <v-flex xs12 sm12 lg3> | 139 | <v-flex xs12 sm12 lg3> |
140 | <v-flex xs3 sm2 lg2 class="subheading"> | 140 | <v-flex xs3 sm2 lg2 class="subheading"> |
141 | <label>Exam:</label> | 141 | <label>Exam:</label> |
142 | </v-flex> | 142 | </v-flex> |
143 | <v-flex xs12 sm12 lg10> | 143 | <v-flex xs12 sm12 lg10> |
144 | <v-select | 144 | <v-select |
145 | label="Select your Exam Name" | 145 | label="Select your Exam Name" |
146 | :items="examList" | 146 | :items="examList" |
147 | v-model="addMark.examId" | 147 | v-model="addMark.examId" |
148 | :rules="examRules" | 148 | :rules="examRules" |
149 | item-text="examName" | 149 | item-text="examName" |
150 | item-value="_id" | 150 | item-value="_id" |
151 | ></v-select> | 151 | ></v-select> |
152 | </v-flex> | 152 | </v-flex> |
153 | </v-flex> | 153 | </v-flex> |
154 | <v-flex xs12 sm12 lg3> | 154 | <v-flex xs12 sm12 lg3> |
155 | <v-flex xs3 sm6 lg2 class="subheading"> | 155 | <v-flex xs3 sm6 lg2 class="subheading"> |
156 | <label>Class:</label> | 156 | <label>Class:</label> |
157 | </v-flex> | 157 | </v-flex> |
158 | <v-flex xs12 sm12 lg10 class> | 158 | <v-flex xs12 sm12 lg10 class> |
159 | <v-select | 159 | <v-select |
160 | v-model="addMark.classId" | 160 | v-model="addMark.classId" |
161 | label="Select your class" | 161 | label="Select your class" |
162 | type="text" | 162 | type="text" |
163 | :items="classList" | 163 | :items="classList" |
164 | item-text="classNum" | 164 | item-text="classNum" |
165 | item-value="_id" | 165 | item-value="_id" |
166 | :rules="classRules" | 166 | :rules="classRules" |
167 | @change="getSections(addMark.classId)" | 167 | @change="getSections(addMark.classId)" |
168 | required | 168 | required |
169 | ></v-select> | 169 | ></v-select> |
170 | </v-flex> | 170 | </v-flex> |
171 | </v-flex> | 171 | </v-flex> |
172 | <v-flex xs12 sm12 lg3> | 172 | <v-flex xs12 sm12 lg3> |
173 | <v-flex xs3 sm6 lg2 class="subheading"> | 173 | <v-flex xs3 sm6 lg2 class="subheading"> |
174 | <label>Section:</label> | 174 | <label>Section:</label> |
175 | </v-flex> | 175 | </v-flex> |
176 | <v-flex xs12 sm12 lg10 class> | 176 | <v-flex xs12 sm12 lg10 class> |
177 | <v-select | 177 | <v-select |
178 | :items="addSection" | 178 | :items="addSection" |
179 | label="Select your Section" | 179 | label="Select your Section" |
180 | v-model="addMark.sectionId" | 180 | v-model="addMark.sectionId" |
181 | item-text="name" | 181 | item-text="name" |
182 | item-value="_id" | 182 | item-value="_id" |
183 | name="Select Section" | 183 | name="Select Section" |
184 | :rules="sectionRules" | 184 | :rules="sectionRules" |
185 | required | 185 | required |
186 | ></v-select> | 186 | ></v-select> |
187 | </v-flex> | 187 | </v-flex> |
188 | </v-flex> | 188 | </v-flex> |
189 | <v-flex xs12 sm12 lg3> | 189 | <v-flex xs12 sm12 lg3> |
190 | <v-flex xs3 sm6 lg2 class="subheading"> | 190 | <v-flex xs3 sm6 lg2 class="subheading"> |
191 | <label>Subject:</label> | 191 | <label>Subject:</label> |
192 | </v-flex> | 192 | </v-flex> |
193 | <v-flex xs12 sm12 lg10 class> | 193 | <v-flex xs12 sm12 lg10 class> |
194 | <v-select | 194 | <v-select |
195 | :items="subjects" | 195 | :items="subjects" |
196 | label="Select your Subject" | 196 | label="Select your Subject" |
197 | v-model="addMark.subjectId" | 197 | v-model="addMark.subjectId" |
198 | item-text="subjectName" | 198 | item-text="subjectName" |
199 | item-value="_id" | 199 | item-value="_id" |
200 | name="Select Section" | 200 | name="Select Section" |
201 | :rules="subjectRules" | 201 | :rules="subjectRules" |
202 | required | 202 | required |
203 | ></v-select> | 203 | ></v-select> |
204 | </v-flex> | 204 | </v-flex> |
205 | </v-flex> | 205 | </v-flex> |
206 | </v-layout> | 206 | </v-layout> |
207 | </v-flex> | 207 | </v-flex> |
208 | <v-flex xs12 sm12 lg2> | 208 | <v-flex xs12 sm12 lg2> |
209 | <v-flex xs12 sm12 lg12> | 209 | <v-flex xs12 sm12 lg12> |
210 | <v-btn | 210 | <v-btn |
211 | @click="findStudents" | 211 | @click="findStudents" |
212 | round | 212 | round |
213 | dark | 213 | dark |
214 | :loading="loading" | 214 | :loading="loading" |
215 | class="right mt-4" | 215 | class="right mt-4" |
216 | >Mark</v-btn> | 216 | >Mark</v-btn> |
217 | </v-flex> | 217 | </v-flex> |
218 | </v-flex> | 218 | </v-flex> |
219 | </v-layout> | 219 | </v-layout> |
220 | </v-flex> | 220 | </v-flex> |
221 | <v-card class="mt-4"> | 221 | <v-card class="mt-4"> |
222 | <v-data-table | 222 | <v-data-table |
223 | :headers="headerOfMark" | 223 | :headers="headerOfMark" |
224 | :items="getStudentData" | 224 | :items="getStudentData" |
225 | :pagination.sync="pagination" | 225 | :pagination.sync="pagination" |
226 | :search="search" | 226 | :search="search" |
227 | > | 227 | > |
228 | <template slot="items" slot-scope="props"> | 228 | <template slot="items" slot-scope="props"> |
229 | <td class="text-xs-center">{{ props.index + 1}}</td> | 229 | <td class="text-xs-center">{{ props.index + 1}}</td> |
230 | <td id="td" class="text-xs-center"> | 230 | <td id="td" class="text-xs-center"> |
231 | <v-avatar> | 231 | <v-avatar> |
232 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | 232 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> |
233 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | 233 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> |
234 | </v-avatar> | 234 | </v-avatar> |
235 | </td> | 235 | </td> |
236 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> | 236 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> |
237 | <td id="td" class="text-xs-center">{{ props.item.rollNo }}</td> | 237 | <td id="td" class="text-xs-center">{{ props.item.rollNo }}</td> |
238 | <td | 238 | <td |
239 | id="td" | 239 | id="td" |
240 | class="text-xs-center markTable" | 240 | class="text-xs-center markTable" |
241 | v-for="(marks, index) in props.item.marksObtained" | 241 | v-for="(marks, index) in props.item.marksObtained" |
242 | :key="'A'+ index" | 242 | :key="'A'+ index" |
243 | > | 243 | > |
244 | <v-text-field v-model="marks.marksScored"></v-text-field> | 244 | <v-text-field v-model="marks.marksScored"></v-text-field> |
245 | </td> | 245 | </td> |
246 | </template> | 246 | </template> |
247 | <v-alert | 247 | <v-alert |
248 | slot="no-results" | 248 | slot="no-results" |
249 | :value="true" | 249 | :value="true" |
250 | color="error" | 250 | color="error" |
251 | icon="warning" | 251 | icon="warning" |
252 | >Your search for "{{ search }}" found no results.</v-alert> | 252 | >Your search for "{{ search }}" found no results.</v-alert> |
253 | </v-data-table> | 253 | </v-data-table> |
254 | </v-card> | 254 | </v-card> |
255 | <v-layout class="mt-2"> | 255 | <v-layout class="mt-2"> |
256 | <v-flex xs12 sm12> | 256 | <v-flex xs12 sm12> |
257 | <v-layout> | 257 | <v-layout> |
258 | <v-flex xs12> | 258 | <v-flex xs12> |
259 | <v-btn @click="submit" round dark :loading="loading" class="right">Add Mark</v-btn> | 259 | <v-btn @click="submit" round dark :loading="loading" class="right">Add Mark</v-btn> |
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-container> | 264 | </v-container> |
265 | </v-form> | 265 | </v-form> |
266 | </v-tab-item> | 266 | </v-tab-item> |
267 | </v-tabs> | 267 | </v-tabs> |
268 | <div class="loader" v-if="showLoader"> | 268 | <div class="loader" v-if="showLoader"> |
269 | <v-progress-circular indeterminate color="white"></v-progress-circular> | 269 | <v-progress-circular indeterminate color="white"></v-progress-circular> |
270 | </div> | 270 | </div> |
271 | </v-app> | 271 | </v-app> |
272 | </template> | 272 | </template> |
273 | 273 | ||
274 | <script> | 274 | <script> |
275 | import http from "@/Services/http.js"; | 275 | import http from "@/Services/http.js"; |
276 | import moment from "moment"; | 276 | import moment from "moment"; |
277 | 277 | ||
278 | export default { | 278 | export default { |
279 | data: () => ({ | 279 | data: () => ({ |
280 | snackbar: false, | 280 | snackbar: false, |
281 | date: null, | 281 | date: null, |
282 | color: "", | 282 | color: "", |
283 | y: "top", | 283 | y: "top", |
284 | x: "right", | 284 | x: "right", |
285 | mode: "", | 285 | mode: "", |
286 | timeout: 10000, | 286 | timeout: 10000, |
287 | text: "", | 287 | text: "", |
288 | loading: false, | 288 | loading: false, |
289 | search: "", | 289 | search: "", |
290 | showLoader: false, | 290 | showLoader: false, |
291 | dialog: false, | 291 | dialog: false, |
292 | dialog1: false, | 292 | dialog1: false, |
293 | valid: true, | 293 | valid: true, |
294 | isActive: true, | 294 | isActive: true, |
295 | newActive: false, | 295 | newActive: false, |
296 | addSection: [], | 296 | addSection: [], |
297 | pagination: { | 297 | pagination: { |
298 | rowsPerPage: 15 | 298 | rowsPerPage: 15 |
299 | }, | 299 | }, |
300 | classRules: [v => !!v || "Class is required"], | 300 | classRules: [v => !!v || "Class is required"], |
301 | sectionRules: [v => !!v || "section is required"], | 301 | sectionRules: [v => !!v || "section is required"], |
302 | subjectRules: [v => !!v || "Subject is required"], | 302 | subjectRules: [v => !!v || "Subject is required"], |
303 | examRules: [v => !!v || "Exam is required"], | 303 | examRules: [v => !!v || "Exam is required"], |
304 | 304 | ||
305 | headerOfMark: [ | 305 | headerOfMark: [ |
306 | { | 306 | { |
307 | align: "justify-center", | 307 | align: "justify-center", |
308 | text: "No", | 308 | text: "No", |
309 | sortable: false, | 309 | sortable: false, |
310 | value: "No" | 310 | value: "No" |
311 | }, | 311 | }, |
312 | { | 312 | { |
313 | text: "Profile Pic", | 313 | text: "Profile Pic", |
314 | vaue: "profilePicUrl", | 314 | vaue: "profilePicUrl", |
315 | sortable: false, | 315 | sortable: false, |
316 | align: "center" | 316 | align: "center" |
317 | }, | 317 | }, |
318 | { | 318 | { |
319 | text: "Name", | 319 | text: "Name", |
320 | vaue: "name", | 320 | vaue: "name", |
321 | sortable: false, | 321 | sortable: false, |
322 | align: "center" | 322 | align: "center" |
323 | }, | 323 | }, |
324 | { | 324 | { |
325 | text: "Roll No.", | 325 | text: "Roll No.", |
326 | value: "rollNo", | 326 | value: "rollNo", |
327 | sortable: false, | 327 | sortable: false, |
328 | align: "center" | 328 | align: "center" |
329 | } | 329 | } |
330 | ], | 330 | ], |
331 | headers: [ | 331 | headers: [ |
332 | { | 332 | { |
333 | align: "justify-center", | 333 | align: "justify-center", |
334 | text: "No", | 334 | text: "No", |
335 | sortable: false, | 335 | sortable: false, |
336 | value: "No" | 336 | value: "No" |
337 | }, | 337 | }, |
338 | { | 338 | { |
339 | text: "Profile Pic", | 339 | text: "Profile Pic", |
340 | vaue: "profilePicUrl", | 340 | vaue: "profilePicUrl", |
341 | sortable: false, | 341 | sortable: false, |
342 | align: "center" | 342 | align: "center" |
343 | }, | 343 | }, |
344 | { | 344 | { |
345 | text: "Name", | 345 | text: "Name", |
346 | vaue: "name", | 346 | vaue: "name", |
347 | sortable: false, | 347 | sortable: false, |
348 | align: "center" | 348 | align: "center" |
349 | }, | 349 | }, |
350 | { | 350 | { |
351 | text: "Roll No.", | 351 | text: "Roll No.", |
352 | value: "rollNo", | 352 | value: "rollNo", |
353 | sortable: false, | 353 | sortable: false, |
354 | align: "center" | 354 | align: "center" |
355 | }, | 355 | }, |
356 | { | 356 | { |
357 | text: "Email", | 357 | text: "Email", |
358 | value: "email", | 358 | value: "email", |
359 | sortable: false, | 359 | sortable: false, |
360 | align: "center" | 360 | align: "center" |
361 | }, | 361 | }, |
362 | { text: "Action", value: "", sortable: false, align: "center" } | 362 | { text: "Action", value: "", sortable: false, align: "center" } |
363 | ], | 363 | ], |
364 | classList: [], | 364 | classList: [], |
365 | examList: [], | 365 | examList: [], |
366 | subjects: [], | 366 | subjects: [], |
367 | addMark: {}, | 367 | addMark: {}, |
368 | getMark: {}, | 368 | getMark: {}, |
369 | getScheduleData: {}, | 369 | getScheduleData: {}, |
370 | markData: [], | 370 | markData: [], |
371 | getStudentData: [], | 371 | getStudentData: [], |
372 | getStudentsList: [], | 372 | getStudentsList: [], |
373 | token: "" | 373 | token: "" |
374 | }), | 374 | }), |
375 | methods: { | 375 | methods: { |
376 | activeTab(type) { | 376 | activeTab(type) { |
377 | switch (type) { | 377 | switch (type) { |
378 | case "existing": | 378 | case "existing": |
379 | this.newActive = false; | 379 | this.newActive = false; |
380 | this.isActive = true; | 380 | this.isActive = true; |
381 | break; | 381 | break; |
382 | 382 | ||
383 | default: | 383 | default: |
384 | this.newActive = true; | 384 | this.newActive = true; |
385 | this.isActive = false; | 385 | this.isActive = false; |
386 | break; | 386 | break; |
387 | } | 387 | } |
388 | }, | 388 | }, |
389 | getClass() { | 389 | getClass() { |
390 | this.showLoader = true; | 390 | this.showLoader = true; |
391 | http() | 391 | http() |
392 | .get("/getClassesList", { | 392 | .get("/getClassesList", { |
393 | headers: { Authorization: "Bearer " + this.token } | 393 | headers: { Authorization: "Bearer " + this.token } |
394 | }) | 394 | }) |
395 | .then(response => { | 395 | .then(response => { |
396 | this.classList = response.data.data; | 396 | this.classList = response.data.data; |
397 | this.showLoader = false; | 397 | this.showLoader = false; |
398 | }) | 398 | }) |
399 | .catch(err => { | 399 | .catch(err => { |
400 | // console.log("err====>", err); | 400 | // console.log("err====>", err); |
401 | this.showLoader = false; | 401 | this.showLoader = false; |
402 | }); | 402 | }); |
403 | }, | 403 | }, |
404 | getSections(_id) { | 404 | getSections(_id) { |
405 | this.showLoader = true; | 405 | this.showLoader = true; |
406 | for (let i = 0; i < this.classList.length; i++) { | 406 | for (let i = 0; i < this.classList.length; i++) { |
407 | if (_id == this.classList[i]._id) { | 407 | if (_id == this.classList[i]._id) { |
408 | this.subjects = this.classList[i].subjects; | 408 | this.subjects = this.classList[i].subjects; |
409 | } | 409 | } |
410 | } | 410 | } |
411 | http() | 411 | http() |
412 | .get( | 412 | .get( |
413 | "/getSectionsList", | 413 | "/getSectionsList", |
414 | { params: { classId: _id } }, | 414 | { params: { classId: _id } }, |
415 | { | 415 | { |
416 | headers: { Authorization: "Bearer " + this.token } | 416 | headers: { Authorization: "Bearer " + this.token } |
417 | } | 417 | } |
418 | ) | 418 | ) |
419 | .then(response => { | 419 | .then(response => { |
420 | this.addSection = response.data.data; | 420 | this.addSection = response.data.data; |
421 | this.showLoader = false; | 421 | this.showLoader = false; |
422 | }) | 422 | }) |
423 | .catch(err => { | 423 | .catch(err => { |
424 | // console.log("err====>", err); | 424 | // console.log("err====>", err); |
425 | }); | 425 | }); |
426 | }, | 426 | }, |
427 | getExamList() { | 427 | getExamList() { |
428 | this.showLoader = true; | 428 | this.showLoader = true; |
429 | this.loadingSearch = true; | 429 | this.loadingSearch = true; |
430 | http() | 430 | http() |
431 | .get("/getExamsList", { | 431 | .get("/getExamsList", { |
432 | headers: { Authorization: "Bearer " + this.token } | 432 | headers: { Authorization: "Bearer " + this.token } |
433 | }) | 433 | }) |
434 | .then(response => { | 434 | .then(response => { |
435 | this.examList = response.data.data; | 435 | this.examList = response.data.data; |
436 | this.showLoader = false; | 436 | this.showLoader = false; |
437 | this.loadingSearch = false; | 437 | this.loadingSearch = false; |
438 | }) | 438 | }) |
439 | .catch(error => { | 439 | .catch(error => { |
440 | // console.log("err====>", err); | 440 | // console.log("err====>", err); |
441 | this.showLoader = false; | 441 | this.showLoader = false; |
442 | this.loadingSearch = false; | 442 | this.loadingSearch = false; |
443 | this.snackbar = true; | 443 | this.snackbar = true; |
444 | this.text = error.response.data.message; | 444 | this.text = error.response.data.message; |
445 | if (error.response.status === 401) { | 445 | if (error.response.status === 401) { |
446 | this.$router.replace({ path: "/" }); | 446 | this.$router.replace({ path: "/" }); |
447 | this.$store.dispatch("setToken", null); | 447 | this.$store.dispatch("setToken", null); |
448 | this.$store.dispatch("Id", null); | 448 | this.$store.dispatch("Id", null); |
449 | this.$store.dispatch("Role", null); | 449 | this.$store.dispatch("Role", null); |
450 | } | 450 | } |
451 | }); | 451 | }); |
452 | }, | 452 | }, |
453 | clear() { | 453 | clear() { |
454 | this.$refs.form.reset(); | 454 | this.$refs.form.reset(); |
455 | }, | 455 | }, |
456 | findStudents() { | 456 | findStudents() { |
457 | this.getStudentData = []; | 457 | this.getStudentData = []; |
458 | // for (let k = 0; k < this.headerOfMark.length; k++) { | ||
459 | // this.headerOfMark[k].slice(5); | ||
460 | // console.log(this.headerOfMark); | ||
461 | // } | ||
462 | // console.log(this.headerOfMark); | ||
463 | |||
464 | if (this.$refs.form.validate()) { | 458 | if (this.$refs.form.validate()) { |
465 | this.showLoader = true; | 459 | this.showLoader = true; |
466 | http() | 460 | http() |
467 | .get("/getStudentWithClass", { | 461 | .get("/getStudentWithClass", { |
468 | params: { | 462 | params: { |
469 | classId: this.addMark.classId, | 463 | classId: this.addMark.classId, |
470 | sectionId: this.addMark.sectionId | 464 | sectionId: this.addMark.sectionId |
471 | } | 465 | } |
472 | }) | 466 | }) |
473 | .then(response => { | 467 | .then(response => { |
474 | console.log(" bbbbbbbbbbbbbbbbbbb", this.headerOfMark); | ||
475 | |||
476 | this.getStudentData = response.data.data; | 468 | this.getStudentData = response.data.data; |
477 | this.showLoader = false; | 469 | this.showLoader = false; |
478 | this.showLoader = true; | 470 | this.showLoader = true; |
479 | http() | 471 | http() |
480 | .get("/getMarkDistributionsList", { | 472 | .get("/getMarkDistributionsList", { |
481 | params: this.addMark | 473 | params: this.addMark |
482 | }) | 474 | }) |
483 | .then(response => { | 475 | .then(response => { |
484 | this.showLoader = false; | 476 | this.showLoader = false; |
485 | this.headerOfMark.length = 4; | 477 | this.headerOfMark.length = 4; |
486 | // console.log("getSectionsList=====>", response.data.data); | ||
487 | for (var i = 0; i < response.data.data.length; i++) { | 478 | for (var i = 0; i < response.data.data.length; i++) { |
488 | this.headerOfMark.push({ | 479 | this.headerOfMark.push({ |
489 | text: | 480 | text: |
490 | response.data.data[i].distributionType + | 481 | response.data.data[i].distributionType + |
491 | " (" + | 482 | " (" + |
492 | response.data.data[i].markValue + | 483 | response.data.data[i].markValue + |
493 | ")", | 484 | ")", |
494 | sortable: false, | 485 | sortable: false, |
495 | align: "center" | 486 | align: "center" |
496 | }); | 487 | }); |
497 | } | 488 | } |
498 | for (var n = 0; n < this.getStudentData.length; n++) { | 489 | for (var n = 0; n < this.getStudentData.length; n++) { |
499 | this.getStudentData[n].marksObtained = []; | 490 | this.getStudentData[n].marksObtained = []; |
500 | for (var j = 0; j < response.data.data.length; j++) { | 491 | for (var j = 0; j < response.data.data.length; j++) { |
501 | this.getStudentData[n].marksObtained.push({ | 492 | this.getStudentData[n].marksObtained.push({ |
502 | markDistributionId: response.data.data[j]._id, | 493 | markDistributionId: response.data.data[j]._id, |
503 | marksScored: 0 | 494 | marksScored: 0 |
504 | }); | 495 | }); |
505 | } | 496 | } |
506 | } | 497 | } |
507 | }) | 498 | }) |
508 | .catch(error => { | 499 | .catch(error => { |
509 | console.log("err====>", error); | 500 | console.log("err====>", error); |
510 | this.showLoader = false; | 501 | this.showLoader = false; |
511 | }); | 502 | }); |
512 | }) | 503 | }) |
513 | .catch(error => { | 504 | .catch(error => { |
514 | console.log("err====>", error); | 505 | console.log("err====>", error); |
515 | this.showLoader = false; | 506 | this.showLoader = false; |
516 | }); | 507 | }); |
517 | } | 508 | } |
518 | }, | 509 | }, |
519 | submit() { | 510 | submit() { |
520 | for (var j = 0; j < this.getStudentData.length; j++) { | 511 | for (var j = 0; j < this.getStudentData.length; j++) { |
521 | let data = { | 512 | let data = { |
522 | examId: this.addMark.examId, | 513 | examId: this.addMark.examId, |
523 | classId: this.addMark.classId, | 514 | classId: this.addMark.classId, |
524 | sectionId: this.addMark.sectionId, | 515 | sectionId: this.addMark.sectionId, |
525 | subjectId: this.addMark.subjectId, | 516 | subjectId: this.addMark.subjectId, |
526 | studentId: this.getStudentData[j]._id, | 517 | studentId: this.getStudentData[j]._id, |
527 | studentsMarks: this.getStudentData[j].marksObtained | 518 | studentsMarks: this.getStudentData[j].marksObtained |
528 | }; | 519 | }; |
529 | http() | 520 | http() |
530 | .post("/createMark", data) | 521 | .post("/createMark", data) |
531 | .then(response => { | 522 | .then(response => { |
532 | this.getStudentData = []; | 523 | this.getStudentData = []; |
533 | this.snackbar = true; | 524 | this.snackbar = true; |
534 | this.text = response.data.message; | 525 | this.text = response.data.message; |
535 | this.color = "green"; | 526 | this.color = "green"; |
536 | this.loading = false; | 527 | this.loading = false; |
537 | this.clear(); | 528 | this.clear(); |
538 | }) | 529 | }) |
539 | .catch(error => { | 530 | .catch(error => { |
540 | this.snackbar = true; | 531 | this.snackbar = true; |
541 | this.text = error.response.data.message; | 532 | this.text = error.response.data.message; |
542 | this.color = "red"; | 533 | this.color = "red"; |
543 | }); | 534 | }); |
544 | } | 535 | } |
545 | }, | 536 | }, |
546 | getStudents() { | 537 | getStudents() { |
547 | this.showLoader = true; | 538 | this.showLoader = true; |
548 | http() | 539 | http() |
549 | .get("/getStudentWithClass", { | 540 | .get("/getStudentWithClass", { |
550 | params: { | 541 | params: { |
551 | classId: this.getMark.classId, | 542 | classId: this.getMark.classId, |
552 | sectionId: this.getMark.sectionId | 543 | sectionId: this.getMark.sectionId |
553 | } | 544 | } |
554 | }) | 545 | }) |
555 | .then(response => { | 546 | .then(response => { |
556 | this.getStudentsList = response.data.data; | 547 | this.getStudentsList = response.data.data; |
557 | this.showLoader = false; | 548 | this.showLoader = false; |
558 | // console.log("getSectionsList=====>", response.data.data); | 549 | // console.log("getSectionsList=====>", response.data.data); |
559 | }) | 550 | }) |
560 | .catch(error => { | 551 | .catch(error => { |
561 | console.log("err====>", error); | 552 | console.log("err====>", error); |
562 | this.showLoader = false; | 553 | this.showLoader = false; |
563 | }); | 554 | }); |
564 | } | 555 | } |
565 | }, | 556 | }, |
566 | mounted() { | 557 | mounted() { |
567 | this.token = this.$store.state.token; | 558 | this.token = this.$store.state.token; |
568 | this.getClass(); | 559 | this.getClass(); |
569 | this.getExamList(); | 560 | this.getExamList(); |
570 | }, | 561 | }, |
571 | created() { | 562 | created() { |
572 | this.$root.$on("app:search", search => { | 563 | this.$root.$on("app:search", search => { |
573 | this.search = search; | 564 | this.search = search; |
574 | }); | 565 | }); |
575 | }, | 566 | }, |
576 | beforeDestroy() { | 567 | beforeDestroy() { |
577 | // dont forget to remove the listener | 568 | // dont forget to remove the listener |
578 | this.$root.$off("app:search"); | 569 | this.$root.$off("app:search"); |
579 | } | 570 | } |
580 | }; | 571 | }; |
581 | </script> | 572 | </script> |
582 | <style scoped> | 573 | <style scoped> |
583 | .active { | 574 | .active { |
584 | background-color: gray; | 575 | background-color: gray; |
585 | color: white !important; | 576 | color: white !important; |
586 | } | 577 | } |
587 | .activebtn { | 578 | .activebtn { |
588 | color: black !important; | 579 | color: black !important; |
589 | } | 580 | } |
590 | .markTable { | 581 | .markTable { |
591 | max-width: 80px !important; | 582 | max-width: 80px !important; |
592 | } | 583 | } |
593 | </style> | 584 | </style> |
594 | 585 | ||
595 | 586 | ||
596 | 587 | ||
597 | 588 | ||
598 | 589 | ||
599 | 590 | ||
600 | 591 | ||
601 | 592 | ||
602 | 593 | ||
603 | 594 | ||
604 | 595 | ||
605 | 596 | ||
606 | 597 | ||
607 | 598 | ||
608 | 599 | ||
609 | 600 | ||
610 | 601 | ||
611 | 602 | ||
612 | 603 | ||
613 | 604 | ||
614 | 605 | ||
615 | 606 |
src/pages/Students/students.vue
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | <v-tabs grow slider-color="gray"> | 3 | <v-tabs grow slider-color="gray"> |
4 | <v-tab | 4 | <v-tab |
5 | ripple | 5 | ripple |
6 | @click="activeTab('existing')" | 6 | @click="activeTab('existing')" |
7 | v-bind:class="{ active: isActive }" | 7 | v-bind:class="{ active: isActive }" |
8 | id="tab" | 8 | id="tab" |
9 | class="subheading" | 9 | class="subheading" |
10 | >Existing Students</v-tab> | 10 | >Existing Students</v-tab> |
11 | <v-tab | 11 | <v-tab |
12 | ripple | 12 | ripple |
13 | @click="activeTab('new')" | 13 | @click="activeTab('new')" |
14 | v-bind:class="{ active: newActive }" | 14 | v-bind:class="{ active: newActive }" |
15 | id="tab1" | 15 | id="tab1" |
16 | User | 16 | User |
17 | class="subheading" | 17 | class="subheading" |
18 | >Add New Students</v-tab> | 18 | >Add New Students</v-tab> |
19 | 19 | ||
20 | <!-- ****** EDITS STUDENTS DETAILS ****** --> | 20 | <!-- ****** EDITS STUDENTS DETAILS ****** --> |
21 | 21 | ||
22 | <v-tab-item> | 22 | <v-tab-item> |
23 | <v-snackbar | 23 | <v-snackbar |
24 | :timeout="timeout" | 24 | :timeout="timeout" |
25 | :top="y === 'top'" | 25 | :top="y === 'top'" |
26 | :right="x === 'right'" | 26 | :right="x === 'right'" |
27 | :vertical="mode === 'vertical'" | 27 | :vertical="mode === 'vertical'" |
28 | v-model="snackbar" | 28 | v-model="snackbar" |
29 | color="success" | 29 | color="success" |
30 | >{{ text }}</v-snackbar> | 30 | >{{ text }}</v-snackbar> |
31 | <v-dialog v-model="dialog" max-width="1500px" scrollable> | 31 | <v-dialog v-model="dialog" max-width="170 0px" scrollable> |
32 | <v-card flat> | 32 | <v-card flat> |
33 | <v-toolbar color="grey lighten-2" flat> | 33 | <v-toolbar color="grey lighten-2" flat> |
34 | <v-spacer></v-spacer> | 34 | <v-spacer></v-spacer> |
35 | <v-toolbar-title> | 35 | <v-toolbar-title> |
36 | <h3>Edit Student Profile</h3> | 36 | <h3>Edit Student Profile</h3> |
37 | </v-toolbar-title> | 37 | </v-toolbar-title> |
38 | <v-spacer></v-spacer> | 38 | <v-spacer></v-spacer> |
39 | </v-toolbar> | 39 | </v-toolbar> |
40 | <v-card-text style="height: 586px;"> | 40 | <v-card-text style="height: 680px;"> |
41 | <v-form ref="form"> | 41 | <v-form ref="form"> |
42 | <v-container fluid> | 42 | <v-container fluid> |
43 | <v-layout> | 43 | <v-layout> |
44 | <v-flex | 44 | <v-flex |
45 | xs12 | 45 | xs12 |
46 | class="text-xs-center text-sm-center text-md-center text-lg-center mr-4" | 46 | class="text-xs-center text-sm-center text-md-center text-lg-center" |
47 | > | 47 | > |
48 | <v-avatar size="160px"> | 48 | <v-avatar size="160px"> |
49 | <img | 49 | <img |
50 | src="/static/icon/user.png" | 50 | src="/static/icon/user.png" |
51 | v-if="!editedItem.profilePicUrl && !imageUrl" | 51 | v-if="!editedItem.profilePicUrl && !imageUrl" |
52 | /> | 52 | /> |
53 | <img | 53 | <img |
54 | :src="editedItem.profilePicUrl" | 54 | :src="editedItem.profilePicUrl" |
55 | v-else-if="editedItem.profilePicUrl && !imageUrl" | 55 | v-else-if="editedItem.profilePicUrl && !imageUrl" |
56 | /> | 56 | /> |
57 | <img | 57 | <img |
58 | v-if="imageUrl" | 58 | v-if="imageUrl" |
59 | :src="imageUrl" | 59 | :src="imageUrl" |
60 | height="150" | 60 | height="150" |
61 | style="border-radius:50%; width:200px" | 61 | style="border-radius:50%; width:200px" |
62 | /> | 62 | /> |
63 | </v-avatar> | 63 | </v-avatar> |
64 | <input | 64 | <input |
65 | type="file" | 65 | type="file" |
66 | style="display: none" | 66 | style="display: none" |
67 | ref="image" | 67 | ref="image" |
68 | accept="image/*" | 68 | accept="image/*" |
69 | @change="onFilePicked" | 69 | @change="onFilePicked" |
70 | /> | 70 | /> |
71 | </v-flex> | 71 | </v-flex> |
72 | </v-layout> | 72 | </v-layout> |
73 | <v-layout> | 73 | <v-layout> |
74 | <v-flex xs12 sm4> | 74 | <v-flex xs12 sm4> |
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-xs-only hidden-sm-only">Select Class:</label> | 77 | <label class="right hidden-xs-only hidden-sm-only">Select Class:</label> |
78 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Class:</label> | 78 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Class:</label> |
79 | </v-flex> | 79 | </v-flex> |
80 | <v-flex xs8 class="ml-3"> | 80 | <v-flex xs8 class="ml-3"> |
81 | <v-select | 81 | <v-select |
82 | :items="addclass" | 82 | :items="addclass" |
83 | label="Select Class" | 83 | label="Select Class" |
84 | v-model="editedItem.select" | 84 | v-model="editedItem.select" |
85 | item-text="classNum" | 85 | item-text="classNum" |
86 | item-value="_id" | 86 | item-value="_id" |
87 | name="Select Class" | 87 | name="Select Class" |
88 | @change="getSections(editedItem.select)" | 88 | @change="getSections(editedItem.select)" |
89 | required | 89 | required |
90 | ></v-select> | 90 | ></v-select> |
91 | </v-flex> | 91 | </v-flex> |
92 | </v-layout> | 92 | </v-layout> |
93 | </v-flex> | 93 | </v-flex> |
94 | <v-flex xs12 sm4> | 94 | <v-flex xs12 sm4> |
95 | <v-layout> | 95 | <v-layout> |
96 | <v-flex xs4 class="pt-4 subheading"> | 96 | <v-flex xs4 class="pt-4 subheading"> |
97 | <label class="right hidden-xs-only hidden-sm-only">Select Section:</label> | 97 | <label class="right hidden-xs-only hidden-sm-only">Select Section:</label> |
98 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Section:</label> | 98 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Section:</label> |
99 | </v-flex> | 99 | </v-flex> |
100 | <v-flex xs8 class="ml-3"> | 100 | <v-flex xs8 class="ml-3"> |
101 | <v-select | 101 | <v-select |
102 | :items="addSection" | 102 | :items="addSection" |
103 | label="Select Section" | 103 | label="Select Section" |
104 | v-model="editedItem.selectSection" | 104 | v-model="editedItem.selectSection" |
105 | item-text="name" | 105 | item-text="name" |
106 | item-value="_id" | 106 | item-value="_id" |
107 | name="Select Section" | 107 | name="Select Section" |
108 | required | 108 | required |
109 | ></v-select> | 109 | ></v-select> |
110 | </v-flex> | 110 | </v-flex> |
111 | </v-layout> | 111 | </v-layout> |
112 | </v-flex> | 112 | </v-flex> |
113 | <v-flex xs12 sm4> | 113 | <v-flex xs12 sm4> |
114 | <v-layout> | 114 | <v-layout> |
115 | <v-flex xs4 class="pt-4 subheading"> | 115 | <v-flex xs4 class="pt-4 subheading"> |
116 | <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> | 116 | <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> |
117 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Name:</label> | 117 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Name:</label> |
118 | </v-flex> | 118 | </v-flex> |
119 | <v-flex xs8 class="ml-3"> | 119 | <v-flex xs8 class="ml-3"> |
120 | <v-text-field | 120 | <v-text-field |
121 | v-model="editedItem.name" | 121 | v-model="editedItem.name" |
122 | placeholder="fill your full Name" | 122 | placeholder="fill your full Name" |
123 | name="name" | 123 | name="name" |
124 | type="text" | 124 | type="text" |
125 | required | 125 | required |
126 | ></v-text-field> | 126 | ></v-text-field> |
127 | </v-flex> | 127 | </v-flex> |
128 | </v-layout> | 128 | </v-layout> |
129 | </v-flex> | 129 | </v-flex> |
130 | </v-layout> | 130 | </v-layout> |
131 | <v-layout> | 131 | <v-layout> |
132 | <v-flex xs12 sm4> | 132 | <v-flex xs12 sm4> |
133 | <v-layout> | 133 | <v-layout> |
134 | <v-flex xs4 class="pt-4 subheading"> | 134 | <v-flex xs4 class="pt-4 subheading"> |
135 | <label class="right">Email ID:</label> | 135 | <label class="right">Email ID:</label> |
136 | </v-flex> | 136 | </v-flex> |
137 | <v-flex xs8 class="ml-3"> | 137 | <v-flex xs8 class="ml-3"> |
138 | <v-text-field | 138 | <v-text-field |
139 | placeholder="fill your email" | 139 | placeholder="fill your email" |
140 | v-model="editedItem.email" | 140 | v-model="editedItem.email" |
141 | type="text" | 141 | type="text" |
142 | name="email" | 142 | name="email" |
143 | required | 143 | required |
144 | ></v-text-field> | 144 | ></v-text-field> |
145 | </v-flex> | 145 | </v-flex> |
146 | </v-layout> | 146 | </v-layout> |
147 | </v-flex> | 147 | </v-flex> |
148 | <v-flex xs12 sm4> | 148 | <v-flex xs12 sm4> |
149 | <v-layout> | 149 | <v-layout> |
150 | <v-flex xs4 class="pt-4 subheading"> | 150 | <v-flex xs4 class="pt-4 subheading"> |
151 | <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> | 151 | <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> |
152 | <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> | 152 | <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> |
153 | </v-flex> | 153 | </v-flex> |
154 | <v-flex xs8 class="ml-3"> | 154 | <v-flex xs8 class="ml-3"> |
155 | <v-menu | 155 | <v-menu |
156 | ref="menu" | 156 | ref="menu" |
157 | :close-on-content-click="false" | 157 | :close-on-content-click="false" |
158 | v-model="menu1" | 158 | v-model="menu1" |
159 | :nudge-right="40" | 159 | :nudge-right="40" |
160 | lazy | 160 | lazy |
161 | transition="scale-transition" | 161 | transition="scale-transition" |
162 | offset-y | 162 | offset-y |
163 | full-width | 163 | full-width |
164 | min-width="290px" | 164 | min-width="290px" |
165 | > | 165 | > |
166 | <v-text-field | 166 | <v-text-field |
167 | slot="activator" | 167 | slot="activator" |
168 | v-model="editedItem.dob" | 168 | v-model="editedItem.dob" |
169 | placeholder="Select Dob" | 169 | placeholder="Select Dob" |
170 | ></v-text-field> | 170 | ></v-text-field> |
171 | <v-date-picker | 171 | <v-date-picker |
172 | ref="picker" | 172 | ref="picker" |
173 | v-model="editedItem.dob" | 173 | v-model="editedItem.dob" |
174 | :max="new Date().toISOString().substr(0, 10)" | 174 | :max="new Date().toISOString().substr(0, 10)" |
175 | min="1950-01-01" | 175 | min="1950-01-01" |
176 | @input="menu1 = false" | 176 | @input="menu1 = false" |
177 | ></v-date-picker> | 177 | ></v-date-picker> |
178 | </v-menu> | 178 | </v-menu> |
179 | </v-flex> | 179 | </v-flex> |
180 | </v-layout> | 180 | </v-layout> |
181 | </v-flex> | 181 | </v-flex> |
182 | <v-flex xs12 sm4> | 182 | <v-flex xs12 sm4> |
183 | <v-layout> | 183 | <v-layout> |
184 | <v-flex xs4 class="pt-4 subheading"> | 184 | <v-flex xs4 class="pt-4 subheading"> |
185 | <label class="right">City:</label> | 185 | <label class="right">City:</label> |
186 | </v-flex> | 186 | </v-flex> |
187 | <v-flex xs8 class="ml-3"> | 187 | <v-flex xs8 class="ml-3"> |
188 | <v-text-field | 188 | <v-text-field |
189 | v-model="editedItem.city" | 189 | v-model="editedItem.city" |
190 | placeholder="fill your City Name" | 190 | placeholder="fill your City Name" |
191 | name="City" | 191 | name="City" |
192 | type="text" | 192 | type="text" |
193 | required | 193 | required |
194 | ></v-text-field> | 194 | ></v-text-field> |
195 | </v-flex> | 195 | </v-flex> |
196 | </v-layout> | 196 | </v-layout> |
197 | </v-flex> | 197 | </v-flex> |
198 | </v-layout> | 198 | </v-layout> |
199 | <v-layout> | 199 | <v-layout> |
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 hidden-xs-only hidden-sm-only">Blood Group:</label> | 203 | <label class="right hidden-xs-only hidden-sm-only">Blood Group:</label> |
204 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Blood:</label> | 204 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Blood:</label> |
205 | </v-flex> | 205 | </v-flex> |
206 | <v-flex xs8 class="ml-3"> | 206 | <v-flex xs8 class="ml-3"> |
207 | <v-text-field | 207 | <v-text-field |
208 | v-model="editedItem.bloodGroup" | 208 | v-model="editedItem.bloodGroup" |
209 | placeholder="fill your BloodGroup" | 209 | placeholder="fill your BloodGroup" |
210 | name="state" | 210 | name="state" |
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 sm4> | 217 | <v-flex xs12 sm4> |
218 | <v-layout> | 218 | <v-layout> |
219 | <v-flex xs4 class="pt-4 subheading"> | 219 | <v-flex xs4 class="pt-4 subheading"> |
220 | <label class="right">Allergies:</label> | 220 | <label class="right">Allergies:</label> |
221 | </v-flex> | 221 | </v-flex> |
222 | <v-flex xs8 class="ml-3"> | 222 | <v-flex xs8 class="ml-3"> |
223 | <v-text-field | 223 | <v-text-field |
224 | v-model="editedItem.allergies" | 224 | v-model="editedItem.allergies" |
225 | placeholder="fill your Allergies" | 225 | placeholder="fill your Allergies" |
226 | name="pincode" | 226 | name="pincode" |
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">Medical Notes:</label> | 235 | <label class="right">Medical Notes:</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.medicalNotes" | 239 | v-model="editedItem.medicalNotes" |
240 | placeholder="fill your medicalNotes" | 240 | placeholder="fill your medicalNotes" |
241 | name="mobileNo" | 241 | name="mobileNo" |
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-layout> | 247 | </v-layout> |
248 | <v-layout> | 248 | <v-layout> |
249 | <v-flex xs12 sm4> | 249 | <v-flex xs12 sm4> |
250 | <v-layout> | 250 | <v-layout> |
251 | <v-flex xs4 class="pt-4 subheading"> | 251 | <v-flex xs4 class="pt-4 subheading"> |
252 | <label class="right">Height:</label> | 252 | <label class="right">Height:</label> |
253 | </v-flex> | 253 | </v-flex> |
254 | <v-flex xs8 class="ml-3"> | 254 | <v-flex xs8 class="ml-3"> |
255 | <v-text-field | 255 | <v-text-field |
256 | v-model="editedItem.height" | 256 | v-model="editedItem.height" |
257 | placeholder="fill your Height" | 257 | placeholder="fill your Height" |
258 | name="state" | 258 | name="state" |
259 | type="text" | 259 | type="text" |
260 | required | 260 | required |
261 | ></v-text-field> | 261 | ></v-text-field> |
262 | </v-flex> | 262 | </v-flex> |
263 | </v-layout> | 263 | </v-layout> |
264 | </v-flex> | 264 | </v-flex> |
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">Weight:</label> | 268 | <label class="right">Weight:</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.weight" | 272 | v-model="editedItem.weight" |
273 | placeholder="fill your Weight" | 273 | placeholder="fill your Weight" |
274 | name="pincode" | 274 | name="pincode" |
275 | required | 275 | required |
276 | ></v-text-field> | 276 | ></v-text-field> |
277 | </v-flex> | 277 | </v-flex> |
278 | </v-layout> | 278 | </v-layout> |
279 | </v-flex> | 279 | </v-flex> |
280 | <v-flex xs12 sm4> | 280 | <v-flex xs12 sm4> |
281 | <v-layout> | 281 | <v-layout> |
282 | <v-flex xs4 class="pt-4 subheading"> | 282 | <v-flex xs4 class="pt-4 subheading"> |
283 | <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> | 283 | <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> |
284 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod :</label> | 284 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod:</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 | label="Select Image" | 288 | label="Select Image" |
289 | @click="pickFile" | 289 | @click="pickFile" |
290 | v-model="imageName" | 290 | v-model="imageName" |
291 | append-icon="attach_file" | 291 | append-icon="attach_file" |
292 | ></v-text-field> | 292 | ></v-text-field> |
293 | </v-flex> | 293 | </v-flex> |
294 | </v-layout> | 294 | </v-layout> |
295 | </v-flex> | 295 | </v-flex> |
296 | </v-layout> | 296 | </v-layout> |
297 | <v-layout> | 297 | <v-layout> |
298 | <v-flex xs12 sm4> | 298 | <v-flex xs12 sm4> |
299 | <v-layout> | 299 | <v-layout> |
300 | <v-flex xs4 class="pt-4 subheading"> | 300 | <v-flex xs4 class="pt-4 subheading"> |
301 | <label class="right">State:</label> | 301 | <label class="right">State:</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.state" | 305 | v-model="editedItem.state" |
306 | placeholder="fill your State Name" | 306 | placeholder="fill your State Name" |
307 | name="state" | 307 | name="state" |
308 | type="text" | 308 | type="text" |
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-flex xs12 sm4> | 314 | <v-flex xs12 sm4> |
315 | <v-layout> | 315 | <v-layout> |
316 | <v-flex xs4 class="pt-4 subheading"> | 316 | <v-flex xs4 class="pt-4 subheading"> |
317 | <label class="right">Pincode:</label> | 317 | <label class="right">Pincode:</label> |
318 | </v-flex> | 318 | </v-flex> |
319 | <v-flex xs8 class="ml-3"> | 319 | <v-flex xs8 class="ml-3"> |
320 | <v-text-field | 320 | <v-text-field |
321 | v-model="editedItem.pincode" | 321 | v-model="editedItem.pincode" |
322 | placeholder="fill your pincode" | 322 | placeholder="fill your pincode" |
323 | name="pincode" | 323 | name="pincode" |
324 | type="number" | 324 | type="number" |
325 | required | 325 | required |
326 | ></v-text-field> | 326 | ></v-text-field> |
327 | </v-flex> | 327 | </v-flex> |
328 | </v-layout> | 328 | </v-layout> |
329 | </v-flex> | 329 | </v-flex> |
330 | <v-flex xs12 sm4> | 330 | <v-flex xs12 sm4> |
331 | <v-layout> | 331 | <v-layout> |
332 | <v-flex xs4 class="pt-4 subheading"> | 332 | <v-flex xs4 class="pt-4 subheading"> |
333 | <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> | 333 | <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> |
334 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> | 334 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> |
335 | </v-flex> | 335 | </v-flex> |
336 | <v-flex xs8 class="ml-3"> | 336 | <v-flex xs8 class="ml-3"> |
337 | <v-text-field | 337 | <v-text-field |
338 | v-model="editedItem.mobile" | 338 | v-model="editedItem.mobile" |
339 | placeholder="fill your MobileNo" | 339 | placeholder="fill your MobileNo" |
340 | name="mobileNo" | 340 | name="mobileNo" |
341 | type="number" | 341 | type="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-layout> | 347 | </v-layout> |
348 | <v-layout> | 348 | <v-layout> |
349 | <v-flex xs12 sm4> | 349 | <v-flex xs12 sm4> |
350 | <v-layout> | 350 | <v-layout> |
351 | <v-flex xs4 class="pt-4 subheading"> | 351 | <v-flex xs4 class="pt-4 subheading"> |
352 | <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> | 352 | <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> |
353 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> | 353 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> |
354 | </v-flex> | 354 | </v-flex> |
355 | <v-flex xs8 class="ml-3"> | 355 | <v-flex xs8 class="ml-3"> |
356 | <v-autocomplete | 356 | <v-autocomplete |
357 | v-model="editedItem.country" | 357 | v-model="editedItem.country" |
358 | :items="countries" | 358 | :items="countries" |
359 | placeholder="Select Country Name" | 359 | placeholder="Select Country Name" |
360 | required | 360 | required |
361 | ></v-autocomplete> | 361 | ></v-autocomplete> |
362 | </v-flex> | 362 | </v-flex> |
363 | </v-layout> | 363 | </v-layout> |
364 | </v-flex> | 364 | </v-flex> |
365 | <v-flex xs12 sm4> | 365 | <v-flex xs12 sm4> |
366 | <v-layout> | 366 | <v-layout> |
367 | <v-flex xs4 class="pt-4 subheading"> | 367 | <v-flex xs4 class="pt-4 subheading"> |
368 | <label class="right">Gender:</label> | 368 | <label class="right">Gender:</label> |
369 | </v-flex> | 369 | </v-flex> |
370 | <v-flex xs8 class="ml-3"> | 370 | <v-flex xs8 class="ml-3"> |
371 | <v-select | 371 | <v-select |
372 | :items="gender" | 372 | :items="gender" |
373 | v-model="editedItem.gender" | 373 | v-model="editedItem.gender" |
374 | placeholder="Select Gender" | 374 | placeholder="Select Gender" |
375 | required | 375 | required |
376 | ></v-select> | 376 | ></v-select> |
377 | </v-flex> | 377 | </v-flex> |
378 | </v-layout> | 378 | </v-layout> |
379 | </v-flex> | 379 | </v-flex> |
380 | <v-flex xs12 sm4> | 380 | <v-flex xs12 sm4> |
381 | <v-layout> | 381 | <v-layout> |
382 | <v-flex xs4 class="pt-4 subheading"> | 382 | <v-flex xs4 class="pt-4 subheading"> |
383 | <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label> | 383 | <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label> |
384 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Roll No:</label> | 384 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Roll No:</label> |
385 | </v-flex> | 385 | </v-flex> |
386 | <v-flex xs8 class="ml-3"> | 386 | <v-flex xs8 class="ml-3"> |
387 | <v-text-field | 387 | <v-text-field |
388 | :items="gender" | 388 | :items="gender" |
389 | v-model="editedItem.rollNo" | 389 | v-model="editedItem.rollNo" |
390 | placeholder="fill roll number" | 390 | placeholder="fill roll number" |
391 | required | 391 | required |
392 | ></v-text-field> | 392 | ></v-text-field> |
393 | </v-flex> | 393 | </v-flex> |
394 | </v-layout> | 394 | </v-layout> |
395 | </v-flex> | 395 | </v-flex> |
396 | </v-layout> | 396 | </v-layout> |
397 | <v-layout class="hidden-xs-only hidden-sm-only"> | 397 | <v-layout class="hidden-xs-only hidden-sm-only"> |
398 | <v-flex xs12 sm12> | 398 | <v-flex xs12 sm4> |
399 | <v-layout> | 399 | <v-layout> |
400 | <v-flex xs4 sm2 class="pt-4 subheading ml-5"> | 400 | <v-flex xs4 sm4 class="pt-4 subheading"> |
401 | <label class="right pr-4">Present Address:</label> | 401 | <label class="right hidden-xs-only hidden-sm-only">Permanent Address:</label> |
402 | <label | ||
403 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | ||
404 | >Permanent Address:</label> | ||
402 | </v-flex> | 405 | </v-flex> |
403 | <v-flex xs8 sm12> | 406 | <v-flex xs12 sm8 class="ml-3"> |
404 | <v-text-field | 407 | <v-text-field |
405 | name="input-4-3" | 408 | v-model="editedItem.permanentAddress" |
406 | v-model="editedItem.presentAddress" | 409 | placeholder="fill Your Permanent Address" |
407 | placeholder="fill Your present Address" | ||
408 | required | 410 | required |
409 | ></v-text-field> | 411 | ></v-text-field> |
410 | </v-flex> | 412 | </v-flex> |
411 | </v-layout> | 413 | </v-layout> |
412 | </v-flex> | 414 | </v-flex> |
413 | <v-flex xs12 sm12> | 415 | <v-flex xs12 sm4> |
414 | <v-layout> | 416 | <v-layout> |
415 | <v-flex xs4 sm2 class="pt-4 subheading ml-5 addressForm"> | 417 | <v-flex xs4 class="pt-4 subheading"> |
416 | <label class>Permanent Address:</label> | 418 | <label class="right hidden-xs-only hidden-sm-only">Present Address:</label> |
419 | <label | ||
420 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | ||
421 | >Present Address:</label> | ||
417 | </v-flex> | 422 | </v-flex> |
418 | <v-flex xs12 sm12> | 423 | <v-flex xs8 class="ml-3"> |
419 | <v-text-field | 424 | <v-text-field |
420 | name="input-4-3" | 425 | v-model="editedItem.presentAddress" |
421 | v-model="editedItem.permanentAddress" | 426 | placeholder="Select Country Name" |
422 | placeholder="fill Your Permanent Address" | ||
423 | required | 427 | required |
424 | ></v-text-field> | 428 | ></v-text-field> |
425 | </v-flex> | 429 | </v-flex> |
426 | </v-layout> | 430 | </v-layout> |
427 | </v-flex> | 431 | </v-flex> |
428 | </v-layout> | 432 | </v-layout> |
429 | <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only"> | 433 | <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only"> |
430 | <v-flex xs12 sm12> | 434 | <v-flex xs12 sm12> |
431 | <v-layout> | 435 | <v-layout> |
432 | <v-flex xs12 sm3 class="pt-4 subheading text-xs-center"> | 436 | <v-flex xs12 sm3 class="pt-4 subheading text-xs-center"> |
433 | <label class>Present Address :</label> | 437 | <label class>Present Address :</label> |
434 | </v-flex> | 438 | </v-flex> |
435 | </v-layout> | 439 | </v-layout> |
436 | <v-layout> | 440 | <v-layout> |
437 | <v-flex xs12 sm12> | 441 | <v-flex xs12 sm12> |
438 | <v-textarea | 442 | <v-textarea |
439 | name="input-4-3" | ||
440 | v-model="editedItem.presentAddress" | 443 | v-model="editedItem.presentAddress" |
441 | placeholder="fill Your present Address" | 444 | placeholder="fill Your present Address" |
442 | required | 445 | required |
443 | ></v-textarea> | 446 | ></v-textarea> |
444 | </v-flex> | 447 | </v-flex> |
445 | </v-layout> | 448 | </v-layout> |
446 | </v-flex> | 449 | </v-flex> |
447 | <v-flex xs12 sm12> | 450 | <v-flex xs12 sm12> |
448 | <v-layout> | 451 | <v-layout> |
449 | <v-flex xs12 sm3 class="pt-4 pr-4 subheading text-xs-center addressForm"> | 452 | <v-flex xs12 sm3 class="pt-4 pr-4 subheading text-xs-center addressForm"> |
450 | <label>Permanent addr:</label> | 453 | <label>Permanent addr:</label> |
451 | </v-flex> | 454 | </v-flex> |
452 | </v-layout> | 455 | </v-layout> |
453 | <v-layout> | 456 | <v-layout> |
454 | <v-flex xs12 sm12> | 457 | <v-flex xs12 sm12> |
455 | <v-textarea | 458 | <v-textarea |
456 | name="input-4-3" | 459 | name="input-4-3" |
457 | v-model="editedItem.permanentAddress" | 460 | v-model="editedItem.permanentAddress" |
458 | placeholder="fill Your Permanent Address" | 461 | placeholder="fill Your Permanent Address" |
459 | required | 462 | required |
460 | ></v-textarea> | 463 | ></v-textarea> |
461 | </v-flex> | 464 | </v-flex> |
462 | </v-layout> | 465 | </v-layout> |
463 | </v-flex> | 466 | </v-flex> |
464 | </v-layout> | 467 | </v-layout> |
465 | <v-layout> | 468 | <v-layout> |
466 | <v-flex xs12 sm12> | 469 | <v-flex xs12 sm12> |
467 | <v-layout> | 470 | <v-layout> |
468 | <v-flex xs6> | 471 | <v-flex xs6> |
469 | <v-btn round dark @click.native="close">Cancel</v-btn> | 472 | <v-btn round dark @click.native="close">Cancel</v-btn> |
470 | </v-flex> | 473 | </v-flex> |
471 | <v-flex xs6> | 474 | <v-flex xs6> |
472 | <v-btn @click="save" round dark :loading="loading" class="right">Save</v-btn> | 475 | <v-btn @click="save" round dark :loading="loading" class="right">Save</v-btn> |
473 | </v-flex> | 476 | </v-flex> |
474 | </v-layout> | 477 | </v-layout> |
475 | </v-flex> | 478 | </v-flex> |
476 | </v-layout> | 479 | </v-layout> |
477 | </v-container> | 480 | </v-container> |
478 | </v-form> | 481 | </v-form> |
479 | </v-card-text> | 482 | </v-card-text> |
480 | </v-card> | 483 | </v-card> |
481 | </v-dialog> | 484 | </v-dialog> |
482 | 485 | ||
483 | <!-- ****** PROFILE VIEW STUDENTS DEATILS ****** --> | 486 | <!-- ****** PROFILE VIEW STUDENTS DEATILS ****** --> |
484 | 487 | ||
485 | <v-dialog v-model="dialog1" max-width="1100px" scrollable> | 488 | <v-dialog v-model="dialog1" max-width="1100px" scrollable> |
486 | <v-card> | 489 | <v-card> |
487 | <v-toolbar color="grey lighten-2" flat> | 490 | <v-toolbar color="grey lighten-2" flat> |
488 | <v-spacer></v-spacer> | 491 | <v-spacer></v-spacer> |
489 | <v-toolbar-title>Student Profile</v-toolbar-title> | 492 | <v-toolbar-title>Student Profile</v-toolbar-title> |
490 | <v-spacer></v-spacer> | 493 | <v-spacer></v-spacer> |
491 | <v-icon @click="close1">close</v-icon> | 494 | <v-icon @click="close1">close</v-icon> |
492 | </v-toolbar> | 495 | </v-toolbar> |
493 | <v-card-text style="height: 700px;"> | 496 | <v-card-text style="height: 700px;"> |
494 | <v-flex align-center justify-center layout text-xs-center class="mt-3"> | 497 | <v-flex align-center justify-center layout text-xs-center class="mt-3"> |
495 | <v-avatar size="160px"> | 498 | <v-avatar size="160px"> |
496 | <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> | 499 | <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> |
497 | <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> | 500 | <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> |
498 | </v-avatar> | 501 | </v-avatar> |
499 | </v-flex> | 502 | </v-flex> |
500 | <v-container grid-list-md> | 503 | <v-container grid-list-md> |
501 | <v-layout wrap> | 504 | <v-layout wrap> |
502 | <v-flex xs12 sm6> | 505 | <v-flex xs12 sm6> |
503 | <v-layout> | 506 | <v-layout> |
504 | <v-flex xs6 sm5> | 507 | <v-flex xs6 sm5> |
505 | <h5 class="right my-1"> | 508 | <h5 class="right my-1"> |
506 | <b>Full Name:</b> | 509 | <b>Full Name:</b> |
507 | </h5> | 510 | </h5> |
508 | </v-flex> | 511 | </v-flex> |
509 | <v-flex sm7 xs6> | 512 | <v-flex sm7 xs6> |
510 | <h5 class="my-1 left">{{ editedItem.name }}</h5> | 513 | <h5 class="my-1 left">{{ editedItem.name }}</h5> |
511 | </v-flex> | 514 | </v-flex> |
512 | </v-layout> | 515 | </v-layout> |
513 | </v-flex> | 516 | </v-flex> |
514 | <v-flex xs12 sm6> | 517 | <v-flex xs12 sm6> |
515 | <v-layout> | 518 | <v-layout> |
516 | <v-flex xs6 sm4> | 519 | <v-flex xs6 sm4> |
517 | <h5 class="right my-1"> | 520 | <h5 class="right my-1"> |
518 | <b>Email:</b> | 521 | <b>Email:</b> |
519 | </h5> | 522 | </h5> |
520 | </v-flex> | 523 | </v-flex> |
521 | <v-flex sm8 xs6> | 524 | <v-flex sm8 xs6> |
522 | <h5 class="my-1 left">{{ editedItem.email }}</h5> | 525 | <h5 class="my-1 left">{{ editedItem.email }}</h5> |
523 | </v-flex> | 526 | </v-flex> |
524 | </v-layout> | 527 | </v-layout> |
525 | </v-flex> | 528 | </v-flex> |
526 | </v-layout> | 529 | </v-layout> |
527 | <v-layout wrap> | 530 | <v-layout wrap> |
528 | <v-flex xs12 sm6> | 531 | <v-flex xs12 sm6> |
529 | <v-layout> | 532 | <v-layout> |
530 | <v-flex xs6 sm5> | 533 | <v-flex xs6 sm5> |
531 | <b> | 534 | <b> |
532 | <h5 class="right my-1"> | 535 | <h5 class="right my-1"> |
533 | <b>Gender:</b> | 536 | <b>Gender:</b> |
534 | </h5> | 537 | </h5> |
535 | </b> | 538 | </b> |
536 | </v-flex> | 539 | </v-flex> |
537 | <v-flex sm7 xs6> | 540 | <v-flex sm7 xs6> |
538 | <h5 class="my-1 left">{{ editedItem.gender }}</h5> | 541 | <h5 class="my-1 left">{{ editedItem.gender }}</h5> |
539 | </v-flex> | 542 | </v-flex> |
540 | </v-layout> | 543 | </v-layout> |
541 | </v-flex> | 544 | </v-flex> |
542 | <v-flex xs12 sm6> | 545 | <v-flex xs12 sm6> |
543 | <v-layout> | 546 | <v-layout> |
544 | <v-flex xs6 sm4> | 547 | <v-flex xs6 sm4> |
545 | <b> | 548 | <b> |
546 | <h5 class="right my-1"> | 549 | <h5 class="right my-1"> |
547 | <b>D.O.B:</b> | 550 | <b>D.O.B:</b> |
548 | </h5> | 551 | </h5> |
549 | </b> | 552 | </b> |
550 | </v-flex> | 553 | </v-flex> |
551 | <v-flex sm7 xs6> | 554 | <v-flex sm7 xs6> |
552 | <h5 class="my-1">{{ dates(editedItem.dob) }}</h5> | 555 | <h5 class="my-1">{{ dates(editedItem.dob) }}</h5> |
553 | </v-flex> | 556 | </v-flex> |
554 | </v-layout> | 557 | </v-layout> |
555 | </v-flex> | 558 | </v-flex> |
556 | </v-layout> | 559 | </v-layout> |
557 | <v-layout wrap> | 560 | <v-layout wrap> |
558 | <v-flex xs12 sm6> | 561 | <v-flex xs12 sm6> |
559 | <v-layout> | 562 | <v-layout> |
560 | <v-flex xs6 sm5> | 563 | <v-flex xs6 sm5> |
561 | <b> | 564 | <b> |
562 | <h5 class="right my-1"> | 565 | <h5 class="right my-1"> |
563 | <b>Blood Group:</b> | 566 | <b>Blood Group:</b> |
564 | </h5> | 567 | </h5> |
565 | </b> | 568 | </b> |
566 | </v-flex> | 569 | </v-flex> |
567 | <v-flex sm7 xs6> | 570 | <v-flex sm7 xs6> |
568 | <h5 class="my-1 left">{{ editedItem.bloodGroup }}</h5> | 571 | <h5 class="my-1 left">{{ editedItem.bloodGroup }}</h5> |
569 | </v-flex> | 572 | </v-flex> |
570 | </v-layout> | 573 | </v-layout> |
571 | </v-flex> | 574 | </v-flex> |
572 | <v-flex xs12 sm6> | 575 | <v-flex xs12 sm6> |
573 | <v-layout> | 576 | <v-layout> |
574 | <v-flex xs6 sm4> | 577 | <v-flex xs6 sm4> |
575 | <b> | 578 | <b> |
576 | <h5 class="right my-1"> | 579 | <h5 class="right my-1"> |
577 | <b>Allergies:</b> | 580 | <b>Allergies:</b> |
578 | </h5> | 581 | </h5> |
579 | </b> | 582 | </b> |
580 | </v-flex> | 583 | </v-flex> |
581 | <v-flex sm8 xs6> | 584 | <v-flex sm8 xs6> |
582 | <h5 class="my-1">{{ editedItem.allergies }}</h5> | 585 | <h5 class="my-1">{{ editedItem.allergies }}</h5> |
583 | </v-flex> | 586 | </v-flex> |
584 | </v-layout> | 587 | </v-layout> |
585 | </v-flex> | 588 | </v-flex> |
586 | </v-layout> | 589 | </v-layout> |
587 | <v-layout wrap> | 590 | <v-layout wrap> |
588 | <v-flex xs12 sm6> | 591 | <v-flex xs12 sm6> |
589 | <v-layout> | 592 | <v-layout> |
590 | <v-flex xs6 sm5> | 593 | <v-flex xs6 sm5> |
591 | <b> | 594 | <b> |
592 | <h5 class="right my-1"> | 595 | <h5 class="right my-1"> |
593 | <b>Height:</b> | 596 | <b>Height:</b> |
594 | </h5> | 597 | </h5> |
595 | </b> | 598 | </b> |
596 | </v-flex> | 599 | </v-flex> |
597 | <v-flex sm7 xs6> | 600 | <v-flex sm7 xs6> |
598 | <h5 class="my-1 left">{{ editedItem.height }}</h5> | 601 | <h5 class="my-1 left">{{ editedItem.height }}</h5> |
599 | </v-flex> | 602 | </v-flex> |
600 | </v-layout> | 603 | </v-layout> |
601 | </v-flex> | 604 | </v-flex> |
602 | <v-flex xs12 sm6> | 605 | <v-flex xs12 sm6> |
603 | <v-layout> | 606 | <v-layout> |
604 | <v-flex xs6 sm4> | 607 | <v-flex xs6 sm4> |
605 | <b> | 608 | <b> |
606 | <h5 class="right my-1"> | 609 | <h5 class="right my-1"> |
607 | <b>Weight:</b> | 610 | <b>Weight:</b> |
608 | </h5> | 611 | </h5> |
609 | </b> | 612 | </b> |
610 | </v-flex> | 613 | </v-flex> |
611 | <v-flex sm8 xs6> | 614 | <v-flex sm8 xs6> |
612 | <h5 class="my-1">{{ editedItem.weight }}</h5> | 615 | <h5 class="my-1">{{ editedItem.weight }}</h5> |
613 | </v-flex> | 616 | </v-flex> |
614 | </v-layout> | 617 | </v-layout> |
615 | </v-flex> | 618 | </v-flex> |
616 | </v-layout> | 619 | </v-layout> |
617 | <v-layout wrap> | 620 | <v-layout wrap> |
618 | <v-flex xs12 sm6> | 621 | <v-flex xs12 sm6> |
619 | <v-layout> | 622 | <v-layout> |
620 | <v-flex xs6 sm5> | 623 | <v-flex xs6 sm5> |
621 | <b> | 624 | <b> |
622 | <h5 class="right my-1"> | 625 | <h5 class="right my-1"> |
623 | <b>City:</b> | 626 | <b>City:</b> |
624 | </h5> | 627 | </h5> |
625 | </b> | 628 | </b> |
626 | </v-flex> | 629 | </v-flex> |
627 | <v-flex sm7 xs6> | 630 | <v-flex sm7 xs6> |
628 | <h5 class="my-1 left">{{ editedItem.city }}</h5> | 631 | <h5 class="my-1 left">{{ editedItem.city }}</h5> |
629 | </v-flex> | 632 | </v-flex> |
630 | </v-layout> | 633 | </v-layout> |
631 | </v-flex> | 634 | </v-flex> |
632 | <v-flex xs12 sm6> | 635 | <v-flex xs12 sm6> |
633 | <v-layout> | 636 | <v-layout> |
634 | <v-flex xs6 sm4> | 637 | <v-flex xs6 sm4> |
635 | <b> | 638 | <b> |
636 | <h5 class="right my-1"> | 639 | <h5 class="right my-1"> |
637 | <b>State:</b> | 640 | <b>State:</b> |
638 | </h5> | 641 | </h5> |
639 | </b> | 642 | </b> |
640 | </v-flex> | 643 | </v-flex> |
641 | <v-flex sm8 xs6> | 644 | <v-flex sm8 xs6> |
642 | <h5 class="my-1">{{ editedItem.state }}</h5> | 645 | <h5 class="my-1">{{ editedItem.state }}</h5> |
643 | </v-flex> | 646 | </v-flex> |
644 | </v-layout> | 647 | </v-layout> |
645 | </v-flex> | 648 | </v-flex> |
646 | </v-layout> | 649 | </v-layout> |
647 | <v-layout wrap> | 650 | <v-layout wrap> |
648 | <v-flex xs12 sm6> | 651 | <v-flex xs12 sm6> |
649 | <v-layout> | 652 | <v-layout> |
650 | <v-flex xs6 sm5> | 653 | <v-flex xs6 sm5> |
651 | <b> | 654 | <b> |
652 | <h5 class="right my-1"> | 655 | <h5 class="right my-1"> |
653 | <b>Pincode:</b> | 656 | <b>Pincode:</b> |
654 | </h5> | 657 | </h5> |
655 | </b> | 658 | </b> |
656 | </v-flex> | 659 | </v-flex> |
657 | <v-flex sm7 xs6> | 660 | <v-flex sm7 xs6> |
658 | <h5 class="my-1">{{ editedItem.pincode }}</h5> | 661 | <h5 class="my-1">{{ editedItem.pincode }}</h5> |
659 | </v-flex> | 662 | </v-flex> |
660 | </v-layout> | 663 | </v-layout> |
661 | </v-flex> | 664 | </v-flex> |
662 | <v-flex xs12 sm5> | 665 | <v-flex xs12 sm5> |
663 | <v-layout> | 666 | <v-layout> |
664 | <v-flex xs6 sm5> | 667 | <v-flex xs6 sm5> |
665 | <b> | 668 | <b> |
666 | <h5 class="right my-1"> | 669 | <h5 class="right my-1"> |
667 | <b>Country:</b> | 670 | <b>Country:</b> |
668 | </h5> | 671 | </h5> |
669 | </b> | 672 | </b> |
670 | </v-flex> | 673 | </v-flex> |
671 | <v-flex sm7 xs6> | 674 | <v-flex sm7 xs6> |
672 | <h5 class="my-1">{{ editedItem.country }}</h5> | 675 | <h5 class="my-1">{{ editedItem.country }}</h5> |
673 | </v-flex> | 676 | </v-flex> |
674 | </v-layout> | 677 | </v-layout> |
675 | </v-flex> | 678 | </v-flex> |
676 | </v-layout> | 679 | </v-layout> |
677 | <v-layout wrap> | 680 | <v-layout wrap> |
678 | <v-flex xs12 sm6> | 681 | <v-flex xs12 sm6> |
679 | <v-layout> | 682 | <v-layout> |
680 | <v-flex sm5 xs6> | 683 | <v-flex sm5 xs6> |
681 | <b> | 684 | <b> |
682 | <h5 class="right my-1"> | 685 | <h5 class="right my-1"> |
683 | <b>Mobile No:</b> | 686 | <b>Mobile No:</b> |
684 | </h5> | 687 | </h5> |
685 | </b> | 688 | </b> |
686 | </v-flex> | 689 | </v-flex> |
687 | <v-flex sm6 xs6> | 690 | <v-flex sm6 xs6> |
688 | <h5 class="my-1">{{ editedItem.mobile }}</h5> | 691 | <h5 class="my-1">{{ editedItem.mobile }}</h5> |
689 | </v-flex> | 692 | </v-flex> |
690 | </v-layout> | 693 | </v-layout> |
691 | </v-flex> | 694 | </v-flex> |
692 | <v-flex xs12 sm6> | 695 | <v-flex xs12 sm6> |
693 | <v-layout> | 696 | <v-layout> |
694 | <v-flex xs6 sm4> | 697 | <v-flex xs6 sm4> |
695 | <b> | 698 | <b> |
696 | <h5 class="right my-1"> | 699 | <h5 class="right my-1"> |
697 | <b>Fahter Name:</b> | 700 | <b>Fahter Name:</b> |
698 | </h5> | 701 | </h5> |
699 | </b> | 702 | </b> |
700 | </v-flex> | 703 | </v-flex> |
701 | <v-flex sm8 xs6> | 704 | <v-flex sm8 xs6> |
702 | <h5 class="my-1">{{ editedItem.fatherName }}</h5> | 705 | <h5 class="my-1">{{ editedItem.fatherName }}</h5> |
703 | </v-flex> | 706 | </v-flex> |
704 | </v-layout> | 707 | </v-layout> |
705 | </v-flex> | 708 | </v-flex> |
706 | </v-layout> | 709 | </v-layout> |
707 | <v-layout wrap> | 710 | <v-layout wrap> |
708 | <v-flex xs12 sm5> | 711 | <v-flex xs12 sm5> |
709 | <v-layout> | 712 | <v-layout> |
710 | <v-flex xs6 sm6> | 713 | <v-flex xs6 sm6> |
711 | <b> | 714 | <b> |
712 | <h5 class="right my-1"> | 715 | <h5 class="right my-1"> |
713 | <b>Mother Name:</b> | 716 | <b>Mother Name:</b> |
714 | </h5> | 717 | </h5> |
715 | </b> | 718 | </b> |
716 | </v-flex> | 719 | </v-flex> |
717 | <v-flex sm6 xs6> | 720 | <v-flex sm6 xs6> |
718 | <h5 class="my-1">{{ editedItem.motherName }}</h5> | 721 | <h5 class="my-1">{{ editedItem.motherName }}</h5> |
719 | </v-flex> | 722 | </v-flex> |
720 | </v-layout> | 723 | </v-layout> |
721 | </v-flex> | 724 | </v-flex> |
722 | <v-flex xs12 sm6> | 725 | <v-flex xs12 sm6> |
723 | <v-layout> | 726 | <v-layout> |
724 | <v-flex xs6 sm6> | 727 | <v-flex xs6 sm6> |
725 | <b> | 728 | <b> |
726 | <h5 class="right my-1"> | 729 | <h5 class="right my-1"> |
727 | <b>Father Cell No:</b> | 730 | <b>Father Cell No:</b> |
728 | </h5> | 731 | </h5> |
729 | </b> | 732 | </b> |
730 | </v-flex> | 733 | </v-flex> |
731 | <v-flex sm6 xs6> | 734 | <v-flex sm6 xs6> |
732 | <h5 class="my-1">{{ editedItem.fatherCellNo }}</h5> | 735 | <h5 class="my-1">{{ editedItem.fatherCellNo }}</h5> |
733 | </v-flex> | 736 | </v-flex> |
734 | </v-layout> | 737 | </v-layout> |
735 | </v-flex> | 738 | </v-flex> |
736 | </v-layout> | 739 | </v-layout> |
737 | <v-layout wrap> | 740 | <v-layout wrap> |
738 | <v-flex xs12 sm5> | 741 | <v-flex xs12 sm5> |
739 | <v-layout> | 742 | <v-layout> |
740 | <v-flex xs6 sm6> | 743 | <v-flex xs6 sm6> |
741 | <b> | 744 | <b> |
742 | <h5 class="right my-1"> | 745 | <h5 class="right my-1"> |
743 | <b>Mother Cell No:</b> | 746 | <b>Mother Cell No:</b> |
744 | </h5> | 747 | </h5> |
745 | </b> | 748 | </b> |
746 | </v-flex> | 749 | </v-flex> |
747 | <v-flex sm6 xs6> | 750 | <v-flex sm6 xs6> |
748 | <h5 class="my-1">{{ editedItem.motherCellNo }}</h5> | 751 | <h5 class="my-1">{{ editedItem.motherCellNo }}</h5> |
749 | </v-flex> | 752 | </v-flex> |
750 | </v-layout> | 753 | </v-layout> |
751 | </v-flex> | 754 | </v-flex> |
752 | <v-flex xs12 sm6> | 755 | <v-flex xs12 sm6> |
753 | <v-layout> | 756 | <v-layout> |
754 | <v-flex xs6 sm6> | 757 | <v-flex xs6 sm6> |
755 | <b> | 758 | <b> |
756 | <h5 class="my-1 right"> | 759 | <h5 class="my-1 right"> |
757 | <b>Academic Year:</b> | 760 | <b>Academic Year:</b> |
758 | </h5> | 761 | </h5> |
759 | </b> | 762 | </b> |
760 | </v-flex> | 763 | </v-flex> |
761 | <v-flex sm5 xs6> | 764 | <v-flex sm5 xs6> |
762 | <h5 class="my-1">{{ editedItem.establishmentYear }}</h5> | 765 | <h5 class="my-1">{{ editedItem.establishmentYear }}</h5> |
763 | </v-flex> | 766 | </v-flex> |
764 | </v-layout> | 767 | </v-layout> |
765 | </v-flex> | 768 | </v-flex> |
766 | </v-layout> | 769 | </v-layout> |
767 | <v-layout wrap> | 770 | <v-layout wrap> |
768 | <v-flex xs12 sm5> | 771 | <v-flex xs12 sm5> |
769 | <v-layout> | 772 | <v-layout> |
770 | <v-flex xs6 sm6> | 773 | <v-flex xs6 sm6> |
771 | <b> | 774 | <b> |
772 | <h5 class="my-1 right"> | 775 | <h5 class="my-1 right"> |
773 | <b>Medical Notes:</b> | 776 | <b>Medical Notes:</b> |
774 | </h5> | 777 | </h5> |
775 | </b> | 778 | </b> |
776 | </v-flex> | 779 | </v-flex> |
777 | <v-flex sm5 xs6> | 780 | <v-flex sm5 xs6> |
778 | <h5 class="my-1">{{ editedItem.medicalNotes }}</h5> | 781 | <h5 class="my-1">{{ editedItem.medicalNotes }}</h5> |
779 | </v-flex> | 782 | </v-flex> |
780 | </v-layout> | 783 | </v-layout> |
781 | </v-flex> | 784 | </v-flex> |
782 | <v-flex xs12 sm6> | 785 | <v-flex xs12 sm6> |
783 | <v-layout> | 786 | <v-layout> |
784 | <v-flex xs6 sm6> | 787 | <v-flex xs6 sm6> |
785 | <b> | 788 | <b> |
786 | <h5 class="right my-1"> | 789 | <h5 class="right my-1"> |
787 | <b>Roll No. :</b> | 790 | <b>Roll No. :</b> |
788 | </h5> | 791 | </h5> |
789 | </b> | 792 | </b> |
790 | </v-flex> | 793 | </v-flex> |
791 | <v-flex sm6 xs6> | 794 | <v-flex sm6 xs6> |
792 | <h5 class="my-1">{{ editedItem.rollNo }}</h5> | 795 | <h5 class="my-1">{{ editedItem.rollNo }}</h5> |
793 | </v-flex> | 796 | </v-flex> |
794 | </v-layout> | 797 | </v-layout> |
795 | </v-flex> | 798 | </v-flex> |
796 | </v-layout> | 799 | </v-layout> |
797 | <v-layout wrap class="hidden-xs-only"> | 800 | <v-layout wrap class="hidden-xs-only"> |
798 | <v-flex xs12 sm5> | 801 | <v-flex xs12 sm5> |
799 | <v-layout wrap> | 802 | <v-layout wrap> |
800 | <v-flex sm6> | 803 | <v-flex sm6> |
801 | <b> | 804 | <b> |
802 | <h5 class="my-1 right"> | 805 | <h5 class="my-1 right"> |
803 | <b>present Address:</b> | 806 | <b>present Address:</b> |
804 | </h5> | 807 | </h5> |
805 | </b> | 808 | </b> |
806 | </v-flex> | 809 | </v-flex> |
807 | <v-flex sm5> | 810 | <v-flex sm5> |
808 | <h5 class="my-1">{{ editedItem.presentAddress }}</h5> | 811 | <h5 class="my-1">{{ editedItem.presentAddress }}</h5> |
809 | </v-flex> | 812 | </v-flex> |
810 | </v-layout> | 813 | </v-layout> |
811 | </v-flex> | 814 | </v-flex> |
812 | <v-flex sm6> | 815 | <v-flex sm6> |
813 | <v-layout wrap> | 816 | <v-layout wrap> |
814 | <v-flex sm6> | 817 | <v-flex sm6> |
815 | <b> | 818 | <b> |
816 | <h5 class="my-1 right"> | 819 | <h5 class="my-1 right"> |
817 | <b>Permanent Address:</b> | 820 | <b>Permanent Address:</b> |
818 | </h5> | 821 | </h5> |
819 | </b> | 822 | </b> |
820 | </v-flex> | 823 | </v-flex> |
821 | <v-flex sm6> | 824 | <v-flex sm6> |
822 | <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> | 825 | <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> |
823 | </v-flex> | 826 | </v-flex> |
824 | </v-layout> | 827 | </v-layout> |
825 | </v-flex> | 828 | </v-flex> |
826 | </v-layout> | 829 | </v-layout> |
827 | <v-layout wrap class="hidden-sm-only hidden-md-only hidden-lg-only hidden-xl-only"> | 830 | <v-layout wrap class="hidden-sm-only hidden-md-only hidden-lg-only hidden-xl-only"> |
828 | <v-flex xs12 sm5> | 831 | <v-flex xs12 sm5> |
829 | <v-layout wrap> | 832 | <v-layout wrap> |
830 | <v-flex xs8 sm6> | 833 | <v-flex xs8 sm6> |
831 | <b> | 834 | <b> |
832 | <h5 class="my-1"> | 835 | <h5 class="my-1"> |
833 | <b>present Address:-</b> | 836 | <b>present Address:-</b> |
834 | </h5> | 837 | </h5> |
835 | </b> | 838 | </b> |
836 | </v-flex> | 839 | </v-flex> |
837 | <v-flex sm5 xs12> | 840 | <v-flex sm5 xs12> |
838 | <h5 class="my-1">{{ editedItem.presentAddress }}</h5> | 841 | <h5 class="my-1">{{ editedItem.presentAddress }}</h5> |
839 | </v-flex> | 842 | </v-flex> |
840 | </v-layout> | 843 | </v-layout> |
841 | </v-flex> | 844 | </v-flex> |
842 | <v-flex xs12 sm6> | 845 | <v-flex xs12 sm6> |
843 | <v-layout wrap> | 846 | <v-layout wrap> |
844 | <v-flex xs9 sm6> | 847 | <v-flex xs9 sm6> |
845 | <b> | 848 | <b> |
846 | <h5 class="my-1"> | 849 | <h5 class="my-1"> |
847 | <b>Permanent Address:-</b> | 850 | <b>Permanent Address:-</b> |
848 | </h5> | 851 | </h5> |
849 | </b> | 852 | </b> |
850 | </v-flex> | 853 | </v-flex> |
851 | <v-flex sm6 xs12> | 854 | <v-flex sm6 xs12> |
852 | <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> | 855 | <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> |
853 | </v-flex> | 856 | </v-flex> |
854 | </v-layout> | 857 | </v-layout> |
855 | </v-flex> | 858 | </v-flex> |
856 | </v-layout> | 859 | </v-layout> |
857 | </v-container> | 860 | </v-container> |
858 | </v-card-text> | 861 | </v-card-text> |
859 | </v-card> | 862 | </v-card> |
860 | </v-dialog> | 863 | </v-dialog> |
861 | 864 | ||
862 | <v-snackbar | 865 | <v-snackbar |
863 | :timeout="timeout" | 866 | :timeout="timeout" |
864 | :top="y === 'top'" | 867 | :top="y === 'top'" |
865 | :right="x === 'right'" | 868 | :right="x === 'right'" |
866 | :vertical="mode === 'vertical'" | 869 | :vertical="mode === 'vertical'" |
867 | v-model="snackbar" | 870 | v-model="snackbar" |
868 | color="success" | 871 | color="success" |
869 | >{{ text }}</v-snackbar> | 872 | >{{ text }}</v-snackbar> |
870 | 873 | ||
871 | <!-- ****** EXISTING-USERS STUDENTS TABLE ****** --> | 874 | <!-- ****** EXISTING-USERS STUDENTS TABLE ****** --> |
872 | <v-card flat> | 875 | <v-card flat> |
873 | <v-card-actions class="hidden-xs-only hidden-sm-only"> | 876 | <v-card-actions class="hidden-xs-only hidden-sm-only"> |
874 | <v-layout> | 877 | <v-layout> |
875 | <label class="right mt-4 ml-5">Select Class:</label> | 878 | <label class="right mt-4 ml-5">Select Class:</label> |
876 | <v-select | 879 | <v-select |
877 | :items="addclass" | 880 | :items="addclass" |
878 | label="Select Class" | 881 | label="Select Class" |
879 | v-model="selectStudents.select" | 882 | v-model="selectStudents.select" |
880 | item-text="classNum" | 883 | item-text="classNum" |
881 | item-value="_id" | 884 | item-value="_id" |
882 | name="Select Class" | 885 | name="Select Class" |
883 | :rules="classRules" | 886 | :rules="classRules" |
884 | @change="getSections(selectStudents.select)" | 887 | @change="getSections(selectStudents.select)" |
885 | class="px-4" | 888 | class="px-4" |
886 | required | 889 | required |
887 | ></v-select> | 890 | ></v-select> |
888 | <label class="right mt-4">Select Section:</label> | 891 | <label class="right mt-4">Select Section:</label> |
889 | <v-select | 892 | <v-select |
890 | :items="addSection" | 893 | :items="addSection" |
891 | label="Select Section" | 894 | label="Select Section" |
892 | v-model="selectStudents.selectSection" | 895 | v-model="selectStudents.selectSection" |
893 | item-text="name" | 896 | item-text="name" |
894 | item-value="_id" | 897 | item-value="_id" |
895 | name="Select Section" | 898 | name="Select Section" |
896 | :rules="sectionRules" | 899 | :rules="sectionRules" |
897 | class="pl-3" | 900 | class="pl-3" |
898 | required | 901 | required |
899 | ></v-select> | 902 | ></v-select> |
900 | </v-layout> | 903 | </v-layout> |
901 | <v-spacer></v-spacer> | 904 | <v-spacer></v-spacer> |
902 | <v-btn @click="findStudents()" round dark :loading="loading" class="left">Find</v-btn> | 905 | <v-btn @click="findStudents()" round dark :loading="loading" class="left">Find</v-btn> |
903 | </v-card-actions> | 906 | </v-card-actions> |
904 | <v-flex class="hidden-xl-only hidden-lg-only hidden-md-only"> | 907 | <v-flex class="hidden-xl-only hidden-lg-only hidden-md-only"> |
905 | <v-layout> | 908 | <v-layout> |
906 | <v-flex xs4> | 909 | <v-flex xs4> |
907 | <label class="right mt-4">Select Class:</label> | 910 | <label class="right mt-4">Select Class:</label> |
908 | </v-flex> | 911 | </v-flex> |
909 | <v-flex xs8> | 912 | <v-flex xs8> |
910 | <v-select | 913 | <v-select |
911 | :items="addclass" | 914 | :items="addclass" |
912 | label="Select Class" | 915 | label="Select Class" |
913 | v-model="selectStudents.select" | 916 | v-model="selectStudents.select" |
914 | item-text="classNum" | 917 | item-text="classNum" |
915 | item-value="_id" | 918 | item-value="_id" |
916 | name="Select Class" | 919 | name="Select Class" |
917 | :rules="classRules" | 920 | :rules="classRules" |
918 | @change="getSections(selectStudents.select)" | 921 | @change="getSections(selectStudents.select)" |
919 | class="px-2" | 922 | class="px-2" |
920 | required | 923 | required |
921 | ></v-select> | 924 | ></v-select> |
922 | </v-flex> | 925 | </v-flex> |
923 | </v-layout> | 926 | </v-layout> |
924 | <v-layout> | 927 | <v-layout> |
925 | <v-flex xs4> | 928 | <v-flex xs4> |
926 | <label class="right mt-4">Select Section:</label> | 929 | <label class="right mt-4">Select Section:</label> |
927 | </v-flex> | 930 | </v-flex> |
928 | <v-flex xs8> | 931 | <v-flex xs8> |
929 | <v-select | 932 | <v-select |
930 | :items="addSection" | 933 | :items="addSection" |
931 | label="Select Section" | 934 | label="Select Section" |
932 | v-model="selectStudents.selectSection" | 935 | v-model="selectStudents.selectSection" |
933 | item-text="name" | 936 | item-text="name" |
934 | item-value="_id" | 937 | item-value="_id" |
935 | name="Select Section" | 938 | name="Select Section" |
936 | :rules="sectionRules" | 939 | :rules="sectionRules" |
937 | class="px-2" | 940 | class="px-2" |
938 | required | 941 | required |
939 | ></v-select> | 942 | ></v-select> |
940 | </v-flex> | 943 | </v-flex> |
941 | </v-layout> | 944 | </v-layout> |
942 | <v-layout> | 945 | <v-layout> |
943 | <v-flex xs5 class="mx-auto mb-2"> | 946 | <v-flex xs5 class="mx-auto mb-2"> |
944 | <v-btn @click="findStudents()" block round dark :loading="loading">Find</v-btn> | 947 | <v-btn @click="findStudents()" block round dark :loading="loading">Find</v-btn> |
945 | </v-flex> | 948 | </v-flex> |
946 | </v-layout> | 949 | </v-layout> |
947 | </v-flex> | 950 | </v-flex> |
948 | </v-card> | 951 | </v-card> |
949 | <v-data-table | 952 | <v-data-table |
950 | :headers="headers" | 953 | :headers="headers" |
951 | :items="desserts" | 954 | :items="desserts" |
952 | :pagination.sync="pagination" | 955 | :pagination.sync="pagination" |
953 | :search="search" | 956 | :search="search" |
954 | > | 957 | > |
955 | <template slot="items" slot-scope="props"> | 958 | <template slot="items" slot-scope="props"> |
956 | <td id="td" class="text-xs-center">{{ props.item.rollNo}}</td> | 959 | <td id="td" class="text-xs-center">{{ props.item.rollNo}}</td> |
957 | <td id="td" class="text-xs-center"> | 960 | <td id="td" class="text-xs-center"> |
958 | <v-avatar> | 961 | <v-avatar> |
959 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | 962 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> |
960 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | 963 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> |
961 | </v-avatar> | 964 | </v-avatar> |
962 | </td> | 965 | </td> |
963 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> | 966 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> |
964 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> | 967 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> |
965 | <td id="td" class="text-xs-center">{{ dates(props.item.dob) }}</td> | 968 | <td id="td" class="text-xs-center">{{ dates(props.item.dob) }}</td> |
966 | <td id="td" class="text-xs-center">{{ props.item.gender }}</td> | 969 | <td id="td" class="text-xs-center">{{ props.item.gender }}</td> |
967 | <td id="td" class="text-xs-center">{{ props.item.parentId.fatherName }}</td> | 970 | <td id="td" class="text-xs-center">{{ props.item.parentId.fatherName }}</td> |
968 | <td id="td" class="text-xs-center">{{ props.item.parentId.motherName }}</td> | 971 | <td id="td" class="text-xs-center">{{ props.item.parentId.motherName }}</td> |
969 | <td id="td" class="text-xs-center">{{ props.item.establishmentYear }}</td> | 972 | <td id="td" class="text-xs-center">{{ props.item.establishmentYear }}</td> |
970 | <td id="td" class="text-xs-center">{{ props.item.mobile}}</td> | 973 | <td id="td" class="text-xs-center">{{ props.item.mobile}}</td> |
971 | 974 | ||
972 | <td class="text-xs-center"> | 975 | <td class="text-xs-center"> |
973 | <span> | 976 | <span> |
974 | <v-tooltip top> | 977 | <v-tooltip top> |
975 | <img | 978 | <img |
976 | slot="activator" | 979 | slot="activator" |
977 | style="cursor:pointer; width:25px; height:18px; " | 980 | style="cursor:pointer; width:25px; height:18px; " |
978 | class="mr5" | 981 | class="mr5" |
979 | @click="profile(props.item)" | 982 | @click="profile(props.item)" |
980 | src="/static/icon/eye1.png" | 983 | src="/static/icon/eye1.png" |
981 | /> | 984 | /> |
982 | <span>View</span> | 985 | <span>View</span> |
983 | </v-tooltip> | 986 | </v-tooltip> |
984 | <v-tooltip top> | 987 | <v-tooltip top> |
985 | <img | 988 | <img |
986 | slot="activator" | 989 | slot="activator" |
987 | style="cursor:pointer; width:20px; height:18px; " | 990 | style="cursor:pointer; width:20px; height:18px; " |
988 | class="mr5" | 991 | class="mr5" |
989 | @click="editItem(props.item)" | 992 | @click="editItem(props.item)" |
990 | src="/static/icon/edit1.png" | 993 | src="/static/icon/edit1.png" |
991 | /> | 994 | /> |
992 | <span>Edit</span> | 995 | <span>Edit</span> |
993 | </v-tooltip> | 996 | </v-tooltip> |
994 | <v-tooltip top> | 997 | <v-tooltip top> |
995 | <img | 998 | <img |
996 | slot="activator" | 999 | slot="activator" |
997 | style="cursor:pointer; width:20px; height:20px; " | 1000 | style="cursor:pointer; width:20px; height:20px; " |
998 | class="mr5" | 1001 | class="mr5" |
999 | @click="deleteItem(props.item)" | 1002 | @click="deleteItem(props.item)" |
1000 | src="/static/icon/delete1.png" | 1003 | src="/static/icon/delete1.png" |
1001 | /> | 1004 | /> |
1002 | <span>Delete</span> | 1005 | <span>Delete</span> |
1003 | </v-tooltip> | 1006 | </v-tooltip> |
1004 | </span> | 1007 | </span> |
1005 | </td> | 1008 | </td> |
1006 | </template> | 1009 | </template> |
1007 | <v-alert | 1010 | <v-alert |
1008 | slot="no-results" | 1011 | slot="no-results" |
1009 | :value="true" | 1012 | :value="true" |
1010 | color="error" | 1013 | color="error" |
1011 | icon="warning" | 1014 | icon="warning" |
1012 | >Your search for "{{ search }}" found no results.</v-alert> | 1015 | >Your search for "{{ search }}" found no results.</v-alert> |
1013 | </v-data-table> | 1016 | </v-data-table> |
1014 | </v-tab-item> | 1017 | </v-tab-item> |
1015 | 1018 | ||
1016 | <!-- ****** ADD STUDENTS DETAILS****** --> | 1019 | <!-- ****** ADD STUDENTS DETAILS****** --> |
1017 | <v-tab-item> | 1020 | <v-tab-item> |
1018 | <v-container fluid> | 1021 | <v-container fluid> |
1019 | <v-layout align-center justify-center fill-height> | 1022 | <v-layout align-center justify-center fill-height> |
1020 | <v-flex xs12 sm12 md10 lg11> | 1023 | <v-flex xs12 sm12 md10 lg11> |
1021 | <div> | 1024 | <div> |
1022 | <v-app> | 1025 | <v-app> |
1023 | <v-stepper v-model="e2"> | 1026 | <v-stepper v-model="e2"> |
1024 | <v-stepper-header> | 1027 | <v-stepper-header> |
1025 | <v-stepper-step :complete="e2 > 1" step="1">Fill parent Details</v-stepper-step> | 1028 | <v-stepper-step :complete="e2 > 1" step="1">Fill parent Details</v-stepper-step> |
1026 | <v-divider></v-divider> | 1029 | <v-divider></v-divider> |
1027 | <v-stepper-step step="2">Fill Student Details</v-stepper-step> | 1030 | <v-stepper-step step="2">Fill Student Details</v-stepper-step> |
1028 | </v-stepper-header> | 1031 | </v-stepper-header> |
1029 | <v-stepper-items> | 1032 | <v-stepper-items> |
1030 | <v-stepper-content step="1"> | 1033 | <v-stepper-content step="1"> |
1031 | <v-container fluid class> | 1034 | <v-container fluid class> |
1032 | <v-snackbar | 1035 | <v-snackbar |
1033 | :timeout="timeout" | 1036 | :timeout="timeout" |
1034 | :top="y === 'top'" | 1037 | :top="y === 'top'" |
1035 | :right="x === 'right'" | 1038 | :right="x === 'right'" |
1036 | :vertical="mode === 'vertical'" | 1039 | :vertical="mode === 'vertical'" |
1037 | v-model="snackbar" | 1040 | v-model="snackbar" |
1038 | color="success" | 1041 | color="success" |
1039 | >{{ text }}</v-snackbar> | 1042 | >{{ text }}</v-snackbar> |
1040 | <v-flex xs12 sm12> | 1043 | <v-flex xs12 sm12> |
1041 | <v-form ref="parentForm" v-model="valid" lazy-validation> | 1044 | <v-form ref="parentForm" v-model="valid" lazy-validation> |
1042 | <v-layout wrap> | 1045 | <v-layout wrap> |
1043 | <v-flex xs12 sm6> | 1046 | <v-flex xs12 sm6> |
1044 | <v-layout> | 1047 | <v-layout> |
1045 | <v-flex xs4 class="pt-4 subheading"> | 1048 | <v-flex xs4 class="pt-4 subheading"> |
1046 | <label class="right">Parent Email Id:</label> | 1049 | <label class="right">Parent Email Id:</label> |
1047 | </v-flex> | 1050 | </v-flex> |
1048 | <v-flex xs8 class="ml-3"> | 1051 | <v-flex xs8 class="ml-3"> |
1049 | <v-text-field | 1052 | <v-text-field |
1050 | placeholder="fill Parent email" | 1053 | placeholder="fill Parent email" |
1051 | :rules="emailRules" | 1054 | :rules="emailRules" |
1052 | v-model.trim="parentData.email" | 1055 | v-model.trim="parentData.email" |
1053 | type="text" | 1056 | type="text" |
1054 | v-on:keyup="getParentDetails" | 1057 | v-on:keyup="getParentDetails" |
1055 | name="email" | 1058 | name="email" |
1056 | required | 1059 | required |
1057 | ></v-text-field> | 1060 | ></v-text-field> |
1058 | </v-flex> | 1061 | </v-flex> |
1059 | </v-layout> | 1062 | </v-layout> |
1060 | </v-flex> | 1063 | </v-flex> |
1061 | <v-flex xs12 sm6> | 1064 | <v-flex xs12 sm6> |
1062 | <v-layout> | 1065 | <v-layout> |
1063 | <v-flex xs4 class="pt-4 subheading"> | 1066 | <v-flex xs4 class="pt-4 subheading"> |
1064 | <label class="right">Father Name:</label> | 1067 | <label class="right">Father Name:</label> |
1065 | </v-flex> | 1068 | </v-flex> |
1066 | <v-flex xs8 class="ml-3"> | 1069 | <v-flex xs8 class="ml-3"> |
1067 | <v-text-field | 1070 | <v-text-field |
1068 | v-model="parentData.fatherName" | 1071 | v-model="parentData.fatherName" |
1069 | :rules="fatherNameRules" | 1072 | :rules="fatherNameRules" |
1070 | placeholder="Fill your father Name" | 1073 | placeholder="Fill your father Name" |
1071 | required | 1074 | required |
1072 | ></v-text-field> | 1075 | ></v-text-field> |
1073 | </v-flex> | 1076 | </v-flex> |
1074 | </v-layout> | 1077 | </v-layout> |
1075 | </v-flex> | 1078 | </v-flex> |
1076 | </v-layout> | 1079 | </v-layout> |
1077 | <v-layout wrap> | 1080 | <v-layout wrap> |
1078 | <v-flex xs12 sm6> | 1081 | <v-flex xs12 sm6> |
1079 | <v-layout> | 1082 | <v-layout> |
1080 | <v-flex xs4 class="pt-4 subheading"> | 1083 | <v-flex xs4 class="pt-4 subheading"> |
1081 | <label class="right">Father Cell No:</label> | 1084 | <label class="right">Father Cell No:</label> |
1082 | </v-flex> | 1085 | </v-flex> |
1083 | <v-flex xs8 class="ml-3"> | 1086 | <v-flex xs8 class="ml-3"> |
1084 | <v-text-field | 1087 | <v-text-field |
1085 | v-model="parentData.fatherCellNo" | 1088 | v-model="parentData.fatherCellNo" |
1086 | placeholder="fill your father Cell Number" | 1089 | placeholder="fill your father Cell Number" |
1087 | name="state" | 1090 | name="state" |
1088 | type="number" | 1091 | type="number" |
1089 | :rules="fatheCellNoRules" | 1092 | :rules="fatheCellNoRules" |
1090 | required | 1093 | required |
1091 | ></v-text-field> | 1094 | ></v-text-field> |
1092 | </v-flex> | 1095 | </v-flex> |
1093 | </v-layout> | 1096 | </v-layout> |
1094 | </v-flex> | 1097 | </v-flex> |
1095 | <v-flex xs12 sm6> | 1098 | <v-flex xs12 sm6> |
1096 | <v-layout> | 1099 | <v-layout> |
1097 | <v-flex xs4 class="pt-4 subheading"> | 1100 | <v-flex xs4 class="pt-4 subheading"> |
1098 | <label class="right">Mother Name:</label> | 1101 | <label class="right">Mother Name:</label> |
1099 | </v-flex> | 1102 | </v-flex> |
1100 | <v-flex xs8 class="ml-3"> | 1103 | <v-flex xs8 class="ml-3"> |
1101 | <v-text-field | 1104 | <v-text-field |
1102 | v-model="parentData.motherName" | 1105 | v-model="parentData.motherName" |
1103 | placeholder="fill your Mother Name" | 1106 | placeholder="fill your Mother Name" |
1104 | name="state" | 1107 | name="state" |
1105 | type="text" | 1108 | type="text" |
1106 | :rules="motherNameRules" | 1109 | :rules="motherNameRules" |
1107 | required | 1110 | required |
1108 | ></v-text-field> | 1111 | ></v-text-field> |
1109 | </v-flex> | 1112 | </v-flex> |
1110 | </v-layout> | 1113 | </v-layout> |
1111 | </v-flex> | 1114 | </v-flex> |
1112 | </v-layout> | 1115 | </v-layout> |
1113 | <v-layout wrap> | 1116 | <v-layout wrap> |
1114 | <v-flex xs12 sm6> | 1117 | <v-flex xs12 sm6> |
1115 | <v-layout> | 1118 | <v-layout> |
1116 | <v-flex xs4 class="pt-4 subheading"> | 1119 | <v-flex xs4 class="pt-4 subheading"> |
1117 | <label class="right">Mother Cell No:</label> | 1120 | <label class="right">Mother Cell No:</label> |
1118 | </v-flex> | 1121 | </v-flex> |
1119 | <v-flex xs8 class="ml-3"> | 1122 | <v-flex xs8 class="ml-3"> |
1120 | <v-text-field | 1123 | <v-text-field |
1121 | v-model="parentData.motherCellNo" | 1124 | v-model="parentData.motherCellNo" |
1122 | placeholder="fill your Mother Cell Number" | 1125 | placeholder="fill your Mother Cell Number" |
1123 | name="state" | 1126 | name="state" |
1124 | type="number" | 1127 | type="number" |
1125 | :rules="motherCellNoRules" | 1128 | :rules="motherCellNoRules" |
1126 | required | 1129 | required |
1127 | ></v-text-field> | 1130 | ></v-text-field> |
1128 | </v-flex> | 1131 | </v-flex> |
1129 | </v-layout> | 1132 | </v-layout> |
1130 | </v-flex> | 1133 | </v-flex> |
1131 | </v-layout> | 1134 | </v-layout> |
1132 | <v-flex sm12 class="hidden-xs-only"> | 1135 | <v-flex sm12 class="hidden-xs-only"> |
1133 | <v-card-actions> | 1136 | <v-card-actions> |
1134 | <v-spacer></v-spacer> | 1137 | <v-spacer></v-spacer> |
1135 | <v-btn | 1138 | <v-btn |
1136 | @click="submitParentDetails" | 1139 | @click="submitParentDetails" |
1137 | round | 1140 | round |
1138 | dark | 1141 | dark |
1139 | :loading="loading" | 1142 | :loading="loading" |
1140 | v-show="showParent" | 1143 | v-show="showParent" |
1141 | >Add</v-btn> | 1144 | >Add</v-btn> |
1142 | <v-btn v-show="showNext" @click="e2 = 2" round dark>Next</v-btn> | 1145 | <v-btn v-show="showNext" @click="e2 = 2" round dark>Next</v-btn> |
1143 | </v-card-actions> | 1146 | </v-card-actions> |
1144 | </v-flex> | 1147 | </v-flex> |
1145 | <v-flex | 1148 | <v-flex |
1146 | xs6 | 1149 | xs6 |
1147 | class="hidden-md-only hidden-sm-only hidden-lg-only hidden-xl-only mx-auto mt-2" | 1150 | class="hidden-md-only hidden-sm-only hidden-lg-only hidden-xl-only mx-auto mt-2" |
1148 | > | 1151 | > |
1149 | <v-btn | 1152 | <v-btn |
1150 | @click="submitParentDetails" | 1153 | @click="submitParentDetails" |
1151 | round | 1154 | round |
1152 | dark | 1155 | dark |
1153 | :loading="loading" | 1156 | :loading="loading" |
1154 | v-show="showParent" | 1157 | v-show="showParent" |
1155 | >Add</v-btn> | 1158 | >Add</v-btn> |
1156 | <v-btn v-show="showNext" @click="e2 = 2" round dark>Next</v-btn> | 1159 | <v-btn v-show="showNext" @click="e2 = 2" round dark>Next</v-btn> |
1157 | </v-flex> | 1160 | </v-flex> |
1158 | </v-form> | 1161 | </v-form> |
1159 | </v-flex> | 1162 | </v-flex> |
1160 | </v-container> | 1163 | </v-container> |
1161 | </v-stepper-content> | 1164 | </v-stepper-content> |
1162 | <v-stepper-content step="2"> | 1165 | <v-stepper-content step="2"> |
1163 | <!-- <v-container fluid> --> | 1166 | <!-- <v-container fluid> --> |
1164 | <v-snackbar | 1167 | <v-snackbar |
1165 | :timeout="timeout" | 1168 | :timeout="timeout" |
1166 | :top="y === 'top'" | 1169 | :top="y === 'top'" |
1167 | :right="x === 'right'" | 1170 | :right="x === 'right'" |
1168 | :vertical="mode === 'vertical'" | 1171 | :vertical="mode === 'vertical'" |
1169 | v-model="snackbar" | 1172 | v-model="snackbar" |
1170 | color="success" | 1173 | color="success" |
1171 | >{{ text }}</v-snackbar> | 1174 | >{{ text }}</v-snackbar> |
1172 | <v-flex xs12 sm12> | 1175 | <v-flex xs12 sm12> |
1173 | <v-form ref="form" v-model="valid" lazy-validation> | 1176 | <v-form ref="form" v-model="valid" lazy-validation> |
1174 | <!-- <v-container fluid> --> | 1177 | <!-- <v-container fluid> --> |
1175 | <v-layout> | 1178 | <v-layout> |
1176 | <v-flex | 1179 | <v-flex |
1177 | xs12 | 1180 | xs12 |
1178 | class="text-xs-center text-sm-center text-md-center text-lg-center" | 1181 | class="text-xs-center text-sm-center text-md-center text-lg-center" |
1179 | > | 1182 | > |
1180 | <v-avatar size="100px"> | 1183 | <v-avatar size="100px"> |
1181 | <img src="/static/icon/user.png" v-if="!imageUrl" /> | 1184 | <img src="/static/icon/user.png" v-if="!imageUrl" /> |
1182 | </v-avatar> | 1185 | </v-avatar> |
1183 | <input | 1186 | <input |
1184 | type="file" | 1187 | type="file" |
1185 | style="display: none" | 1188 | style="display: none" |
1186 | ref="image" | 1189 | ref="image" |
1187 | accept="image/*" | 1190 | accept="image/*" |
1188 | @change="onFilePicked" | 1191 | @change="onFilePicked" |
1189 | /> | 1192 | /> |
1190 | <img | 1193 | <img |
1191 | :src="imageData.imageUrl" | 1194 | :src="imageData.imageUrl" |
1192 | height="150" | 1195 | height="150" |
1193 | v-if="imageUrl" | 1196 | v-if="imageUrl" |
1194 | style="border-radius:50%; width:200px" | 1197 | style="border-radius:50%; width:200px" |
1195 | /> | 1198 | /> |
1196 | </v-flex> | 1199 | </v-flex> |
1197 | </v-layout> | 1200 | </v-layout> |
1198 | <v-layout wrap> | 1201 | <v-layout wrap> |
1199 | <v-flex xs12 sm6> | 1202 | <v-flex xs12 sm6> |
1200 | <v-layout> | 1203 | <v-layout> |
1201 | <v-flex x4 sm4 class="pt-4 subheading"> | 1204 | <v-flex x4 sm4 class="pt-4 subheading"> |
1202 | <label class="right hidden-xs-only hidden-sm-only">Select Class:</label> | 1205 | <label class="right hidden-xs-only hidden-sm-only">Select Class:</label> |
1203 | <label | 1206 | <label |
1204 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1207 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1205 | >Class:</label> | 1208 | >Class:</label> |
1206 | </v-flex> | 1209 | </v-flex> |
1207 | <v-flex xs8 sm8 class="ml-3"> | 1210 | <v-flex xs8 sm8 class="ml-3"> |
1208 | <v-select | 1211 | <v-select |
1209 | :items="addclass" | 1212 | :items="addclass" |
1210 | label="Select Class" | 1213 | label="Select Class" |
1211 | v-model="addStudents.select" | 1214 | v-model="addStudents.select" |
1212 | item-text="classNum" | 1215 | item-text="classNum" |
1213 | item-value="_id" | 1216 | item-value="_id" |
1214 | name="Select Class" | 1217 | name="Select Class" |
1215 | :rules="classRules" | 1218 | :rules="classRules" |
1216 | @change="getSection(addStudents.select)" | 1219 | @change="getSection(addStudents.select)" |
1217 | required | 1220 | required |
1218 | ></v-select> | 1221 | ></v-select> |
1219 | </v-flex> | 1222 | </v-flex> |
1220 | </v-layout> | 1223 | </v-layout> |
1221 | </v-flex> | 1224 | </v-flex> |
1222 | <v-flex xs12 sm6> | 1225 | <v-flex xs12 sm6> |
1223 | <v-layout> | 1226 | <v-layout> |
1224 | <v-flex xs4 class="pt-4 subheading"> | 1227 | <v-flex xs4 class="pt-4 subheading"> |
1225 | <label | 1228 | <label |
1226 | class="right hidden-xs-only hidden-sm-only" | 1229 | class="right hidden-xs-only hidden-sm-only" |
1227 | >Select Section:</label> | 1230 | >Select Section:</label> |
1228 | <label | 1231 | <label |
1229 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1232 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1230 | >Section:</label> | 1233 | >Section:</label> |
1231 | </v-flex> | 1234 | </v-flex> |
1232 | <v-flex xs8 class="ml-3"> | 1235 | <v-flex xs8 class="ml-3"> |
1233 | <v-select | 1236 | <v-select |
1234 | :items="addSection" | 1237 | :items="addSection" |
1235 | label="Select Section" | 1238 | label="Select Section" |
1236 | v-model="addStudents.selectSection" | 1239 | v-model="addStudents.selectSection" |
1237 | item-text="name" | 1240 | item-text="name" |
1238 | item-value="_id" | 1241 | item-value="_id" |
1239 | name="Select Section" | 1242 | name="Select Section" |
1240 | :rules="sectionRules" | 1243 | :rules="sectionRules" |
1241 | required | 1244 | required |
1242 | ></v-select> | 1245 | ></v-select> |
1243 | </v-flex> | 1246 | </v-flex> |
1244 | </v-layout> | 1247 | </v-layout> |
1245 | </v-flex> | 1248 | </v-flex> |
1246 | </v-layout> | 1249 | </v-layout> |
1247 | <v-layout wrap> | 1250 | <v-layout wrap> |
1248 | <v-flex xs12 sm6> | 1251 | <v-flex xs12 sm6> |
1249 | <v-layout> | 1252 | <v-layout> |
1250 | <v-flex xs4 sm4 class="pt-4 subheading"> | 1253 | <v-flex xs4 sm4 class="pt-4 subheading"> |
1251 | <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> | 1254 | <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> |
1252 | <label | 1255 | <label |
1253 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1256 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1254 | >Name:</label> | 1257 | >Name:</label> |
1255 | </v-flex> | 1258 | </v-flex> |
1256 | <v-flex xs8 sm8 class="ml-3"> | 1259 | <v-flex xs8 sm8 class="ml-3"> |
1257 | <v-text-field | 1260 | <v-text-field |
1258 | v-model="addStudents.name" | 1261 | v-model="addStudents.name" |
1259 | placeholder="fill your full Name" | 1262 | placeholder="fill your full Name" |
1260 | name="name" | 1263 | name="name" |
1261 | type="text" | 1264 | type="text" |
1262 | :rules="nameRules" | 1265 | :rules="nameRules" |
1263 | required | 1266 | required |
1264 | ></v-text-field> | 1267 | ></v-text-field> |
1265 | </v-flex> | 1268 | </v-flex> |
1266 | </v-layout> | 1269 | </v-layout> |
1267 | </v-flex> | 1270 | </v-flex> |
1268 | <v-flex xs12 sm6> | 1271 | <v-flex xs12 sm6> |
1269 | <v-layout> | 1272 | <v-layout> |
1270 | <v-flex xs4 sm4 class="pt-4 subheading"> | 1273 | <v-flex xs4 sm4 class="pt-4 subheading"> |
1271 | <label class="right">Email ID:</label> | 1274 | <label class="right">Email ID:</label> |
1272 | </v-flex> | 1275 | </v-flex> |
1273 | <v-flex xs8 sm8 class="ml-3"> | 1276 | <v-flex xs8 sm8 class="ml-3"> |
1274 | <v-text-field | 1277 | <v-text-field |
1275 | placeholder="fill your email" | 1278 | placeholder="fill your email" |
1276 | :rules="emailRules" | 1279 | :rules="emailRules" |
1277 | v-model="addStudents.email" | 1280 | v-model="addStudents.email" |
1278 | type="text" | 1281 | type="text" |
1279 | name="email" | 1282 | name="email" |
1280 | required | 1283 | required |
1281 | ></v-text-field> | 1284 | ></v-text-field> |
1282 | </v-flex> | 1285 | </v-flex> |
1283 | </v-layout> | 1286 | </v-layout> |
1284 | </v-flex> | 1287 | </v-flex> |
1285 | </v-layout> | 1288 | </v-layout> |
1286 | <v-layout wrap> | 1289 | <v-layout wrap> |
1287 | <v-flex xs12 sm6> | 1290 | <v-flex xs12 sm6> |
1288 | <v-layout> | 1291 | <v-layout> |
1289 | <v-flex xs4 sm4 class="pt-4 subheading"> | 1292 | <v-flex xs4 sm4 class="pt-4 subheading"> |
1290 | <label | 1293 | <label |
1291 | class="right hidden-sm-only hidden-xs-only" | 1294 | class="right hidden-sm-only hidden-xs-only" |
1292 | >Date of Birth:</label> | 1295 | >Date of Birth:</label> |
1293 | <label | 1296 | <label |
1294 | class="right hidden-lg-only hidden-xl-only hidden-md-only" | 1297 | class="right hidden-lg-only hidden-xl-only hidden-md-only" |
1295 | >D.O.B:</label> | 1298 | >D.O.B:</label> |
1296 | </v-flex> | 1299 | </v-flex> |
1297 | <v-flex xs8 sm8 class="ml-3"> | 1300 | <v-flex xs8 sm8 class="ml-3"> |
1298 | <v-menu | 1301 | <v-menu |
1299 | ref="menu" | 1302 | ref="menu" |
1300 | :close-on-content-click="false" | 1303 | :close-on-content-click="false" |
1301 | v-model="menu" | 1304 | v-model="menu" |
1302 | :nudge-right="40" | 1305 | :nudge-right="40" |
1303 | lazy | 1306 | lazy |
1304 | transition="scale-transition" | 1307 | transition="scale-transition" |
1305 | offset-y | 1308 | offset-y |
1306 | full-width | 1309 | full-width |
1307 | min-width="290px" | 1310 | min-width="290px" |
1308 | > | 1311 | > |
1309 | <v-text-field | 1312 | <v-text-field |
1310 | slot="activator" | 1313 | slot="activator" |
1311 | :rules="dateRules" | 1314 | :rules="dateRules" |
1312 | v-model="addStudents.date" | 1315 | v-model="addStudents.date" |
1313 | placeholder="Select date" | 1316 | placeholder="Select date" |
1314 | ></v-text-field> | 1317 | ></v-text-field> |
1315 | <v-date-picker | 1318 | <v-date-picker |
1316 | ref="picker" | 1319 | ref="picker" |
1317 | v-model="addStudents.date" | 1320 | v-model="addStudents.date" |
1318 | :max="new Date().toISOString().substr(0, 10)" | 1321 | :max="new Date().toISOString().substr(0, 10)" |
1319 | min="1950-01-01" | 1322 | min="1950-01-01" |
1320 | @input="menu = false" | 1323 | @input="menu = false" |
1321 | ></v-date-picker> | 1324 | ></v-date-picker> |
1322 | </v-menu> | 1325 | </v-menu> |
1323 | </v-flex> | 1326 | </v-flex> |
1324 | </v-layout> | 1327 | </v-layout> |
1325 | </v-flex> | 1328 | </v-flex> |
1326 | <v-flex xs12 sm6> | 1329 | <v-flex xs12 sm6> |
1327 | <v-layout> | 1330 | <v-layout> |
1328 | <v-flex xs4 class="pt-4 subheading"> | 1331 | <v-flex xs4 class="pt-4 subheading"> |
1329 | <label class="right">City:</label> | 1332 | <label class="right">City:</label> |
1330 | </v-flex> | 1333 | </v-flex> |
1331 | <v-flex xs8 class="ml-3"> | 1334 | <v-flex xs8 class="ml-3"> |
1332 | <v-text-field | 1335 | <v-text-field |
1333 | v-model="addStudents.city" | 1336 | v-model="addStudents.city" |
1334 | placeholder="fill your City Name" | 1337 | placeholder="fill your City Name" |
1335 | name="City" | 1338 | name="City" |
1336 | type="text" | 1339 | type="text" |
1337 | :rules="cityRules" | 1340 | :rules="cityRules" |
1338 | required | 1341 | required |
1339 | ></v-text-field> | 1342 | ></v-text-field> |
1340 | </v-flex> | 1343 | </v-flex> |
1341 | </v-layout> | 1344 | </v-layout> |
1342 | </v-flex> | 1345 | </v-flex> |
1343 | </v-layout> | 1346 | </v-layout> |
1344 | <v-layout wrap> | 1347 | <v-layout wrap> |
1345 | <v-flex xs12 sm6> | 1348 | <v-flex xs12 sm6> |
1346 | <v-layout> | 1349 | <v-layout> |
1347 | <v-flex xs4 class="pt-4 subheading"> | 1350 | <v-flex xs4 class="pt-4 subheading"> |
1348 | <label class="right">State:</label> | 1351 | <label class="right">State:</label> |
1349 | </v-flex> | 1352 | </v-flex> |
1350 | <v-flex xs8 class="ml-3"> | 1353 | <v-flex xs8 class="ml-3"> |
1351 | <v-text-field | 1354 | <v-text-field |
1352 | v-model="addStudents.state" | 1355 | v-model="addStudents.state" |
1353 | placeholder="fill your State Name" | 1356 | placeholder="fill your State Name" |
1354 | name="state" | 1357 | name="state" |
1355 | type="text" | 1358 | type="text" |
1356 | :rules="stateRules" | 1359 | :rules="stateRules" |
1357 | required | 1360 | required |
1358 | ></v-text-field> | 1361 | ></v-text-field> |
1359 | </v-flex> | 1362 | </v-flex> |
1360 | </v-layout> | 1363 | </v-layout> |
1361 | </v-flex> | 1364 | </v-flex> |
1362 | <v-flex xs12 sm6> | 1365 | <v-flex xs12 sm6> |
1363 | <v-layout> | 1366 | <v-layout> |
1364 | <v-flex xs4 class="pt-4 subheading"> | 1367 | <v-flex xs4 class="pt-4 subheading"> |
1365 | <label class="right">Pincode:</label> | 1368 | <label class="right">Pincode:</label> |
1366 | </v-flex> | 1369 | </v-flex> |
1367 | <v-flex xs8 class="ml-3"> | 1370 | <v-flex xs8 class="ml-3"> |
1368 | <v-text-field | 1371 | <v-text-field |
1369 | v-model="addStudents.pincode" | 1372 | v-model="addStudents.pincode" |
1370 | placeholder="fill your pincode" | 1373 | placeholder="fill your pincode" |
1371 | name="pincode" | 1374 | name="pincode" |
1372 | type="number" | 1375 | type="number" |
1373 | :rules="pincode" | 1376 | :rules="pincode" |
1374 | required | 1377 | required |
1375 | ></v-text-field> | 1378 | ></v-text-field> |
1376 | </v-flex> | 1379 | </v-flex> |
1377 | </v-layout> | 1380 | </v-layout> |
1378 | </v-flex> | 1381 | </v-flex> |
1379 | </v-layout> | 1382 | </v-layout> |
1380 | <v-layout wrap> | 1383 | <v-layout wrap> |
1381 | <v-flex xs12 sm6> | 1384 | <v-flex xs12 sm6> |
1382 | <v-layout> | 1385 | <v-layout> |
1383 | <v-flex xs4 class="pt-4 subheading"> | 1386 | <v-flex xs4 class="pt-4 subheading"> |
1384 | <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> | 1387 | <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> |
1385 | <label | 1388 | <label |
1386 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1389 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1387 | >Mobile:</label> | 1390 | >Mobile:</label> |
1388 | </v-flex> | 1391 | </v-flex> |
1389 | <v-flex xs8 class="ml-3"> | 1392 | <v-flex xs8 class="ml-3"> |
1390 | <v-text-field | 1393 | <v-text-field |
1391 | v-model="addStudents.mobile" | 1394 | v-model="addStudents.mobile" |
1392 | placeholder="fill your MobileNo" | 1395 | placeholder="fill your MobileNo" |
1393 | name="mobileNo" | 1396 | name="mobileNo" |
1394 | type="number" | 1397 | type="number" |
1395 | :rules="mobileNoRules" | 1398 | :rules="mobileNoRules" |
1396 | required | 1399 | required |
1397 | ></v-text-field> | 1400 | ></v-text-field> |
1398 | </v-flex> | 1401 | </v-flex> |
1399 | </v-layout> | 1402 | </v-layout> |
1400 | </v-flex> | 1403 | </v-flex> |
1401 | <v-flex xs12 sm6> | 1404 | <v-flex xs12 sm6> |
1402 | <v-layout> | 1405 | <v-layout> |
1403 | <v-flex xs4 class="pt-4 subheading"> | 1406 | <v-flex xs4 class="pt-4 subheading"> |
1404 | <label | 1407 | <label |
1405 | class="right hidden-xs-only hidden-sm-only" | 1408 | class="right hidden-xs-only hidden-sm-only" |
1406 | >Select Country:</label> | 1409 | >Select Country:</label> |
1407 | <label | 1410 | <label |
1408 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1411 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1409 | >Country:</label> | 1412 | >Country:</label> |
1410 | </v-flex> | 1413 | </v-flex> |
1411 | <v-flex xs8 class="ml-3"> | 1414 | <v-flex xs8 class="ml-3"> |
1412 | <v-autocomplete | 1415 | <v-autocomplete |
1413 | v-model="addStudents.country" | 1416 | v-model="addStudents.country" |
1414 | :rules="country" | 1417 | :rules="country" |
1415 | :items="countries" | 1418 | :items="countries" |
1416 | placeholder="Select Country Name" | 1419 | placeholder="Select Country Name" |
1417 | required | 1420 | required |
1418 | ></v-autocomplete> | 1421 | ></v-autocomplete> |
1419 | </v-flex> | 1422 | </v-flex> |
1420 | </v-layout> | 1423 | </v-layout> |
1421 | </v-flex> | 1424 | </v-flex> |
1422 | </v-layout> | 1425 | </v-layout> |
1423 | <v-layout wrap> | 1426 | <v-layout wrap> |
1424 | <v-flex xs12 sm6> | 1427 | <v-flex xs12 sm6> |
1425 | <v-layout> | 1428 | <v-layout> |
1426 | <v-flex xs4 class="pt-4 subheading"> | 1429 | <v-flex xs4 class="pt-4 subheading"> |
1427 | <label class="right">Gender:</label> | 1430 | <label class="right">Gender:</label> |
1428 | </v-flex> | 1431 | </v-flex> |
1429 | <v-flex xs8 class="ml-3"> | 1432 | <v-flex xs8 class="ml-3"> |
1430 | <v-select | 1433 | <v-select |
1431 | :items="gender" | 1434 | :items="gender" |
1432 | v-model="addStudents.gender" | 1435 | v-model="addStudents.gender" |
1433 | :rules="genderRules" | 1436 | :rules="genderRules" |
1434 | label="Select Gender" | 1437 | label="Select Gender" |
1435 | required | 1438 | required |
1436 | ></v-select> | 1439 | ></v-select> |
1437 | </v-flex> | 1440 | </v-flex> |
1438 | </v-layout> | 1441 | </v-layout> |
1439 | </v-flex> | 1442 | </v-flex> |
1440 | <v-flex xs12 sm6> | 1443 | <v-flex xs12 sm6> |
1441 | <v-layout> | 1444 | <v-layout> |
1442 | <v-flex xs4 class="pt-4 subheading"> | 1445 | <v-flex xs4 class="pt-4 subheading"> |
1443 | <label class="right hidden-xs-only hidden-sm-only">Blood Group:</label> | 1446 | <label class="right hidden-xs-only hidden-sm-only">Blood Group:</label> |
1444 | <label | 1447 | <label |
1445 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1448 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1446 | >Blood:</label> | 1449 | >Blood:</label> |
1447 | </v-flex> | 1450 | </v-flex> |
1448 | <v-flex xs8 class="ml-3"> | 1451 | <v-flex xs8 class="ml-3"> |
1449 | <v-text-field | 1452 | <v-text-field |
1450 | v-model="addStudents.bloodGroup" | 1453 | v-model="addStudents.bloodGroup" |
1451 | placeholder="Fill your Blood Group" | 1454 | placeholder="Fill your Blood Group" |
1452 | required | 1455 | required |
1453 | ></v-text-field> | 1456 | ></v-text-field> |
1454 | </v-flex> | 1457 | </v-flex> |
1455 | </v-layout> | 1458 | </v-layout> |
1456 | </v-flex> | 1459 | </v-flex> |
1457 | </v-layout> | 1460 | </v-layout> |
1458 | <v-layout wrap> | 1461 | <v-layout wrap> |
1459 | <v-flex xs12 sm6> | 1462 | <v-flex xs12 sm6> |
1460 | <v-layout> | 1463 | <v-layout> |
1461 | <v-flex xs4 class="pt-4 subheading"> | 1464 | <v-flex xs4 class="pt-4 subheading"> |
1462 | <label class="right">Allergies:</label> | 1465 | <label class="right">Allergies:</label> |
1463 | </v-flex> | 1466 | </v-flex> |
1464 | <v-flex xs8 class="ml-3"> | 1467 | <v-flex xs8 class="ml-3"> |
1465 | <v-text-field | 1468 | <v-text-field |
1466 | v-model="addStudents.allergies" | 1469 | v-model="addStudents.allergies" |
1467 | placeholder="Fill your Allergies" | 1470 | placeholder="Fill your Allergies" |
1468 | required | 1471 | required |
1469 | ></v-text-field> | 1472 | ></v-text-field> |
1470 | </v-flex> | 1473 | </v-flex> |
1471 | </v-layout> | 1474 | </v-layout> |
1472 | </v-flex> | 1475 | </v-flex> |
1473 | <v-flex xs12 sm6> | 1476 | <v-flex xs12 sm6> |
1474 | <v-layout> | 1477 | <v-layout> |
1475 | <v-flex xs4 class="pt-4 subheading"> | 1478 | <v-flex xs4 class="pt-4 subheading"> |
1476 | <label | 1479 | <label |
1477 | class="right hidden-xs-only hidden-sm-only" | 1480 | class="right hidden-xs-only hidden-sm-only" |
1478 | >Medical Notes:</label> | 1481 | >Medical Notes:</label> |
1479 | <label | 1482 | <label |
1480 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1483 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1481 | >Medical:</label> | 1484 | >Medical:</label> |
1482 | </v-flex> | 1485 | </v-flex> |
1483 | <v-flex xs8 class="ml-3"> | 1486 | <v-flex xs8 class="ml-3"> |
1484 | <v-text-field | 1487 | <v-text-field |
1485 | v-model="addStudents.medicalNotes" | 1488 | v-model="addStudents.medicalNotes" |
1486 | placeholder="Fill your Medical Notes" | 1489 | placeholder="Fill your Medical Notes" |
1487 | required | 1490 | required |
1488 | ></v-text-field> | 1491 | ></v-text-field> |
1489 | </v-flex> | 1492 | </v-flex> |
1490 | </v-layout> | 1493 | </v-layout> |
1491 | </v-flex> | 1494 | </v-flex> |
1492 | </v-layout> | 1495 | </v-layout> |
1493 | <v-layout wrap> | 1496 | <v-layout wrap> |
1494 | <v-flex xs12 sm6> | 1497 | <v-flex xs12 sm6> |
1495 | <v-layout> | 1498 | <v-layout> |
1496 | <v-flex xs4 class="pt-4 subheading"> | 1499 | <v-flex xs4 class="pt-4 subheading"> |
1497 | <label class="right">Height:</label> | 1500 | <label class="right">Height:</label> |
1498 | </v-flex> | 1501 | </v-flex> |
1499 | <v-flex xs8 class="ml-3"> | 1502 | <v-flex xs8 class="ml-3"> |
1500 | <v-text-field | 1503 | <v-text-field |
1501 | v-model="addStudents.height" | 1504 | v-model="addStudents.height" |
1502 | placeholder="Fill your Height" | 1505 | placeholder="Fill your Height" |
1503 | required | 1506 | required |
1504 | ></v-text-field> | 1507 | ></v-text-field> |
1505 | </v-flex> | 1508 | </v-flex> |
1506 | </v-layout> | 1509 | </v-layout> |
1507 | </v-flex> | 1510 | </v-flex> |
1508 | <v-flex xs12 sm6> | 1511 | <v-flex xs12 sm6> |
1509 | <v-layout> | 1512 | <v-layout> |
1510 | <v-flex xs4 class="pt-4 subheading"> | 1513 | <v-flex xs4 class="pt-4 subheading"> |
1511 | <label class="right">Weight:</label> | 1514 | <label class="right">Weight:</label> |
1512 | </v-flex> | 1515 | </v-flex> |
1513 | <v-flex xs8 class="ml-3"> | 1516 | <v-flex xs8 class="ml-3"> |
1514 | <v-text-field | 1517 | <v-text-field |
1515 | v-model="addStudents.weight" | 1518 | v-model="addStudents.weight" |
1516 | placeholder="Fill your Weight" | 1519 | placeholder="Fill your Weight" |
1517 | required | 1520 | required |
1518 | ></v-text-field> | 1521 | ></v-text-field> |
1519 | </v-flex> | 1522 | </v-flex> |
1520 | </v-layout> | 1523 | </v-layout> |
1521 | </v-flex> | 1524 | </v-flex> |
1522 | </v-layout> | 1525 | </v-layout> |
1523 | <v-layout wrap> | 1526 | <v-layout wrap> |
1524 | <v-flex xs12 sm6> | 1527 | <v-flex xs12 sm6> |
1525 | <v-layout> | 1528 | <v-layout> |
1526 | <v-flex xs4 class="pt-4 subheading"> | 1529 | <v-flex xs4 class="pt-4 subheading"> |
1527 | <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> | 1530 | <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> |
1528 | <label | 1531 | <label |
1529 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1532 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1530 | >Uplaod :</label> | 1533 | >Uplaod :</label> |
1531 | </v-flex> | 1534 | </v-flex> |
1532 | <v-flex xs8 class="ml-3"> | 1535 | <v-flex xs8 class="ml-3"> |
1533 | <v-text-field | 1536 | <v-text-field |
1534 | label="Select Image" | 1537 | label="Select Image" |
1535 | @click="pickFile" | 1538 | @click="pickFile" |
1536 | v-model="imageName" | 1539 | v-model="imageName" |
1537 | append-icon="attach_file" | 1540 | append-icon="attach_file" |
1538 | ></v-text-field> | 1541 | ></v-text-field> |
1539 | </v-flex> | 1542 | </v-flex> |
1540 | </v-layout> | 1543 | </v-layout> |
1541 | </v-flex> | 1544 | </v-flex> |
1542 | <v-flex xs12 sm6> | 1545 | <v-flex xs12 sm6> |
1543 | <v-layout> | 1546 | <v-layout> |
1544 | <v-flex xs4 class="pt-4 subheading"> | 1547 | <v-flex xs4 class="pt-4 subheading"> |
1545 | <label | 1548 | <label |
1546 | class="right hidden-xs-only hidden-sm-only" | 1549 | class="right hidden-xs-only hidden-sm-only" |
1547 | >Academic Year:</label> | 1550 | >Academic Year:</label> |
1548 | <label | 1551 | <label |
1549 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1552 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1550 | >Year:</label> | 1553 | >Year:</label> |
1551 | </v-flex> | 1554 | </v-flex> |
1552 | <v-flex xs8 class="ml-3"> | 1555 | <v-flex xs8 class="ml-3"> |
1553 | <v-text-field | 1556 | <v-text-field |
1554 | v-model="addStudents.establishmentYear" | 1557 | v-model="addStudents.establishmentYear" |
1555 | placeholder="fill your Academic Year" | 1558 | placeholder="fill your Academic Year" |
1556 | name="state" | 1559 | name="state" |
1557 | type="number" | 1560 | type="number" |
1558 | :rules="establishmentYearRules" | 1561 | :rules="establishmentYearRules" |
1559 | required | 1562 | required |
1560 | ></v-text-field> | 1563 | ></v-text-field> |
1561 | </v-flex> | 1564 | </v-flex> |
1562 | </v-layout> | 1565 | </v-layout> |
1563 | </v-flex> | 1566 | </v-flex> |
1564 | </v-layout> | 1567 | </v-layout> |
1565 | <v-layout wrap> | 1568 | <v-layout wrap> |
1566 | <v-flex xs12 sm6> | 1569 | <v-flex xs12 sm6> |
1567 | <v-layout> | 1570 | <v-layout> |
1568 | <v-flex xs4 class="pt-4 subheading"> | 1571 | <v-flex xs4 class="pt-4 subheading"> |
1569 | <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label> | 1572 | <label class="right hidden-xs-only hidden-sm-only">Roll Number:</label> |
1570 | <label | 1573 | <label |
1571 | class="right hidden-lg-only hidden-md-only hidden-xl-only" | 1574 | class="right hidden-lg-only hidden-md-only hidden-xl-only" |
1572 | >Roll No:</label> | 1575 | >Roll No:</label> |
1573 | </v-flex> | 1576 | </v-flex> |
1574 | <v-flex xs8 class="ml-3"> | 1577 | <v-flex xs8 class="ml-3"> |
1575 | <v-text-field | 1578 | <v-text-field |
1576 | v-model="addStudents.rollNo" | 1579 | v-model="addStudents.rollNo" |
1577 | placeholder="Fill your Roll Number" | 1580 | placeholder="Fill your Roll Number" |
1578 | required | 1581 | required |
1579 | ></v-text-field> | 1582 | ></v-text-field> |
1580 | </v-flex> | 1583 | </v-flex> |
1581 | </v-layout> | 1584 | </v-layout> |
1582 | </v-flex> | 1585 | </v-flex> |
1583 | <v-flex xs12 sm6 class="hidden-xs-only hidden-sm-only"> | 1586 | <v-flex xs12 sm6 class="hidden-xs-only hidden-sm-only"> |
1584 | <v-layout> | 1587 | <v-layout> |
1585 | <v-flex xs4 sm4 class="pt-4 subheading"> | 1588 | <v-flex xs4 sm4 class="pt-4 subheading"> |
1586 | <label class="right pr-4">Present Address:</label> | 1589 | <label class="right pr-4">Present Address:</label> |
1587 | </v-flex> | 1590 | </v-flex> |
1588 | <v-flex xs8 sm8 class="ml-3"> | 1591 | <v-flex xs8 sm8 class="ml-3"> |
1589 | <v-text-field | 1592 | <v-text-field |
1590 | name="input-4-3" | 1593 | name="input-4-3" |
1591 | v-model="addStudents.presentAddress" | 1594 | v-model="addStudents.presentAddress" |
1592 | :rules="presentAddress" | 1595 | :rules="presentAddress" |
1593 | placeholder="fill Your present Address" | 1596 | placeholder="fill Your present Address" |
1594 | required | 1597 | required |
1595 | ></v-text-field> | 1598 | ></v-text-field> |
1596 | </v-flex> | 1599 | </v-flex> |
1597 | </v-layout> | 1600 | </v-layout> |
1598 | </v-flex> | 1601 | </v-flex> |
1599 | </v-layout> | 1602 | </v-layout> |
1600 | <v-layout class="hidden-xs-only hidden-sm-only" wrap> | 1603 | <v-layout class="hidden-xs-only hidden-sm-only" wrap> |
1601 | <v-flex xs12 sm6> | 1604 | <v-flex xs12 sm6> |
1602 | <v-layout> | 1605 | <v-layout> |
1603 | <v-flex xs4 sm4 class="pt-4 subheading addressForm"> | 1606 | <v-flex xs4 sm4 class="pt-4 subheading addressForm"> |
1604 | <label class="right">Permanent Address:</label> | 1607 | <label class="right">Permanent Address:</label> |
1605 | </v-flex> | 1608 | </v-flex> |
1606 | <v-flex xs12 sm8 class="ml-3"> | 1609 | <v-flex xs12 sm8 class="ml-3"> |
1607 | <v-text-field | 1610 | <v-text-field |
1608 | name="input-4-3" | 1611 | name="input-4-3" |
1609 | v-model="addStudents.permanentAddress" | 1612 | v-model="addStudents.permanentAddress" |
1610 | :rules="permanentAddress" | 1613 | :rules="permanentAddress" |
1611 | placeholder="fill Your Permanent Address" | 1614 | placeholder="fill Your Permanent Address" |
1612 | required | 1615 | required |
1613 | ></v-text-field> | 1616 | ></v-text-field> |
1614 | </v-flex> | 1617 | </v-flex> |
1615 | </v-layout> | 1618 | </v-layout> |
1616 | </v-flex> | 1619 | </v-flex> |
1617 | </v-layout> | 1620 | </v-layout> |
1618 | <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> | 1621 | <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> |
1619 | <v-flex xs12 sm12> | 1622 | <v-flex xs12 sm12> |
1620 | <v-layout> | 1623 | <v-layout> |
1621 | <v-flex xs12 sm12 class="pt-4 subheading text-xs-center"> | 1624 | <v-flex xs12 sm12 class="pt-4 subheading text-xs-center"> |
1622 | <label class>Present Address :</label> | 1625 | <label class>Present Address :</label> |
1623 | </v-flex> | 1626 | </v-flex> |
1624 | </v-layout> | 1627 | </v-layout> |
1625 | <v-layout> | 1628 | <v-layout> |
1626 | <v-flex xs12 sm12> | 1629 | <v-flex xs12 sm12> |
1627 | <v-textarea | 1630 | <v-textarea |
1628 | name="input-4-3" | 1631 | name="input-4-3" |
1629 | v-model="addStudents.presentAddress" | 1632 | v-model="addStudents.presentAddress" |
1630 | :rules="presentAddress" | 1633 | :rules="presentAddress" |
1631 | placeholder="fill Your present Address" | 1634 | placeholder="fill Your present Address" |
1632 | required | 1635 | required |
1633 | ></v-textarea> | 1636 | ></v-textarea> |
1634 | </v-flex> | 1637 | </v-flex> |
1635 | </v-layout> | 1638 | </v-layout> |
1636 | </v-flex> | 1639 | </v-flex> |
1637 | <v-flex xs12 sm12> | 1640 | <v-flex xs12 sm12> |
1638 | <v-layout> | 1641 | <v-layout> |
1639 | <v-flex | 1642 | <v-flex |
1640 | xs12 | 1643 | xs12 |
1641 | sm12 | 1644 | sm12 |
1642 | class="pt-4 pr-4 subheading text-xs-center addressForm" | 1645 | class="pt-4 pr-4 subheading text-xs-center addressForm" |
1643 | > | 1646 | > |
1644 | <label>Permanent addr:</label> | 1647 | <label>Permanent addr:</label> |
1645 | </v-flex> | 1648 | </v-flex> |
1646 | </v-layout> | 1649 | </v-layout> |
1647 | <v-layout> | 1650 | <v-layout> |
1648 | <v-flex xs12 sm12> | 1651 | <v-flex xs12 sm12> |
1649 | <v-textarea | 1652 | <v-textarea |
1650 | name="input-4-3" | 1653 | name="input-4-3" |
1651 | v-model="addStudents.permanentAddress" | 1654 | v-model="addStudents.permanentAddress" |
1652 | :rules="permanentAddress" | 1655 | :rules="permanentAddress" |
1653 | placeholder="fill Your Permanent Address" | 1656 | placeholder="fill Your Permanent Address" |
1654 | required | 1657 | required |
1655 | ></v-textarea> | 1658 | ></v-textarea> |
1656 | </v-flex> | 1659 | </v-flex> |
1657 | </v-layout> | 1660 | </v-layout> |
1658 | </v-flex> | 1661 | </v-flex> |
1659 | </v-layout> | 1662 | </v-layout> |
1660 | <v-layout> | 1663 | <v-layout> |
1661 | <v-flex xs12 sm12> | 1664 | <v-flex xs12 sm12> |
1662 | <v-layout> | 1665 | <v-layout> |
1663 | <v-flex xs6> | 1666 | <v-flex xs6> |
1664 | <v-btn round dark @click="e2 = 1">Back</v-btn> | 1667 | <v-btn round dark @click="e2 = 1">Back</v-btn> |
1665 | </v-flex> | 1668 | </v-flex> |
1666 | <v-flex xs6> | 1669 | <v-flex xs6> |
1667 | <v-btn | 1670 | <v-btn |
1668 | @click="submit" | 1671 | @click="submit" |
1669 | round | 1672 | round |
1670 | dark | 1673 | dark |
1671 | :loading="loading" | 1674 | :loading="loading" |
1672 | class="right" | 1675 | class="right" |
1673 | >Add</v-btn> | 1676 | >Add</v-btn> |
1674 | </v-flex> | 1677 | </v-flex> |
1675 | </v-layout> | 1678 | </v-layout> |
1676 | </v-flex> | 1679 | </v-flex> |
1677 | </v-layout> | 1680 | </v-layout> |
1678 | </v-form> | 1681 | </v-form> |
1679 | </v-flex> | 1682 | </v-flex> |
1680 | </v-stepper-content> | 1683 | </v-stepper-content> |
1681 | </v-stepper-items> | 1684 | </v-stepper-items> |
1682 | </v-stepper> | 1685 | </v-stepper> |
1683 | </v-app> | 1686 | </v-app> |
1684 | </div> | 1687 | </div> |
1685 | </v-flex> | 1688 | </v-flex> |
1686 | </v-layout> | 1689 | </v-layout> |
1687 | </v-container> | 1690 | </v-container> |
1688 | </v-tab-item> | 1691 | </v-tab-item> |
1689 | </v-tabs> | 1692 | </v-tabs> |
1690 | <div class="loader" v-if="showLoader"> | 1693 | <div class="loader" v-if="showLoader"> |
1691 | <v-progress-circular indeterminate color="white"></v-progress-circular> | 1694 | <v-progress-circular indeterminate color="white"></v-progress-circular> |
1692 | </div> | 1695 | </div> |
1693 | </div> | 1696 | </div> |
1694 | </template> | 1697 | </template> |
1695 | 1698 | ||
1696 | <script> | 1699 | <script> |
1697 | import http from "@/Services/http.js"; | 1700 | import http from "@/Services/http.js"; |
1698 | import moment from "moment"; | 1701 | import moment from "moment"; |
1699 | import countryList from "@/script/country.js"; | 1702 | import countryList from "@/script/country.js"; |
1700 | import parent from '@/script/parents.js' | 1703 | import parent from "@/script/parents.js"; |
1701 | 1704 | ||
1702 | export default { | 1705 | export default { |
1703 | data: () => ({ | 1706 | data: () => ({ |
1704 | e2: 0, | 1707 | e2: 0, |
1705 | showParent: true, | 1708 | showParent: true, |
1706 | showNext: false, | 1709 | showNext: false, |
1707 | snackbar: false, | 1710 | snackbar: false, |
1708 | y: "top", | 1711 | y: "top", |
1709 | x: "right", | 1712 | x: "right", |
1710 | mode: "", | 1713 | mode: "", |
1711 | timeout: 3000, | 1714 | timeout: 3000, |
1712 | text: "", | 1715 | text: "", |
1713 | showLoader: false, | 1716 | showLoader: false, |
1714 | loading: false, | 1717 | loading: false, |
1715 | date: null, | 1718 | date: null, |
1716 | search: "", | 1719 | search: "", |
1717 | menu: false, | 1720 | menu: false, |
1718 | menu1: false, | 1721 | menu1: false, |
1719 | dialog: false, | 1722 | dialog: false, |
1720 | dialog1: false, | 1723 | dialog1: false, |
1721 | valid: true, | 1724 | valid: true, |
1722 | isActive: true, | 1725 | isActive: true, |
1723 | newActive: false, | 1726 | newActive: false, |
1724 | addclass: [], | 1727 | addclass: [], |
1725 | addSection: [], | 1728 | addSection: [], |
1726 | gender: ["Male", "Female"], | 1729 | gender: ["Male", "Female"], |
1727 | pagination: { | 1730 | pagination: { |
1728 | rowsPerPage: 15 | 1731 | rowsPerPage: 15 |
1729 | }, | 1732 | }, |
1730 | imageData: {}, | 1733 | imageData: {}, |
1731 | imageName: "", | 1734 | imageName: "", |
1732 | imageUrl: "", | 1735 | imageUrl: "", |
1733 | imageFile: "", | 1736 | imageFile: "", |
1734 | nameRules: [v => !!v || " Full Name is required"], | 1737 | nameRules: [v => !!v || " Full Name is required"], |
1735 | dateRules: [v => !!v || " DOB is required"], | 1738 | dateRules: [v => !!v || " DOB is required"], |
1736 | cityRules: [v => !!v || " City Name is required"], | 1739 | cityRules: [v => !!v || " City Name is required"], |
1737 | pincode: [v => !!v || " Pincode is required"], | 1740 | pincode: [v => !!v || " Pincode is required"], |
1738 | country: [v => !!v || " Country Name is required"], | 1741 | country: [v => !!v || " Country Name is required"], |
1739 | permanentAddress: [v => !!v || " Permanent Address is required"], | 1742 | permanentAddress: [v => !!v || " Permanent Address is required"], |
1740 | presentAddress: [v => !!v || " Present Address is required"], | 1743 | presentAddress: [v => !!v || " Present Address is required"], |
1741 | mobileNoRules: [v => !!v || "Mobile Number is required"], | 1744 | mobileNoRules: [v => !!v || "Mobile Number is required"], |
1742 | stateRules: [v => !!v || "State Name is required"], | 1745 | stateRules: [v => !!v || "State Name is required"], |
1743 | classRules: [v => !!v || " Class Name is required"], | 1746 | classRules: [v => !!v || " Class Name is required"], |
1744 | sectionRules: [v => !!v || " Section Name is required"], | 1747 | sectionRules: [v => !!v || " Section Name is required"], |
1745 | genderRules: [v => !!v || " Select Gender is required"], | 1748 | genderRules: [v => !!v || " Select Gender is required"], |
1746 | fatherNameRules: [v => !!v || " Father Name is required"], | 1749 | fatherNameRules: [v => !!v || " Father Name is required"], |
1747 | fatheCellNoRules: [v => !!v || " father Cell Number is required"], | 1750 | fatheCellNoRules: [v => !!v || " father Cell Number is required"], |
1748 | motherNameRules: [v => !!v || " Mother Name is required"], | 1751 | motherNameRules: [v => !!v || " Mother Name is required"], |
1749 | motherCellNoRules: [v => !!v || " Mother Cell Number is required"], | 1752 | motherCellNoRules: [v => !!v || " Mother Cell Number is required"], |
1750 | establishmentYearRules: [v => !!v || " Academic Year is required"], | 1753 | establishmentYearRules: [v => !!v || " Academic Year is required"], |
1751 | errorMessages: "", | 1754 | errorMessages: "", |
1752 | emailRules: [ | 1755 | emailRules: [ |
1753 | v => !!v || "E-mail is required", | 1756 | v => !!v || "E-mail is required", |
1754 | v => | 1757 | v => |
1755 | /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || | 1758 | /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || |
1756 | "E-mail must be valid" | 1759 | "E-mail must be valid" |
1757 | ], | 1760 | ], |
1758 | countries: [], | 1761 | countries: [], |
1759 | headers: [ | 1762 | headers: [ |
1760 | { | 1763 | { |
1761 | text: "Roll No.", | 1764 | text: "Roll No.", |
1762 | align: "center", | 1765 | align: "center", |
1763 | sortable: false, | 1766 | sortable: false, |
1764 | value: "rollNo" | 1767 | value: "rollNo" |
1765 | }, | 1768 | }, |
1766 | { | 1769 | { |
1767 | text: "Profile Pic", | 1770 | text: "Profile Pic", |
1768 | value: "profilePicUrl", | 1771 | value: "profilePicUrl", |
1769 | sortable: false, | 1772 | sortable: false, |
1770 | align: "center" | 1773 | align: "center" |
1771 | }, | 1774 | }, |
1772 | { text: "Name", value: "name", sortable: false, align: "center" }, | 1775 | { text: "Name", value: "name", sortable: false, align: "center" }, |
1773 | { text: "Email", value: "email", sortable: false, align: "center" }, | 1776 | { text: "Email", value: "email", sortable: false, align: "center" }, |
1774 | { text: "Dob", value: "dob", sortable: false, align: "center" }, | 1777 | { text: "Dob", value: "dob", sortable: false, align: "center" }, |
1775 | { text: "Gender", value: "gender", sortable: false, align: "center" }, | 1778 | { text: "Gender", value: "gender", sortable: false, align: "center" }, |
1776 | { | 1779 | { |
1777 | text: "Father Name", | 1780 | text: "Father Name", |
1778 | value: "fatherName", | 1781 | value: "fatherName", |
1779 | sortable: false, | 1782 | sortable: false, |
1780 | align: "center" | 1783 | align: "center" |
1781 | }, | 1784 | }, |
1782 | { | 1785 | { |
1783 | text: "Mother Name", | 1786 | text: "Mother Name", |
1784 | value: "motherName", | 1787 | value: "motherName", |
1785 | sortable: false, | 1788 | sortable: false, |
1786 | align: "center" | 1789 | align: "center" |
1787 | }, | 1790 | }, |
1788 | { | 1791 | { |
1789 | text: "Academic Year", | 1792 | text: "Academic Year", |
1790 | value: "establishmentYear", | 1793 | value: "establishmentYear", |
1791 | sortable: false, | 1794 | sortable: false, |
1792 | align: "center" | 1795 | align: "center" |
1793 | }, | 1796 | }, |
1794 | { text: "Mobile No", value: "mobile", sortable: false, align: "center" }, | 1797 | { text: "Mobile No", value: "mobile", sortable: false, align: "center" }, |
1795 | { text: "Action", value: "", sortable: false, align: "center" } | 1798 | { text: "Action", value: "", sortable: false, align: "center" } |
1796 | ], | 1799 | ], |
1797 | desserts: [], | 1800 | desserts: [], |
1798 | parentId: "", | 1801 | parentId: "", |
1799 | editedIndex: -1, | 1802 | editedIndex: -1, |
1800 | parentData: {}, | 1803 | parentData: {}, |
1801 | addStudents: { | 1804 | addStudents: { |
1802 | role: "STUDENT", | 1805 | role: "STUDENT", |
1803 | name: "", | 1806 | name: "", |
1804 | email: "", | 1807 | email: "", |
1805 | date: "", | 1808 | date: "", |
1806 | city: "", | 1809 | city: "", |
1807 | pincode: "", | 1810 | pincode: "", |
1808 | country: "", | 1811 | country: "", |
1809 | permanentAddress: "", | 1812 | permanentAddress: "", |
1810 | presentAddress: "", | 1813 | presentAddress: "", |
1811 | mobile: "", | 1814 | mobile: "", |
1812 | state: "", | 1815 | state: "", |
1813 | gender: "", | 1816 | gender: "", |
1814 | select: "", | 1817 | select: "", |
1815 | selectSection: "", | 1818 | selectSection: "", |
1816 | bloodGroup: "", | 1819 | bloodGroup: "", |
1817 | allergies: "", | 1820 | allergies: "", |
1818 | medicalNotes: "", | 1821 | medicalNotes: "", |
1819 | height: "", | 1822 | height: "", |
1820 | weight: "", | 1823 | weight: "", |
1821 | rollNo: "", | 1824 | rollNo: "", |
1822 | establishmentYear: new Date().getFullYear() | 1825 | establishmentYear: new Date().getFullYear() |
1823 | }, | 1826 | }, |
1824 | selectStudents: { | 1827 | selectStudents: { |
1825 | select: "", | 1828 | select: "", |
1826 | selectSection: "" | 1829 | selectSection: "" |
1827 | }, | 1830 | }, |
1828 | editedItem: { | 1831 | editedItem: { |
1829 | role: "STUDENT", | 1832 | role: "STUDENT", |
1830 | name: "", | 1833 | name: "", |
1831 | email: "", | 1834 | email: "", |
1832 | dob: "", | 1835 | dob: "", |
1833 | city: "", | 1836 | city: "", |
1834 | pincode: "", | 1837 | pincode: "", |
1835 | country: "", | 1838 | country: "", |
1836 | permanentAddress: "", | 1839 | permanentAddress: "", |
1837 | presentAddress: "", | 1840 | presentAddress: "", |
1838 | mobile: "", | 1841 | mobile: "", |
1839 | state: "", | 1842 | state: "", |
1840 | gender: "", | 1843 | gender: "", |
1841 | select: "", | 1844 | select: "", |
1842 | selectSection: "", | 1845 | selectSection: "", |
1843 | bloodGroup: "", | 1846 | bloodGroup: "", |
1844 | allergies: "", | 1847 | allergies: "", |
1845 | medicalNotes: "", | 1848 | medicalNotes: "", |
1846 | height: "", | 1849 | height: "", |
1847 | weight: "", | 1850 | weight: "", |
1848 | rollNo: "", | 1851 | rollNo: "", |
1849 | establishmentYear: new Date().getFullYear() | 1852 | establishmentYear: new Date().getFullYear() |
1850 | } | 1853 | } |
1851 | }), | 1854 | }), |
1852 | watch: { | 1855 | watch: { |
1853 | menu(val) { | 1856 | menu(val) { |
1854 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); | 1857 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); |
1855 | }, | 1858 | }, |
1856 | menu1(val) { | 1859 | menu1(val) { |
1857 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); | 1860 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); |
1858 | } | 1861 | } |
1859 | }, | 1862 | }, |
1860 | methods: { | 1863 | methods: { |
1861 | findStudents() { | 1864 | findStudents() { |
1862 | this.showLoader = true; | 1865 | this.showLoader = true; |
1863 | http() | 1866 | http() |
1864 | .get("/getStudentWithClass", { | 1867 | .get("/getStudentWithClass", { |
1865 | params: { | 1868 | params: { |
1866 | classId: this.selectStudents.select, | 1869 | classId: this.selectStudents.select, |
1867 | sectionId: this.selectStudents.selectSection | 1870 | sectionId: this.selectStudents.selectSection |
1868 | } | 1871 | } |
1869 | }) | 1872 | }) |
1870 | .then(response => { | 1873 | .then(response => { |
1871 | this.desserts = response.data.data; | 1874 | this.desserts = response.data.data; |
1872 | this.showLoader = false; | 1875 | this.showLoader = false; |
1873 | console.log("getSectionsList=====>", this.addSection); | 1876 | console.log("getSectionsList=====>", this.addSection); |
1874 | }) | 1877 | }) |
1875 | .catch(err => { | 1878 | .catch(err => { |
1876 | console.log("err====>", err); | 1879 | console.log("err====>", err); |
1877 | this.showLoader = false; | 1880 | this.showLoader = false; |
1878 | }); | 1881 | }); |
1879 | }, | 1882 | }, |
1880 | getSections(_id) { | 1883 | getSections(_id) { |
1881 | var token = this.$store.state.token; | 1884 | var token = this.$store.state.token; |
1882 | this.showLoader = true; | 1885 | this.showLoader = true; |
1883 | http() | 1886 | http() |
1884 | .get( | 1887 | .get( |
1885 | "/getSectionsList", | 1888 | "/getSectionsList", |
1886 | { params: { classId: _id } }, | 1889 | { params: { classId: _id } }, |
1887 | { | 1890 | { |
1888 | headers: { Authorization: "Bearer " + token } | 1891 | headers: { Authorization: "Bearer " + token } |
1889 | } | 1892 | } |
1890 | ) | 1893 | ) |
1891 | .then(response => { | 1894 | .then(response => { |
1892 | this.addSection = response.data.data; | 1895 | this.addSection = response.data.data; |
1893 | this.showLoader = false; | 1896 | this.showLoader = false; |
1894 | // console.log("getSectionsList=====>", this.addSection); | 1897 | // console.log("getSectionsList=====>", this.addSection); |
1895 | }) | 1898 | }) |
1896 | .catch(err => { | 1899 | .catch(err => { |
1897 | this.showLoader = false; | 1900 | this.showLoader = false; |
1898 | // console.log("err====>", err); | 1901 | // console.log("err====>", err); |
1899 | // this.$router.replace({ path: '/' }); | 1902 | // this.$router.replace({ path: '/' }); |
1900 | }); | 1903 | }); |
1901 | }, | 1904 | }, |
1902 | getSection(_id) { | 1905 | getSection(_id) { |
1903 | var token = this.$store.state.token; | 1906 | var token = this.$store.state.token; |
1904 | this.showLoader = true; | 1907 | this.showLoader = true; |
1905 | http() | 1908 | http() |
1906 | .get( | 1909 | .get( |
1907 | "/getSectionsList", | 1910 | "/getSectionsList", |
1908 | { params: { classId: _id } }, | 1911 | { params: { classId: _id } }, |
1909 | { | 1912 | { |
1910 | headers: { Authorization: "Bearer " + token } | 1913 | headers: { Authorization: "Bearer " + token } |
1911 | } | 1914 | } |
1912 | ) | 1915 | ) |
1913 | .then(response => { | 1916 | .then(response => { |
1914 | this.addSection = response.data.data; | 1917 | this.addSection = response.data.data; |
1915 | this.showLoader = false; | 1918 | this.showLoader = false; |
1916 | // console.log("getSectionsList=====>", this.addSection); | 1919 | // console.log("getSectionsList=====>", this.addSection); |
1917 | }) | 1920 | }) |
1918 | .catch(err => { | 1921 | .catch(err => { |
1919 | this.showLoader = false; | 1922 | this.showLoader = false; |
1920 | // console.log("err====>", err); | 1923 | // console.log("err====>", err); |
1921 | // this.$router.replace({ path: '/' }); | 1924 | // this.$router.replace({ path: '/' }); |
1922 | }); | 1925 | }); |
1923 | }, | 1926 | }, |
1924 | pickFile() { | 1927 | pickFile() { |
1925 | this.$refs.image.click(); | 1928 | this.$refs.image.click(); |
1926 | }, | 1929 | }, |
1927 | dates: function(date) { | 1930 | dates: function(date) { |
1928 | return moment(date).format("MMMM DD, YYYY"); | 1931 | return moment(date).format("MMMM DD, YYYY"); |
1929 | }, | 1932 | }, |
1930 | onFilePicked(e) { | 1933 | onFilePicked(e) { |
1931 | // console.log(e) | 1934 | // console.log(e) |
1932 | const files = e.target.files; | 1935 | const files = e.target.files; |
1933 | this.imageData.upload = e.target.files[0]; | 1936 | this.imageData.upload = e.target.files[0]; |
1934 | if (files[0] !== undefined) { | 1937 | if (files[0] !== undefined) { |
1935 | this.imageName = files[0].name; | 1938 | this.imageName = files[0].name; |
1936 | if (this.imageName.lastIndexOf(".") <= 0) { | 1939 | if (this.imageName.lastIndexOf(".") <= 0) { |
1937 | return; | 1940 | return; |
1938 | } | 1941 | } |
1939 | const fr = new FileReader(); | 1942 | const fr = new FileReader(); |
1940 | fr.readAsDataURL(files[0]); | 1943 | fr.readAsDataURL(files[0]); |
1941 | fr.addEventListener("load", () => { | 1944 | fr.addEventListener("load", () => { |
1942 | this.imageUrl = fr.result; | 1945 | this.imageUrl = fr.result; |
1943 | this.imageFile = files[0]; // this is an image file that can be sent to server... | 1946 | this.imageFile = files[0]; // this is an image file that can be sent to server... |
1944 | this.imageData.imageUrl = URL.createObjectURL(this.imageFile); | 1947 | this.imageData.imageUrl = URL.createObjectURL(this.imageFile); |
1945 | }); | 1948 | }); |
1946 | } else { | 1949 | } else { |
1947 | this.imageName = ""; | 1950 | this.imageName = ""; |
1948 | this.imageFile = ""; | 1951 | this.imageFile = ""; |
1949 | this.imageUrl = ""; | 1952 | this.imageUrl = ""; |
1950 | } | 1953 | } |
1951 | }, | 1954 | }, |
1952 | // getStudentList() { | 1955 | // getStudentList() { |
1953 | // this.showLoader = true; | 1956 | // this.showLoader = true; |
1954 | // var token = this.$store.state.token; | 1957 | // var token = this.$store.state.token; |
1955 | // http() | 1958 | // http() |
1956 | // .get("/getStudentsList", { | 1959 | // .get("/getStudentsList", { |
1957 | // headers: { Authorization: "Bearer " + token } | 1960 | // headers: { Authorization: "Bearer " + token } |
1958 | // }) | 1961 | // }) |
1959 | // .then(response => { | 1962 | // .then(response => { |
1960 | // this.desserts = response.data.data; | 1963 | // this.desserts = response.data.data; |
1961 | // this.showLoader = false; | 1964 | // this.showLoader = false; |
1962 | // // console.log("getStudentList=====>",this.desserts) | 1965 | // // console.log("getStudentList=====>",this.desserts) |
1963 | // }) | 1966 | // }) |
1964 | // .catch(err => { | 1967 | // .catch(err => { |
1965 | // // console.log("err====>", err); | 1968 | // // console.log("err====>", err); |
1966 | // this.showLoader = false; | 1969 | // this.showLoader = false; |
1967 | // this.$router.replace({ path: "/" }); | 1970 | // this.$router.replace({ path: "/" }); |
1968 | // }); | 1971 | // }); |
1969 | // }, | 1972 | // }, |
1970 | editItem(item) { | 1973 | editItem(item) { |
1971 | this.editedIndex = this.desserts.indexOf(item); | 1974 | this.editedIndex = this.desserts.indexOf(item); |
1972 | this.editedItem = Object.assign({}, item); | 1975 | this.editedItem = Object.assign({}, item); |
1973 | this.editedItem.fatherName = item.parentId.fatherName; | 1976 | this.editedItem.fatherName = item.parentId.fatherName; |
1974 | this.editedItem.fatherCellNo = item.parentId.fatherCellNo; | 1977 | this.editedItem.fatherCellNo = item.parentId.fatherCellNo; |
1975 | this.editedItem.motherName = item.parentId.motherName; | 1978 | this.editedItem.motherName = item.parentId.motherName; |
1976 | this.editedItem.motherCellNo = item.parentId.motherCellNo; | 1979 | this.editedItem.motherCellNo = item.parentId.motherCellNo; |
1977 | this.editedItem.dob = | 1980 | this.editedItem.dob = |
1978 | this.editedItem.dob != undefined | 1981 | this.editedItem.dob != undefined |
1979 | ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10)) | 1982 | ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10)) |
1980 | : (this.editedItem.dob = ""); | 1983 | : (this.editedItem.dob = ""); |
1981 | this.dialog = true; | 1984 | this.dialog = true; |
1982 | }, | 1985 | }, |
1983 | profile(item) { | 1986 | profile(item) { |
1984 | console.log("item", item); | 1987 | console.log("item", item); |
1985 | this.editedIndex = this.desserts.indexOf(item); | 1988 | this.editedIndex = this.desserts.indexOf(item); |
1986 | this.editedItem = Object.assign({}, item); | 1989 | this.editedItem = Object.assign({}, item); |
1987 | this.editedItem.fatherName = item.parentId.fatherName; | 1990 | this.editedItem.fatherName = item.parentId.fatherName; |
1988 | this.editedItem.fatherCellNo = item.parentId.fatherCellNo; | 1991 | this.editedItem.fatherCellNo = item.parentId.fatherCellNo; |
1989 | this.editedItem.motherName = item.parentId.motherName; | 1992 | this.editedItem.motherName = item.parentId.motherName; |
1990 | this.editedItem.motherCellNo = item.parentId.motherCellNo; | 1993 | this.editedItem.motherCellNo = item.parentId.motherCellNo; |
1991 | 1994 | ||
1992 | this.dialog1 = true; | 1995 | this.dialog1 = true; |
1993 | }, | 1996 | }, |
1994 | deleteItem(item) { | 1997 | deleteItem(item) { |
1995 | let deleteStudent = { | 1998 | let deleteStudent = { |
1996 | studentId: item._id | 1999 | studentId: item._id |
1997 | }; | 2000 | }; |
1998 | http() | 2001 | http() |
1999 | .delete( | 2002 | .delete( |
2000 | "/deleteStudent", | 2003 | "/deleteStudent", |
2001 | confirm("Are you sure you want to delete this?") && { | 2004 | confirm("Are you sure you want to delete this?") && { |
2002 | params: deleteStudent | 2005 | params: deleteStudent |
2003 | } | 2006 | } |
2004 | ) | 2007 | ) |
2005 | .then(response => { | 2008 | .then(response => { |
2006 | // console.log("deleteUers",deleteStudent) | 2009 | // console.log("deleteUers",deleteStudent) |
2007 | if ((this.snackbar = true)) { | 2010 | if ((this.snackbar = true)) { |
2008 | this.text = "Successfully delete Existing Student"; | 2011 | this.text = "Successfully delete Existing Student"; |
2009 | } | 2012 | } |
2010 | this.getStudentList(); | 2013 | this.getStudentList(); |
2011 | }) | 2014 | }) |
2012 | .catch(error => { | 2015 | .catch(error => { |
2013 | // console.log(error); | 2016 | // console.log(error); |
2014 | }); | 2017 | }); |
2015 | }, | 2018 | }, |
2016 | activeTab(type) { | 2019 | activeTab(type) { |
2017 | switch (type) { | 2020 | switch (type) { |
2018 | case "existing": | 2021 | case "existing": |
2019 | this.newActive = false; | 2022 | this.newActive = false; |
2020 | this.isActive = true; | 2023 | this.isActive = true; |
2021 | break; | 2024 | break; |
2022 | 2025 | ||
2023 | default: | 2026 | default: |
2024 | this.newActive = true; | 2027 | this.newActive = true; |
2025 | this.isActive = false; | 2028 | this.isActive = false; |
2026 | break; | 2029 | break; |
2027 | } | 2030 | } |
2028 | }, | 2031 | }, |
2029 | close() { | 2032 | close() { |
2030 | this.dialog = false; | 2033 | this.dialog = false; |
2031 | setTimeout(() => { | 2034 | setTimeout(() => { |
2032 | this.editedItem = Object.assign({}, this.defaultItem); | 2035 | this.editedItem = Object.assign({}, this.defaultItem); |
2033 | this.editedIndex = -1; | 2036 | this.editedIndex = -1; |
2034 | }, 300); | 2037 | }, 300); |
2035 | }, | 2038 | }, |
2036 | close1() { | 2039 | close1() { |
2037 | this.dialog1 = false; | 2040 | this.dialog1 = false; |
2038 | }, | 2041 | }, |
2039 | submit() { | 2042 | submit() { |
2040 | if (this.$refs.form.validate()) { | 2043 | if (this.$refs.form.validate()) { |
2041 | let addStudent = { | 2044 | let addStudent = { |
2042 | parentId: this.parentId, | 2045 | parentId: this.parentId, |
2043 | name: this.addStudents.name, | 2046 | name: this.addStudents.name, |
2044 | email: this.addStudents.email, | 2047 | email: this.addStudents.email, |
2045 | role: this.addStudents.role, | 2048 | role: this.addStudents.role, |
2046 | dob: this.addStudents.date, | 2049 | dob: this.addStudents.date, |
2047 | city: this.addStudents.city, | 2050 | city: this.addStudents.city, |
2048 | pincode: this.addStudents.pincode, | 2051 | pincode: this.addStudents.pincode, |
2049 | country: this.addStudents.country, | 2052 | country: this.addStudents.country, |
2050 | permanentAddress: this.addStudents.permanentAddress, | 2053 | permanentAddress: this.addStudents.permanentAddress, |
2051 | presentAddress: this.addStudents.presentAddress, | 2054 | presentAddress: this.addStudents.presentAddress, |
2052 | mobile: this.addStudents.mobile, | 2055 | mobile: this.addStudents.mobile, |
2053 | state: this.addStudents.state, | 2056 | state: this.addStudents.state, |
2054 | gender: this.addStudents.gender, | 2057 | gender: this.addStudents.gender, |
2055 | establishmentYear: this.addStudents.establishmentYear, | 2058 | establishmentYear: this.addStudents.establishmentYear, |
2056 | classId: this.addStudents.select, | 2059 | classId: this.addStudents.select, |
2057 | sectionId: this.addStudents.selectSection, | 2060 | sectionId: this.addStudents.selectSection, |
2058 | bloodGroup: this.addStudents.bloodGroup, | 2061 | bloodGroup: this.addStudents.bloodGroup, |
2059 | allergies: this.addStudents.allergies, | 2062 | allergies: this.addStudents.allergies, |
2060 | medicalNotes: this.addStudents.medicalNotes, | 2063 | medicalNotes: this.addStudents.medicalNotes, |
2061 | height: this.addStudents.height, | 2064 | height: this.addStudents.height, |
2062 | weight: this.addStudents.weight, | 2065 | weight: this.addStudents.weight, |
2063 | rollNo: this.addStudents.rollNo | 2066 | rollNo: this.addStudents.rollNo |
2064 | }; | 2067 | }; |
2065 | if (this.imageUrl) { | 2068 | if (this.imageUrl) { |
2066 | var str = this.imageUrl; | 2069 | var str = this.imageUrl; |
2067 | const [baseUrl, imageUrl] = str.split(/,/); | 2070 | const [baseUrl, imageUrl] = str.split(/,/); |
2068 | addStudent.upload = imageUrl; | 2071 | addStudent.upload = imageUrl; |
2069 | } | 2072 | } |
2070 | this.loading = true; | 2073 | this.loading = true; |
2071 | http() | 2074 | http() |
2072 | .post("/createStudent", addStudent) | 2075 | .post("/createStudent", addStudent) |
2073 | .then(response => { | 2076 | .then(response => { |
2074 | console.log(addStudent); | 2077 | console.log(addStudent); |
2075 | if ((this.snackbar = true)) { | 2078 | if ((this.snackbar = true)) { |
2076 | this.text = "New Student added successfully"; | 2079 | this.text = "New Student added successfully"; |
2077 | } | 2080 | } |
2078 | // this.getStudentList(); | 2081 | // this.getStudentList(); |
2079 | this.clear(); | 2082 | this.clear(); |
2080 | this.loading = false; | 2083 | this.loading = false; |
2081 | }) | 2084 | }) |
2082 | .catch(error => { | 2085 | .catch(error => { |
2083 | // console.log(error); | 2086 | // console.log(error); |
2084 | if ((this.snackbar = true)) { | 2087 | if ((this.snackbar = true)) { |
2085 | this.text = error.response.data.message; | 2088 | this.text = error.response.data.message; |
2086 | } | 2089 | } |
2087 | this.loading = false; | 2090 | this.loading = false; |
2088 | }); | 2091 | }); |
2089 | } | 2092 | } |
2090 | }, | 2093 | }, |
2091 | clear() { | 2094 | clear() { |
2092 | this.$refs.form.reset(); | 2095 | this.$refs.form.reset(); |
2093 | this.imageUrl = ""; | 2096 | this.imageUrl = ""; |
2094 | }, | 2097 | }, |
2095 | save() { | 2098 | save() { |
2096 | let editStudent = { | 2099 | let editStudent = { |
2097 | studentId: this.editedItem._id, | 2100 | studentId: this.editedItem._id, |
2098 | name: this.editedItem.name, | 2101 | name: this.editedItem.name, |
2099 | email: this.editedItem.email, | 2102 | email: this.editedItem.email, |
2100 | role: this.editedItem.role, | 2103 | role: this.editedItem.role, |
2101 | dob: this.editedItem.dob, | 2104 | dob: this.editedItem.dob, |
2102 | city: this.editedItem.city, | 2105 | city: this.editedItem.city, |
2103 | pincode: this.editedItem.pincode, | 2106 | pincode: this.editedItem.pincode, |
2104 | country: this.editedItem.country, | 2107 | country: this.editedItem.country, |
2105 | permanentAddress: this.editedItem.permanentAddress, | 2108 | permanentAddress: this.editedItem.permanentAddress, |
2106 | presentAddress: this.editedItem.presentAddress, | 2109 | presentAddress: this.editedItem.presentAddress, |
2107 | mobile: this.editedItem.mobile, | 2110 | mobile: this.editedItem.mobile, |
2108 | state: this.editedItem.state, | 2111 | state: this.editedItem.state, |
2109 | gender: this.editedItem.gender, | 2112 | gender: this.editedItem.gender, |
2110 | establishmentYear: this.editedItem.establishmentYear, | 2113 | establishmentYear: this.editedItem.establishmentYear, |
2111 | classId: this.editedItem.select, | 2114 | classId: this.editedItem.select, |
2112 | sectionId: this.editedItem.selectSection, | 2115 | sectionId: this.editedItem.selectSection, |
2113 | bloodGroup: this.editedItem.bloodGroup, | 2116 | bloodGroup: this.editedItem.bloodGroup, |
2114 | allergies: this.editedItem.allergies, | 2117 | allergies: this.editedItem.allergies, |
2115 | medicalNotes: this.editedItem.medicalNotes, | 2118 | medicalNotes: this.editedItem.medicalNotes, |
2116 | height: this.editedItem.height, | 2119 | height: this.editedItem.height, |
2117 | weight: this.editedItem.weight, | 2120 | weight: this.editedItem.weight, |
2118 | rollNo: this.editedItem.rollNo | 2121 | rollNo: this.editedItem.rollNo |
2119 | }; | 2122 | }; |
2120 | if (this.imageUrl) { | 2123 | if (this.imageUrl) { |
2121 | var str = this.imageUrl; | 2124 | var str = this.imageUrl; |
2122 | const [baseUrl, imageUrl] = str.split(/,/); | 2125 | const [baseUrl, imageUrl] = str.split(/,/); |
2123 | editStudent.upload = imageUrl; | 2126 | editStudent.upload = imageUrl; |
2124 | } | 2127 | } |
2125 | http() | 2128 | http() |
2126 | .put("/updateStudent", editStudent) | 2129 | .put("/updateStudent", editStudent) |
2127 | .then(response => { | 2130 | .then(response => { |
2128 | this.snackbar = true; | 2131 | this.snackbar = true; |
2129 | this.text = "Successfully Student Existing User"; | 2132 | this.text = "Successfully Student Existing User"; |
2130 | this.imageUrl = ""; | 2133 | this.imageUrl = ""; |
2131 | this.findStudents(); | 2134 | this.findStudents(); |
2132 | this.close(); | 2135 | this.close(); |
2133 | }) | 2136 | }) |
2134 | .catch(error => { | 2137 | .catch(error => { |
2135 | // console.log(error); | 2138 | // console.log(error); |
2136 | if ((this.snackbar = true)) { | 2139 | if ((this.snackbar = true)) { |
2137 | this.text = error.response.data.statusText; | 2140 | this.text = error.response.data.statusText; |
2138 | } | 2141 | } |
2139 | }); | 2142 | }); |
2140 | }, | 2143 | }, |
2141 | submitParentDetails() { | 2144 | submitParentDetails() { |
2142 | if (this.$refs.parentForm.validate()) { | 2145 | if (this.$refs.parentForm.validate()) { |
2143 | let addparentDetails = { | 2146 | let addparentDetails = { |
2144 | email: this.parentData.email, | 2147 | email: this.parentData.email, |
2145 | fatherName: this.parentData.fatherName, | 2148 | fatherName: this.parentData.fatherName, |
2146 | fatherCellNo: this.parentData.fatherCellNo, | 2149 | fatherCellNo: this.parentData.fatherCellNo, |
2147 | motherName: this.parentData.motherName, | 2150 | motherName: this.parentData.motherName, |
2148 | motherCellNo: this.parentData.motherCellNo, | 2151 | motherCellNo: this.parentData.motherCellNo, |
2149 | role: "PARENT" | 2152 | role: "PARENT" |
2150 | }; | 2153 | }; |
2151 | this.loading = true; | 2154 | this.loading = true; |
2152 | http() | 2155 | http() |
2153 | .post("/createParent", addparentDetails) | 2156 | .post("/createParent", addparentDetails) |
2154 | .then(response => { | 2157 | .then(response => { |
2155 | this.parentId = response.data.data.id; | 2158 | this.parentId = response.data.data.id; |
2156 | this.e2 = 2; | 2159 | this.e2 = 2; |
2157 | if ((this.snackbar = true)) { | 2160 | if ((this.snackbar = true)) { |
2158 | this.text = "successfully"; | 2161 | this.text = "successfully"; |
2159 | } | 2162 | } |
2160 | // this.getStudentList(); | 2163 | // this.getStudentList(); |
2161 | this.clear(); | 2164 | this.clear(); |
2162 | this.loading = false; | 2165 | this.loading = false; |
2163 | }) | 2166 | }) |
2164 | .catch(error => { | 2167 | .catch(error => { |
2165 | console.log(error.response.data); | 2168 | console.log(error.response.data); |
2166 | if ((this.snackbar = true)) { | 2169 | if ((this.snackbar = true)) { |
2167 | this.text = error.response.data.message; | 2170 | this.text = error.response.data.message; |
2168 | this.text = error.response.data.statusText; | 2171 | this.text = error.response.data.statusText; |
2169 | } | 2172 | } |
2170 | this.loading = false; | 2173 | this.loading = false; |
2171 | }); | 2174 | }); |
2172 | } | 2175 | } |
2173 | }, | 2176 | }, |
2174 | getParentDetails() { | 2177 | getParentDetails() { |
2175 | if (this.parentData.email) { | 2178 | if (this.parentData.email) { |
2176 | http() | 2179 | http() |
2177 | .get("getParticularParent", { | 2180 | .get("getParticularParent", { |
2178 | params: { email: this.parentData.email }, | 2181 | params: { email: this.parentData.email }, |
2179 | headers: { | 2182 | headers: { |
2180 | Authorization: "Bearer " + this.$store.state.token | 2183 | Authorization: "Bearer " + this.$store.state.token |
2181 | } | 2184 | } |
2182 | }) | 2185 | }) |
2183 | .then(response => { | 2186 | .then(response => { |
2184 | this.showNext = true; | 2187 | this.showNext = true; |
2185 | this.showParent = false; | 2188 | this.showParent = false; |
2186 | this.parentData = response.data.data; | 2189 | this.parentData = response.data.data; |
2187 | this.parentId = response.data.data._id; | 2190 | this.parentId = response.data.data._id; |
2188 | }) | 2191 | }) |
2189 | .catch(error => { | 2192 | .catch(error => { |
2190 | console.log("err====>", error.response.data.message); | 2193 | console.log("err====>", error.response.data.message); |
2191 | }); | 2194 | }); |
2192 | } | 2195 | } |
2193 | } | 2196 | } |
2194 | }, | 2197 | }, |
2195 | mounted() { | 2198 | mounted() { |
2196 | const getCountryList = countryList(); | 2199 | const getCountryList = countryList(); |
2197 | this.countries = getCountryList; | 2200 | this.countries = getCountryList; |
2198 | var token = this.$store.state.token; | 2201 | var token = this.$store.state.token; |
2199 | http() | 2202 | http() |
2200 | .get("/getClassesList", { | 2203 | .get("/getClassesList", { |
2201 | headers: { Authorization: "Bearer " + token } | 2204 | headers: { Authorization: "Bearer " + token } |
2202 | }) | 2205 | }) |
2203 | .then(response => { | 2206 | .then(response => { |
2204 | this.addclass = response.data.data; | 2207 | this.addclass = response.data.data; |
2205 | }) | 2208 | }) |
2206 | .catch(error => { | 2209 | .catch(error => { |
2207 | this.showLoader = false; | 2210 | this.showLoader = false; |
2208 | if (error.response.status === 401) { | 2211 | if (error.response.status === 401) { |
2209 | this.$router.replace({ path: "/" }); | 2212 | this.$router.replace({ path: "/" }); |
2210 | this.$store.dispatch("setToken", null); | 2213 | this.$store.dispatch("setToken", null); |
2211 | this.$store.dispatch("Id", null); | 2214 | this.$store.dispatch("Id", null); |
2212 | this.$store.dispatch("Role", null); | 2215 | this.$store.dispatch("Role", null); |
2213 | } | 2216 | } |
2214 | }); | 2217 | }); |
2215 | }, | 2218 | }, |
2216 | created() { | 2219 | created() { |
2217 | this.$root.$on("app:search", search => { | 2220 | this.$root.$on("app:search", search => { |
2218 | this.search = search; | 2221 | this.search = search; |
2219 | }); | 2222 | }); |
2220 | }, | 2223 | }, |
2221 | beforeDestroy() { | 2224 | beforeDestroy() { |
2222 | // dont forget to remove the listener | 2225 | // dont forget to remove the listener |
2223 | this.$root.$off("app:search"); | 2226 | this.$root.$off("app:search"); |
2224 | } | 2227 | } |
2225 | }; | 2228 | }; |
2226 | </script> | 2229 | </script> |
2227 | <style scoped> | 2230 | <style scoped> |
2228 | .active { | 2231 | .active { |
2229 | background-color: gray; | 2232 | background-color: gray; |
2230 | color: white !important; | 2233 | color: white !important; |
2231 | } | 2234 | } |
2232 | .activebtn { | 2235 | .activebtn { |
src/pages/Teachers/teachers.vue
1 | <template> | 1 | <template> |
2 | <v-app id="pages-dasboard"> | 2 | <v-app id="pages-dasboard"> |
3 | <v-tabs grow slider-color="gray"> | 3 | <v-tabs grow slider-color="gray"> |
4 | <v-tab | 4 | <v-tab |
5 | ripple | 5 | ripple |
6 | @click="activeTab('existing')" | 6 | @click="activeTab('existing')" |
7 | v-bind:class="{ active: isActive }" | 7 | v-bind:class="{ active: isActive }" |
8 | id="tab" | 8 | id="tab" |
9 | class="subheading" | 9 | class="subheading" |
10 | >Existing Teachers</v-tab> | 10 | >Existing Teachers</v-tab> |
11 | <v-tab | 11 | <v-tab |
12 | ripple | 12 | ripple |
13 | @click="activeTab('new')" | 13 | @click="activeTab('new')" |
14 | v-bind:class="{ active: newActive }" | 14 | v-bind:class="{ active: newActive }" |
15 | id="tab1" | 15 | id="tab1" |
16 | User | 16 | User |
17 | class="subheading" | 17 | class="subheading" |
18 | >Add New Teachers</v-tab> | 18 | >Add New Teachers</v-tab> |
19 | <!-- ****** EDIT TEACHERS DETAILS ****** --> | 19 | <!-- ****** EDIT TEACHERS DETAILS ****** --> |
20 | <v-tab-item> | 20 | <v-tab-item> |
21 | <v-snackbar | 21 | <v-snackbar |
22 | :timeout="timeout" | 22 | :timeout="timeout" |
23 | :top="y === 'top'" | 23 | :top="y === 'top'" |
24 | :right="x === 'right'" | 24 | :right="x === 'right'" |
25 | :vertical="mode === 'vertical'" | 25 | :vertical="mode === 'vertical'" |
26 | v-model="snackbar" | 26 | v-model="snackbar" |
27 | color="success" | 27 | color="success" |
28 | >{{ text }}</v-snackbar> | 28 | >{{ text }}</v-snackbar> |
29 | <v-dialog v-model="dialog" max-width="1100px" scrollable> | 29 | <v-dialog v-model="dialog" max-width="1400px" scrollable> |
30 | <v-card flat> | 30 | <v-card flat> |
31 | <v-toolbar color="grey lighten-2" flat> | 31 | <v-toolbar color="grey lighten-2" flat> |
32 | <v-spacer></v-spacer> | 32 | <v-spacer></v-spacer> |
33 | <v-toolbar-title>Edit Teacher Profile</v-toolbar-title> | 33 | <v-toolbar-title>Edit Teacher Profile</v-toolbar-title> |
34 | <v-spacer></v-spacer> | 34 | <v-spacer></v-spacer> |
35 | </v-toolbar> | 35 | </v-toolbar> |
36 | <v-card-text style="height: 800px;"> | 36 | <v-card-text style="height: 740px;"> |
37 | <v-layout> | 37 | <v-layout> |
38 | <v-flex | 38 | <v-flex |
39 | xs12 | 39 | xs12 |
40 | class="text-xs-center text-sm-center text-md-center text-lg-center my-4" | 40 | class="text-xs-center text-sm-center text-md-center text-lg-center my-4" |
41 | > | 41 | > |
42 | <v-avatar size="160px"> | 42 | <v-avatar size="160px"> |
43 | <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl && !imageUrl" /> | 43 | <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl && !imageUrl" /> |
44 | <img | 44 | <img |
45 | :src="editedItem.profilePicUrl" | 45 | :src="editedItem.profilePicUrl" |
46 | v-else-if="editedItem.profilePicUrl && !imageUrl" | 46 | v-else-if="editedItem.profilePicUrl && !imageUrl" |
47 | /> | 47 | /> |
48 | <img | 48 | <img |
49 | v-if="imageUrl" | 49 | v-if="imageUrl" |
50 | :src="imageUrl" | 50 | :src="imageUrl" |
51 | height="150" | 51 | height="150" |
52 | style="border-radius:50%; width:200px" | 52 | style="border-radius:50%; width:200px" |
53 | /> | 53 | /> |
54 | </v-avatar> | 54 | </v-avatar> |
55 | <input | 55 | <input |
56 | type="file" | 56 | type="file" |
57 | style="display:none" | 57 | style="display:none" |
58 | ref="image" | 58 | ref="image" |
59 | accept="image/*" | 59 | accept="image/*" |
60 | @change="onFilePicked" | 60 | @change="onFilePicked" |
61 | /> | 61 | /> |
62 | </v-flex> | 62 | </v-flex> |
63 | </v-layout> | 63 | </v-layout> |
64 | <v-layout wrap> | 64 | <v-layout wrap> |
65 | <v-flex xs12 sm6> | 65 | <v-flex xs12 sm6> |
66 | <v-layout> | 66 | <v-layout> |
67 | <v-flex xs4 sm4 class="pt-4 subheading"> | 67 | <v-flex xs4 sm4 class="pt-4 subheading"> |
68 | <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> | 68 | <label class="right hidden-xs-only hidden-sm-only">Full Name:</label> |
69 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Name:</label> | 69 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Name:</label> |
70 | </v-flex> | 70 | </v-flex> |
71 | <v-flex xs8 sm6 class="ml-3"> | 71 | <v-flex xs8 sm6 class="ml-3"> |
72 | <v-text-field | 72 | <v-text-field |
73 | v-model="editedItem.name" | 73 | v-model="editedItem.name" |
74 | placeholder="fill your full Name" | 74 | placeholder="fill your full Name" |
75 | type="text" | 75 | type="text" |
76 | required | 76 | required |
77 | ></v-text-field> | 77 | ></v-text-field> |
78 | </v-flex> | 78 | </v-flex> |
79 | </v-layout> | 79 | </v-layout> |
80 | </v-flex> | 80 | </v-flex> |
81 | <v-flex xs12 sm6> | 81 | <v-flex xs12 sm6> |
82 | <v-layout> | 82 | <v-layout> |
83 | <v-flex xs4 sm4 class="pt-4 subheading"> | 83 | <v-flex xs4 sm4 class="pt-4 subheading"> |
84 | <label class="right">Email ID:</label> | 84 | <label class="right">Email ID:</label> |
85 | </v-flex> | 85 | </v-flex> |
86 | <v-flex xs8 sm6 class="ml-3"> | 86 | <v-flex xs8 sm6 class="ml-3"> |
87 | <v-text-field | 87 | <v-text-field |
88 | placeholder="fill your email" | 88 | placeholder="fill your email" |
89 | v-model="editedItem.email" | 89 | v-model="editedItem.email" |
90 | type="text" | 90 | type="text" |
91 | required | 91 | required |
92 | ></v-text-field> | 92 | ></v-text-field> |
93 | </v-flex> | 93 | </v-flex> |
94 | </v-layout> | 94 | </v-layout> |
95 | </v-flex> | 95 | </v-flex> |
96 | </v-layout> | 96 | </v-layout> |
97 | <v-layout wrap> | 97 | <v-layout wrap> |
98 | <v-flex xs12 sm6> | 98 | <v-flex xs12 sm6> |
99 | <v-layout> | 99 | <v-layout> |
100 | <v-flex xs4 sm4 class="pt-4 subheading"> | 100 | <v-flex xs4 sm4 class="pt-4 subheading"> |
101 | <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> | 101 | <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> |
102 | <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> | 102 | <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> |
103 | </v-flex> | 103 | </v-flex> |
104 | <v-flex xs8 sm6 class="ml-3"> | 104 | <v-flex xs8 sm6 class="ml-3"> |
105 | <v-menu | 105 | <v-menu |
106 | ref="menu" | 106 | ref="menu" |
107 | :close-on-content-click="false" | 107 | :close-on-content-click="false" |
108 | v-model="menu2" | 108 | v-model="menu2" |
109 | :nudge-right="40" | 109 | :nudge-right="40" |
110 | lazy | 110 | lazy |
111 | transition="scale-transition" | 111 | transition="scale-transition" |
112 | offset-y | 112 | offset-y |
113 | full-width | 113 | full-width |
114 | min-width="290px" | 114 | min-width="290px" |
115 | > | 115 | > |
116 | <v-text-field | 116 | <v-text-field |
117 | slot="activator" | 117 | slot="activator" |
118 | v-model="editedItem.dob" | 118 | v-model="editedItem.dob" |
119 | placeholder="Select date" | 119 | placeholder="Select date" |
120 | ></v-text-field> | 120 | ></v-text-field> |
121 | <v-date-picker | 121 | <v-date-picker |
122 | ref="picker" | 122 | ref="picker" |
123 | v-model="editedItem.dob" | 123 | v-model="editedItem.dob" |
124 | :max="new Date().toISOString().substr(0, 10)" | 124 | :max="new Date().toISOString().substr(0, 10)" |
125 | min="1950-01-01" | 125 | min="1950-01-01" |
126 | @input="menu2 = false" | 126 | @input="menu2 = false" |
127 | ></v-date-picker> | 127 | ></v-date-picker> |
128 | </v-menu> | 128 | </v-menu> |
129 | </v-flex> | 129 | </v-flex> |
130 | </v-layout> | 130 | </v-layout> |
131 | </v-flex> | 131 | </v-flex> |
132 | <v-flex xs12 sm6> | 132 | <v-flex xs12 sm6> |
133 | <v-layout> | 133 | <v-layout> |
134 | <v-flex xs4 class="pt-4 subheading"> | 134 | <v-flex xs4 class="pt-4 subheading"> |
135 | <label class="right">City:</label> | 135 | <label class="right">City:</label> |
136 | </v-flex> | 136 | </v-flex> |
137 | <v-flex xs8 sm6 class="ml-3"> | 137 | <v-flex xs8 sm6 class="ml-3"> |
138 | <v-text-field | 138 | <v-text-field |
139 | v-model="editedItem.city" | 139 | v-model="editedItem.city" |
140 | placeholder="fill your City Name" | 140 | placeholder="fill your City Name" |
141 | type="text" | 141 | type="text" |
142 | required | 142 | required |
143 | ></v-text-field> | 143 | ></v-text-field> |
144 | </v-flex> | 144 | </v-flex> |
145 | </v-layout> | 145 | </v-layout> |
146 | </v-flex> | 146 | </v-flex> |
147 | </v-layout> | 147 | </v-layout> |
148 | <v-layout wrap> | 148 | <v-layout wrap> |
149 | <v-flex xs12 sm6> | 149 | <v-flex xs12 sm6> |
150 | <v-layout> | 150 | <v-layout> |
151 | <v-flex xs4 class="pt-4 subheading"> | 151 | <v-flex xs4 class="pt-4 subheading"> |
152 | <label class="right">State:</label> | 152 | <label class="right">State:</label> |
153 | </v-flex> | 153 | </v-flex> |
154 | <v-flex xs8 sm6 class="ml-3"> | 154 | <v-flex xs8 sm6 class="ml-3"> |
155 | <v-text-field | 155 | <v-text-field |
156 | v-model="editedItem.state" | 156 | v-model="editedItem.state" |
157 | placeholder="fill your State Name" | 157 | placeholder="fill your State Name" |
158 | type="text" | 158 | type="text" |
159 | required | 159 | required |
160 | ></v-text-field> | 160 | ></v-text-field> |
161 | </v-flex> | 161 | </v-flex> |
162 | </v-layout> | 162 | </v-layout> |
163 | </v-flex> | 163 | </v-flex> |
164 | <v-flex xs12 sm6> | 164 | <v-flex xs12 sm6> |
165 | <v-layout> | 165 | <v-layout> |
166 | <v-flex xs4 class="pt-4 subheading"> | 166 | <v-flex xs4 class="pt-4 subheading"> |
167 | <label class="right">PinCode:</label> | 167 | <label class="right">PinCode:</label> |
168 | </v-flex> | 168 | </v-flex> |
169 | <v-flex xs8 sm6 class="ml-3"> | 169 | <v-flex xs8 sm6 class="ml-3"> |
170 | <v-text-field | 170 | <v-text-field |
171 | v-model="editedItem.pincode" | 171 | v-model="editedItem.pincode" |
172 | placeholder="fill your pincode" | 172 | placeholder="fill your pincode" |
173 | type="number" | 173 | type="number" |
174 | required | 174 | required |
175 | ></v-text-field> | 175 | ></v-text-field> |
176 | </v-flex> | 176 | </v-flex> |
177 | </v-layout> | 177 | </v-layout> |
178 | </v-flex> | 178 | </v-flex> |
179 | </v-layout> | 179 | </v-layout> |
180 | <v-layout wrap> | 180 | <v-layout wrap> |
181 | <v-flex xs12 sm6> | 181 | <v-flex xs12 sm6> |
182 | <v-layout> | 182 | <v-layout> |
183 | <v-flex xs4 class="pt-4 subheading"> | 183 | <v-flex xs4 class="pt-4 subheading"> |
184 | <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> | 184 | <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> |
185 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> | 185 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> |
186 | </v-flex> | 186 | </v-flex> |
187 | <v-flex xs8 sm6 class="ml-3"> | 187 | <v-flex xs8 sm6 class="ml-3"> |
188 | <v-text-field | 188 | <v-text-field |
189 | v-model="editedItem.mobileNo" | 189 | v-model="editedItem.mobileNo" |
190 | placeholder="fill your MobileNo" | 190 | placeholder="fill your MobileNo" |
191 | type="number" | 191 | type="number" |
192 | required | 192 | required |
193 | ></v-text-field> | 193 | ></v-text-field> |
194 | </v-flex> | 194 | </v-flex> |
195 | </v-layout> | 195 | </v-layout> |
196 | </v-flex> | 196 | </v-flex> |
197 | <v-flex xs12 sm6> | 197 | <v-flex xs12 sm6> |
198 | <v-layout> | 198 | <v-layout> |
199 | <v-flex xs4 class="pt-4 subheading"> | 199 | <v-flex xs4 class="pt-4 subheading"> |
200 | <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> | 200 | <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> |
201 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> | 201 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> |
202 | </v-flex> | 202 | </v-flex> |
203 | <v-flex xs8 sm6 class="ml-3"> | 203 | <v-flex xs8 sm6 class="ml-3"> |
204 | <v-autocomplete | 204 | <v-autocomplete |
205 | v-model="editedItem.country" | 205 | v-model="editedItem.country" |
206 | :items="countries" | 206 | :items="countries" |
207 | placeholder="Select Country Name" | 207 | placeholder="Select Country Name" |
208 | required | 208 | required |
209 | ></v-autocomplete> | 209 | ></v-autocomplete> |
210 | </v-flex> | 210 | </v-flex> |
211 | </v-layout> | 211 | </v-layout> |
212 | </v-flex> | 212 | </v-flex> |
213 | </v-layout> | 213 | </v-layout> |
214 | <v-layout wrap> | 214 | <v-layout wrap> |
215 | <v-flex xs12 sm6> | 215 | <v-flex xs12 sm6> |
216 | <v-layout> | 216 | <v-layout> |
217 | <v-flex xs4 class="pt-4 subheading"> | 217 | <v-flex xs4 class="pt-4 subheading"> |
218 | <label class="right">Join Date:</label> | 218 | <label class="right">Join Date:</label> |
219 | </v-flex> | 219 | </v-flex> |
220 | <v-flex xs8 sm6 class="ml-3"> | 220 | <v-flex xs8 sm6 class="ml-3"> |
221 | <v-menu | 221 | <v-menu |
222 | ref="menu" | 222 | ref="menu" |
223 | :close-on-content-click="false" | 223 | :close-on-content-click="false" |
224 | v-model="menu3" | 224 | v-model="menu3" |
225 | :nudge-right="40" | 225 | :nudge-right="40" |
226 | lazy | 226 | lazy |
227 | transition="scale-transition" | 227 | transition="scale-transition" |
228 | offset-y | 228 | offset-y |
229 | full-width | 229 | full-width |
230 | min-width="290px" | 230 | min-width="290px" |
231 | > | 231 | > |
232 | <v-text-field | 232 | <v-text-field |
233 | slot="activator" | 233 | slot="activator" |
234 | v-model="editedItem.joinDate" | 234 | v-model="editedItem.joinDate" |
235 | placeholder="Select date" | 235 | placeholder="Select date" |
236 | ></v-text-field> | 236 | ></v-text-field> |
237 | <v-date-picker | 237 | <v-date-picker |
238 | ref="picker" | 238 | ref="picker" |
239 | v-model="editedItem.joinDate" | 239 | v-model="editedItem.joinDate" |
240 | :max="new Date().toISOString().substr(0, 10)" | 240 | :max="new Date().toISOString().substr(0, 10)" |
241 | min="1950-01-01" | 241 | min="1950-01-01" |
242 | @input="menu3 = false" | 242 | @input="menu3 = false" |
243 | ></v-date-picker> | 243 | ></v-date-picker> |
244 | </v-menu> | 244 | </v-menu> |
245 | </v-flex> | 245 | </v-flex> |
246 | </v-layout> | 246 | </v-layout> |
247 | </v-flex> | 247 | </v-flex> |
248 | <v-flex xs12 sm6> | 248 | <v-flex xs12 sm6> |
249 | <v-layout> | 249 | <v-layout> |
250 | <v-flex xs4 class="pt-4 subheading"> | 250 | <v-flex xs4 class="pt-4 subheading"> |
251 | <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> | 251 | <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> |
252 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod :</label> | 252 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod :</label> |
253 | </v-flex> | 253 | </v-flex> |
254 | <v-flex xs8 sm6 class="ml-3"> | 254 | <v-flex xs8 sm6 class="ml-3"> |
255 | <v-text-field | 255 | <v-text-field |
256 | label="Select Image" | 256 | label="Select Image" |
257 | @click="pickFile" | 257 | @click="pickFile" |
258 | v-model="imageName" | 258 | v-model="imageName" |
259 | append-icon="attach_file" | 259 | append-icon="attach_file" |
260 | ></v-text-field> | 260 | ></v-text-field> |
261 | </v-flex> | 261 | </v-flex> |
262 | </v-layout> | 262 | </v-layout> |
263 | </v-flex> | 263 | </v-flex> |
264 | </v-layout> | 264 | </v-layout> |
265 | <v-layout class="hidden-xs-only hidden-sm-only" wrap> | 265 | <v-layout class="hidden-xs-only hidden-sm-only" wrap> |
266 | <v-flex xs12 sm12> | 266 | <v-flex xs12 sm6> |
267 | <v-layout> | 267 | <v-layout> |
268 | <v-flex xs4 sm2 class="pt-4 subheading ml-5"> | 268 | <v-flex xs4 sm4 class="pt-4 subheading"> |
269 | <label class="right pr-2">Present Address:</label> | 269 | <label class="right">Present Address:</label> |
270 | </v-flex> | 270 | </v-flex> |
271 | <v-flex xs8 sm10> | 271 | <v-flex xs8 sm6 class="ml-3"> |
272 | <v-text-field | 272 | <v-text-field |
273 | name="input-4-3" | 273 | name="input-4-3" |
274 | v-model="editedItem.presentAddress" | 274 | v-model="editedItem.presentAddress" |
275 | placeholder="fill Your present Address" | 275 | placeholder="fill Your present Address" |
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 sm12> | 281 | <v-flex xs12 sm6> |
282 | <v-layout> | 282 | <v-layout> |
283 | <v-flex xs4 sm2 class="pt-4 subheading ml-5 addressForm"> | 283 | <v-flex xs4 sm4 class="pt-4 subheading"> |
284 | <label class="pr-2">Permanent Address:</label> | 284 | <label class="right">Permanent Address:</label> |
285 | </v-flex> | 285 | </v-flex> |
286 | <v-flex xs12 sm10> | 286 | <v-flex xs12 sm6 class="ml-3"> |
287 | <v-text-field | 287 | <v-text-field |
288 | name="input-4-3" | 288 | name="input-4-3" |
289 | v-model="editedItem.permanentAddress" | 289 | v-model="editedItem.permanentAddress" |
290 | placeholder="fill Your Permanent Address" | 290 | placeholder="fill Your Permanent Address" |
291 | required | 291 | required |
292 | ></v-text-field> | 292 | ></v-text-field> |
293 | </v-flex> | 293 | </v-flex> |
294 | </v-layout> | 294 | </v-layout> |
295 | </v-flex> | 295 | </v-flex> |
296 | </v-layout> | 296 | </v-layout> |
297 | <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> | 297 | <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only" wrap> |
298 | <v-flex xs12 sm12> | 298 | <v-flex xs12 sm12> |
299 | <v-layout> | 299 | <v-layout> |
300 | <v-flex xs12 sm3 class="pt-4 subheading text-xs-center"> | 300 | <v-flex xs12 sm3 class="pt-4 subheading text-xs-center"> |
301 | <label class>Present Address:</label> | 301 | <label class>Present Address:</label> |
302 | </v-flex> | 302 | </v-flex> |
303 | </v-layout> | 303 | </v-layout> |
304 | <v-layout> | 304 | <v-layout> |
305 | <v-flex xs12 sm12> | 305 | <v-flex xs12 sm12> |
306 | <v-textarea | 306 | <v-textarea |
307 | name="input-4-3" | 307 | name="input-4-3" |
308 | v-model="editedItem.presentAddress" | 308 | v-model="editedItem.presentAddress" |
309 | placeholder="fill Your present Address" | 309 | placeholder="fill Your present Address" |
310 | required | 310 | required |
311 | ></v-textarea> | 311 | ></v-textarea> |
312 | </v-flex> | 312 | </v-flex> |
313 | </v-layout> | 313 | </v-layout> |
314 | </v-flex> | 314 | </v-flex> |
315 | <v-flex xs12 sm12> | 315 | <v-flex xs12 sm12> |
316 | <v-layout> | 316 | <v-layout> |
317 | <v-flex xs12 sm3 class="pt-4 pr-4 subheading text-xs-center addressForm"> | 317 | <v-flex xs12 sm3 class="pt-4 pr-4 subheading text-xs-center addressForm"> |
318 | <label>Permanent Address:</label> | 318 | <label>Permanent Address:</label> |
319 | </v-flex> | 319 | </v-flex> |
320 | </v-layout> | 320 | </v-layout> |
321 | <v-layout> | 321 | <v-layout> |
322 | <v-flex xs12 sm12> | 322 | <v-flex xs12 sm12> |
323 | <v-textarea | 323 | <v-textarea |
324 | name="input-4-3" | 324 | name="input-4-3" |
325 | v-model="editedItem.permanentAddress" | 325 | v-model="editedItem.permanentAddress" |
326 | placeholder="fill Your Permanent Address" | 326 | placeholder="fill Your Permanent Address" |
327 | required | 327 | required |
328 | ></v-textarea> | 328 | ></v-textarea> |
329 | </v-flex> | 329 | </v-flex> |
330 | </v-layout> | 330 | </v-layout> |
331 | </v-flex> | 331 | </v-flex> |
332 | </v-layout> | 332 | </v-layout> |
333 | <v-layout> | 333 | <v-layout> |
334 | <v-flex xs12 sm12> | 334 | <v-flex xs12 sm10 offset-sm1> |
335 | <v-layout> | 335 | <v-layout> |
336 | <v-flex xs6> | 336 | <v-flex xs6> |
337 | <v-btn round dark @click.native="close">Cancel</v-btn> | 337 | <v-btn round dark @click.native="close">Cancel</v-btn> |
338 | </v-flex> | 338 | </v-flex> |
339 | <v-flex xs6> | 339 | <v-flex xs6> |
340 | <v-btn @click="save" round dark :loading="loading" class="right">Save</v-btn> | 340 | <v-btn @click="save" round dark :loading="loading" class="right">Save</v-btn> |
341 | </v-flex> | 341 | </v-flex> |
342 | </v-layout> | 342 | </v-layout> |
343 | </v-flex> | 343 | </v-flex> |
344 | </v-layout> | 344 | </v-layout> |
345 | </v-card-text> | 345 | </v-card-text> |
346 | </v-card> | 346 | </v-card> |
347 | </v-dialog> | 347 | </v-dialog> |
348 | 348 | ||
349 | <!-- ****** PROFILE VIEW TEACHERS DETAILS ****** --> | 349 | <!-- ****** PROFILE VIEW TEACHERS DETAILS ****** --> |
350 | 350 | ||
351 | <v-dialog v-model="dialog1" max-width="600px" scrollable> | 351 | <v-dialog v-model="dialog1" max-width="600px" scrollable> |
352 | <v-card> | 352 | <v-card> |
353 | <v-toolbar color="grey lighten-2" flat> | 353 | <v-toolbar color="grey lighten-2" flat> |
354 | <v-spacer></v-spacer> | 354 | <v-spacer></v-spacer> |
355 | <v-toolbar-title> | 355 | <v-toolbar-title> |
356 | <h3>Teacher Profile</h3> | 356 | <h3>Teacher Profile</h3> |
357 | </v-toolbar-title> | 357 | </v-toolbar-title> |
358 | <v-spacer></v-spacer> | 358 | <v-spacer></v-spacer> |
359 | <v-icon @click="close1">close</v-icon> | 359 | <v-icon @click="close1">close</v-icon> |
360 | </v-toolbar> | 360 | </v-toolbar> |
361 | <v-card-text style="height: 700px;"> | 361 | <v-card-text style="height: 700px;"> |
362 | <v-container grid-list-md> | 362 | <v-container grid-list-md> |
363 | <v-layout wrap> | 363 | <v-layout wrap> |
364 | <v-flex> | 364 | <v-flex> |
365 | <v-flex align-center justify-center layout text-xs-center> | 365 | <v-flex align-center justify-center layout text-xs-center> |
366 | <v-avatar size="160px"> | 366 | <v-avatar size="160px"> |
367 | <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> | 367 | <img src="/static/icon/user.png" v-if="!editedItem.profilePicUrl" /> |
368 | <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> | 368 | <img :src="editedItem.profilePicUrl" v-else-if="editedItem.profilePicUrl" /> |
369 | </v-avatar> | 369 | </v-avatar> |
370 | </v-flex> | 370 | </v-flex> |
371 | <v-layout> | 371 | <v-layout> |
372 | <v-flex xs5 sm6> | 372 | <v-flex xs5 sm6> |
373 | <h5 class="right my-1"> | 373 | <h5 class="right my-1"> |
374 | <b>Full Name:</b> | 374 | <b>Full Name:</b> |
375 | </h5> | 375 | </h5> |
376 | </v-flex> | 376 | </v-flex> |
377 | <v-flex sm6 xs8> | 377 | <v-flex sm6 xs8> |
378 | <h5 class="my-1">{{ editedItem.name }}</h5> | 378 | <h5 class="my-1">{{ editedItem.name }}</h5> |
379 | </v-flex> | 379 | </v-flex> |
380 | </v-layout> | 380 | </v-layout> |
381 | <v-layout> | 381 | <v-layout> |
382 | <v-flex xs5 sm6> | 382 | <v-flex xs5 sm6> |
383 | <h5 class="right my-1"> | 383 | <h5 class="right my-1"> |
384 | <b>Email:</b> | 384 | <b>Email:</b> |
385 | </h5> | 385 | </h5> |
386 | </v-flex> | 386 | </v-flex> |
387 | <v-flex sm6 xs8> | 387 | <v-flex sm6 xs8> |
388 | <h5 class="my-1">{{ editedItem.email }}</h5> | 388 | <h5 class="my-1">{{ editedItem.email }}</h5> |
389 | </v-flex> | 389 | </v-flex> |
390 | </v-layout> | 390 | </v-layout> |
391 | <v-layout> | 391 | <v-layout> |
392 | <v-flex xs5 sm6> | 392 | <v-flex xs5 sm6> |
393 | <h5 class="right my-1"> | 393 | <h5 class="right my-1"> |
394 | <b>City:</b> | 394 | <b>City:</b> |
395 | </h5> | 395 | </h5> |
396 | </v-flex> | 396 | </v-flex> |
397 | <v-flex sm6 xs8> | 397 | <v-flex sm6 xs8> |
398 | <h5 class="my-1">{{ editedItem.city }}</h5> | 398 | <h5 class="my-1">{{ editedItem.city }}</h5> |
399 | </v-flex> | 399 | </v-flex> |
400 | </v-layout> | 400 | </v-layout> |
401 | <v-layout> | 401 | <v-layout> |
402 | <v-flex xs5 sm6> | 402 | <v-flex xs5 sm6> |
403 | <h5 class="right my-1"> | 403 | <h5 class="right my-1"> |
404 | <b>State:</b> | 404 | <b>State:</b> |
405 | </h5> | 405 | </h5> |
406 | </v-flex> | 406 | </v-flex> |
407 | <v-flex sm6 xs8> | 407 | <v-flex sm6 xs8> |
408 | <h5 class="my-1">{{ editedItem.state }}</h5> | 408 | <h5 class="my-1">{{ editedItem.state }}</h5> |
409 | </v-flex> | 409 | </v-flex> |
410 | </v-layout> | 410 | </v-layout> |
411 | <v-layout> | 411 | <v-layout> |
412 | <v-flex xs5 sm6> | 412 | <v-flex xs5 sm6> |
413 | <h5 class="right my-1"> | 413 | <h5 class="right my-1"> |
414 | <b>Country:</b> | 414 | <b>Country:</b> |
415 | </h5> | 415 | </h5> |
416 | </v-flex> | 416 | </v-flex> |
417 | <v-flex sm6 xs8> | 417 | <v-flex sm6 xs8> |
418 | <h5 class="my-1">{{ editedItem.country }}</h5> | 418 | <h5 class="my-1">{{ editedItem.country }}</h5> |
419 | </v-flex> | 419 | </v-flex> |
420 | </v-layout> | 420 | </v-layout> |
421 | <v-layout> | 421 | <v-layout> |
422 | <v-flex xs5 sm6> | 422 | <v-flex xs5 sm6> |
423 | <h5 class="right my-1"> | 423 | <h5 class="right my-1"> |
424 | <b>Pincode:</b> | 424 | <b>Pincode:</b> |
425 | </h5> | 425 | </h5> |
426 | </v-flex> | 426 | </v-flex> |
427 | <v-flex sm6 xs8> | 427 | <v-flex sm6 xs8> |
428 | <h5 class="my-1">{{ editedItem.pincode }}</h5> | 428 | <h5 class="my-1">{{ editedItem.pincode }}</h5> |
429 | </v-flex> | 429 | </v-flex> |
430 | </v-layout> | 430 | </v-layout> |
431 | <v-layout> | 431 | <v-layout> |
432 | <v-flex xs5 sm6> | 432 | <v-flex xs5 sm6> |
433 | <h5 class="right my-1"> | 433 | <h5 class="right my-1"> |
434 | <b>Mobile No:</b> | 434 | <b>Mobile No:</b> |
435 | </h5> | 435 | </h5> |
436 | </v-flex> | 436 | </v-flex> |
437 | <v-flex sm6 xs8> | 437 | <v-flex sm6 xs8> |
438 | <h5 class="my-1">{{ editedItem.mobileNo }}</h5> | 438 | <h5 class="my-1">{{ editedItem.mobileNo }}</h5> |
439 | </v-flex> | 439 | </v-flex> |
440 | </v-layout> | 440 | </v-layout> |
441 | <v-layout> | 441 | <v-layout> |
442 | <v-flex xs5 sm6> | 442 | <v-flex xs5 sm6> |
443 | <h5 class="right my-1"> | 443 | <h5 class="right my-1"> |
444 | <b>Join Date:</b> | 444 | <b>Join Date:</b> |
445 | </h5> | 445 | </h5> |
446 | </v-flex> | 446 | </v-flex> |
447 | <v-flex sm6 xs8> | 447 | <v-flex sm6 xs8> |
448 | <h5 class="my-1">{{ dates(editedItem.joinDate) }}</h5> | 448 | <h5 class="my-1">{{ dates(editedItem.joinDate) }}</h5> |
449 | </v-flex> | 449 | </v-flex> |
450 | </v-layout> | 450 | </v-layout> |
451 | <v-layout> | 451 | <v-layout> |
452 | <v-flex xs5 sm6> | 452 | <v-flex xs5 sm6> |
453 | <h5 class="right my-1"> | 453 | <h5 class="right my-1"> |
454 | <b>D.O.B :</b> | 454 | <b>D.O.B :</b> |
455 | </h5> | 455 | </h5> |
456 | </v-flex> | 456 | </v-flex> |
457 | <v-flex sm6 xs8> | 457 | <v-flex sm6 xs8> |
458 | <h5 class="my-1">{{ dates(editedItem.dob) }}</h5> | 458 | <h5 class="my-1">{{ dates(editedItem.dob) }}</h5> |
459 | </v-flex> | 459 | </v-flex> |
460 | </v-layout> | 460 | </v-layout> |
461 | <v-layout> | 461 | <v-layout> |
462 | <v-flex xs6 sm6> | 462 | <v-flex xs6 sm6> |
463 | <h5 class="right my-1"> | 463 | <h5 class="right my-1"> |
464 | <b>Permanent Address:</b> | 464 | <b>Permanent Address:</b> |
465 | </h5> | 465 | </h5> |
466 | </v-flex> | 466 | </v-flex> |
467 | <v-flex sm6 xs8> | 467 | <v-flex sm6 xs8> |
468 | <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> | 468 | <h5 class="my-1">{{ editedItem.permanentAddress }}</h5> |
469 | </v-flex> | 469 | </v-flex> |
470 | </v-layout> | 470 | </v-layout> |
471 | <v-layout> | 471 | <v-layout> |
472 | <v-flex xs6 sm6> | 472 | <v-flex xs6 sm6> |
473 | <h5 class="right my-1"> | 473 | <h5 class="right my-1"> |
474 | <b>present Address:</b> | 474 | <b>present Address:</b> |
475 | </h5> | 475 | </h5> |
476 | </v-flex> | 476 | </v-flex> |
477 | <v-flex sm6 xs8> | 477 | <v-flex sm6 xs8> |
478 | <h5 class="my-1">{{ editedItem.presentAddress }}</h5> | 478 | <h5 class="my-1">{{ editedItem.presentAddress }}</h5> |
479 | </v-flex> | 479 | </v-flex> |
480 | </v-layout> | 480 | </v-layout> |
481 | </v-flex> | 481 | </v-flex> |
482 | </v-layout> | 482 | </v-layout> |
483 | </v-container> | 483 | </v-container> |
484 | </v-card-text> | 484 | </v-card-text> |
485 | </v-card> | 485 | </v-card> |
486 | </v-dialog> | 486 | </v-dialog> |
487 | <v-snackbar | 487 | <v-snackbar |
488 | :timeout="timeout" | 488 | :timeout="timeout" |
489 | :top="y === 'top'" | 489 | :top="y === 'top'" |
490 | :right="x === 'right'" | 490 | :right="x === 'right'" |
491 | :vertical="mode === 'vertical'" | 491 | :vertical="mode === 'vertical'" |
492 | v-model="snackbar" | 492 | v-model="snackbar" |
493 | color="success" | 493 | color="success" |
494 | >{{ text }}</v-snackbar> | 494 | >{{ text }}</v-snackbar> |
495 | 495 | ||
496 | <!-- ****** EXISTING-Teachers TABLE DATA****** --> | 496 | <!-- ****** EXISTING-Teachers TABLE DATA****** --> |
497 | 497 | ||
498 | <v-data-table | 498 | <v-data-table |
499 | :headers="headers" | 499 | :headers="headers" |
500 | :items="desserts" | 500 | :items="desserts" |
501 | :pagination.sync="pagination" | 501 | :pagination.sync="pagination" |
502 | :search="search" | 502 | :search="search" |
503 | > | 503 | > |
504 | <template slot="items" slot-scope="props"> | 504 | <template slot="items" slot-scope="props"> |
505 | <td id="td" class="text-xs-center">{{ props.index + 1}}</td> | 505 | <td id="td" class="text-xs-center">{{ props.index + 1}}</td> |
506 | <td id="td" class="text-xs-center"> | 506 | <td id="td" class="text-xs-center"> |
507 | <v-avatar> | 507 | <v-avatar> |
508 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> | 508 | <img :src="props.item.profilePicUrl" v-if="props.item.profilePicUrl" /> |
509 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> | 509 | <img src="/static/icon/user.png" v-else-if="!props.item.profilePicUrl" /> |
510 | </v-avatar> | 510 | </v-avatar> |
511 | </td> | 511 | </td> |
512 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> | 512 | <td id="td" class="text-xs-center">{{ props.item.name}}</td> |
513 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> | 513 | <td id="td" class="text-xs-center">{{ props.item.email }}</td> |
514 | <td id="td" class="text-xs-center">{{ dates(props.item.dob) }}</td> | 514 | <td id="td" class="text-xs-center">{{ dates(props.item.dob) }}</td> |
515 | <td id="td" class="text-xs-center">{{ dates(props.item.joinDate)}}</td> | 515 | <td id="td" class="text-xs-center">{{ dates(props.item.joinDate)}}</td> |
516 | <td id="td" class="text-xs-center">{{ props.item.mobileNo }}</td> | 516 | <td id="td" class="text-xs-center">{{ props.item.mobileNo }}</td> |
517 | <td class="text-xs-center"> | 517 | <td class="text-xs-center"> |
518 | <span> | 518 | <span> |
519 | <v-tooltip top> | 519 | <v-tooltip top> |
520 | <img | 520 | <img |
521 | slot="activator" | 521 | slot="activator" |
522 | style="cursor:pointer; width:25px; height:18px; " | 522 | style="cursor:pointer; width:25px; height:18px; " |
523 | class="mr5" | 523 | class="mr5" |
524 | @click="profile(props.item)" | 524 | @click="profile(props.item)" |
525 | src="/static/icon/eye1.png" | 525 | src="/static/icon/eye1.png" |
526 | /> | 526 | /> |
527 | <span>View</span> | 527 | <span>View</span> |
528 | </v-tooltip> | 528 | </v-tooltip> |
529 | <v-tooltip top> | 529 | <v-tooltip top> |
530 | <img | 530 | <img |
531 | slot="activator" | 531 | slot="activator" |
532 | style="cursor:pointer; width:20px; height:18px; " | 532 | style="cursor:pointer; width:20px; height:18px; " |
533 | class="mr5" | 533 | class="mr5" |
534 | @click="editItem(props.item)" | 534 | @click="editItem(props.item)" |
535 | src="/static/icon/edit1.png" | 535 | src="/static/icon/edit1.png" |
536 | /> | 536 | /> |
537 | <span>Edit</span> | 537 | <span>Edit</span> |
538 | </v-tooltip> | 538 | </v-tooltip> |
539 | <v-tooltip top> | 539 | <v-tooltip top> |
540 | <img | 540 | <img |
541 | slot="activator" | 541 | slot="activator" |
542 | style="cursor:pointer; width:20px; height:20px; " | 542 | style="cursor:pointer; width:20px; height:20px; " |
543 | class="mr5" | 543 | class="mr5" |
544 | @click="deleteItem(props.item)" | 544 | @click="deleteItem(props.item)" |
545 | src="/static/icon/delete1.png" | 545 | src="/static/icon/delete1.png" |
546 | /> | 546 | /> |
547 | <span>Delete</span> | 547 | <span>Delete</span> |
548 | </v-tooltip> | 548 | </v-tooltip> |
549 | </span> | 549 | </span> |
550 | </td> | 550 | </td> |
551 | </template> | 551 | </template> |
552 | <v-alert | 552 | <v-alert |
553 | slot="no-results" | 553 | slot="no-results" |
554 | :value="true" | 554 | :value="true" |
555 | color="error" | 555 | color="error" |
556 | icon="warning" | 556 | icon="warning" |
557 | >Your search for "{{ search }}" found no results.</v-alert> | 557 | >Your search for "{{ search }}" found no results.</v-alert> |
558 | </v-data-table> | 558 | </v-data-table> |
559 | </v-tab-item> | 559 | </v-tab-item> |
560 | 560 | ||
561 | <!-- ****** Add Teachers Data****** --> | 561 | <!-- ****** Add Teachers Data****** --> |
562 | <v-tab-item> | 562 | <v-tab-item> |
563 | <v-container fluid> | 563 | <v-container fluid> |
564 | <v-snackbar | 564 | <v-snackbar |
565 | :timeout="timeout" | 565 | :timeout="timeout" |
566 | :top="y === 'top'" | 566 | :top="y === 'top'" |
567 | :right="x === 'right'" | 567 | :right="x === 'right'" |
568 | :vertical="mode === 'vertical'" | 568 | :vertical="mode === 'vertical'" |
569 | v-model="snackbar" | 569 | v-model="snackbar" |
570 | color="success" | 570 | color="success" |
571 | >{{ text }}</v-snackbar> | 571 | >{{ text }}</v-snackbar> |
572 | <v-flex xs12 sm12 class="my-4"> | 572 | <v-flex xs12 sm12 class="my-4"> |
573 | <v-card flat> | 573 | <v-card flat> |
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 | 577 | <v-flex |
578 | xs12 | 578 | xs12 |
579 | class="text-xs-center text-sm-center text-md-center text-lg-center my-4" | 579 | class="text-xs-center text-sm-center text-md-center text-lg-center my-4" |
580 | > | 580 | > |
581 | <v-avatar size="100px"> | 581 | <v-avatar size="100px"> |
582 | <img src="/static/icon/user.png" v-if="!imageUrl" /> | 582 | <img src="/static/icon/user.png" v-if="!imageUrl" /> |
583 | </v-avatar> | 583 | </v-avatar> |
584 | <img | 584 | <img |
585 | :src="imageUrl" | 585 | :src="imageUrl" |
586 | height="150" | 586 | height="150" |
587 | v-if="imageUrl" | 587 | v-if="imageUrl" |
588 | style="border-radius:50%; width:200px" | 588 | style="border-radius:50%; width:200px" |
589 | /> | 589 | /> |
590 | </v-flex> | 590 | </v-flex> |
591 | </v-layout> | 591 | </v-layout> |
592 | <v-layout> | 592 | <v-layout> |
593 | <v-flex xs12 sm6> | 593 | <v-flex xs12 sm6> |
594 | <v-layout> | 594 | <v-layout> |
595 | <v-flex xs4 class="pt-4 subheading"> | 595 | <v-flex xs4 class="pt-4 subheading"> |
596 | <label class="right hidden-sm-only hidden-xs-only">Full Name:</label> | 596 | <label class="right hidden-sm-only hidden-xs-only">Full Name:</label> |
597 | <label | 597 | <label |
598 | class="right hidden-lg-only hidden-xl-only hidden-md-only" | 598 | class="right hidden-lg-only hidden-xl-only hidden-md-only" |
599 | >Full Name</label> | 599 | >Full Name</label> |
600 | </v-flex> | 600 | </v-flex> |
601 | <v-flex xs8 class="ml-3"> | 601 | <v-flex xs8 class="ml-3"> |
602 | <v-text-field | 602 | <v-text-field |
603 | v-model="addTeachers.name" | 603 | v-model="addTeachers.name" |
604 | placeholder="fill your full Name" | 604 | placeholder="fill your full Name" |
605 | name="name" | 605 | name="name" |
606 | type="text" | 606 | type="text" |
607 | :rules="nameRules" | 607 | :rules="nameRules" |
608 | required | 608 | required |
609 | ></v-text-field> | 609 | ></v-text-field> |
610 | </v-flex> | 610 | </v-flex> |
611 | </v-layout> | 611 | </v-layout> |
612 | </v-flex> | 612 | </v-flex> |
613 | <v-flex xs12 sm6> | 613 | <v-flex xs12 sm6> |
614 | <v-layout> | 614 | <v-layout> |
615 | <v-flex xs4 class="pt-4 subheading"> | 615 | <v-flex xs4 class="pt-4 subheading"> |
616 | <label class="right">Email ID:</label> | 616 | <label class="right">Email ID:</label> |
617 | </v-flex> | 617 | </v-flex> |
618 | <v-flex xs8 class="ml-3"> | 618 | <v-flex xs8 class="ml-3"> |
619 | <v-text-field | 619 | <v-text-field |
620 | placeholder="fill your email" | 620 | placeholder="fill your email" |
621 | :rules="emailRules" | 621 | :rules="emailRules" |
622 | v-model="addTeachers.email" | 622 | v-model="addTeachers.email" |
623 | type="text" | 623 | type="text" |
624 | name="email" | 624 | name="email" |
625 | required | 625 | required |
626 | ></v-text-field> | 626 | ></v-text-field> |
627 | </v-flex> | 627 | </v-flex> |
628 | </v-layout> | 628 | </v-layout> |
629 | </v-flex> | 629 | </v-flex> |
630 | </v-layout> | 630 | </v-layout> |
631 | <v-layout> | 631 | <v-layout> |
632 | <v-flex xs12 sm6> | 632 | <v-flex xs12 sm6> |
633 | <v-layout> | 633 | <v-layout> |
634 | <v-flex xs4 sm4 class="pt-4 subheading"> | 634 | <v-flex xs4 sm4 class="pt-4 subheading"> |
635 | <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> | 635 | <label class="right hidden-sm-only hidden-xs-only">Date of Birth:</label> |
636 | <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> | 636 | <label class="right hidden-lg-only hidden-xl-only hidden-md-only">D.O.B:</label> |
637 | </v-flex> | 637 | </v-flex> |
638 | <v-flex xs8 class="ml-3"> | 638 | <v-flex xs8 class="ml-3"> |
639 | <v-menu | 639 | <v-menu |
640 | ref="menu" | 640 | ref="menu" |
641 | :close-on-content-click="false" | 641 | :close-on-content-click="false" |
642 | v-model="menu" | 642 | v-model="menu" |
643 | :nudge-right="40" | 643 | :nudge-right="40" |
644 | lazy | 644 | lazy |
645 | transition="scale-transition" | 645 | transition="scale-transition" |
646 | offset-y | 646 | offset-y |
647 | full-width | 647 | full-width |
648 | min-width="290px" | 648 | min-width="290px" |
649 | > | 649 | > |
650 | <v-text-field | 650 | <v-text-field |
651 | slot="activator" | 651 | slot="activator" |
652 | :rules="dateRules" | 652 | :rules="dateRules" |
653 | v-model="addTeachers.date" | 653 | v-model="addTeachers.date" |
654 | placeholder="Select date" | 654 | placeholder="Select date" |
655 | ></v-text-field> | 655 | ></v-text-field> |
656 | <v-date-picker | 656 | <v-date-picker |
657 | ref="picker" | 657 | ref="picker" |
658 | v-model="addTeachers.date" | 658 | v-model="addTeachers.date" |
659 | :max="new Date().toISOString().substr(0, 10)" | 659 | :max="new Date().toISOString().substr(0, 10)" |
660 | min="1950-01-01" | 660 | min="1950-01-01" |
661 | @input="menu = false" | 661 | @input="menu = false" |
662 | ></v-date-picker> | 662 | ></v-date-picker> |
663 | </v-menu> | 663 | </v-menu> |
664 | </v-flex> | 664 | </v-flex> |
665 | </v-layout> | 665 | </v-layout> |
666 | </v-flex> | 666 | </v-flex> |
667 | <v-flex xs12 sm6> | 667 | <v-flex xs12 sm6> |
668 | <v-layout> | 668 | <v-layout> |
669 | <v-flex xs4 class="pt-4 subheading"> | 669 | <v-flex xs4 class="pt-4 subheading"> |
670 | <label class="right">City:</label> | 670 | <label class="right">City:</label> |
671 | </v-flex> | 671 | </v-flex> |
672 | <v-flex xs8 class="ml-3"> | 672 | <v-flex xs8 class="ml-3"> |
673 | <v-text-field | 673 | <v-text-field |
674 | v-model="addTeachers.city" | 674 | v-model="addTeachers.city" |
675 | placeholder="fill your City Name" | 675 | placeholder="fill your City Name" |
676 | name="City" | 676 | name="City" |
677 | type="text" | 677 | type="text" |
678 | :rules="cityRules" | 678 | :rules="cityRules" |
679 | required | 679 | required |
680 | ></v-text-field> | 680 | ></v-text-field> |
681 | </v-flex> | 681 | </v-flex> |
682 | </v-layout> | 682 | </v-layout> |
683 | </v-flex> | 683 | </v-flex> |
684 | </v-layout> | 684 | </v-layout> |
685 | <v-layout> | 685 | <v-layout> |
686 | <v-flex xs12 sm6> | 686 | <v-flex xs12 sm6> |
687 | <v-layout> | 687 | <v-layout> |
688 | <v-flex xs4 class="pt-4 subheading"> | 688 | <v-flex xs4 class="pt-4 subheading"> |
689 | <label class="right">State:</label> | 689 | <label class="right">State:</label> |
690 | </v-flex> | 690 | </v-flex> |
691 | <v-flex xs8 class="ml-3"> | 691 | <v-flex xs8 class="ml-3"> |
692 | <v-text-field | 692 | <v-text-field |
693 | v-model="addTeachers.state" | 693 | v-model="addTeachers.state" |
694 | placeholder="fill your State Name" | 694 | placeholder="fill your State Name" |
695 | name="state" | 695 | name="state" |
696 | type="text" | 696 | type="text" |
697 | :rules="stateRules" | 697 | :rules="stateRules" |
698 | required | 698 | required |
699 | ></v-text-field> | 699 | ></v-text-field> |
700 | </v-flex> | 700 | </v-flex> |
701 | </v-layout> | 701 | </v-layout> |
702 | </v-flex> | 702 | </v-flex> |
703 | <v-flex xs12 sm6> | 703 | <v-flex xs12 sm6> |
704 | <v-layout> | 704 | <v-layout> |
705 | <v-flex xs4 class="pt-4 subheading"> | 705 | <v-flex xs4 class="pt-4 subheading"> |
706 | <label class="right">PinCode:</label> | 706 | <label class="right">PinCode:</label> |
707 | </v-flex> | 707 | </v-flex> |
708 | <v-flex xs8 class="ml-3"> | 708 | <v-flex xs8 class="ml-3"> |
709 | <v-text-field | 709 | <v-text-field |
710 | v-model="addTeachers.pincode" | 710 | v-model="addTeachers.pincode" |
711 | placeholder="fill your pincode" | 711 | placeholder="fill your pincode" |
712 | name="pincode" | 712 | name="pincode" |
713 | type="number" | 713 | type="number" |
714 | :rules="pincode" | 714 | :rules="pincode" |
715 | required | 715 | required |
716 | ></v-text-field> | 716 | ></v-text-field> |
717 | </v-flex> | 717 | </v-flex> |
718 | </v-layout> | 718 | </v-layout> |
719 | </v-flex> | 719 | </v-flex> |
720 | </v-layout> | 720 | </v-layout> |
721 | <v-layout> | 721 | <v-layout> |
722 | <v-flex xs12 sm6> | 722 | <v-flex xs12 sm6> |
723 | <v-layout> | 723 | <v-layout> |
724 | <v-flex xs4 class="pt-4 subheading"> | 724 | <v-flex xs4 class="pt-4 subheading"> |
725 | <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> | 725 | <label class="right hidden-xs-only hidden-sm-only">Mobile No:</label> |
726 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> | 726 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Mobile:</label> |
727 | </v-flex> | 727 | </v-flex> |
728 | <v-flex xs8 class="ml-3"> | 728 | <v-flex xs8 class="ml-3"> |
729 | <v-text-field | 729 | <v-text-field |
730 | v-model="addTeachers.mobileNo" | 730 | v-model="addTeachers.mobileNo" |
731 | placeholder="fill your Mobile No." | 731 | placeholder="fill your Mobile No." |
732 | name="mobileNo" | 732 | name="mobileNo" |
733 | type="number" | 733 | type="number" |
734 | :rules="mobileNoRules" | 734 | :rules="mobileNoRules" |
735 | required | 735 | required |
736 | ></v-text-field> | 736 | ></v-text-field> |
737 | </v-flex> | 737 | </v-flex> |
738 | </v-layout> | 738 | </v-layout> |
739 | </v-flex> | 739 | </v-flex> |
740 | <v-flex xs12 sm6> | 740 | <v-flex xs12 sm6> |
741 | <v-layout> | 741 | <v-layout> |
742 | <v-flex xs4 class="pt-4 subheading"> | 742 | <v-flex xs4 class="pt-4 subheading"> |
743 | <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> | 743 | <label class="right hidden-xs-only hidden-sm-only">Select Country:</label> |
744 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> | 744 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Country:</label> |
745 | </v-flex> | 745 | </v-flex> |
746 | <v-flex xs8 class="ml-3"> | 746 | <v-flex xs8 class="ml-3"> |
747 | <v-autocomplete | 747 | <v-autocomplete |
748 | v-model="addTeachers.country" | 748 | v-model="addTeachers.country" |
749 | :rules="country" | 749 | :rules="country" |
750 | :items="countries" | 750 | :items="countries" |
751 | placeholder="Select Country Name" | 751 | placeholder="Select Country Name" |
752 | required | 752 | required |
753 | ></v-autocomplete> | 753 | ></v-autocomplete> |
754 | </v-flex> | 754 | </v-flex> |
755 | </v-layout> | 755 | </v-layout> |
756 | </v-flex> | 756 | </v-flex> |
757 | </v-layout> | 757 | </v-layout> |
758 | <v-layout> | 758 | <v-layout> |
759 | <v-flex xs12 sm6> | 759 | <v-flex xs12 sm6> |
760 | <v-layout> | 760 | <v-layout> |
761 | <v-flex xs4 class="pt-4 subheading"> | 761 | <v-flex xs4 class="pt-4 subheading"> |
762 | <label class="right">Join Date:</label> | 762 | <label class="right">Join Date:</label> |
763 | </v-flex> | 763 | </v-flex> |
764 | <v-flex xs8 class="ml-3"> | 764 | <v-flex xs8 class="ml-3"> |
765 | <v-menu | 765 | <v-menu |
766 | ref="menu1" | 766 | ref="menu1" |
767 | :close-on-content-click="false" | 767 | :close-on-content-click="false" |
768 | v-model="menu1" | 768 | v-model="menu1" |
769 | :nudge-right="40" | 769 | :nudge-right="40" |
770 | lazy | 770 | lazy |
771 | transition="scale-transition" | 771 | transition="scale-transition" |
772 | offset-y | 772 | offset-y |
773 | full-width | 773 | full-width |
774 | min-width="290px" | 774 | min-width="290px" |
775 | > | 775 | > |
776 | <v-text-field | 776 | <v-text-field |
777 | slot="activator" | 777 | slot="activator" |
778 | :rules="joinDateRules" | 778 | :rules="joinDateRules" |
779 | v-model="addTeachers.joinDate" | 779 | v-model="addTeachers.joinDate" |
780 | placeholder="Select date" | 780 | placeholder="Select date" |
781 | ></v-text-field> | 781 | ></v-text-field> |
782 | <v-date-picker | 782 | <v-date-picker |
783 | ref="picker" | 783 | ref="picker" |
784 | v-model="addTeachers.joinDate" | 784 | v-model="addTeachers.joinDate" |
785 | :max="new Date().toISOString().substr(0, 10)" | 785 | :max="new Date().toISOString().substr(0, 10)" |
786 | min="1950-01-01" | 786 | min="1950-01-01" |
787 | @input="menu1 = false" | 787 | @input="menu1 = false" |
788 | ></v-date-picker> | 788 | ></v-date-picker> |
789 | </v-menu> | 789 | </v-menu> |
790 | </v-flex> | 790 | </v-flex> |
791 | </v-layout> | 791 | </v-layout> |
792 | </v-flex> | 792 | </v-flex> |
793 | <v-flex xs12 sm6> | 793 | <v-flex xs12 sm6> |
794 | <v-layout> | 794 | <v-layout> |
795 | <v-flex xs4 class="pt-4 subheading"> | 795 | <v-flex xs4 class="pt-4 subheading"> |
796 | <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> | 796 | <label class="right hidden-xs-only hidden-sm-only">Uplaod Image:</label> |
797 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod:</label> | 797 | <label class="right hidden-lg-only hidden-md-only hidden-xl-only">Uplaod:</label> |
798 | </v-flex> | 798 | </v-flex> |
799 | <v-flex xs8 class="ml-3"> | 799 | <v-flex xs8 class="ml-3"> |
800 | <v-text-field | 800 | <v-text-field |
801 | label="Select Image" | 801 | label="Select Image" |
802 | @click="pickFile" | 802 | @click="pickFile" |
803 | v-model="imageName" | 803 | v-model="imageName" |
804 | append-icon="attach_file" | 804 | append-icon="attach_file" |
805 | ></v-text-field> | 805 | ></v-text-field> |
806 | <input | 806 | <input |
807 | type="file" | 807 | type="file" |
808 | style="display:none" | 808 | style="display:none" |
809 | ref="image" | 809 | ref="image" |
810 | accept="image/*" | 810 | accept="image/*" |
811 | @change="onFilePicked" | 811 | @change="onFilePicked" |
812 | /> | 812 | /> |
813 | </v-flex> | 813 | </v-flex> |
814 | </v-layout> | 814 | </v-layout> |
815 | </v-flex> | 815 | </v-flex> |
816 | </v-layout> | 816 | </v-layout> |
817 | <v-layout class="hidden-xs-only hidden-sm-only"> | 817 | <v-layout class="hidden-xs-only hidden-sm-only"> |
818 | <v-flex xs12 sm6> | 818 | <v-flex xs12 sm6> |
819 | <v-layout> | 819 | <v-layout> |
820 | <v-flex xs4 md4 class="pt-4 subheading"> | 820 | <v-flex xs4 md4 class="pt-4 subheading"> |
821 | <label class="right">Present Address:</label> | 821 | <label class="right">Present Address:</label> |
822 | </v-flex> | 822 | </v-flex> |
823 | <v-flex xs8 md8 class="ml-3"> | 823 | <v-flex xs8 md8 class="ml-3"> |
824 | <v-text-field | 824 | <v-text-field |
825 | name="input-4-3" | 825 | name="input-4-3" |
826 | v-model="addTeachers.presentAddress" | 826 | v-model="addTeachers.presentAddress" |
827 | :rules="presentAddress" | 827 | :rules="presentAddress" |
828 | placeholder="fill Your present Address" | 828 | placeholder="fill Your present Address" |
829 | required | 829 | required |
830 | ></v-text-field> | 830 | ></v-text-field> |
831 | </v-flex> | 831 | </v-flex> |
832 | </v-layout> | 832 | </v-layout> |
833 | </v-flex> | 833 | </v-flex> |
834 | <v-flex xs12 sm6> | 834 | <v-flex xs12 sm6> |
835 | <v-layout> | 835 | <v-layout> |
836 | <v-flex xs4 md4 class="pt-4 subheading addressForm"> | 836 | <v-flex xs4 md4 class="pt-4 subheading addressForm"> |
837 | <label class="right">Permanent Address:</label> | 837 | <label class="right">Permanent Address:</label> |
838 | </v-flex> | 838 | </v-flex> |
839 | <v-flex xs12 md8 class="ml-3"> | 839 | <v-flex xs12 md8 class="ml-3"> |
840 | <v-text-field | 840 | <v-text-field |
841 | name="input-4-3" | 841 | name="input-4-3" |
842 | v-model="addTeachers.permanentAddress" | 842 | v-model="addTeachers.permanentAddress" |
843 | :rules="permanentAddress" | 843 | :rules="permanentAddress" |
844 | placeholder="fill Your Permanent Address" | 844 | placeholder="fill Your Permanent Address" |
845 | required | 845 | required |
846 | ></v-text-field> | 846 | ></v-text-field> |
847 | </v-flex> | 847 | </v-flex> |
848 | </v-layout> | 848 | </v-layout> |
849 | </v-flex> | 849 | </v-flex> |
850 | </v-layout> | 850 | </v-layout> |
851 | <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only"> | 851 | <v-layout class="hidden-lg-only hidden-md-only hidden-xl-only"> |
852 | <v-flex xs12 sm12> | 852 | <v-flex xs12 sm12> |
853 | <v-layout> | 853 | <v-layout> |
854 | <v-flex xs12 sm12 class="pt-4 subheading text-xs-center"> | 854 | <v-flex xs12 sm12 class="pt-4 subheading text-xs-center"> |
855 | <label class>Present Addres:</label> | 855 | <label class>Present Addres:</label> |
856 | </v-flex> | 856 | </v-flex> |
857 | </v-layout> | 857 | </v-layout> |
858 | <v-layout> | 858 | <v-layout> |
859 | <v-flex xs12 sm12> | 859 | <v-flex xs12 sm12> |
860 | <v-textarea | 860 | <v-textarea |
861 | name="input-4-3" | 861 | name="input-4-3" |
862 | v-model="addTeachers.presentAddress" | 862 | v-model="addTeachers.presentAddress" |
863 | :rules="presentAddress" | 863 | :rules="presentAddress" |
864 | placeholder="fill Your present Address" | 864 | placeholder="fill Your present Address" |
865 | required | 865 | required |
866 | ></v-textarea> | 866 | ></v-textarea> |
867 | </v-flex> | 867 | </v-flex> |
868 | </v-layout> | 868 | </v-layout> |
869 | </v-flex> | 869 | </v-flex> |
870 | <v-flex xs12 sm12> | 870 | <v-flex xs12 sm12> |
871 | <v-layout> | 871 | <v-layout> |
872 | <v-flex xs12 sm12 class="pt-4 pr-4 subheading text-xs-center addressForm"> | 872 | <v-flex xs12 sm12 class="pt-4 pr-4 subheading text-xs-center addressForm"> |
873 | <label>Permanent Address:</label> | 873 | <label>Permanent Address:</label> |
874 | </v-flex> | 874 | </v-flex> |
875 | </v-layout> | 875 | </v-layout> |
876 | <v-layout> | 876 | <v-layout> |
877 | <v-flex xs12 sm12> | 877 | <v-flex xs12 sm12> |
878 | <v-textarea | 878 | <v-textarea |
879 | name="input-4-3" | 879 | name="input-4-3" |
880 | v-model="addTeachers.permanentAddress" | 880 | v-model="addTeachers.permanentAddress" |
881 | :rules="permanentAddress" | 881 | :rules="permanentAddress" |
882 | placeholder="fill Your Permanent Address" | 882 | placeholder="fill Your Permanent Address" |
883 | required | 883 | required |
884 | ></v-textarea> | 884 | ></v-textarea> |
885 | </v-flex> | 885 | </v-flex> |
886 | </v-layout> | 886 | </v-layout> |
887 | </v-flex> | 887 | </v-flex> |
888 | </v-layout> | 888 | </v-layout> |
889 | <v-layout class="mx-2"> | 889 | <v-layout class="mx-2"> |
890 | <v-flex xs12 sm11 offset-sm1> | 890 | <v-flex xs12 sm11 offset-sm1> |
891 | <v-layout> | 891 | <v-layout> |
892 | <v-flex xs6 class> | 892 | <v-flex xs6 class> |
893 | <v-btn @click="clear" round dark>clear</v-btn> | 893 | <v-btn @click="clear" round dark>clear</v-btn> |
894 | </v-flex> | 894 | </v-flex> |
895 | <v-flex xs6> | 895 | <v-flex xs6> |
896 | <v-btn @click="submit" round dark :loading="loading" class="right">Add</v-btn> | 896 | <v-btn @click="submit" round dark :loading="loading" class="right">Add</v-btn> |
897 | </v-flex> | 897 | </v-flex> |
898 | </v-layout> | 898 | </v-layout> |
899 | </v-flex> | 899 | </v-flex> |
900 | </v-layout> | 900 | </v-layout> |
901 | </v-container> | 901 | </v-container> |
902 | </v-form> | 902 | </v-form> |
903 | </v-card> | 903 | </v-card> |
904 | </v-flex> | 904 | </v-flex> |
905 | </v-container> | 905 | </v-container> |
906 | </v-tab-item> | 906 | </v-tab-item> |
907 | </v-tabs> | 907 | </v-tabs> |
908 | <div class="loader" v-if="showLoader"> | 908 | <div class="loader" v-if="showLoader"> |
909 | <v-progress-circular indeterminate color="white"></v-progress-circular> | 909 | <v-progress-circular indeterminate color="white"></v-progress-circular> |
910 | </div> | 910 | </div> |
911 | </v-app> | 911 | </v-app> |
912 | </template> | 912 | </template> |
913 | 913 | ||
914 | <script> | 914 | <script> |
915 | import http from "@/Services/http.js"; | 915 | import http from "@/Services/http.js"; |
916 | import moment from "moment"; | 916 | import moment from "moment"; |
917 | import countryList from "@/script/country.js"; | 917 | import countryList from "@/script/country.js"; |
918 | 918 | ||
919 | export default { | 919 | export default { |
920 | data: () => ({ | 920 | data: () => ({ |
921 | component: "report-generate", | 921 | component: "report-generate", |
922 | snackbar: false, | 922 | snackbar: false, |
923 | y: "top", | 923 | y: "top", |
924 | x: "right", | 924 | x: "right", |
925 | mode: "", | 925 | mode: "", |
926 | timeout: 3000, | 926 | timeout: 3000, |
927 | text: "", | 927 | text: "", |
928 | showLoader: false, | 928 | showLoader: false, |
929 | loading: false, | 929 | loading: false, |
930 | date: null, | 930 | date: null, |
931 | search: "", | 931 | search: "", |
932 | menu: false, | 932 | menu: false, |
933 | menu1: false, | 933 | menu1: false, |
934 | menu2: false, | 934 | menu2: false, |
935 | menu3: false, | 935 | menu3: false, |
936 | dialog: false, | 936 | dialog: false, |
937 | dialog1: false, | 937 | dialog1: false, |
938 | valid: true, | 938 | valid: true, |
939 | isActive: true, | 939 | isActive: true, |
940 | newActive: false, | 940 | newActive: false, |
941 | pagination: { | 941 | pagination: { |
942 | rowsPerPage: 15 | 942 | rowsPerPage: 15 |
943 | }, | 943 | }, |
944 | imageData: {}, | 944 | imageData: {}, |
945 | imageName: "", | 945 | imageName: "", |
946 | imageUrl: "", | 946 | imageUrl: "", |
947 | imageFile: "", | 947 | imageFile: "", |
948 | nameRules: [v => !!v || " Full Name is required"], | 948 | nameRules: [v => !!v || " Full Name is required"], |
949 | dateRules: [v => !!v || " DOB is required"], | 949 | dateRules: [v => !!v || " DOB is required"], |
950 | cityRules: [v => !!v || " City Name is required"], | 950 | cityRules: [v => !!v || " City Name is required"], |
951 | pincode: [v => !!v || " Pincode is required"], | 951 | pincode: [v => !!v || " Pincode is required"], |
952 | country: [v => !!v || " Country Name is required"], | 952 | country: [v => !!v || " Country Name is required"], |
953 | permanentAddress: [v => !!v || " Permanent Address is required"], | 953 | permanentAddress: [v => !!v || " Permanent Address is required"], |
954 | presentAddress: [v => !!v || " Present Address is required"], | 954 | presentAddress: [v => !!v || " Present Address is required"], |
955 | mobileNoRules: [v => !!v || "Mobile Number is required"], | 955 | mobileNoRules: [v => !!v || "Mobile Number is required"], |
956 | stateRules: [v => !!v || "State Name is required"], | 956 | stateRules: [v => !!v || "State Name is required"], |
957 | joinDateRules: [v => !!v || " Join Date is required"], | 957 | joinDateRules: [v => !!v || " Join Date is required"], |
958 | errorMessages: "", | 958 | errorMessages: "", |
959 | emailRules: [ | 959 | emailRules: [ |
960 | v => !!v || "E-mail is required", | 960 | v => !!v || "E-mail is required", |
961 | v => | 961 | v => |
962 | /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || | 962 | /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || |
963 | "E-mail must be valid" | 963 | "E-mail must be valid" |
964 | ], | 964 | ], |
965 | countries: [], | 965 | countries: [], |
966 | headers: [ | 966 | headers: [ |
967 | { | 967 | { |
968 | text: "No", | 968 | text: "No", |
969 | align: "center", | 969 | align: "center", |
970 | sortable: false, | 970 | sortable: false, |
971 | value: "No" | 971 | value: "No" |
972 | }, | 972 | }, |
973 | { | 973 | { |
974 | text: "Profile Pic", | 974 | text: "Profile Pic", |
975 | value: "profilePicUrl", | 975 | value: "profilePicUrl", |
976 | sortable: false, | 976 | sortable: false, |
977 | align: "center" | 977 | align: "center" |
978 | }, | 978 | }, |
979 | { text: "Name", value: "name", sortable: false, align: "center" }, | 979 | { text: "Name", value: "name", sortable: false, align: "center" }, |
980 | { text: "Email", value: "email", sortable: false, align: "center" }, | 980 | { text: "Email", value: "email", sortable: false, align: "center" }, |
981 | { text: "DOB", value: "dob", sortable: false, align: "center" }, | 981 | { text: "DOB", value: "dob", sortable: false, align: "center" }, |
982 | { | 982 | { |
983 | text: "Join Date", | 983 | text: "Join Date", |
984 | value: "joinDate", | 984 | value: "joinDate", |
985 | sortable: false, | 985 | sortable: false, |
986 | align: "center" | 986 | align: "center" |
987 | }, | 987 | }, |
988 | { | 988 | { |
989 | text: "Mobile No", | 989 | text: "Mobile No", |
990 | value: "mobileNo", | 990 | value: "mobileNo", |
991 | sortable: false, | 991 | sortable: false, |
992 | align: "center" | 992 | align: "center" |
993 | }, | 993 | }, |
994 | { text: "Action", value: "", sortable: false, align: "center" } | 994 | { text: "Action", value: "", sortable: false, align: "center" } |
995 | ], | 995 | ], |
996 | desserts: [], | 996 | desserts: [], |
997 | editedIndex: -1, | 997 | editedIndex: -1, |
998 | upload: "", | 998 | upload: "", |
999 | editedItem: { | 999 | editedItem: { |
1000 | role: "TEACHER", | 1000 | role: "TEACHER", |
1001 | name: "", | 1001 | name: "", |
1002 | email: "", | 1002 | email: "", |
1003 | date: null, | 1003 | date: null, |
1004 | city: "", | 1004 | city: "", |
1005 | pincode: "", | 1005 | pincode: "", |
1006 | country: "", | 1006 | country: "", |
1007 | permanentAddress: "", | 1007 | permanentAddress: "", |
1008 | presentAddress: "", | 1008 | presentAddress: "", |
1009 | mobileNo: "", | 1009 | mobileNo: "", |
1010 | state: "", | 1010 | state: "", |
1011 | joinDate: null | 1011 | joinDate: null |
1012 | }, | 1012 | }, |
1013 | addTeachers: { | 1013 | addTeachers: { |
1014 | role: "TEACHER", | 1014 | role: "TEACHER", |
1015 | name: "", | 1015 | name: "", |
1016 | email: "", | 1016 | email: "", |
1017 | date: null, | 1017 | date: null, |
1018 | city: "", | 1018 | city: "", |
1019 | pincode: "", | 1019 | pincode: "", |
1020 | country: "", | 1020 | country: "", |
1021 | permanentAddress: "", | 1021 | permanentAddress: "", |
1022 | presentAddress: "", | 1022 | presentAddress: "", |
1023 | mobileNo: "", | 1023 | mobileNo: "", |
1024 | state: "", | 1024 | state: "", |
1025 | joinDate: null | 1025 | joinDate: null |
1026 | }, | 1026 | }, |
1027 | defaultItem: { | 1027 | defaultItem: { |
1028 | role: "TEACHER", | 1028 | role: "TEACHER", |
1029 | name: "", | 1029 | name: "", |
1030 | email: "" | 1030 | email: "" |
1031 | } | 1031 | } |
1032 | }), | 1032 | }), |
1033 | watch: { | 1033 | watch: { |
1034 | menu(val) { | 1034 | menu(val) { |
1035 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); | 1035 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); |
1036 | }, | 1036 | }, |
1037 | menu1(val) { | 1037 | menu1(val) { |
1038 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); | 1038 | val && this.$nextTick(() => (this.$refs.picker.activePicker = "YEAR")); |
1039 | } | 1039 | } |
1040 | }, | 1040 | }, |
1041 | methods: { | 1041 | methods: { |
1042 | save(date) { | 1042 | save(date) { |
1043 | this.$refs.menu.save(date); | 1043 | this.$refs.menu.save(date); |
1044 | }, | 1044 | }, |
1045 | save(date) { | 1045 | save(date) { |
1046 | this.$refs.menu1.save(date); | 1046 | this.$refs.menu1.save(date); |
1047 | }, | 1047 | }, |
1048 | pickFile() { | 1048 | pickFile() { |
1049 | this.$refs.image.click(); | 1049 | this.$refs.image.click(); |
1050 | }, | 1050 | }, |
1051 | onFilePicked(e) { | 1051 | onFilePicked(e) { |
1052 | // console.log(e) | 1052 | // console.log(e) |
1053 | const files = e.target.files; | 1053 | const files = e.target.files; |
1054 | this.upload = e.target.files[0]; | 1054 | this.upload = e.target.files[0]; |
1055 | console.log("imageData-upload========>", this.upload); | 1055 | console.log("imageData-upload========>", this.upload); |
1056 | if (files[0] !== undefined) { | 1056 | if (files[0] !== undefined) { |
1057 | this.imageName = files[0].name; | 1057 | this.imageName = files[0].name; |
1058 | if (this.imageName.lastIndexOf(".") <= 0) { | 1058 | if (this.imageName.lastIndexOf(".") <= 0) { |
1059 | return; | 1059 | return; |
1060 | } | 1060 | } |
1061 | const fr = new FileReader(); | 1061 | const fr = new FileReader(); |
1062 | fr.readAsDataURL(files[0]); | 1062 | fr.readAsDataURL(files[0]); |
1063 | fr.addEventListener("load", () => { | 1063 | fr.addEventListener("load", () => { |
1064 | this.imageUrl = fr.result; | 1064 | this.imageUrl = fr.result; |
1065 | this.imageFile = files[0]; // this is an image file that can be sent to server... | 1065 | this.imageFile = files[0]; // this is an image file that can be sent to server... |
1066 | // this.imageData.imageUrl = URL.createObjectURL(this.imageFile); | 1066 | // this.imageData.imageUrl = URL.createObjectURL(this.imageFile); |
1067 | // console.log("upload=======>", this.imageData.imageUrl); | 1067 | // console.log("upload=======>", this.imageData.imageUrl); |
1068 | console.log("imageFile", this.imageUrl); | 1068 | console.log("imageFile", this.imageUrl); |
1069 | }); | 1069 | }); |
1070 | } else { | 1070 | } else { |
1071 | this.imageName = ""; | 1071 | this.imageName = ""; |
1072 | this.imageFile = ""; | 1072 | this.imageFile = ""; |
1073 | this.imageUrl = ""; | 1073 | this.imageUrl = ""; |
1074 | } | 1074 | } |
1075 | }, | 1075 | }, |
1076 | dates: function(date) { | 1076 | dates: function(date) { |
1077 | return moment(date).format("MMMM DD, YYYY"); | 1077 | return moment(date).format("MMMM DD, YYYY"); |
1078 | }, | 1078 | }, |
1079 | getTeacherList() { | 1079 | getTeacherList() { |
1080 | this.showLoader = true; | 1080 | this.showLoader = true; |
1081 | var token = this.$store.state.token; | 1081 | var token = this.$store.state.token; |
1082 | http() | 1082 | http() |
1083 | .get("/getTeachersList", { | 1083 | .get("/getTeachersList", { |
1084 | headers: { Authorization: "Bearer " + token } | 1084 | headers: { Authorization: "Bearer " + token } |
1085 | }) | 1085 | }) |
1086 | .then(response => { | 1086 | .then(response => { |
1087 | this.desserts = response.data.data; | 1087 | this.desserts = response.data.data; |
1088 | this.showLoader = false; | 1088 | this.showLoader = false; |
1089 | // console.log("getTeacherList=====>",this.desserts) | 1089 | // console.log("getTeacherList=====>",this.desserts) |
1090 | }) | 1090 | }) |
1091 | .catch(error => { | 1091 | .catch(error => { |
1092 | this.showLoader = false; | 1092 | this.showLoader = false; |
1093 | if (error.response.status === 401) { | 1093 | if (error.response.status === 401) { |
1094 | this.$router.replace({ path: "/" }); | 1094 | this.$router.replace({ path: "/" }); |
1095 | this.$store.dispatch("setToken", null); | 1095 | this.$store.dispatch("setToken", null); |
1096 | this.$store.dispatch("Id", null); | 1096 | this.$store.dispatch("Id", null); |
1097 | } | 1097 | } |
1098 | }); | 1098 | }); |
1099 | }, | 1099 | }, |
1100 | editItem(item) { | 1100 | editItem(item) { |
1101 | this.editedIndex = this.desserts.indexOf(item); | 1101 | this.editedIndex = this.desserts.indexOf(item); |
1102 | this.editedItem = Object.assign({}, item); | 1102 | this.editedItem = Object.assign({}, item); |
1103 | this.editedItem.dob = | 1103 | this.editedItem.dob = |
1104 | this.editedItem.dob != undefined | 1104 | this.editedItem.dob != undefined |
1105 | ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10)) | 1105 | ? (this.editedItem.dob = this.editedItem.dob.substring(0, 10)) |
1106 | : (this.editedItem.dob = ""); | 1106 | : (this.editedItem.dob = ""); |
1107 | this.editedItem.joinDate = | 1107 | this.editedItem.joinDate = |
1108 | this.editedItem.joinDate != undefined | 1108 | this.editedItem.joinDate != undefined |
1109 | ? (this.editedItem.joinDate = this.editedItem.joinDate.substring( | 1109 | ? (this.editedItem.joinDate = this.editedItem.joinDate.substring( |
1110 | 0, | 1110 | 0, |
1111 | 10 | 1111 | 10 |
1112 | )) | 1112 | )) |
1113 | : (this.editedItem.joinDate = ""); | 1113 | : (this.editedItem.joinDate = ""); |
1114 | 1114 | ||
1115 | this.dialog = true; | 1115 | this.dialog = true; |
1116 | }, | 1116 | }, |
1117 | profile(item) { | 1117 | profile(item) { |
1118 | this.editedIndex = this.desserts.indexOf(item); | 1118 | this.editedIndex = this.desserts.indexOf(item); |
1119 | this.editedItem = Object.assign({}, item); | 1119 | this.editedItem = Object.assign({}, item); |
1120 | this.dialog1 = true; | 1120 | this.dialog1 = true; |
1121 | }, | 1121 | }, |
1122 | deleteItem(item) { | 1122 | deleteItem(item) { |
1123 | let deleteTeachers = { | 1123 | let deleteTeachers = { |
1124 | teacherId: item._id | 1124 | teacherId: item._id |
1125 | }; | 1125 | }; |
1126 | // console.log("deleteUers",deleteTeachers) | 1126 | // console.log("deleteUers",deleteTeachers) |
1127 | http() | 1127 | http() |
1128 | .delete( | 1128 | .delete( |
1129 | "/deleteTeacher", | 1129 | "/deleteTeacher", |
1130 | confirm("Are you sure you want to delete this?") && { | 1130 | confirm("Are you sure you want to delete this?") && { |
1131 | params: deleteTeachers | 1131 | params: deleteTeachers |
1132 | } | 1132 | } |
1133 | ) | 1133 | ) |
1134 | .then(response => { | 1134 | .then(response => { |
1135 | // console.log("deleteUers",deleteTeachers) | 1135 | // console.log("deleteUers",deleteTeachers) |
1136 | if ((this.snackbar = true)) { | 1136 | if ((this.snackbar = true)) { |
1137 | this.text = "Successfully delete Existing Teacher"; | 1137 | this.text = "Successfully delete Existing Teacher"; |
1138 | } | 1138 | } |
1139 | this.getTeacherList(); | 1139 | this.getTeacherList(); |
1140 | }) | 1140 | }) |
1141 | .catch(error => { | 1141 | .catch(error => { |
1142 | console.log(error); | 1142 | console.log(error); |
1143 | }); | 1143 | }); |
1144 | }, | 1144 | }, |
1145 | activeTab(type) { | 1145 | activeTab(type) { |
1146 | switch (type) { | 1146 | switch (type) { |
1147 | case "existing": | 1147 | case "existing": |
1148 | this.newActive = false; | 1148 | this.newActive = false; |
1149 | this.isActive = true; | 1149 | this.isActive = true; |
1150 | break; | 1150 | break; |
1151 | 1151 | ||
1152 | default: | 1152 | default: |
1153 | this.newActive = true; | 1153 | this.newActive = true; |
1154 | this.isActive = false; | 1154 | this.isActive = false; |
1155 | break; | 1155 | break; |
1156 | } | 1156 | } |
1157 | }, | 1157 | }, |
1158 | close() { | 1158 | close() { |
1159 | this.dialog = false; | 1159 | this.dialog = false; |
1160 | setTimeout(() => { | 1160 | setTimeout(() => { |
1161 | this.editedItem = Object.assign({}, this.defaultItem); | 1161 | this.editedItem = Object.assign({}, this.defaultItem); |
1162 | this.editedIndex = -1; | 1162 | this.editedIndex = -1; |
1163 | }, 300); | 1163 | }, 300); |
1164 | }, | 1164 | }, |
1165 | close1() { | 1165 | close1() { |
1166 | this.dialog1 = false; | 1166 | this.dialog1 = false; |
1167 | }, | 1167 | }, |
1168 | submit() { | 1168 | submit() { |
1169 | if (this.$refs.form.validate()) { | 1169 | if (this.$refs.form.validate()) { |
1170 | let addTeacher = { | 1170 | let addTeacher = { |
1171 | name: this.addTeachers.name, | 1171 | name: this.addTeachers.name, |
1172 | email: this.addTeachers.email, | 1172 | email: this.addTeachers.email, |
1173 | role: this.addTeachers.role, | 1173 | role: this.addTeachers.role, |
1174 | dob: this.addTeachers.date, | 1174 | dob: this.addTeachers.date, |
1175 | city: this.addTeachers.city, | 1175 | city: this.addTeachers.city, |
1176 | pincode: this.addTeachers.pincode, | 1176 | pincode: this.addTeachers.pincode, |
1177 | country: this.addTeachers.country, | 1177 | country: this.addTeachers.country, |
1178 | permanentAddress: this.addTeachers.permanentAddress, | 1178 | permanentAddress: this.addTeachers.permanentAddress, |
1179 | presentAddress: this.addTeachers.presentAddress, | 1179 | presentAddress: this.addTeachers.presentAddress, |
1180 | mobileNo: this.addTeachers.mobileNo, | 1180 | mobileNo: this.addTeachers.mobileNo, |
1181 | state: this.addTeachers.state, | 1181 | state: this.addTeachers.state, |
1182 | joinDate: this.addTeachers.joinDate | 1182 | joinDate: this.addTeachers.joinDate |
1183 | }; | 1183 | }; |
1184 | if (this.imageUrl) { | 1184 | if (this.imageUrl) { |
1185 | var str = this.imageUrl; | 1185 | var str = this.imageUrl; |
1186 | const [baseUrl, imageUrl] = str.split(/,/); | 1186 | const [baseUrl, imageUrl] = str.split(/,/); |
1187 | addTeacher.upload = imageUrl; | 1187 | addTeacher.upload = imageUrl; |
1188 | } | 1188 | } |
1189 | this.loading = true; | 1189 | this.loading = true; |
1190 | http() | 1190 | http() |
1191 | .post("/createTeacher", addTeacher) | 1191 | .post("/createTeacher", addTeacher) |
1192 | .then(response => { | 1192 | .then(response => { |
1193 | this.imageUrl = ""; | 1193 | this.imageUrl = ""; |
1194 | this.getTeacherList(); | 1194 | this.getTeacherList(); |
1195 | this.snackbar = true; | 1195 | this.snackbar = true; |
1196 | this.text = "New Teacher added successfully"; | 1196 | this.text = "New Teacher added successfully"; |
1197 | this.clear(); | 1197 | this.clear(); |
1198 | this.loading = false; | 1198 | this.loading = false; |
1199 | }) | 1199 | }) |
1200 | .catch(error => { | 1200 | .catch(error => { |
1201 | // console.log(error); | 1201 | // console.log(error); |
1202 | if ((this.snackbar = true)) { | 1202 | if ((this.snackbar = true)) { |
1203 | this.text = error.response.data.message; | 1203 | this.text = error.response.data.message; |
1204 | } | 1204 | } |
1205 | this.loading = false; | 1205 | this.loading = false; |
1206 | }); | 1206 | }); |
1207 | } | 1207 | } |
1208 | }, | 1208 | }, |
1209 | clear() { | 1209 | clear() { |
1210 | this.$refs.form.reset(); | 1210 | this.$refs.form.reset(); |
1211 | this.imageUrl = ""; | 1211 | this.imageUrl = ""; |
1212 | }, | 1212 | }, |
1213 | save() { | 1213 | save() { |
1214 | this.loading = true; | 1214 | this.loading = true; |
1215 | let editTeacher = { | 1215 | let editTeacher = { |
1216 | teacherId: this.editedItem._id, | 1216 | teacherId: this.editedItem._id, |
1217 | name: this.editedItem.name, | 1217 | name: this.editedItem.name, |
1218 | email: this.editedItem.email, | 1218 | email: this.editedItem.email, |
1219 | role: this.editedItem.role, | 1219 | role: this.editedItem.role, |
1220 | dob: this.editedItem.date, | 1220 | dob: this.editedItem.dob, |
1221 | city: this.editedItem.city, | 1221 | city: this.editedItem.city, |
1222 | pincode: this.editedItem.pincode, | 1222 | pincode: this.editedItem.pincode, |
1223 | country: this.editedItem.country, | 1223 | country: this.editedItem.country, |
1224 | permanentAddress: this.editedItem.permanentAddress, | 1224 | permanentAddress: this.editedItem.permanentAddress, |
1225 | presentAddress: this.editedItem.presentAddress, | 1225 | presentAddress: this.editedItem.presentAddress, |
1226 | mobileNo: this.editedItem.mobileNo, | 1226 | mobileNo: this.editedItem.mobileNo, |
1227 | state: this.editedItem.state, | 1227 | state: this.editedItem.state, |
1228 | joinDate: this.editedItem.joinDate | 1228 | joinDate: this.editedItem.joinDate |
1229 | }; | 1229 | }; |
1230 | if (this.imageUrl) { | 1230 | if (this.imageUrl) { |
1231 | var str = this.imageUrl; | 1231 | var str = this.imageUrl; |
1232 | const [baseUrl, imageUrl] = str.split(/,/); | 1232 | const [baseUrl, imageUrl] = str.split(/,/); |
1233 | editTeacher.upload = imageUrl; | 1233 | editTeacher.upload = imageUrl; |
1234 | } | 1234 | } |
1235 | http() | 1235 | http() |
1236 | .put("/updateTeacher", editTeacher) | 1236 | .put("/updateTeacher", editTeacher) |
1237 | .then(response => { | 1237 | .then(response => { |
1238 | console.log("editTeacher", editTeacher); | 1238 | console.log("editTeacher", editTeacher); |
1239 | this.snackbar = true; | 1239 | this.snackbar = true; |
1240 | this.text = "Successfully Edit Existing Teacher"; | 1240 | this.text = "Successfully Edit Existing Teacher"; |
1241 | this.loading = false; | 1241 | this.loading = false; |
1242 | this.getTeacherList(); | 1242 | this.getTeacherList(); |
1243 | this.close(); | 1243 | this.close(); |
1244 | }) | 1244 | }) |
1245 | .catch(error => { | 1245 | .catch(error => { |
1246 | console.log(error); | 1246 | console.log(error); |
1247 | this.loading = false; | 1247 | this.loading = false; |
1248 | }); | 1248 | }); |
1249 | } | 1249 | } |
1250 | }, | 1250 | }, |
1251 | mounted() { | 1251 | mounted() { |
1252 | const getCountryList = countryList(); | 1252 | const getCountryList = countryList(); |
1253 | this.countries = getCountryList; | 1253 | this.countries = getCountryList; |
1254 | this.getTeacherList(); | 1254 | this.getTeacherList(); |
1255 | }, | 1255 | }, |
1256 | created() { | 1256 | created() { |
1257 | this.$root.$on("app:search", search => { | 1257 | this.$root.$on("app:search", search => { |
1258 | this.search = search; | 1258 | this.search = search; |
1259 | }); | 1259 | }); |
1260 | }, | 1260 | }, |
1261 | beforeDestroy() { | 1261 | beforeDestroy() { |
1262 | // dont forget to remove the listener | 1262 | // dont forget to remove the listener |
1263 | this.$root.$off("app:search"); | 1263 | this.$root.$off("app:search"); |
1264 | } | 1264 | } |
1265 | }; | 1265 | }; |
1266 | </script> | 1266 | </script> |
1267 | <style scoped> | 1267 | <style scoped> |
1268 | .active { | 1268 | .active { |
1269 | background-color: gray; | 1269 | background-color: gray; |
1270 | color: white !important; | 1270 | color: white !important; |
1271 | } | 1271 | } |
1272 | .activebtn { | 1272 | .activebtn { |
1273 | color: black !important; | 1273 | color: black !important; |
1274 | } | 1274 | } |
1275 | </style> | 1275 | </style> |
src/router/paths.js
1 | export default [{ | 1 | export default [{ |
2 | path: '*', | 2 | path: '*', |
3 | meta: { | 3 | meta: { |
4 | public: true, | 4 | public: true, |
5 | }, | 5 | }, |
6 | redirect: { | 6 | redirect: { |
7 | path: '/404' | 7 | path: '/404' |
8 | } | 8 | } |
9 | }, | 9 | }, |
10 | { | 10 | { |
11 | path: '/404', | 11 | path: '/404', |
12 | meta: { | 12 | meta: { |
13 | public: true, | 13 | public: true, |
14 | }, | 14 | }, |
15 | name: 'NotFound', | 15 | name: 'NotFound', |
16 | component: () => | 16 | component: () => |
17 | import ( | 17 | import ( |
18 | /* webpackChunkName: "routes" */ | 18 | /* webpackChunkName: "routes" */ |
19 | /* webpackMode: "lazy-once" */ | 19 | /* webpackMode: "lazy-once" */ |
20 | `@/pages/NotFound/NotFound.vue` | 20 | `@/pages/NotFound/NotFound.vue` |
21 | ) | 21 | ) |
22 | }, | 22 | }, |
23 | { | 23 | { |
24 | path: '/500', | 24 | path: '/500', |
25 | meta: { | 25 | meta: { |
26 | public: true, | 26 | public: true, |
27 | }, | 27 | }, |
28 | name: 'ServerError', | 28 | name: 'ServerError', |
29 | component: () => | 29 | component: () => |
30 | import ( | 30 | import ( |
31 | /* webpackChunkName: "routes" */ | 31 | /* webpackChunkName: "routes" */ |
32 | /* webpackMode: "lazy-once" */ | 32 | /* webpackMode: "lazy-once" */ |
33 | `@/pages/NotFound/Error.vue` | 33 | `@/pages/NotFound/Error.vue` |
34 | ) | 34 | ) |
35 | }, | 35 | }, |
36 | { | 36 | { |
37 | path: '/changepassword', | 37 | path: '/changepassword', |
38 | meta: {}, | 38 | meta: {}, |
39 | name: 'changepassword', | 39 | name: 'changepassword', |
40 | props: (route) => ({ type: route.query.type }), | 40 | props: (route) => ({ type: route.query.type }), |
41 | component: () => | 41 | component: () => |
42 | import ( | 42 | import ( |
43 | /* webpackChunkName: "routes" */ | 43 | /* webpackChunkName: "routes" */ |
44 | /* webpackMode: "lazy-once" */ | 44 | /* webpackMode: "lazy-once" */ |
45 | `@/pages/Authentication/changepassword.vue` | 45 | `@/pages/Authentication/changepassword.vue` |
46 | ) | 46 | ) |
47 | }, | 47 | }, |
48 | { | 48 | { |
49 | path: '/teachers', | 49 | path: '/teachers', |
50 | meta: { breadcrumb: false }, | 50 | meta: { breadcrumb: false }, |
51 | name: 'teachers', | 51 | name: 'teachers', |
52 | component: () => | 52 | component: () => |
53 | import ( | 53 | import ( |
54 | /* webpackChunkName: "routes" */ | 54 | /* webpackChunkName: "routes" */ |
55 | /* webpackMode: "lazy-once" */ | 55 | /* webpackMode: "lazy-once" */ |
56 | `@/pages/Teachers/teachers.vue` | 56 | `@/pages/Teachers/teachers.vue` |
57 | ) | 57 | ) |
58 | }, | 58 | }, |
59 | { | 59 | { |
60 | path: '/', | 60 | path: '/', |
61 | meta: { | 61 | meta: { |
62 | public: true, | 62 | public: true, |
63 | }, | 63 | }, |
64 | name: 'Login', | 64 | name: 'Login', |
65 | component: () => | 65 | component: () => |
66 | import ( | 66 | import ( |
67 | /* webpackChunkName: "routes" */ | 67 | /* webpackChunkName: "routes" */ |
68 | /* webpackMode: "lazy-once" */ | 68 | /* webpackMode: "lazy-once" */ |
69 | `@/pages/Authentication/Login.vue` | 69 | `@/pages/Authentication/Login.vue` |
70 | ) | 70 | ) |
71 | }, | 71 | }, |
72 | { | 72 | { |
73 | path: '/forgetpassword', | 73 | path: '/forgetpassword', |
74 | meta: { | 74 | meta: { |
75 | public: true, | 75 | public: true, |
76 | }, | 76 | }, |
77 | name: 'forgetpassword', | 77 | name: 'forgetpassword', |
78 | component: () => | 78 | component: () => |
79 | import ( | 79 | import ( |
80 | /* webpackChunkName: "routes" */ | 80 | /* webpackChunkName: "routes" */ |
81 | /* webpackMode: "lazy-once" */ | 81 | /* webpackMode: "lazy-once" */ |
82 | `@/pages/Authentication/forgetpassword.vue` | 82 | `@/pages/Authentication/forgetpassword.vue` |
83 | ) | 83 | ) |
84 | }, | 84 | }, |
85 | { | 85 | { |
86 | path: '/students', | 86 | path: '/students', |
87 | meta: {}, | 87 | meta: {}, |
88 | name: 'Students', | 88 | name: 'Students', |
89 | props: (route) => ({ type: route.query.type }), | 89 | props: (route) => ({ type: route.query.type }), |
90 | component: () => | 90 | component: () => |
91 | import ( | 91 | import ( |
92 | /* webpackChunkName: "routes" */ | 92 | /* webpackChunkName: "routes" */ |
93 | /* webpackMode: "lazy-once" */ | 93 | /* webpackMode: "lazy-once" */ |
94 | `@/pages/Students/students.vue` | 94 | `@/pages/Students/students.vue` |
95 | ) | 95 | ) |
96 | }, | 96 | }, |
97 | { | 97 | { |
98 | path: '/addclass', | 98 | path: '/addclass', |
99 | meta: {}, | 99 | meta: {}, |
100 | name: 'addclass', | 100 | name: 'addclass', |
101 | props: (route) => ({ type: route.query.type }), | 101 | props: (route) => ({ type: route.query.type }), |
102 | component: () => | 102 | component: () => |
103 | import ( | 103 | import ( |
104 | /* webpackChunkName: "routes" */ | 104 | /* webpackChunkName: "routes" */ |
105 | /* webpackMode: "lazy-once" */ | 105 | /* webpackMode: "lazy-once" */ |
106 | `@/pages/Class/addclass.vue` | 106 | `@/pages/Class/addclass.vue` |
107 | ) | 107 | ) |
108 | }, | 108 | }, |
109 | { | 109 | { |
110 | path: '/section', | 110 | path: '/section', |
111 | meta: {}, | 111 | meta: {}, |
112 | name: 'section', | 112 | name: 'section', |
113 | props: (route) => ({ type: route.query.type }), | 113 | props: (route) => ({ type: route.query.type }), |
114 | component: () => | 114 | component: () => |
115 | import ( | 115 | import ( |
116 | /* webpackChunkName: "routes" */ | 116 | /* webpackChunkName: "routes" */ |
117 | /* webpackMode: "lazy-once" */ | 117 | /* webpackMode: "lazy-once" */ |
118 | `@/pages/Section/section.vue` | 118 | `@/pages/Section/section.vue` |
119 | ) | 119 | ) |
120 | }, | 120 | }, |
121 | { | 121 | { |
122 | path: '/noticeBoard', | 122 | path: '/noticeBoard', |
123 | meta: {}, | 123 | meta: {}, |
124 | name: 'NoticeBoard', | 124 | name: 'NoticeBoard', |
125 | props: (route) => ({ type: route.query.type }), | 125 | props: (route) => ({ type: route.query.type }), |
126 | component: () => | 126 | component: () => |
127 | import ( | 127 | import ( |
128 | /* webpackChunkName: "routes" */ | 128 | /* webpackChunkName: "routes" */ |
129 | /* webpackMode: "lazy-once" */ | 129 | /* webpackMode: "lazy-once" */ |
130 | `@/pages/NoticeBoard/noticeBoard.vue` | 130 | `@/pages/NoticeBoard/noticeBoard.vue` |
131 | ) | 131 | ) |
132 | }, | 132 | }, |
133 | { | 133 | { |
134 | path: '/news', | 134 | path: '/news', |
135 | meta: {}, | 135 | meta: {}, |
136 | name: 'news', | 136 | name: 'news', |
137 | props: (route) => ({ type: route.query.type }), | 137 | props: (route) => ({ type: route.query.type }), |
138 | component: () => | 138 | component: () => |
139 | import ( | 139 | import ( |
140 | /* webpackChunkName: "routes" */ | 140 | /* webpackChunkName: "routes" */ |
141 | /* webpackMode: "lazy-once" */ | 141 | /* webpackMode: "lazy-once" */ |
142 | `@/pages/News/news.vue` | 142 | `@/pages/News/news.vue` |
143 | ) | 143 | ) |
144 | }, | 144 | }, |
145 | // { | 145 | // { |
146 | // path: '/reminder', | 146 | // path: '/reminder', |
147 | // meta: { }, | 147 | // meta: { }, |
148 | // name: 'reminder', | 148 | // name: 'reminder', |
149 | // props: (route) => ({ type: route.query.type }), | 149 | // props: (route) => ({ type: route.query.type }), |
150 | // component: () => import( | 150 | // component: () => import( |
151 | // /* webpackChunkName: "routes" */ | 151 | // /* webpackChunkName: "routes" */ |
152 | // /* webpackMode: "lazy-once" */ | 152 | // /* webpackMode: "lazy-once" */ |
153 | // `@/pages/Reminder/reminder.vue` | 153 | // `@/pages/Reminder/reminder.vue` |
154 | // ) | 154 | // ) |
155 | // }, | 155 | // }, |
156 | { | 156 | { |
157 | path: '/timeTable', | 157 | path: '/timeTable', |
158 | meta: {}, | 158 | meta: {}, |
159 | name: 'timeTable', | 159 | name: 'timeTable', |
160 | props: (route) => ({ type: route.query.type }), | 160 | props: (route) => ({ type: route.query.type }), |
161 | component: () => | 161 | component: () => |
162 | import ( | 162 | import ( |
163 | /* webpackChunkName: "routes" */ | 163 | /* webpackChunkName: "routes" */ |
164 | /* webpackMode: "lazy-once" */ | 164 | /* webpackMode: "lazy-once" */ |
165 | `@/pages/TimeTable/timeTable.vue` | 165 | `@/pages/TimeTable/timeTable.vue` |
166 | ) | 166 | ) |
167 | }, | 167 | }, |
168 | { | 168 | { |
169 | path: '/notification', | 169 | path: '/notification', |
170 | meta: {}, | 170 | meta: {}, |
171 | name: 'notification', | 171 | name: 'notification', |
172 | props: (route) => ({ type: route.query.type }), | 172 | props: (route) => ({ type: route.query.type }), |
173 | component: () => | 173 | component: () => |
174 | import ( | 174 | import ( |
175 | /* webpackChunkName: "routes" */ | 175 | /* webpackChunkName: "routes" */ |
176 | /* webpackMode: "lazy-once" */ | 176 | /* webpackMode: "lazy-once" */ |
177 | `@/pages/Notification/notification.vue` | 177 | `@/pages/Notification/notification.vue` |
178 | ) | 178 | ) |
179 | }, | 179 | }, |
180 | { | 180 | { |
181 | path: '/parents', | 181 | path: '/parents', |
182 | meta: {}, | 182 | meta: {}, |
183 | name: 'parents', | 183 | name: 'parents', |
184 | props: (route) => ({ type: route.query.type }), | 184 | props: (route) => ({ type: route.query.type }), |
185 | component: () => | 185 | component: () => |
186 | import ( | 186 | import ( |
187 | /* webpackChunkName: "routes" */ | 187 | /* webpackChunkName: "routes" */ |
188 | /* webpackMode: "lazy-once" */ | 188 | /* webpackMode: "lazy-once" */ |
189 | `@/pages/Parent/parents.vue` | 189 | `@/pages/Parent/parents.vue` |
190 | ) | 190 | ) |
191 | }, | 191 | }, |
192 | { | 192 | { |
193 | path: '/subject', | 193 | path: '/subject', |
194 | meta: {}, | 194 | meta: {}, |
195 | name: 'subject', | 195 | name: 'subject', |
196 | props: (route) => ({ type: route.query.type }), | 196 | props: (route) => ({ type: route.query.type }), |
197 | component: () => | 197 | component: () => |
198 | import ( | 198 | import ( |
199 | /* webpackChunkName: "routes" */ | 199 | /* webpackChunkName: "routes" */ |
200 | /* webpackMode: "lazy-once" */ | 200 | /* webpackMode: "lazy-once" */ |
201 | `@/pages/Subjects/subjects.vue` | 201 | `@/pages/Subjects/subjects.vue` |
202 | ) | 202 | ) |
203 | }, | 203 | }, |
204 | { | 204 | { |
205 | path: '/dashboard', | 205 | path: '/dashboard', |
206 | meta: {}, | 206 | meta: {}, |
207 | name: 'Dashboard', | 207 | name: 'Dashboard', |
208 | props: (route) => ({ type: route.query.type }), | 208 | props: (route) => ({ type: route.query.type }), |
209 | component: () => | 209 | component: () => |
210 | import ( | 210 | import ( |
211 | /* webpackChunkName: "routes" */ | 211 | /* webpackChunkName: "routes" */ |
212 | /* webpackMode: "lazy-once" */ | 212 | /* webpackMode: "lazy-once" */ |
213 | `@/pages/Dashboard/dashboard.vue` | 213 | `@/pages/Dashboard/dashboard.vue` |
214 | ) | 214 | ) |
215 | }, | 215 | }, |
216 | { | 216 | { |
217 | path: '/socialMedia', | 217 | path: '/socialMedia', |
218 | meta: {}, | 218 | meta: {}, |
219 | name: 'SocialMedia', | 219 | name: 'SocialMedia', |
220 | props: (route) => ({ type: route.query.type }), | 220 | props: (route) => ({ type: route.query.type }), |
221 | component: () => | 221 | component: () => |
222 | import ( | 222 | import ( |
223 | /* webpackChunkName: "routes" */ | 223 | /* webpackChunkName: "routes" */ |
224 | /* webpackMode: "lazy-once" */ | 224 | /* webpackMode: "lazy-once" */ |
225 | `@/pages/socialMedia/socialMedia.vue` | 225 | `@/pages/socialMedia/socialMedia.vue` |
226 | ) | 226 | ) |
227 | }, | 227 | }, |
228 | { | 228 | { |
229 | path: '/gallery', | 229 | path: '/gallery', |
230 | meta: {}, | 230 | meta: {}, |
231 | name: 'Gallery', | 231 | name: 'Gallery', |
232 | props: (route) => ({ type: route.query.type }), | 232 | props: (route) => ({ type: route.query.type }), |
233 | component: () => | 233 | component: () => |
234 | import ( | 234 | import ( |
235 | /* webpackChunkName: "routes" */ | 235 | /* webpackChunkName: "routes" */ |
236 | /* webpackMode: "lazy-once" */ | 236 | /* webpackMode: "lazy-once" */ |
237 | `@/pages/Gallery/gallery.vue` | 237 | `@/pages/Gallery/gallery.vue` |
238 | ) | 238 | ) |
239 | }, | 239 | }, |
240 | { | 240 | { |
241 | path: '/event', | 241 | path: '/event', |
242 | meta: {}, | 242 | meta: {}, |
243 | name: 'Event', | 243 | name: 'Event', |
244 | props: (route) => ({ type: route.query.type }), | 244 | props: (route) => ({ type: route.query.type }), |
245 | component: () => | 245 | component: () => |
246 | import ( | 246 | import ( |
247 | /* webpackChunkName: "routes" */ | 247 | /* webpackChunkName: "routes" */ |
248 | /* webpackMode: "lazy-once" */ | 248 | /* webpackMode: "lazy-once" */ |
249 | `@/pages/Event/event.vue` | 249 | `@/pages/Event/event.vue` |
250 | ) | 250 | ) |
251 | }, | 251 | }, |
252 | { | 252 | { |
253 | path: '/holiday', | 253 | path: '/holiday', |
254 | meta: {}, | 254 | meta: {}, |
255 | name: 'Holiday', | 255 | name: 'Holiday', |
256 | props: (route) => ({ type: route.query.type }), | 256 | props: (route) => ({ type: route.query.type }), |
257 | component: () => | 257 | component: () => |
258 | import ( | 258 | import ( |
259 | /* webpackChunkName: "routes" */ | 259 | /* webpackChunkName: "routes" */ |
260 | /* webpackMode: "lazy-once" */ | 260 | /* webpackMode: "lazy-once" */ |
261 | `@/pages/Holiday/holiday.vue` | 261 | `@/pages/Holiday/holiday.vue` |
262 | ) | 262 | ) |
263 | }, | 263 | }, |
264 | { | 264 | { |
265 | path: '/user', | 265 | path: '/user', |
266 | meta: {}, | 266 | meta: {}, |
267 | name: 'User', | 267 | name: 'User', |
268 | props: (route) => ({ type: route.query.type }), | 268 | props: (route) => ({ type: route.query.type }), |
269 | component: () => | 269 | component: () => |
270 | import ( | 270 | import ( |
271 | /* webpackChunkName: "routes" */ | 271 | /* webpackChunkName: "routes" */ |
272 | /* webpackMode: "lazy-once" */ | 272 | /* webpackMode: "lazy-once" */ |
273 | `@/pages/User/user.vue` | 273 | `@/pages/User/user.vue` |
274 | ) | 274 | ) |
275 | }, | 275 | }, |
276 | { | 276 | { |
277 | path: '/AttendenceStudent', | 277 | path: '/AttendenceStudent', |
278 | meta: {}, | 278 | meta: {}, |
279 | name: 'studentAttendence', | 279 | name: 'studentAttendence', |
280 | props: (route) => ({ type: route.query.type }), | 280 | props: (route) => ({ type: route.query.type }), |
281 | component: () => | 281 | component: () => |
282 | import ( | 282 | import ( |
283 | /* webpackChunkName: "routes" */ | 283 | /* webpackChunkName: "routes" */ |
284 | /* webpackMode: "lazy-once" */ | 284 | /* webpackMode: "lazy-once" */ |
285 | `@/pages/Attendence/studentAttendence.vue` | 285 | `@/pages/Attendence/studentAttendence.vue` |
286 | ) | 286 | ) |
287 | }, | 287 | }, |
288 | { | 288 | { |
289 | path: '/AttendenceTeacher', | 289 | path: '/AttendenceTeacher', |
290 | meta: {}, | 290 | meta: {}, |
291 | name: 'teacherAttendence', | 291 | name: 'teacherAttendence', |
292 | props: (route) => ({ type: route.query.type }), | 292 | props: (route) => ({ type: route.query.type }), |
293 | component: () => | 293 | component: () => |
294 | import ( | 294 | import ( |
295 | /* webpackChunkName: "routes" */ | 295 | /* webpackChunkName: "routes" */ |
296 | /* webpackMode: "lazy-once" */ | 296 | /* webpackMode: "lazy-once" */ |
297 | `@/pages/Attendence/teacherAttendence.vue` | 297 | `@/pages/Attendence/teacherAttendence.vue` |
298 | ) | 298 | ) |
299 | }, | 299 | }, |
300 | { | 300 | // { |
301 | path: '/AttendenceUser', | 301 | // path: '/AttendenceUser', |
302 | meta: {}, | 302 | // meta: {}, |
303 | name: 'userAttendence', | 303 | // name: 'userAttendence', |
304 | props: (route) => ({ type: route.query.type }), | 304 | // props: (route) => ({ type: route.query.type }), |
305 | component: () => | 305 | // component: () => |
306 | import ( | 306 | // import ( |
307 | /* webpackChunkName: "routes" */ | 307 | // /* webpackChunkName: "routes" */ |
308 | /* webpackMode: "lazy-once" */ | 308 | // /* webpackMode: "lazy-once" */ |
309 | `@/pages/Attendence/userAttendence.vue` | 309 | // `@/pages/Attendence/userAttendence.vue` |
310 | ) | 310 | // ) |
311 | }, | 311 | // }, |
312 | { | 312 | { |
313 | path: '/feeTypes', | 313 | path: '/feeTypes', |
314 | meta: {}, | 314 | meta: {}, |
315 | name: 'feeTypes', | 315 | name: 'feeTypes', |
316 | props: (route) => ({ type: route.query.type }), | 316 | props: (route) => ({ type: route.query.type }), |
317 | component: () => | 317 | component: () => |
318 | import ( | 318 | import ( |
319 | /* webpackChunkName: "routes" */ | 319 | /* webpackChunkName: "routes" */ |
320 | /* webpackMode: "lazy-once" */ | 320 | /* webpackMode: "lazy-once" */ |
321 | `@/pages/Account/feeTypes.vue` | 321 | `@/pages/Account/feeTypes.vue` |
322 | ) | 322 | ) |
323 | }, | 323 | }, |
324 | { | 324 | { |
325 | path: '/invoice', | 325 | path: '/invoice', |
326 | meta: {}, | 326 | meta: {}, |
327 | name: 'Invoice', | 327 | name: 'Invoice', |
328 | props: (route) => ({ type: route.query.type }), | 328 | props: (route) => ({ type: route.query.type }), |
329 | component: () => | 329 | component: () => |
330 | import ( | 330 | import ( |
331 | /* webpackChunkName: "routes" */ | 331 | /* webpackChunkName: "routes" */ |
332 | /* webpackMode: "lazy-once" */ | 332 | /* webpackMode: "lazy-once" */ |
333 | `@/pages/Account/invoice.vue` | 333 | `@/pages/Account/invoice.vue` |
334 | ) | 334 | ) |
335 | }, | 335 | }, |
336 | { | 336 | { |
337 | path: '/paymentHistory', | 337 | path: '/paymentHistory', |
338 | meta: {}, | 338 | meta: {}, |
339 | name: 'paymentHistory', | 339 | name: 'paymentHistory', |
340 | props: (route) => ({ type: route.query.type }), | 340 | props: (route) => ({ type: route.query.type }), |
341 | component: () => | 341 | component: () => |
342 | import ( | 342 | import ( |
343 | /* webpackChunkName: "routes" */ | 343 | /* webpackChunkName: "routes" */ |
344 | /* webpackMode: "lazy-once" */ | 344 | /* webpackMode: "lazy-once" */ |
345 | `@/pages/Account/paymentHistory.vue` | 345 | `@/pages/Account/paymentHistory.vue` |
346 | ) | 346 | ) |
347 | }, | 347 | }, |
348 | { | 348 | { |
349 | path: '/expense', | 349 | path: '/expense', |
350 | meta: {}, | 350 | meta: {}, |
351 | name: 'Expense', | 351 | name: 'Expense', |
352 | props: (route) => ({ type: route.query.type }), | 352 | props: (route) => ({ type: route.query.type }), |
353 | component: () => | 353 | component: () => |
354 | import ( | 354 | import ( |
355 | /* webpackChunkName: "routes" */ | 355 | /* webpackChunkName: "routes" */ |
356 | /* webpackMode: "lazy-once" */ | 356 | /* webpackMode: "lazy-once" */ |
357 | `@/pages/Account/expense.vue` | 357 | `@/pages/Account/expense.vue` |
358 | ) | 358 | ) |
359 | }, | 359 | }, |
360 | { | 360 | { |
361 | path: '/income', | 361 | path: '/income', |
362 | meta: {}, | 362 | meta: {}, |
363 | name: 'Income', | 363 | name: 'Income', |
364 | props: (route) => ({ type: route.query.type }), | 364 | props: (route) => ({ type: route.query.type }), |
365 | component: () => | 365 | component: () => |
366 | import ( | 366 | import ( |
367 | /* webpackChunkName: "routes" */ | 367 | /* webpackChunkName: "routes" */ |
368 | /* webpackMode: "lazy-once" */ | 368 | /* webpackMode: "lazy-once" */ |
369 | `@/pages/Account/income.vue` | 369 | `@/pages/Account/income.vue` |
370 | ) | 370 | ) |
371 | }, | 371 | }, |
372 | { | 372 | { |
373 | path: '/libraryMember', | 373 | path: '/libraryMember', |
374 | meta: {}, | 374 | meta: {}, |
375 | name: 'libraryMember', | 375 | name: 'libraryMember', |
376 | props: (route) => ({ type: route.query.type }), | 376 | props: (route) => ({ type: route.query.type }), |
377 | component: () => | 377 | component: () => |
378 | import ( | 378 | import ( |
379 | /* webpackChunkName: "routes" */ | 379 | /* webpackChunkName: "routes" */ |
380 | /* webpackMode: "lazy-once" */ | 380 | /* webpackMode: "lazy-once" */ |
381 | `@/pages/Library/member.vue` | 381 | `@/pages/Library/member.vue` |
382 | ) | 382 | ) |
383 | }, | 383 | }, |
384 | { | 384 | { |
385 | path: '/books', | 385 | path: '/books', |
386 | meta: {}, | 386 | meta: {}, |
387 | name: 'Books', | 387 | name: 'Books', |
388 | props: (route) => ({ type: route.query.type }), | 388 | props: (route) => ({ type: route.query.type }), |
389 | component: () => | 389 | component: () => |
390 | import ( | 390 | import ( |
391 | /* webpackChunkName: "routes" */ | 391 | /* webpackChunkName: "routes" */ |
392 | /* webpackMode: "lazy-once" */ | 392 | /* webpackMode: "lazy-once" */ |
393 | `@/pages/Library/books.vue` | 393 | `@/pages/Library/books.vue` |
394 | ) | 394 | ) |
395 | }, | 395 | }, |
396 | { | 396 | { |
397 | path: '/issue', | 397 | path: '/issue', |
398 | meta: {}, | 398 | meta: {}, |
399 | name: 'Issue', | 399 | name: 'Issue', |
400 | props: (route) => ({ type: route.query.type }), | 400 | props: (route) => ({ type: route.query.type }), |
401 | component: () => | 401 | component: () => |
402 | import ( | 402 | import ( |
403 | /* webpackChunkName: "routes" */ | 403 | /* webpackChunkName: "routes" */ |
404 | /* webpackMode: "lazy-once" */ | 404 | /* webpackMode: "lazy-once" */ |
405 | `@/pages/Library/issue.vue` | 405 | `@/pages/Library/issue.vue` |
406 | ) | 406 | ) |
407 | }, | 407 | }, |
408 | { | 408 | { |
409 | path: '/e-books', | 409 | path: '/e-books', |
410 | meta: {}, | 410 | meta: {}, |
411 | name: 'eBooks', | 411 | name: 'eBooks', |
412 | props: (route) => ({ type: route.query.type }), | 412 | props: (route) => ({ type: route.query.type }), |
413 | component: () => | 413 | component: () => |
414 | import ( | 414 | import ( |
415 | /* webpackChunkName: "routes" */ | 415 | /* webpackChunkName: "routes" */ |
416 | /* webpackMode: "lazy-once" */ | 416 | /* webpackMode: "lazy-once" */ |
417 | `@/pages/Library/eBook.vue` | 417 | `@/pages/Library/eBook.vue` |
418 | ) | 418 | ) |
419 | }, | 419 | }, |
420 | { | 420 | { |
421 | path: '/invoiceId/:invoiceid', | 421 | path: '/invoiceId/:invoiceid', |
422 | meta: {}, | 422 | meta: {}, |
423 | name: 'EditInvoice', | 423 | name: 'EditInvoice', |
424 | // props: (route) => ({ type: route.query.type }), | 424 | // props: (route) => ({ type: route.query.type }), |
425 | component: () => | 425 | component: () => |
426 | import ( | 426 | import ( |
427 | /* webpackChunkName: "routes" */ | 427 | /* webpackChunkName: "routes" */ |
428 | /* webpackMode: "lazy-once" */ | 428 | /* webpackMode: "lazy-once" */ |
429 | `@/pages/Account/editInvoice.vue` | 429 | `@/pages/Account/editInvoice.vue` |
430 | ) | 430 | ) |
431 | }, | 431 | }, |
432 | { | 432 | { |
433 | path: '/StudentsAttendence/:id', | 433 | path: '/StudentsAttendence/:id', |
434 | meta: {}, | 434 | meta: {}, |
435 | name: 'ViewStudentsAttendence', | 435 | name: 'ViewStudentsAttendence', |
436 | props: (route) => ({ type: route.query.type }), | 436 | props: (route) => ({ type: route.query.type }), |
437 | component: () => | 437 | component: () => |
438 | import ( | 438 | import ( |
439 | /* webpackChunkName: "routes" */ | 439 | /* webpackChunkName: "routes" */ |
440 | /* webpackMode: "lazy-once" */ | 440 | /* webpackMode: "lazy-once" */ |
441 | `@/pages/Attendence/viewStudentsAttendence.vue` | 441 | `@/pages/Attendence/viewStudentsAttendence.vue` |
442 | ) | 442 | ) |
443 | }, | 443 | }, |
444 | { | 444 | { |
445 | path: '/TeacherAttendence/:teacherId', | ||
446 | meta: {}, | ||
447 | name: 'ViewTeacherAttendence', | ||
448 | props: (route) => ({ type: route.query.type }), | ||
449 | component: () => | ||
450 | import ( | ||
451 | /* webpackChunkName: "routes" */ | ||
452 | /* webpackMode: "lazy-once" */ | ||
453 | `@/pages/Attendence/viewTeacherAttendence.vue` | ||
454 | ) | ||
455 | }, | ||
456 | { | ||
445 | path: '/viewInvoice/:viewInvoiceId', | 457 | path: '/viewInvoice/:viewInvoiceId', |
446 | meta: {}, | 458 | meta: {}, |
447 | name: 'ViewInvoice', | 459 | name: 'ViewInvoice', |
448 | props: (route) => ({ type: route.query.type }), | 460 | props: (route) => ({ type: route.query.type }), |
449 | component: () => | 461 | component: () => |
450 | import ( | 462 | import ( |
451 | /* webpackChunkName: "routes" */ | 463 | /* webpackChunkName: "routes" */ |
452 | /* webpackMode: "lazy-once" */ | 464 | /* webpackMode: "lazy-once" */ |
453 | `@/pages/Account/viewInvoice.vue` | 465 | `@/pages/Account/viewInvoice.vue` |
454 | ) | 466 | ) |
455 | }, | 467 | }, |
456 | { | 468 | { |
457 | path: '/exam', | 469 | path: '/exam', |
458 | meta: {}, | 470 | meta: {}, |
459 | name: 'Exam', | 471 | name: 'Exam', |
460 | props: (route) => ({ type: route.query.type }), | 472 | props: (route) => ({ type: route.query.type }), |
461 | component: () => | 473 | component: () => |
462 | import ( | 474 | import ( |
463 | /* webpackChunkName: "routes" */ | 475 | /* webpackChunkName: "routes" */ |
464 | /* webpackMode: "lazy-once" */ | 476 | /* webpackMode: "lazy-once" */ |
465 | `@/pages/Exam/exam.vue` | 477 | `@/pages/Exam/exam.vue` |
466 | ) | 478 | ) |
467 | }, | 479 | }, |
468 | { | 480 | { |
469 | path: '/grade', | 481 | path: '/grade', |
470 | meta: {}, | 482 | meta: {}, |
471 | name: 'Grade', | 483 | name: 'Grade', |
472 | props: (route) => ({ type: route.query.type }), | 484 | props: (route) => ({ type: route.query.type }), |
473 | component: () => | 485 | component: () => |
474 | import ( | 486 | import ( |
475 | /* webpackChunkName: "routes" */ | 487 | /* webpackChunkName: "routes" */ |
476 | /* webpackMode: "lazy-once" */ | 488 | /* webpackMode: "lazy-once" */ |
477 | `@/pages/Exam/grade.vue` | 489 | `@/pages/Exam/grade.vue` |
478 | ) | 490 | ) |
479 | }, | 491 | }, |
480 | { | 492 | { |
481 | path: '/examSchedule', | 493 | path: '/examSchedule', |
482 | meta: {}, | 494 | meta: {}, |
483 | name: 'ExamSchedule', | 495 | name: 'ExamSchedule', |
484 | props: (route) => ({ type: route.query.type }), | 496 | props: (route) => ({ type: route.query.type }), |
485 | component: () => | 497 | component: () => |
486 | import ( | 498 | import ( |
487 | /* webpackChunkName: "routes" */ | 499 | /* webpackChunkName: "routes" */ |
488 | /* webpackMode: "lazy-once" */ | 500 | /* webpackMode: "lazy-once" */ |
489 | `@/pages/Exam/examSchedule.vue` | 501 | `@/pages/Exam/examSchedule.vue` |
490 | ) | 502 | ) |
491 | }, | 503 | }, |
492 | { | 504 | { |
493 | path: '/mark', | 505 | path: '/mark', |
494 | meta: {}, | 506 | meta: {}, |
495 | name: 'Mark', | 507 | name: 'Mark', |
496 | props: (route) => ({ type: route.query.type }), | 508 | props: (route) => ({ type: route.query.type }), |
497 | component: () => | 509 | component: () => |
498 | import ( | 510 | import ( |
499 | /* webpackChunkName: "routes" */ | 511 | /* webpackChunkName: "routes" */ |
500 | /* webpackMode: "lazy-once" */ | 512 | /* webpackMode: "lazy-once" */ |
501 | `@/pages/Mark/mark.vue` | 513 | `@/pages/Mark/mark.vue` |
502 | ) | 514 | ) |
503 | }, | 515 | }, |
504 | { | 516 | { |
505 | path: '/viewMark/:markId', | 517 | path: '/viewMark/:markId', |
506 | meta: {}, | 518 | meta: {}, |
507 | name: 'viewMark', | 519 | name: 'viewMark', |
508 | props: (route) => ({ type: route.query.type }), | 520 | props: (route) => ({ type: route.query.type }), |
509 | component: () => | 521 | component: () => |
510 | import ( | 522 | import ( |
511 | /* webpackChunkName: "routes" */ | 523 | /* webpackChunkName: "routes" */ |
512 | /* webpackMode: "lazy-once" */ | 524 | /* webpackMode: "lazy-once" */ |
513 | `@/pages/Mark/viewMark.vue` | 525 | `@/pages/Mark/viewMark.vue` |
514 | ) | 526 | ) |
515 | }, | 527 | }, |
516 | { | 528 | { |
517 | path: '/markDistribution', | 529 | path: '/markDistribution', |
518 | meta: {}, | 530 | meta: {}, |
519 | name: 'markDistribution', | 531 | name: 'markDistribution', |
520 | props: (route) => ({ type: route.query.type }), | 532 | props: (route) => ({ type: route.query.type }), |
521 | component: () => | 533 | component: () => |
522 | import ( | 534 | import ( |
523 | /* webpackChunkName: "routes" */ | 535 | /* webpackChunkName: "routes" */ |
524 | /* webpackMode: "lazy-once" */ | 536 | /* webpackMode: "lazy-once" */ |
525 | `@/pages/Mark/markDistribution.vue` | 537 | `@/pages/Mark/markDistribution.vue` |
526 | ) | 538 | ) |
527 | }, | 539 | }, |
528 | { | 540 | { |
529 | path: '/promotion', | 541 | path: '/promotion', |
530 | meta: {}, | 542 | meta: {}, |
531 | name: 'Promotion', | 543 | name: 'Promotion', |
532 | props: (route) => ({ type: route.query.type }), | 544 | props: (route) => ({ type: route.query.type }), |
533 | component: () => | 545 | component: () => |
534 | import ( | 546 | import ( |
535 | /* webpackChunkName: "routes" */ | 547 | /* webpackChunkName: "routes" */ |
536 | /* webpackMode: "lazy-once" */ | 548 | /* webpackMode: "lazy-once" */ |
537 | `@/pages/Mark/promotion.vue` | 549 | `@/pages/Mark/promotion.vue` |
538 | ) | 550 | ) |
539 | }, | 551 | }, |
540 | { | 552 | { |
541 | path: '/academicYear', | 553 | path: '/academicYear', |
542 | meta: {}, | 554 | meta: {}, |
543 | name: 'academicYear', | 555 | name: 'academicYear', |
544 | props: (route) => ({ type: route.query.type }), | 556 | props: (route) => ({ type: route.query.type }), |
545 | component: () => | 557 | component: () => |
546 | import ( | 558 | import ( |
547 | /* webpackChunkName: "routes" */ | 559 | /* webpackChunkName: "routes" */ |
548 | /* webpackMode: "lazy-once" */ | 560 | /* webpackMode: "lazy-once" */ |
549 | `@/pages/Administrator/academicYear.vue` | 561 | `@/pages/Administrator/academicYear.vue` |
550 | ) | 562 | ) |
551 | }, | 563 | }, |
552 | { | 564 | { |
553 | path: '/systemAdmin', | 565 | path: '/systemAdmin', |
554 | meta: {}, | 566 | meta: {}, |
555 | name: 'systemAdmin', | 567 | name: 'systemAdmin', |
556 | props: (route) => ({ type: route.query.type }), | 568 | props: (route) => ({ type: route.query.type }), |
557 | component: () => | 569 | component: () => |
558 | import ( | 570 | import ( |
559 | /* webpackChunkName: "routes" */ | 571 | /* webpackChunkName: "routes" */ |
560 | /* webpackMode: "lazy-once" */ | 572 | /* webpackMode: "lazy-once" */ |
561 | `@/pages/Administrator/systemAdmin.vue` | 573 | `@/pages/Administrator/systemAdmin.vue` |
562 | ) | 574 | ) |
563 | }, | 575 | }, |
564 | { | 576 | { |
565 | path: '/resetPassword', | 577 | path: '/resetPassword', |
566 | meta: {}, | 578 | meta: {}, |
567 | name: 'resetPassword', | 579 | name: 'resetPassword', |
568 | props: (route) => ({ type: route.query.type }), | 580 | props: (route) => ({ type: route.query.type }), |
569 | component: () => | 581 | component: () => |
570 | import ( | 582 | import ( |
571 | /* webpackChunkName: "routes" */ | 583 | /* webpackChunkName: "routes" */ |
572 | /* webpackMode: "lazy-once" */ | 584 | /* webpackMode: "lazy-once" */ |
573 | `@/pages/Administrator/resetPassword.vue` | 585 | `@/pages/Administrator/resetPassword.vue` |
574 | ) | 586 | ) |
575 | }, | 587 | }, |
576 | { | 588 | { |
577 | path: '/role', | 589 | path: '/role', |
578 | meta: {}, | 590 | meta: {}, |
579 | name: 'Role', | 591 | name: 'Role', |
580 | props: (route) => ({ type: route.query.type }), | 592 | props: (route) => ({ type: route.query.type }), |
581 | component: () => | 593 | component: () => |
582 | import ( | 594 | import ( |
583 | /* webpackChunkName: "routes" */ | 595 | /* webpackChunkName: "routes" */ |
584 | /* webpackMode: "lazy-once" */ | 596 | /* webpackMode: "lazy-once" */ |
585 | `@/pages/Administrator/role.vue` | 597 | `@/pages/Administrator/role.vue` |
586 | ) | 598 | ) |
587 | }, | 599 | }, |
588 | { | 600 | { |
589 | path: '/bulkImport', | 601 | path: '/bulkImport', |
590 | meta: {}, | 602 | meta: {}, |
591 | name: 'bulkImport', | 603 | name: 'bulkImport', |
592 | props: (route) => ({ type: route.query.type }), | 604 | props: (route) => ({ type: route.query.type }), |
593 | component: () => | 605 | component: () => |
594 | import ( | 606 | import ( |
595 | /* webpackChunkName: "routes" */ | 607 | /* webpackChunkName: "routes" */ |
596 | /* webpackMode: "lazy-once" */ | 608 | /* webpackMode: "lazy-once" */ |
597 | `@/pages/Administrator/bulkImport.vue` | 609 | `@/pages/Administrator/bulkImport.vue` |
598 | ) | 610 | ) |
599 | }, | 611 | }, |
600 | { | 612 | { |
601 | path: '/studentReport', | 613 | path: '/studentReport', |
602 | meta: {}, | 614 | meta: {}, |
603 | name: 'studentReport', | 615 | name: 'studentReport', |
604 | props: (route) => ({ type: route.query.type }), | 616 | props: (route) => ({ type: route.query.type }), |
605 | component: () => | 617 | component: () => |
606 | import ( | 618 | import ( |
607 | /* webpackChunkName: "routes" */ | 619 | /* webpackChunkName: "routes" */ |
608 | /* webpackMode: "lazy-once" */ | 620 | /* webpackMode: "lazy-once" */ |
609 | `@/pages/Report/studentReport.vue` | 621 | `@/pages/Report/studentReport.vue` |
610 | ) | 622 | ) |
611 | }, | 623 | }, |
612 | { | 624 | { |
613 | path: '/progressCardReport', | 625 | path: '/progressCardReport', |
614 | meta: {}, | 626 | meta: {}, |
615 | name: 'progressCardReport', | 627 | name: 'progressCardReport', |
616 | props: (route) => ({ type: route.query.type }), | 628 | props: (route) => ({ type: route.query.type }), |
617 | component: () => | 629 | component: () => |
618 | import ( | 630 | import ( |
619 | /* webpackChunkName: "routes" */ | 631 | /* webpackChunkName: "routes" */ |
620 | /* webpackMode: "lazy-once" */ | 632 | /* webpackMode: "lazy-once" */ |
621 | `@/pages/Report/progressCardReport.vue` | 633 | `@/pages/Report/progressCardReport.vue` |
622 | ) | 634 | ) |
623 | }, | 635 | }, |
624 | { | 636 | { |
625 | path: '/generalSetting', | 637 | path: '/generalSetting', |
626 | meta: {}, | 638 | meta: {}, |
627 | name: 'generalSetting', | 639 | name: 'generalSetting', |
628 | props: (route) => ({ type: route.query.type }), | 640 | props: (route) => ({ type: route.query.type }), |
629 | component: () => | 641 | component: () => |
630 | import ( | 642 | import ( |
631 | /* webpackChunkName: "routes" */ | 643 | /* webpackChunkName: "routes" */ |
632 | /* webpackMode: "lazy-once" */ | 644 | /* webpackMode: "lazy-once" */ |
633 | `@/pages/generalSetting/generalSetting.vue` | 645 | `@/pages/generalSetting/generalSetting.vue` |
634 | ) | 646 | ) |
635 | }, | 647 | }, |
636 | 648 | ||
637 | //////SCHOOL | 649 | //////SCHOOL |
638 | 650 | ||
639 | { | 651 | { |
640 | path: '/school', | 652 | path: '/school', |
641 | meta: {}, | 653 | meta: {}, |
642 | name: 'School', | 654 | name: 'School', |
643 | props: (route) => ({ type: route.query.type }), | 655 | props: (route) => ({ type: route.query.type }), |
644 | component: () => | 656 | component: () => |
645 | import ( | 657 | import ( |
646 | /* webpackChunkName: "routes" */ | 658 | /* webpackChunkName: "routes" */ |
647 | /* webpackMode: "lazy-once" */ | 659 | /* webpackMode: "lazy-once" */ |
648 | `@/pages/School/school.vue` | 660 | `@/pages/School/school.vue` |
649 | ) | 661 | ) |
650 | } | 662 | } |
651 | ]; | 663 | ]; |