Commit 1c69557ac3f458e77fc45d3ca2622783b10cc2dc
1 parent
00e4bc4e16
Exists in
master
and in
3 other branches
implement design bulkImport
Showing
10 changed files
with
415 additions
and
3 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: '', }, | ||
95 | |||
94 | ] | 96 | ] |
95 | }, | 97 | }, |
96 | { | 98 | { |
97 | title: 'Notice Board', | 99 | title: 'Notice Board', |
98 | path: '/NoticeBoard', | 100 | path: '/NoticeBoard', |
99 | icon: '/static/schoolIcons/Notice_board.png', | 101 | icon: '/static/schoolIcons/Notice_board.png', |
100 | }, | 102 | }, |
101 | { | 103 | { |
102 | title: 'News', | 104 | title: 'News', |
103 | path: '/news', | 105 | path: '/news', |
104 | icon: '/static/schoolIcons/News.png', | 106 | icon: '/static/schoolIcons/News.png', |
105 | }, | 107 | }, |
106 | // { | 108 | // { |
107 | // title: 'Reminder', | 109 | // title: 'Reminder', |
108 | // name: 'reminder', | 110 | // name: 'reminder', |
109 | // icon: 'alarm_add', | 111 | // icon: 'alarm_add', |
110 | // }, | 112 | // }, |
111 | { | 113 | { |
112 | title: 'Time Table', | 114 | title: 'Time Table', |
113 | path: '/timeTable', | 115 | path: '/timeTable', |
114 | icon: '/static/schoolIcons/Time_table.png', | 116 | icon: '/static/schoolIcons/Time_table.png', |
115 | }, | 117 | }, |
116 | { | 118 | { |
117 | title: 'Library', | 119 | title: 'Library', |
118 | group: 'Library', | 120 | group: 'Library', |
119 | component: 'Library', | 121 | component: 'Library', |
120 | icon: '/static/schoolIcons/Library.png', | 122 | icon: '/static/schoolIcons/Library.png', |
121 | items: [ | 123 | items: [ |
122 | { name: 'libraryMember', title: ' Library Member', component: 'libraryMember', action: '', }, | 124 | { name: 'libraryMember', title: ' Library Member', component: 'libraryMember', action: '', }, |
123 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, | 125 | { name: 'Books', title: 'Books', component: 'Books', action: '', }, |
124 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, | 126 | { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, |
125 | { name: 'eBooks', title: 'E-Books', component: 'eBooks', action: '', } | 127 | { name: 'eBooks', title: 'E-Books', component: 'eBooks', action: '', } |
126 | 128 | ||
127 | ] | 129 | ] |
128 | }, | 130 | }, |
129 | { | 131 | { |
130 | title: 'Report', | 132 | title: 'Report', |
131 | group: 'Report', | 133 | group: 'Report', |
132 | component: 'Report', | 134 | component: 'Report', |
133 | icon: '/static/schoolIcons/reports.png', | 135 | icon: '/static/schoolIcons/reports.png', |
134 | items: [ | 136 | items: [ |
135 | { name: 'studentReport', title: 'Student Report', component: 'studentReport', action: '', }, | 137 | { name: 'studentReport', title: 'Student Report', component: 'studentReport', action: '', }, |
136 | { name: 'progressCardReport', title: 'Progress Card Report', component: 'progressCardReport', action: '', } | 138 | { name: 'progressCardReport', title: 'Progress Card Report', component: 'progressCardReport', action: '', } |
137 | ] | 139 | ] |
138 | }, | 140 | }, |
139 | { | 141 | { |
140 | title: 'Notification', | 142 | title: 'Notification', |
141 | path: '/notification', | 143 | path: '/notification', |
142 | icon: '/static/schoolIcons/Notification.png', | 144 | icon: '/static/schoolIcons/Notification.png', |
143 | }, | 145 | }, |
144 | { | 146 | { |
145 | title: 'Social Media', | 147 | title: 'Social Media', |
146 | path: '/SocialMedia', | 148 | path: '/SocialMedia', |
147 | icon: '/static/schoolIcons/Social_Media.png', | 149 | icon: '/static/schoolIcons/Social_Media.png', |
148 | }, | 150 | }, |
149 | { | 151 | { |
150 | title: 'Gallery', | 152 | title: 'Gallery', |
151 | path: '/Gallery', | 153 | path: '/Gallery', |
152 | icon: '/static/schoolIcons/Gallery.png', | 154 | icon: '/static/schoolIcons/Gallery.png', |
153 | }, | 155 | }, |
154 | { | 156 | { |
155 | title: 'Event', | 157 | title: 'Event', |
156 | path: '/Event', | 158 | path: '/Event', |
157 | icon: '/static/schoolIcons/Events.png', | 159 | icon: '/static/schoolIcons/Events.png', |
158 | }, | 160 | }, |
159 | { | 161 | { |
160 | title: 'Account', | 162 | title: 'Account', |
161 | group: 'Account', | 163 | group: 'Account', |
162 | component: 'Account', | 164 | component: 'Account', |
163 | icon: '/static/schoolIcons/Account.png', | 165 | icon: '/static/schoolIcons/Account.png', |
164 | items: [ | 166 | items: [ |
165 | { name: 'feeTypes', title: 'Fee Types', component: 'feeTypes', action: '', }, | 167 | { name: 'feeTypes', title: 'Fee Types', component: 'feeTypes', action: '', }, |
166 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, | 168 | { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, |
167 | { name: 'paymentHistory', title: 'Payment History', component: 'paymentHistory', action: '', }, | 169 | { name: 'paymentHistory', title: 'Payment History', component: 'paymentHistory', action: '', }, |
168 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, | 170 | { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, |
169 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, | 171 | { name: 'Income', title: 'Income', component: 'Income', action: '', }, |
170 | ] | 172 | ] |
171 | }, | 173 | }, |
172 | { | 174 | { |
173 | title: 'Holiday', | 175 | title: 'Holiday', |
174 | path: '/Holiday', | 176 | path: '/Holiday', |
175 | icon: '/static/schoolIcons/Holidays.png', | 177 | icon: '/static/schoolIcons/Holidays.png', |
176 | }, | 178 | }, |
177 | { | 179 | { |
178 | title: 'General Setting', | 180 | title: 'General Setting', |
179 | path: '/generalSetting', | 181 | path: '/generalSetting', |
180 | icon: '/static/schoolIcons/settings.png', | 182 | icon: '/static/schoolIcons/settings.png', |
181 | } | 183 | } |
182 | ]; | 184 | ]; |
183 | 185 | ||
184 | const schoolMenu = [ | 186 | const schoolMenu = [ |
185 | // { header: 'Apps' }, | 187 | // { header: 'Apps' }, |
186 | { | 188 | { |
187 | title: 'School', | 189 | title: 'School', |
188 | // group: 'apps', | 190 | // group: 'apps', |
189 | path: '/school', | 191 | path: '/school', |
190 | icon: '/static/schoolIcons/Dashboard.png', | 192 | icon: '/static/schoolIcons/Dashboard.png', |
191 | }, | 193 | } |
192 | ]; | 194 | ]; |
193 | 195 | ||
194 | // reorder menu | 196 | // reorder menu |
195 | // Menu.forEach((item) => { | 197 | // Menu.forEach((item) => { |
196 | // if (item.items) { | 198 | // if (item.items) { |
197 | // item.items.sort((x, y) => { | 199 | // item.items.sort((x, y) => { |
198 | // let textA = x.title.toUpperCase(); | 200 | // let textA = x.title.toUpperCase(); |
199 | // let textB = y.title.toUpperCase(); | 201 | // let textB = y.title.toUpperCase(); |
200 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; | 202 | // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; |
201 | // }); | 203 | // }); |
202 | // } | 204 | // } |
203 | // }); | 205 | // }); |
204 | 206 | ||
205 | export default { adminMenu, schoolMenu }; | 207 | export default { adminMenu, schoolMenu }; |
src/components/pageHeader/AppToolbar.vue
1 | <template> | 1 | <template> |
2 | <v-toolbar class="fixcolors" fixed app> | 2 | <v-toolbar class="fixcolors" fixed app> |
3 | <v-toolbar-title class="ml-0"> | 3 | <v-toolbar-title class="ml-0"> |
4 | <v-toolbar-side-icon @click.stop="handleDrawerToggle" class="hide white--text"></v-toolbar-side-icon> | 4 | <v-toolbar-side-icon @click.stop="handleDrawerToggle" class="hide white--text"></v-toolbar-side-icon> |
5 | </v-toolbar-title> | 5 | </v-toolbar-title> |
6 | 6 | ||
7 | <!-- ****** SEARCH ALL EXISTING STUDENTS ****** --> | 7 | <!-- ****** SEARCH ALL EXISTING STUDENTS ****** --> |
8 | <v-flex | 8 | <v-flex |
9 | xs7 | 9 | xs7 |
10 | sm3 | 10 | sm3 |
11 | class="userSearch" | 11 | class="userSearch" |
12 | v-if="$route.name != 'Dashboard' && $route.name != 'changepassword' && $route.name != 'generalSetting' && $route.name != 'resetPassword'" | 12 | v-if="$route.name != 'Dashboard' && $route.name != 'changepassword' && $route.name != 'generalSetting' && $route.name != 'resetPassword' && $route.name != 'bulkImport'" |
13 | > | 13 | > |
14 | <v-text-field | 14 | <v-text-field |
15 | flat | 15 | flat |
16 | append-icon="search" | 16 | append-icon="search" |
17 | label="Seacrh" | 17 | label="Seacrh" |
18 | class="pl-3" | 18 | class="pl-3" |
19 | color="white" | 19 | color="white" |
20 | @input.native="emitSearch" | 20 | @input.native="emitSearch" |
21 | type="text" | 21 | type="text" |
22 | dark | 22 | dark |
23 | ></v-text-field> | 23 | ></v-text-field> |
24 | </v-flex> | 24 | </v-flex> |
25 | <v-spacer></v-spacer> | 25 | <v-spacer></v-spacer> |
26 | <v-menu offset-y origin="center center" :nudge-bottom="10" transition="scale-transition"> | 26 | <v-menu offset-y origin="center center" :nudge-bottom="10" transition="scale-transition"> |
27 | <v-btn icon large flat slot="activator"> | 27 | <v-btn icon large flat slot="activator"> |
28 | <v-avatar> | 28 | <v-avatar> |
29 | <!-- <img src="/static/icon/user.png" /> --> | 29 | <!-- <img src="/static/icon/user.png" /> --> |
30 | <v-icon dark size="40px">account_circle</v-icon> | 30 | <v-icon dark size="40px">account_circle</v-icon> |
31 | </v-avatar> | 31 | </v-avatar> |
32 | </v-btn> | 32 | </v-btn> |
33 | <v-list class="pa-0"> | 33 | <v-list class="pa-0"> |
34 | <v-list-tile | 34 | <v-list-tile |
35 | v-for="(item,index) in items" | 35 | v-for="(item,index) in items" |
36 | :to="!item.href ? { name: item.name } : null" | 36 | :to="!item.href ? { name: item.name } : null" |
37 | :href="item.href" | 37 | :href="item.href" |
38 | @click="item.click" | 38 | @click="item.click" |
39 | ripple="ripple" | 39 | ripple="ripple" |
40 | :disabled="item.disabled" | 40 | :disabled="item.disabled" |
41 | :target="item.target" | 41 | :target="item.target" |
42 | rel="noopener" | 42 | rel="noopener" |
43 | :key="index" | 43 | :key="index" |
44 | > | 44 | > |
45 | <v-list-tile-action v-if="item.icon"> | 45 | <v-list-tile-action v-if="item.icon"> |
46 | <v-icon class="iconSize">{{ item.icon }}</v-icon> | 46 | <v-icon class="iconSize">{{ item.icon }}</v-icon> |
47 | </v-list-tile-action> | 47 | </v-list-tile-action> |
48 | <v-list-tile-content> | 48 | <v-list-tile-content> |
49 | <v-list-tile-title>{{ item.title }}</v-list-tile-title> | 49 | <v-list-tile-title>{{ item.title }}</v-list-tile-title> |
50 | </v-list-tile-content> | 50 | </v-list-tile-content> |
51 | </v-list-tile> | 51 | </v-list-tile> |
52 | </v-list> | 52 | </v-list> |
53 | </v-menu> | 53 | </v-menu> |
54 | </v-toolbar> | 54 | </v-toolbar> |
55 | </template> | 55 | </template> |
56 | <script> | 56 | <script> |
57 | import Util from "@/util"; | 57 | import Util from "@/util"; |
58 | export default { | 58 | export default { |
59 | name: "app-toolbar", | 59 | name: "app-toolbar", |
60 | data: () => ({ | 60 | data: () => ({ |
61 | userName: "", | 61 | userName: "", |
62 | search: "", | 62 | search: "", |
63 | items: [ | 63 | items: [ |
64 | { | 64 | { |
65 | icon: "account_circle", | 65 | icon: "account_circle", |
66 | href: "/resetPassword", | 66 | href: "/resetPassword", |
67 | title: "Change Password", | 67 | title: "Change Password", |
68 | click: e => { | 68 | click: e => { |
69 | console.log(e); | 69 | console.log(e); |
70 | } | 70 | } |
71 | }, | 71 | }, |
72 | // { | 72 | // { |
73 | // icon: 'settings', | 73 | // icon: 'settings', |
74 | // href: '#', | 74 | // href: '#', |
75 | // title: 'Settings', | 75 | // title: 'Settings', |
76 | // click: (e) => { | 76 | // click: (e) => { |
77 | // console.log(e); | 77 | // console.log(e); |
78 | // } | 78 | // } |
79 | // }, | 79 | // }, |
80 | { | 80 | { |
81 | icon: "lock", | 81 | icon: "lock", |
82 | href: "#", | 82 | href: "#", |
83 | title: "Logout", | 83 | title: "Logout", |
84 | click: e => { | 84 | click: e => { |
85 | window.getApp.$emit("APP_LOGOUT"); | 85 | window.getApp.$emit("APP_LOGOUT"); |
86 | } | 86 | } |
87 | } | 87 | } |
88 | ] | 88 | ] |
89 | }), | 89 | }), |
90 | computed: { | 90 | computed: { |
91 | toolbarColor() { | 91 | toolbarColor() { |
92 | return this.$vuetify.options.extra.mainNav; | 92 | return this.$vuetify.options.extra.mainNav; |
93 | } | 93 | } |
94 | }, | 94 | }, |
95 | methods: { | 95 | methods: { |
96 | emitSearch(ev) { | 96 | emitSearch(ev) { |
97 | this.$root.$emit("app:search", ev.target.value); | 97 | this.$root.$emit("app:search", ev.target.value); |
98 | console.log("ev.target.value", ev.target.value); | 98 | console.log("ev.target.value", ev.target.value); |
99 | }, | 99 | }, |
100 | handleDrawerToggle() { | 100 | handleDrawerToggle() { |
101 | window.getApp.$emit("APP_DRAWER_TOGGLED"); | 101 | window.getApp.$emit("APP_DRAWER_TOGGLED"); |
102 | }, | 102 | }, |
103 | handleFullScreen() { | 103 | handleFullScreen() { |
104 | Util.toggleFullScreen(); | 104 | Util.toggleFullScreen(); |
105 | } | 105 | } |
106 | } | 106 | } |
107 | }; | 107 | }; |
108 | </script> | 108 | </script> |
109 | <style> | 109 | <style> |
110 | .v-icon { | 110 | .v-icon { |
111 | font-size: 30px; | 111 | font-size: 30px; |
112 | } | 112 | } |
113 | .fixcolors { | 113 | .fixcolors { |
114 | background: #444b54 !important; | 114 | background: #444b54 !important; |
115 | } | 115 | } |
116 | @media screen and (min-width: 1270px) { | 116 | @media screen and (min-width: 1270px) { |
117 | .hide { | 117 | .hide { |
118 | display: none; | 118 | display: none; |
119 | } | 119 | } |
120 | /* } | 120 | /* } |
121 | @media screen and (max-width: 962px) { | 121 | @media screen and (max-width: 962px) { |
122 | .imglogo{ | 122 | .imglogo{ |
123 | position: absolute; | 123 | position: absolute; |
124 | top: 13px; | 124 | top: 13px; |
125 | left: 13px !important; | 125 | left: 13px !important; |
126 | width: 70px; | 126 | width: 70px; |
127 | height: 24px; | 127 | height: 24px; |
128 | } */ | 128 | } */ |
129 | } | 129 | } |
130 | @media screen and (max-width: 420px) { | 130 | @media screen and (max-width: 420px) { |
131 | .v-list__tile { | 131 | .v-list__tile { |
132 | font-size: 14px; | 132 | font-size: 14px; |
133 | padding: 0 10px; | 133 | padding: 0 10px; |
134 | } | 134 | } |
135 | .name { | 135 | .name { |
136 | font-size: 15px; | 136 | font-size: 15px; |
137 | } | 137 | } |
138 | } | 138 | } |
139 | </style> | 139 | </style> |
140 | 140 |
src/pages/Administrator/bulkImport.vue
File was created | 1 | <template> | |
2 | <v-container fluid grid-list-md> | ||
3 | <v-card flat> | ||
4 | <v-toolbar class="fixcolors" dark flat> | ||
5 | <v-spacer></v-spacer> | ||
6 | <v-toolbar-title>Import</v-toolbar-title> | ||
7 | <v-spacer></v-spacer> | ||
8 | </v-toolbar> | ||
9 | <v-container fluid> | ||
10 | <v-layout> | ||
11 | <v-flex xs12> | ||
12 | <v-layout wrap> | ||
13 | <v-flex xs6 sm5 lg2 class="pt-4"> | ||
14 | <label class="title right">Add Teacher:</label> | ||
15 | </v-flex> | ||
16 | <v-flex xs12 sm6 lg3> | ||
17 | <v-text-field v-model="teacherFileName" placeholder="Choose file" :disabled="true"></v-text-field> | ||
18 | <input | ||
19 | type="file" | ||
20 | style="display: none" | ||
21 | ref="file" | ||
22 | @change="picFileTeacher($event)" | ||
23 | /> | ||
24 | </v-flex> | ||
25 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
26 | <v-btn class="grey" dark block @click="pickFile"> | ||
27 | <v-icon small class="pr-1">refresh</v-icon>Upload | ||
28 | </v-btn> | ||
29 | </v-flex> | ||
30 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
31 | <v-btn class="grey" dark block>import</v-btn> | ||
32 | </v-flex> | ||
33 | <v-flex xs12 sm4 lg2 class="mt-1"> | ||
34 | <download-csv :data="teacherData"> | ||
35 | <v-btn class="blue lighten-2" dark block> | ||
36 | <v-icon small class="pr-1">archive</v-icon>sample download | ||
37 | </v-btn> | ||
38 | </download-csv> | ||
39 | </v-flex> | ||
40 | </v-layout> | ||
41 | </v-flex> | ||
42 | </v-layout> | ||
43 | <v-layout> | ||
44 | <v-flex xs12> | ||
45 | <v-layout wrap> | ||
46 | <v-flex xs6 sm5 lg2 class="pt-4"> | ||
47 | <label class="title right">Add Parent:</label> | ||
48 | </v-flex> | ||
49 | <v-flex xs12 sm6 lg3> | ||
50 | <v-text-field v-model="parentFileName" placeholder="Choose file" :disabled="true"></v-text-field> | ||
51 | </v-flex> | ||
52 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
53 | <v-btn class="grey" dark block @click="pickFile"> | ||
54 | <v-icon small class="pr-1">refresh</v-icon>Upload | ||
55 | </v-btn> | ||
56 | </v-flex> | ||
57 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
58 | <v-btn class="grey" dark block>import</v-btn> | ||
59 | </v-flex> | ||
60 | <v-flex xs12 sm4 lg2 class="mt-1"> | ||
61 | <download-csv :data="parentData"> | ||
62 | <v-btn class="blue lighten-2" dark block> | ||
63 | <v-icon small class="pr-1">archive</v-icon>sample download | ||
64 | </v-btn> | ||
65 | </download-csv> | ||
66 | </v-flex> | ||
67 | </v-layout> | ||
68 | </v-flex> | ||
69 | </v-layout> | ||
70 | <v-layout> | ||
71 | <v-flex xs12> | ||
72 | <v-layout wrap> | ||
73 | <v-flex xs6 sm5 lg2 class="pt-4"> | ||
74 | <label class="title right">Add User:</label> | ||
75 | </v-flex> | ||
76 | <v-flex xs12 sm6 lg3> | ||
77 | <v-text-field placeholder="Choose file" :disabled="true"></v-text-field> | ||
78 | </v-flex> | ||
79 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
80 | <v-btn class="grey" dark block> | ||
81 | <v-icon small class="pr-1">refresh</v-icon>Upload | ||
82 | </v-btn> | ||
83 | </v-flex> | ||
84 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
85 | <v-btn class="grey" dark block>import</v-btn> | ||
86 | </v-flex> | ||
87 | <v-flex xs12 sm4 lg2 class="mt-1"> | ||
88 | <download-csv :data="userData"> | ||
89 | <v-btn class="blue lighten-2" dark block> | ||
90 | <v-icon small class="pr-1">archive</v-icon>sample download | ||
91 | </v-btn> | ||
92 | </download-csv> | ||
93 | </v-flex> | ||
94 | </v-layout> | ||
95 | </v-flex> | ||
96 | </v-layout> | ||
97 | <v-layout> | ||
98 | <v-flex xs12> | ||
99 | <v-layout wrap> | ||
100 | <v-flex xs6 sm5 lg2 class="pt-4"> | ||
101 | <label class="title right">Add Book:</label> | ||
102 | </v-flex> | ||
103 | <v-flex xs12 sm6 lg3> | ||
104 | <v-text-field placeholder="Choose file" :disabled="true"></v-text-field> | ||
105 | </v-flex> | ||
106 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
107 | <v-btn class="grey" dark block> | ||
108 | <v-icon small class="pr-1">refresh</v-icon>Upload | ||
109 | </v-btn> | ||
110 | </v-flex> | ||
111 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
112 | <v-btn class="grey" dark block>import</v-btn> | ||
113 | </v-flex> | ||
114 | <v-flex xs12 sm4 lg2 class="mt-1"> | ||
115 | <download-csv :data="bookData"> | ||
116 | <v-btn class="blue lighten-2" dark block> | ||
117 | <v-icon small class="pr-1">archive</v-icon>sample download | ||
118 | </v-btn> | ||
119 | </download-csv> | ||
120 | </v-flex> | ||
121 | </v-layout> | ||
122 | </v-flex> | ||
123 | </v-layout> | ||
124 | <v-layout> | ||
125 | <v-flex xs12> | ||
126 | <v-layout wrap> | ||
127 | <v-flex xs6 sm5 lg2 class="pt-4"> | ||
128 | <label class="title right">Add Student:</label> | ||
129 | </v-flex> | ||
130 | <v-flex xs12 sm6 lg3> | ||
131 | <v-text-field placeholder="Choose file" :disabled="true"></v-text-field> | ||
132 | </v-flex> | ||
133 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
134 | <v-btn class="grey" dark block> | ||
135 | <v-icon small class="pr-1">refresh</v-icon>Upload | ||
136 | </v-btn> | ||
137 | </v-flex> | ||
138 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
139 | <v-btn class="grey" dark block>import</v-btn> | ||
140 | </v-flex> | ||
141 | <v-flex xs12 sm4 lg2 class="mt-1"> | ||
142 | <download-csv :data="studentData"> | ||
143 | <v-btn class="blue lighten-2" dark block> | ||
144 | <v-icon small class="pr-1">archive</v-icon>sample download | ||
145 | </v-btn> | ||
146 | </download-csv> | ||
147 | </v-flex> | ||
148 | </v-layout> | ||
149 | </v-flex> | ||
150 | </v-layout> | ||
151 | <v-layout> | ||
152 | <v-flex xs12> | ||
153 | <v-layout wrap> | ||
154 | <v-flex xs9 sm5 lg2 class="pt-4"> | ||
155 | <label class="title right">Students & Parents:</label> | ||
156 | </v-flex> | ||
157 | <v-flex xs12 sm6 lg3> | ||
158 | <v-text-field placeholder="Choose file" :disabled="true"></v-text-field> | ||
159 | </v-flex> | ||
160 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
161 | <v-btn class="grey" dark block> | ||
162 | <v-icon small class="pr-1">refresh</v-icon>Upload | ||
163 | </v-btn> | ||
164 | </v-flex> | ||
165 | <v-flex xs6 sm4 lg2 class="mt-1"> | ||
166 | <v-btn class="grey" dark block>import</v-btn> | ||
167 | </v-flex> | ||
168 | <v-flex xs12 sm4 lg2 class="mt-1"> | ||
169 | <v-btn class="blue lighten-2" dark block> | ||
170 | <v-icon small class="pr-1">archive</v-icon>sample download | ||
171 | </v-btn> | ||
172 | </v-flex> | ||
173 | </v-layout> | ||
174 | </v-flex> | ||
175 | </v-layout> | ||
176 | </v-container> | ||
177 | </v-card> | ||
178 | </v-container> | ||
179 | </template> | ||
180 | |||
181 | |||
182 | <script> | ||
183 | import http from "@/Services/http.js"; | ||
184 | import moment from "moment"; | ||
185 | import teacherData from "@/script/teachers.js"; | ||
186 | import studentData from "@/script/students.js"; | ||
187 | import parentData from "@/script/parents.js"; | ||
188 | import userData from "@/script/users.js"; | ||
189 | import bookData from "@/script/books.js"; | ||
190 | |||
191 | export default { | ||
192 | data: () => ({ | ||
193 | teacherData: [], | ||
194 | studentData: [], | ||
195 | parentData: [], | ||
196 | userData: [], | ||
197 | bookData: [], | ||
198 | teacher: "TEACHER", | ||
199 | teacherFileName: "", | ||
200 | teacherFileUrl: "", | ||
201 | parent: "PARENT", | ||
202 | parentFileName: "", | ||
203 | parentFileUrl: "" | ||
204 | }), | ||
205 | methods: { | ||
206 | pickFile() { | ||
207 | this.$refs.file.click(); | ||
208 | }, | ||
209 | picFileTeacher(e) { | ||
210 | console.log(this.parent); | ||
211 | if (this.teacher === "TEACHER") { | ||
212 | var vm = this; | ||
213 | if (window.FileReader) { | ||
214 | var reader = new FileReader(); | ||
215 | this.teacherFileName = e.target.files[0].name; | ||
216 | this.teacherFileUrl = e.target.files[0]; | ||
217 | console.log("this.teacherFileUrl", this.teacherFileUrl); | ||
218 | } | ||
219 | } | ||
220 | // if (this.parent === "PARENT") { | ||
221 | // var vm = this; | ||
222 | // if (window.FileReader) { | ||
223 | // var reader = new FileReader(); | ||
224 | // this.parentFileName = e.target.files[0].name; | ||
225 | // this.parentFileUrl = e.target.files[0]; | ||
226 | // console.log("this.teacherFileUrl", this.parentFileUrl); | ||
227 | // } | ||
228 | // } | ||
229 | // if (this.teacher === "TEACHER") { | ||
230 | // const files = e.target.files; | ||
231 | // if (files[0] !== undefined) { | ||
232 | // this.teacherFileName = files[0].name; | ||
233 | // if (this.teacherFileName.lastIndexOf(".") <= 0) { | ||
234 | // return; | ||
235 | // } | ||
236 | // const fr = new FileReader(); | ||
237 | // fr.readAsDataURL(files[0]); | ||
238 | // fr.addEventListener("load", () => { | ||
239 | // this.teacherFileUrl = fr.result; | ||
240 | // // this.imageFile = files[0]; // this is an image file that can be sent to server... | ||
241 | // }); | ||
242 | // } else { | ||
243 | // this.teacherFileName = ""; | ||
244 | // this.teacherFileUrl = ""; | ||
245 | // } | ||
246 | // } | ||
247 | } | ||
248 | }, | ||
249 | mounted() { | ||
250 | /** TEACHERS SAMPLE CSV */ | ||
251 | const getTeacherData = teacherData(); | ||
252 | this.teacherData = getTeacherData; | ||
253 | |||
254 | /** STUDENTS SAMPLE CSV */ | ||
255 | const getstudentData = studentData(); | ||
256 | this.studentData = getstudentData; | ||
257 | |||
258 | /** PARENTS SAMPLE CSV */ | ||
259 | const getparentData = parentData(); | ||
260 | this.parentData = getparentData; | ||
261 | |||
262 | /** USERS SAMPLE CSV */ | ||
263 | const getUserData = userData(); | ||
264 | this.userData = getUserData; | ||
265 | |||
266 | /** BOOKS SAMPLE CSV */ | ||
267 | const getBookData = bookData(); | ||
268 | this.bookData = getBookData; | ||
269 | } | ||
270 | }; | ||
271 | </script> |
src/pages/Attendence/viewStudentsAttendence.vue
1 | <template> | 1 | <template> |
2 | <v-container fluid grid-list-md> | 2 | <v-container fluid grid-list-md> |
3 | <div v-show="hideData"> | 3 | <div v-show="hideData"> |
4 | <v-layout row> | 4 | <v-layout row> |
5 | <v-btn color="grey" @click="exportPdf" class="right" dark> | 5 | <v-btn color="grey" @click="exportPdf" class="right" dark> |
6 | Export Pdf | 6 | Export Pdf |
7 | <v-icon dark right size="20">save_alt</v-icon> | 7 | <v-icon dark right size="20">save_alt</v-icon> |
8 | </v-btn> | 8 | </v-btn> |
9 | <v-dialog v-model="dialogExport" max-width="500px"> | 9 | <v-dialog v-model="dialogExport" max-width="500px"> |
10 | <v-btn slot="activator" color="grey" class="right" dark> | 10 | <v-btn slot="activator" color="grey" class="right" dark> |
11 | Export csv | 11 | Export csv |
12 | <v-icon dark right size="20">save_alt</v-icon> | 12 | <v-icon dark right size="20">save_alt</v-icon> |
13 | </v-btn> | 13 | </v-btn> |
14 | <v-card> | 14 | <v-card> |
15 | <h3 class="text-xs-center py-2 grey lighten-1 white--text">Export</h3> | 15 | <h3 class="text-xs-center py-2 grey lighten-1 white--text">Export</h3> |
16 | <v-card-text> | 16 | <v-card-text> |
17 | <v-container grid-list-md> | 17 | <v-container grid-list-md> |
18 | <v-layout wrap> | 18 | <v-layout wrap> |
19 | <v-flex xs12> | 19 | <v-flex xs12> |
20 | <v-menu | 20 | <v-menu |
21 | ref="menuStartDate" | 21 | ref="menuStartDate" |
22 | :close-on-content-click="false" | 22 | :close-on-content-click="false" |
23 | v-model="menuStartDate" | 23 | v-model="menuStartDate" |
24 | :nudge-right="40" | 24 | :nudge-right="40" |
25 | :return-value.sync="startDate" | 25 | :return-value.sync="startDate" |
26 | lazy | 26 | lazy |
27 | transition="scale-transition" | 27 | transition="scale-transition" |
28 | offset-y | 28 | offset-y |
29 | full-width | 29 | full-width |
30 | min-width="290px" | 30 | min-width="290px" |
31 | > | 31 | > |
32 | <v-text-field | 32 | <v-text-field |
33 | slot="activator" | 33 | slot="activator" |
34 | v-model="startDate" | 34 | v-model="startDate" |
35 | label="Select Start Date" | 35 | label="Select Start Date" |
36 | prepend-icon="event" | 36 | prepend-icon="event" |
37 | readonly | 37 | readonly |
38 | ></v-text-field> | 38 | ></v-text-field> |
39 | <v-date-picker | 39 | <v-date-picker |
40 | v-model="startDate" | 40 | v-model="startDate" |
41 | @input="$refs.menuStartDate.save(startDate)" | 41 | @input="$refs.menuStartDate.save(startDate)" |
42 | ></v-date-picker> | 42 | ></v-date-picker> |
43 | </v-menu> | 43 | </v-menu> |
44 | </v-flex> | 44 | </v-flex> |
45 | <v-flex xs12> | 45 | <v-flex xs12> |
46 | <v-menu | 46 | <v-menu |
47 | ref="menuEndDate" | 47 | ref="menuEndDate" |
48 | :close-on-content-click="false" | 48 | :close-on-content-click="false" |
49 | v-model="menuEndDate" | 49 | v-model="menuEndDate" |
50 | :nudge-right="40" | 50 | :nudge-right="40" |
51 | :return-value.sync="endDate" | 51 | :return-value.sync="endDate" |
52 | lazy | 52 | lazy |
53 | transition="scale-transition" | 53 | transition="scale-transition" |
54 | offset-y | 54 | offset-y |
55 | full-width | 55 | full-width |
56 | min-width="290px" | 56 | min-width="290px" |
57 | > | 57 | > |
58 | <v-text-field | 58 | <v-text-field |
59 | slot="activator" | 59 | slot="activator" |
60 | v-model="endDate" | 60 | v-model="endDate" |
61 | label="Select End Date" | 61 | label="Select End Date" |
62 | prepend-icon="event" | 62 | prepend-icon="event" |
63 | readonly | 63 | readonly |
64 | ></v-text-field> | 64 | ></v-text-field> |
65 | <v-date-picker v-model="endDate" @input="$refs.menuEndDate.save(endDate)"></v-date-picker> | 65 | <v-date-picker v-model="endDate" @input="$refs.menuEndDate.save(endDate)"></v-date-picker> |
66 | </v-menu> | 66 | </v-menu> |
67 | </v-flex> | 67 | </v-flex> |
68 | </v-layout> | 68 | </v-layout> |
69 | </v-container> | 69 | </v-container> |
70 | </v-card-text> | 70 | </v-card-text> |
71 | <v-card-actions> | 71 | <v-card-actions> |
72 | <v-spacer></v-spacer> | 72 | <v-spacer></v-spacer> |
73 | <v-btn color="blue darken-1" flat @click.native="dialogExport = false">Close</v-btn> | 73 | <v-btn color="blue darken-1" flat @click.native="dialogExport = false">Close</v-btn> |
74 | <download-csv :data="json_data"> | 74 | <download-csv :data="json_data"> |
75 | <v-btn color="blue darken-1" flat @click.native="exportData">Export</v-btn> | 75 | <v-btn color="blue darken-1" flat @click.native="exportData">Export</v-btn> |
76 | </download-csv> | 76 | </download-csv> |
77 | </v-card-actions> | 77 | </v-card-actions> |
78 | </v-card> | 78 | </v-card> |
79 | </v-dialog> | 79 | </v-dialog> |
80 | </v-layout> | 80 | </v-layout> |
81 | <v-layout wrap> | 81 | <v-layout wrap> |
82 | <v-flex xs12 sm12 md4> | 82 | <v-flex xs12 sm12 md4> |
83 | <v-card flat> | 83 | <v-card flat> |
84 | <h3 class="text-xs-center py-2 grey lighten-1 white--text">Profile</h3> | 84 | <h3 class="text-xs-center py-2 grey lighten-1 white--text">Profile</h3> |
85 | <v-card-text> | 85 | <v-card-text> |
86 | <v-container> | 86 | <v-container> |
87 | <v-layout wrap> | 87 | <v-layout wrap> |
88 | <v-flex xs12> | 88 | <v-flex xs12> |
89 | <v-layout> | 89 | <v-layout> |
90 | <v-flex | 90 | <v-flex |
91 | xs12 | 91 | xs12 |
92 | class="text-xs-center text-sm-center text-md-center text-lg-center" | 92 | class="text-xs-center text-sm-center text-md-center text-lg-center" |
93 | > | 93 | > |
94 | <v-avatar size="160px"> | 94 | <v-avatar size="160px"> |
95 | <img src="/static/icon/user.png" v-if="!studentData.profilePicUrl" /> | 95 | <img src="/static/icon/user.png" v-if="!studentData.profilePicUrl" /> |
96 | <img | 96 | <img |
97 | :src="studentData.profilePicUrl" | 97 | :src="studentData.profilePicUrl" |
98 | v-else-if="studentData.profilePicUrl" | 98 | v-else-if="studentData.profilePicUrl" |
99 | /> | 99 | /> |
100 | </v-avatar> | 100 | </v-avatar> |
101 | </v-flex> | 101 | </v-flex> |
102 | </v-layout> | 102 | </v-layout> |
103 | <v-layout> | 103 | <v-layout> |
104 | <v-flex xs12 sm12> | 104 | <v-flex xs12 sm12> |
105 | <h3 class="text-xs-center"> | 105 | <h3 class="text-xs-center"> |
106 | <b>{{ studentData.name }}</b> | 106 | <b>{{ studentData.name }}</b> |
107 | </h3> | 107 | </h3> |
108 | <p class="text-xs-center grey--text">Student</p> | 108 | <p class="text-xs-center grey--text">Student</p> |
109 | </v-flex> | 109 | </v-flex> |
110 | </v-layout> | 110 | </v-layout> |
111 | <v-layout style="border: 1px solid lightgrey;"> | 111 | <v-layout style="border: 1px solid lightgrey;"> |
112 | <v-flex xs6 sm6 class="pa-0"> | 112 | <v-flex xs6 sm6 class="pa-0"> |
113 | <h4 class="right"> | 113 | <h4 class="right"> |
114 | <b>Roll No :</b> | 114 | <b>Roll No :</b> |
115 | </h4> | 115 | </h4> |
116 | </v-flex> | 116 | </v-flex> |
117 | <v-flex sm6 xs6 class="pa-0"> | 117 | <v-flex sm6 xs6 class="pa-0"> |
118 | <h4>{{ studentData.rollNo }}</h4> | 118 | <h4>{{ studentData.rollNo }}</h4> |
119 | </v-flex> | 119 | </v-flex> |
120 | </v-layout> | 120 | </v-layout> |
121 | <v-layout style="border: 1px solid lightgrey;"> | 121 | <v-layout style="border: 1px solid lightgrey;"> |
122 | <v-flex xs6 sm6 class="pa-0"> | 122 | <v-flex xs6 sm6 class="pa-0"> |
123 | <h4 class="right"> | 123 | <h4 class="right"> |
124 | <b>Class :</b> | 124 | <b>Class :</b> |
125 | </h4> | 125 | </h4> |
126 | </v-flex> | 126 | </v-flex> |
127 | <v-flex sm6 xs6 class="right pa-0"> | 127 | <v-flex sm6 xs6 class="right pa-0"> |
128 | <h4>{{ studentData.classId.classNum }}</h4> | 128 | <h4>{{ studentData.classId.classNum }}</h4> |
129 | </v-flex> | 129 | </v-flex> |
130 | </v-layout> | 130 | </v-layout> |
131 | <v-layout style="border: 1px solid lightgrey;"> | 131 | <v-layout style="border: 1px solid lightgrey;"> |
132 | <v-flex xs6 sm6 class="right pa-0"> | 132 | <v-flex xs6 sm6 class="right pa-0"> |
133 | <h4 class="right"> | 133 | <h4 class="right"> |
134 | <b>Section :</b> | 134 | <b>Section :</b> |
135 | </h4> | 135 | </h4> |
136 | </v-flex> | 136 | </v-flex> |
137 | <v-flex sm6 xs6 class="right pa-0"> | 137 | <v-flex sm6 xs6 class="right pa-0"> |
138 | <h4>{{ studentData.sectionId.name}}</h4> | 138 | <h4>{{ studentData.sectionId.name}}</h4> |
139 | </v-flex> | 139 | </v-flex> |
140 | </v-layout> | 140 | </v-layout> |
141 | </v-flex> | 141 | </v-flex> |
142 | </v-layout> | 142 | </v-layout> |
143 | </v-container> | 143 | </v-container> |
144 | </v-card-text> | 144 | </v-card-text> |
145 | </v-card> | 145 | </v-card> |
146 | </v-flex> | 146 | </v-flex> |
147 | <v-flex xs12 sm12 md8> | 147 | <v-flex xs12 sm12 md8> |
148 | <v-card flat> | 148 | <v-card flat> |
149 | <h3 class="py-2 text-xs-center grey lighten-1 white--text"> | 149 | <h3 class="py-2 text-xs-center grey lighten-1 white--text"> |
150 | Attendence | 150 | Attendence |
151 | <span class="ml-4"> | 151 | <span class="ml-4"> |
152 | <v-avatar class="green caption" size="12"></v-avatar> | 152 | <v-avatar class="green caption" size="12"></v-avatar> |
153 | <span class="subheading">Present</span> | 153 | <span class="subheading">Present</span> |
154 | </span> | 154 | </span> |
155 | <span class="ml-4"> | 155 | <span class="ml-4"> |
156 | <v-avatar color="red caption" size="12" class></v-avatar> | 156 | <v-avatar color="red caption" size="12" class></v-avatar> |
157 | <span class="subheading">Absent</span> | 157 | <span class="subheading">Absent</span> |
158 | </span> | 158 | </span> |
159 | </h3> | 159 | </h3> |
160 | <YearCalendar | 160 | <YearCalendar |
161 | v-model="year" | 161 | v-model="year" |
162 | :activeDates="activeDates" | 162 | :activeDates="activeDates" |
163 | prefixClass="your_customized_wrapper_class" | 163 | prefixClass="your_customized_wrapper_class" |
164 | :activeClass="activeClass" | 164 | :activeClass="activeClass" |
165 | ></YearCalendar> | 165 | ></YearCalendar> |
166 | </v-card> | 166 | </v-card> |
167 | </v-flex> | 167 | </v-flex> |
168 | </v-layout> | 168 | </v-layout> |
169 | </div> | 169 | </div> |
170 | <v-layout v-show="showPdfData"> | 170 | <v-layout v-show="showPdfData"> |
171 | <v-container> | 171 | <v-container> |
172 | <v-flex xs12 sm12 md8 offset-sm2> | 172 | <v-flex xs12 sm12 md8 offset-sm2> |
173 | <v-btn | 173 | <v-btn |
174 | color="grey" | 174 | color="grey" |
175 | @click="generatePDF2Canvas()" | 175 | @click="generatePDF2Canvas()" |
176 | :loading="loadingPdf" | 176 | :loading="loadingPdf" |
177 | class="right" | 177 | class="right" |
178 | dark | 178 | dark |
179 | > | 179 | > |
180 | Download | 180 | Download |
181 | <v-icon dark right size="20">save_alt</v-icon> | 181 | <v-icon dark right size="20">save_alt</v-icon> |
182 | </v-btn> | 182 | </v-btn> |
183 | </v-flex> | 183 | </v-flex> |
184 | </v-container> | 184 | </v-container> |
185 | </v-layout> | 185 | </v-layout> |
186 | <v-layout v-show="showPdfData"> | 186 | <v-layout v-show="showPdfData"> |
187 | <v-container> | 187 | <v-container> |
188 | <v-layout v-show="showPdfData"> | 188 | <v-layout v-show="showPdfData"> |
189 | <v-flex xs12 sm12 md8 offset-sm2> | 189 | <v-flex xs12 sm12 md8 offset-sm2> |
190 | <div ref="printMe"> | 190 | <div ref="printMe"> |
191 | <v-flex xs12 class="pl-3"> | 191 | <v-flex xs12 class="pl-3"> |
192 | <v-layout> | 192 | <v-layout> |
193 | <v-flex xs6 sm2 class="pa-0 mb-1"> | 193 | <v-flex xs6 sm2 class="pa-0 mb-1"> |
194 | <h4> | 194 | <h4> |
195 | <b>Name</b> | 195 | <b>Name</b> |
196 | </h4> | 196 | </h4> |
197 | </v-flex> | 197 | </v-flex> |
198 | <v-flex sm10 xs6 class="pa-0"> | 198 | <v-flex sm10 xs6 class="pa-0"> |
199 | <h4>: {{ studentData.name }}</h4> | 199 | <h4>: {{ studentData.name }}</h4> |
200 | </v-flex> | 200 | </v-flex> |
201 | </v-layout> | 201 | </v-layout> |
202 | <v-layout> | 202 | <v-layout> |
203 | <v-flex xs6 sm2 class="pa-0 mb-1"> | 203 | <v-flex xs6 sm2 class="pa-0 mb-1"> |
204 | <h4> | 204 | <h4> |
205 | <b>Type</b> | 205 | <b>Type</b> |
206 | </h4> | 206 | </h4> |
207 | </v-flex> | 207 | </v-flex> |
208 | <v-flex sm10 xs6 class="pa-0 mb-1"> | 208 | <v-flex sm10 xs6 class="pa-0 mb-1"> |
209 | <h4>: Student</h4> | 209 | <h4>: Student</h4> |
210 | </v-flex> | 210 | </v-flex> |
211 | </v-layout> | 211 | </v-layout> |
212 | <v-layout> | 212 | <v-layout> |
213 | <v-flex xs6 sm2 class="pa-0 mb-1"> | 213 | <v-flex xs6 sm2 class="pa-0 mb-1"> |
214 | <h4> | 214 | <h4> |
215 | <b>Roll No</b> | 215 | <b>Roll No</b> |
216 | </h4> | 216 | </h4> |
217 | </v-flex> | 217 | </v-flex> |
218 | <v-flex sm10 xs6 class="pa-0 mb-1"> | 218 | <v-flex sm10 xs6 class="pa-0 mb-1"> |
219 | <h4>: {{ studentData.rollNo }}</h4> | 219 | <h4>: {{ studentData.rollNo }}</h4> |
220 | </v-flex> | 220 | </v-flex> |
221 | </v-layout> | 221 | </v-layout> |
222 | <v-layout> | 222 | <v-layout> |
223 | <v-flex xs6 sm2 class="pa-0 mb-1"> | 223 | <v-flex xs6 sm2 class="pa-0 mb-1"> |
224 | <h4> | 224 | <h4> |
225 | <b>Class</b> | 225 | <b>Class</b> |
226 | </h4> | 226 | </h4> |
227 | </v-flex> | 227 | </v-flex> |
228 | <v-flex sm10 xs6 class="pa-0 mb-1"> | 228 | <v-flex sm10 xs6 class="pa-0 mb-1"> |
229 | <h4>: {{ studentData.classId.classNum }}</h4> | 229 | <h4>: {{ studentData.classId.classNum }}</h4> |
230 | </v-flex> | 230 | </v-flex> |
231 | </v-layout> | 231 | </v-layout> |
232 | <v-layout> | 232 | <v-layout> |
233 | <v-flex xs6 sm2 class="pa-0 mb-1"> | 233 | <v-flex xs6 sm2 class="pa-0 mb-1"> |
234 | <h4> | 234 | <h4> |
235 | <b>Section</b> | 235 | <b>Section</b> |
236 | </h4> | 236 | </h4> |
237 | </v-flex> | 237 | </v-flex> |
238 | <v-flex sm10 xs6 class="pa-0 mb-3"> | 238 | <v-flex sm10 xs6 class="pa-0 mb-3"> |
239 | <h4>: {{ studentData.sectionId.name}}</h4> | 239 | <h4>: {{ studentData.sectionId.name}}</h4> |
240 | </v-flex> | 240 | </v-flex> |
241 | </v-layout> | 241 | </v-layout> |
242 | </v-flex> | 242 | </v-flex> |
243 | <v-card flat> | 243 | <v-card flat> |
244 | <h3 class="py-2 text-xs-center grey lighten-1 white--text"> | 244 | <h3 class="py-2 text-xs-center grey lighten-1 white--text"> |
245 | Attendence | 245 | Attendence |
246 | <span class="ml-4"> | 246 | <span class="ml-4"> |
247 | <v-avatar class="green caption" size="12"></v-avatar> | 247 | <v-avatar class="green caption" size="12"></v-avatar> |
248 | <span class="subheading">Present</span> | 248 | <span class="subheading">Present</span> |
249 | </span> | 249 | </span> |
250 | <span class="ml-4"> | 250 | <span class="ml-4"> |
251 | <v-avatar color="red caption" size="12" class></v-avatar> | 251 | <v-avatar color="red caption" size="12" class></v-avatar> |
252 | <span class="subheading">Absent</span> | 252 | <span class="subheading">Absent</span> |
253 | </span> | 253 | </span> |
254 | </h3> | 254 | </h3> |
255 | <YearCalendar | 255 | <YearCalendar |
256 | v-model="year" | 256 | v-model="year" |
257 | :activeDates="activeDates" | 257 | :activeDates="activeDates" |
258 | prefixClass="your_customized_wrapper_class" | 258 | prefixClass="your_customized_wrapper_class" |
259 | :activeClass="activeClass" | 259 | :activeClass="activeClass" |
260 | ></YearCalendar> | 260 | ></YearCalendar> |
261 | </v-card> | 261 | </v-card> |
262 | </div> | 262 | </div> |
263 | </v-flex> | 263 | </v-flex> |
264 | </v-layout> | 264 | </v-layout> |
265 | </v-container> | 265 | </v-container> |
266 | </v-layout> | 266 | </v-layout> |
267 | <img :src="output" v-show="false"/> | 267 | <img :src="output" v-show="false"/> |
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-container> | 271 | </v-container> |
272 | </template> | 272 | </template> |
273 | 273 | ||
274 | <script lang="js"> | 274 | <script lang="js"> |
275 | import moment from "moment"; | 275 | import moment from "moment"; |
276 | import http from "@/Services/http.js"; | 276 | import http from "@/Services/http.js"; |
277 | import YearCalendar from "vue-material-year-calendar"; | 277 | import YearCalendar from "vue-material-year-calendar"; |
278 | import jsPDF from 'jspdf'; | 278 | import jsPDF from 'jspdf'; |
279 | // eslint-disable-next-line | 279 | // eslint-disable-next-line |
280 | import autoTable from 'jspdf-autotable'; | 280 | import autoTable from 'jspdf-autotable'; |
281 | 281 | ||
282 | export default { | 282 | export default { |
283 | components: { YearCalendar }, | 283 | components: { YearCalendar }, |
284 | data() { | 284 | data() { |
285 | return { | 285 | return { |
286 | showPdfData:false, | 286 | showPdfData:false, |
287 | hideData:true, | 287 | hideData:true, |
288 | loadingPdf:false, | 288 | loadingPdf:false, |
289 | output:null, | 289 | output:null, |
290 | studentsList: [], | 290 | studentsList: [], |
291 | json_data: [], | 291 | json_data: [], |
292 | dialogExport: false, | 292 | dialogExport: false, |
293 | startDate: "", | 293 | startDate: "", |
294 | endDate: "", | 294 | endDate: "", |
295 | menuEndDate: false, | 295 | menuEndDate: false, |
296 | menuStartDate: false, | 296 | menuStartDate: false, |
297 | showLoader: false, | 297 | showLoader: false, |
298 | token: "", | 298 | token: "", |
299 | year: new Date().getFullYear(), | 299 | year: new Date().getFullYear(), |
300 | activeDates: [], | 300 | activeDates: [], |
301 | activeClass: "", | 301 | activeClass: "", |
302 | studentData: {} | 302 | studentData: {} |
303 | }; | 303 | }; |
304 | }, | 304 | }, |
305 | mounted() { | 305 | mounted() { |
306 | this.token = this.$store.state.token; | 306 | this.token = this.$store.state.token; |
307 | this.getStudentAttendence(); | 307 | this.getStudentAttendence(); |
308 | this.getStudentData(); | 308 | this.getStudentData(); |
309 | }, | 309 | }, |
310 | methods: { | 310 | methods: { |
311 | dates: function(date) { | 311 | dates: function(date) { |
312 | return moment(date).format("MMMM DD, YYYY"); | 312 | return moment(date).format("MMMM DD, YYYY"); |
313 | }, | 313 | }, |
314 | getStudentAttendence() { | 314 | getStudentAttendence() { |
315 | this.showLoader = true; | 315 | this.showLoader = true; |
316 | http() | 316 | http() |
317 | .get( | 317 | .get( |
318 | "/studentAttendance", | 318 | "/studentAttendance", |
319 | { params: { studentId: this.$route.params.id } }, | 319 | { params: { studentId: this.$route.params.id } }, |
320 | { | 320 | { |
321 | headers: { Authorization: "Bearer " + this.token } | 321 | headers: { Authorization: "Bearer " + this.token } |
322 | } | 322 | } |
323 | ) | 323 | ) |
324 | .then(response => { | 324 | .then(response => { |
325 | this.showLoader = false; | 325 | this.showLoader = false; |
326 | let array = []; | 326 | let array = []; |
327 | for (let i = 0; i < response.data.data.length; i++) { | 327 | for (let i = 0; i < response.data.data.length; i++) { |
328 | if (response.data.data[i].students[0].isPresent == true) { | 328 | if (response.data.data[i].students[0].isPresent == true) { |
329 | array.push({ | 329 | array.push({ |
330 | date: response.data.data[i].date, | 330 | date: response.data.data[i].date, |
331 | className: "green" | 331 | className: "green" |
332 | }); | 332 | }); |
333 | } else if (response.data.data[i].students[0].isPresent == false) { | 333 | } else if (response.data.data[i].students[0].isPresent == false) { |
334 | array.push({ | 334 | array.push({ |
335 | date: response.data.data[i].date, | 335 | date: response.data.data[i].date, |
336 | className: "red" | 336 | className: "red" |
337 | }); | 337 | }); |
338 | } | 338 | } |
339 | } | 339 | } |
340 | this.activeDates = array; | 340 | this.activeDates = array; |
341 | }) | 341 | }) |
342 | .catch(error => { | 342 | .catch(error => { |
343 | this.showLoader = false; | 343 | this.showLoader = false; |
344 | if (error.response.status === 401) { | 344 | if (error.response.status === 401) { |
345 | this.$router.replace({ path: "/" }); | 345 | this.$router.replace({ path: "/" }); |
346 | this.$store.dispatch("setToken", null); | 346 | this.$store.dispatch("setToken", null); |
347 | this.$store.dispatch("Id", null); | 347 | this.$store.dispatch("Id", null); |
348 | this.$store.dispatch("Role", null); | 348 | this.$store.dispatch("Role", null); |
349 | } | 349 | } |
350 | }); | 350 | }); |
351 | }, | 351 | }, |
352 | getStudentData() { | 352 | getStudentData() { |
353 | http() | 353 | http() |
354 | .get( | 354 | .get( |
355 | "/getParticularStudentDetail", | 355 | "/getParticularStudentDetail", |
356 | { params: { studentId: this.$route.params.id } }, | 356 | { params: { studentId: this.$route.params.id } }, |
357 | { | 357 | { |
358 | headers: { Authorization: "Bearer " + this.token } | 358 | headers: { Authorization: "Bearer " + this.token } |
359 | } | 359 | } |
360 | ) | 360 | ) |
361 | .then(response => { | 361 | .then(response => { |
362 | this.studentData = response.data.data; | 362 | this.studentData = response.data.data; |
363 | }) | 363 | }) |
364 | .catch(err => { | 364 | .catch(err => { |
365 | console.log("err====>", err); | 365 | console.log("err====>", err); |
366 | // this.$router.replace({ path: '/' }); | 366 | // this.$router.replace({ path: '/' }); |
367 | }); | 367 | }); |
368 | }, | 368 | }, |
369 | exportData() { | 369 | exportData() { |
370 | http() | 370 | http() |
371 | .get( | 371 | .get( |
372 | "/studentAttendanceByMonth", | 372 | "/studentAttendanceByMonth", |
373 | { | 373 | { |
374 | params: { | 374 | params: { |
375 | studentId: this.$route.params.id, | 375 | studentId: this.$route.params.id, |
376 | startDate: this.startDate, | 376 | startDate: this.startDate, |
377 | endDate: this.endDate | 377 | endDate: this.endDate |
378 | } | 378 | } |
379 | }, | 379 | }, |
380 | { | 380 | { |
381 | headers: { Authorization: "Bearer " + this.token } | 381 | headers: { Authorization: "Bearer " + this.token } |
382 | } | 382 | } |
383 | ) | 383 | ) |
384 | .then(response => { | 384 | .then(response => { |
385 | this.json_data = response.data.data; | 385 | this.json_data = response.data.data; |
386 | this.dialogExport = true; | 386 | this.dialogExport = true; |
387 | }) | 387 | }) |
388 | .catch(err => { | 388 | .catch(err => { |
389 | console.log("err====>", err); | 389 | console.log("err====>", err); |
390 | // this.$router.replace({ path: '/' }); | 390 | // this.$router.replace({ path: '/' }); |
391 | }); | 391 | }); |
392 | }, | 392 | }, |
393 | exportPdf(){ | 393 | exportPdf(){ |
394 | this.hideData = false; | 394 | this.hideData = false; |
395 | this.showPdfData = true | 395 | this.showPdfData = true |
396 | }, | 396 | }, |
397 | async generatePDF2Canvas(){ | 397 | async generatePDF2Canvas(){ |
398 | this.loadingPdf = true | 398 | this.loadingPdf = true |
399 | const el = this.$refs.printMe; | 399 | const el = this.$refs.printMe; |
400 | // add option type to get the image version | 400 | // add option type to get the image version |
401 | // if not provided the promise will return | 401 | // if not provided the promise will return |
402 | // the canvas. | 402 | // the canvas. |
403 | const options = { | 403 | const options = { |
404 | type: 'dataURL' | 404 | type: 'dataURL' |
405 | } | 405 | } |
406 | this.output = await this.$html2canvas(el, options); | 406 | this.output = await this.$html2canvas(el, options); |
407 | console.log(this.output); | ||
408 | if(this.output) { | 407 | if(this.output) { |
409 | this.loadingPdf = false | 408 | this.loadingPdf = false |
410 | } | 409 | } |
411 | let doc = new jsPDF(); | 410 | let doc = new jsPDF(); |
412 | doc.addImage(this.output, 'JPEG', 5, 10, 200, 280); | 411 | doc.addImage(this.output, 'JPEG', 5, 10, 200, 280); |
413 | doc.save("Attendance.pdf"); | 412 | doc.save("Attendance.pdf"); |
414 | } | 413 | } |
415 | } | 414 | } |
416 | }; | 415 | }; |
417 | </script> | 416 | </script> |
418 | 417 | ||
419 | <style lang="stylus"> | 418 | <style lang="stylus"> |
420 | .your_customized_wrapper_class { | 419 | .your_customized_wrapper_class { |
421 | background-color: #0aa; | 420 | background-color: #0aa; |
422 | color: white; | 421 | color: white; |
423 | 422 | ||
424 | &.red { | 423 | &.red { |
425 | background-color: red; | 424 | background-color: red; |
426 | color: white; | 425 | color: white; |
427 | 426 | ||
428 | &:after { | 427 | &:after { |
429 | background-size: 100% 100%; | 428 | background-size: 100% 100%; |
430 | } | 429 | } |
431 | } | 430 | } |
432 | 431 | ||
433 | &.blue { | 432 | &.blue { |
434 | background-color: #0000aa; | 433 | background-color: #0000aa; |
435 | color: white; | 434 | color: white; |
436 | } | 435 | } |
437 | 436 | ||
438 | &.your_customized_classname { | 437 | &.your_customized_classname { |
439 | background-color: yellow; | 438 | background-color: yellow; |
440 | color: black; | 439 | color: black; |
441 | } | 440 | } |
442 | } | 441 | } |
443 | </style> | 442 | </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: '/viewInvoice/:viewInvoiceId', | 445 | path: '/viewInvoice/:viewInvoiceId', |
446 | meta: {}, | 446 | meta: {}, |
447 | name: 'ViewInvoice', | 447 | name: 'ViewInvoice', |
448 | props: (route) => ({ type: route.query.type }), | 448 | props: (route) => ({ type: route.query.type }), |
449 | component: () => | 449 | component: () => |
450 | import ( | 450 | import ( |
451 | /* webpackChunkName: "routes" */ | 451 | /* webpackChunkName: "routes" */ |
452 | /* webpackMode: "lazy-once" */ | 452 | /* webpackMode: "lazy-once" */ |
453 | `@/pages/Account/viewInvoice.vue` | 453 | `@/pages/Account/viewInvoice.vue` |
454 | ) | 454 | ) |
455 | }, | 455 | }, |
456 | { | 456 | { |
457 | path: '/exam', | 457 | path: '/exam', |
458 | meta: {}, | 458 | meta: {}, |
459 | name: 'Exam', | 459 | name: 'Exam', |
460 | props: (route) => ({ type: route.query.type }), | 460 | props: (route) => ({ type: route.query.type }), |
461 | component: () => | 461 | component: () => |
462 | import ( | 462 | import ( |
463 | /* webpackChunkName: "routes" */ | 463 | /* webpackChunkName: "routes" */ |
464 | /* webpackMode: "lazy-once" */ | 464 | /* webpackMode: "lazy-once" */ |
465 | `@/pages/Exam/exam.vue` | 465 | `@/pages/Exam/exam.vue` |
466 | ) | 466 | ) |
467 | }, | 467 | }, |
468 | { | 468 | { |
469 | path: '/grade', | 469 | path: '/grade', |
470 | meta: {}, | 470 | meta: {}, |
471 | name: 'Grade', | 471 | name: 'Grade', |
472 | props: (route) => ({ type: route.query.type }), | 472 | props: (route) => ({ type: route.query.type }), |
473 | component: () => | 473 | component: () => |
474 | import ( | 474 | import ( |
475 | /* webpackChunkName: "routes" */ | 475 | /* webpackChunkName: "routes" */ |
476 | /* webpackMode: "lazy-once" */ | 476 | /* webpackMode: "lazy-once" */ |
477 | `@/pages/Exam/grade.vue` | 477 | `@/pages/Exam/grade.vue` |
478 | ) | 478 | ) |
479 | }, | 479 | }, |
480 | { | 480 | { |
481 | path: '/examSchedule', | 481 | path: '/examSchedule', |
482 | meta: {}, | 482 | meta: {}, |
483 | name: 'ExamSchedule', | 483 | name: 'ExamSchedule', |
484 | props: (route) => ({ type: route.query.type }), | 484 | props: (route) => ({ type: route.query.type }), |
485 | component: () => | 485 | component: () => |
486 | import ( | 486 | import ( |
487 | /* webpackChunkName: "routes" */ | 487 | /* webpackChunkName: "routes" */ |
488 | /* webpackMode: "lazy-once" */ | 488 | /* webpackMode: "lazy-once" */ |
489 | `@/pages/Exam/examSchedule.vue` | 489 | `@/pages/Exam/examSchedule.vue` |
490 | ) | 490 | ) |
491 | }, | 491 | }, |
492 | { | 492 | { |
493 | path: '/mark', | 493 | path: '/mark', |
494 | meta: {}, | 494 | meta: {}, |
495 | name: 'Mark', | 495 | name: 'Mark', |
496 | props: (route) => ({ type: route.query.type }), | 496 | props: (route) => ({ type: route.query.type }), |
497 | component: () => | 497 | component: () => |
498 | import ( | 498 | import ( |
499 | /* webpackChunkName: "routes" */ | 499 | /* webpackChunkName: "routes" */ |
500 | /* webpackMode: "lazy-once" */ | 500 | /* webpackMode: "lazy-once" */ |
501 | `@/pages/Mark/mark.vue` | 501 | `@/pages/Mark/mark.vue` |
502 | ) | 502 | ) |
503 | }, | 503 | }, |
504 | { | 504 | { |
505 | path: '/viewMark/:markId', | 505 | path: '/viewMark/:markId', |
506 | meta: {}, | 506 | meta: {}, |
507 | name: 'viewMark', | 507 | name: 'viewMark', |
508 | props: (route) => ({ type: route.query.type }), | 508 | props: (route) => ({ type: route.query.type }), |
509 | component: () => | 509 | component: () => |
510 | import ( | 510 | import ( |
511 | /* webpackChunkName: "routes" */ | 511 | /* webpackChunkName: "routes" */ |
512 | /* webpackMode: "lazy-once" */ | 512 | /* webpackMode: "lazy-once" */ |
513 | `@/pages/Mark/viewMark.vue` | 513 | `@/pages/Mark/viewMark.vue` |
514 | ) | 514 | ) |
515 | }, | 515 | }, |
516 | { | 516 | { |
517 | path: '/markDistribution', | 517 | path: '/markDistribution', |
518 | meta: {}, | 518 | meta: {}, |
519 | name: 'markDistribution', | 519 | name: 'markDistribution', |
520 | props: (route) => ({ type: route.query.type }), | 520 | props: (route) => ({ type: route.query.type }), |
521 | component: () => | 521 | component: () => |
522 | import ( | 522 | import ( |
523 | /* webpackChunkName: "routes" */ | 523 | /* webpackChunkName: "routes" */ |
524 | /* webpackMode: "lazy-once" */ | 524 | /* webpackMode: "lazy-once" */ |
525 | `@/pages/Mark/markDistribution.vue` | 525 | `@/pages/Mark/markDistribution.vue` |
526 | ) | 526 | ) |
527 | }, | 527 | }, |
528 | { | 528 | { |
529 | path: '/promotion', | 529 | path: '/promotion', |
530 | meta: {}, | 530 | meta: {}, |
531 | name: 'Promotion', | 531 | name: 'Promotion', |
532 | props: (route) => ({ type: route.query.type }), | 532 | props: (route) => ({ type: route.query.type }), |
533 | component: () => | 533 | component: () => |
534 | import ( | 534 | import ( |
535 | /* webpackChunkName: "routes" */ | 535 | /* webpackChunkName: "routes" */ |
536 | /* webpackMode: "lazy-once" */ | 536 | /* webpackMode: "lazy-once" */ |
537 | `@/pages/Mark/promotion.vue` | 537 | `@/pages/Mark/promotion.vue` |
538 | ) | 538 | ) |
539 | }, | 539 | }, |
540 | { | 540 | { |
541 | path: '/academicYear', | 541 | path: '/academicYear', |
542 | meta: {}, | 542 | meta: {}, |
543 | name: 'academicYear', | 543 | name: 'academicYear', |
544 | props: (route) => ({ type: route.query.type }), | 544 | props: (route) => ({ type: route.query.type }), |
545 | component: () => | 545 | component: () => |
546 | import ( | 546 | import ( |
547 | /* webpackChunkName: "routes" */ | 547 | /* webpackChunkName: "routes" */ |
548 | /* webpackMode: "lazy-once" */ | 548 | /* webpackMode: "lazy-once" */ |
549 | `@/pages/Administrator/academicYear.vue` | 549 | `@/pages/Administrator/academicYear.vue` |
550 | ) | 550 | ) |
551 | }, | 551 | }, |
552 | { | 552 | { |
553 | path: '/systemAdmin', | 553 | path: '/systemAdmin', |
554 | meta: {}, | 554 | meta: {}, |
555 | name: 'systemAdmin', | 555 | name: 'systemAdmin', |
556 | props: (route) => ({ type: route.query.type }), | 556 | props: (route) => ({ type: route.query.type }), |
557 | component: () => | 557 | component: () => |
558 | import ( | 558 | import ( |
559 | /* webpackChunkName: "routes" */ | 559 | /* webpackChunkName: "routes" */ |
560 | /* webpackMode: "lazy-once" */ | 560 | /* webpackMode: "lazy-once" */ |
561 | `@/pages/Administrator/systemAdmin.vue` | 561 | `@/pages/Administrator/systemAdmin.vue` |
562 | ) | 562 | ) |
563 | }, | 563 | }, |
564 | { | 564 | { |
565 | path: '/resetPassword', | 565 | path: '/resetPassword', |
566 | meta: {}, | 566 | meta: {}, |
567 | name: 'resetPassword', | 567 | name: 'resetPassword', |
568 | props: (route) => ({ type: route.query.type }), | 568 | props: (route) => ({ type: route.query.type }), |
569 | component: () => | 569 | component: () => |
570 | import ( | 570 | import ( |
571 | /* webpackChunkName: "routes" */ | 571 | /* webpackChunkName: "routes" */ |
572 | /* webpackMode: "lazy-once" */ | 572 | /* webpackMode: "lazy-once" */ |
573 | `@/pages/Administrator/resetPassword.vue` | 573 | `@/pages/Administrator/resetPassword.vue` |
574 | ) | 574 | ) |
575 | }, | 575 | }, |
576 | { | 576 | { |
577 | path: '/role', | 577 | path: '/role', |
578 | meta: {}, | 578 | meta: {}, |
579 | name: 'Role', | 579 | name: 'Role', |
580 | props: (route) => ({ type: route.query.type }), | 580 | props: (route) => ({ type: route.query.type }), |
581 | component: () => | 581 | component: () => |
582 | import ( | 582 | import ( |
583 | /* webpackChunkName: "routes" */ | 583 | /* webpackChunkName: "routes" */ |
584 | /* webpackMode: "lazy-once" */ | 584 | /* webpackMode: "lazy-once" */ |
585 | `@/pages/Administrator/role.vue` | 585 | `@/pages/Administrator/role.vue` |
586 | ) | 586 | ) |
587 | }, | 587 | }, |
588 | { | 588 | { |
589 | path: '/bulkImport', | ||
590 | meta: {}, | ||
591 | name: 'bulkImport', | ||
592 | props: (route) => ({ type: route.query.type }), | ||
593 | component: () => | ||
594 | import ( | ||
595 | /* webpackChunkName: "routes" */ | ||
596 | /* webpackMode: "lazy-once" */ | ||
597 | `@/pages/Administrator/bulkImport.vue` | ||
598 | ) | ||
599 | }, | ||
600 | { | ||
589 | path: '/studentReport', | 601 | path: '/studentReport', |
590 | meta: {}, | 602 | meta: {}, |
591 | name: 'studentReport', | 603 | name: 'studentReport', |
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/Report/studentReport.vue` | 609 | `@/pages/Report/studentReport.vue` |
598 | ) | 610 | ) |
599 | }, | 611 | }, |
600 | { | 612 | { |
601 | path: '/progressCardReport', | 613 | path: '/progressCardReport', |
602 | meta: {}, | 614 | meta: {}, |
603 | name: 'progressCardReport', | 615 | name: 'progressCardReport', |
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/progressCardReport.vue` | 621 | `@/pages/Report/progressCardReport.vue` |
610 | ) | 622 | ) |
611 | }, | 623 | }, |
612 | { | 624 | { |
613 | path: '/generalSetting', | 625 | path: '/generalSetting', |
614 | meta: {}, | 626 | meta: {}, |
615 | name: 'generalSetting', | 627 | name: 'generalSetting', |
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/generalSetting/generalSetting.vue` | 633 | `@/pages/generalSetting/generalSetting.vue` |
622 | ) | 634 | ) |
623 | }, | 635 | }, |
624 | 636 | ||
637 | //////SCHOOL | ||
638 | |||
625 | { | 639 | { |
626 | path: '/school', | 640 | path: '/school', |
627 | meta: {}, | 641 | meta: {}, |
628 | name: 'School', | 642 | name: 'School', |
629 | props: (route) => ({ type: route.query.type }), | 643 | props: (route) => ({ type: route.query.type }), |
630 | component: () => | 644 | component: () => |
631 | import ( | 645 | import ( |
632 | /* webpackChunkName: "routes" */ | 646 | /* webpackChunkName: "routes" */ |
633 | /* webpackMode: "lazy-once" */ | 647 | /* webpackMode: "lazy-once" */ |
634 | `@/pages/School/school.vue` | 648 | `@/pages/School/school.vue` |
635 | ) | 649 | ) |
636 | } | 650 | } |
637 | ]; | 651 | ]; |
src/script/books.js
File was created | 1 | export default () => { | |
2 | |||
3 | const books = [{ | ||
4 | "Book": "Math", | ||
5 | "Subject": "002015", | ||
6 | "Author": "R D Sharma", | ||
7 | "Price": "600", | ||
8 | "Quantity": "15", | ||
9 | "Rack": "110", | ||
10 | }, | ||
11 | { | ||
12 | "Book": "Hindi", | ||
13 | "Subject": "059090", | ||
14 | "Author": "V Kumar", | ||
15 | "Price": "400", | ||
16 | "Quantity": "5", | ||
17 | "Rack": "10", | ||
18 | }, | ||
19 | ] | ||
20 | return books; | ||
21 | |||
22 | } |
src/script/parents.js
File was created | 1 | export default () => { | |
2 | |||
3 | const parents = [{ | ||
4 | "email": "digital@theideazfactory.com", | ||
5 | "fatherName": "Abhishek", | ||
6 | "fatherCellNo": "9898981234", | ||
7 | "motherName": "Rita", | ||
8 | "motherCellNo": "8989786789", | ||
9 | }, | ||
10 | { | ||
11 | "email": "Rampal@viithiisys.com", | ||
12 | "fatherName": "suresh", | ||
13 | "fatherCellNo": "9898987867", | ||
14 | "motherName": "rita kumari", | ||
15 | "motherCellNo": "9768576536", | ||
16 | } | ||
17 | ] | ||
18 | return parents; | ||
19 | |||
20 | } |
src/script/students.js
File was created | 1 | export default () => { | |
2 | |||
3 | const students = [{ | ||
4 | "name": "Rishav Singla", | ||
5 | "email": "rsingla.rishu@gmail.com", | ||
6 | "rollNo": "1", | ||
7 | "dob": "1993-10-08", | ||
8 | "gender": "Male", | ||
9 | "bloodGroup": "A+", | ||
10 | "mobile": "9914092452", | ||
11 | "city": "Chandigarh", | ||
12 | "country": "India", | ||
13 | "presentAddress": "Mohali Sector ", | ||
14 | "state": "Punjab", | ||
15 | }, | ||
16 | { | ||
17 | "name": "Shubham Chugh", | ||
18 | "email": "shubham@theideazfactory.com", | ||
19 | "rollNo": "2", | ||
20 | "dob": "1994-05-29", | ||
21 | "gender": "Male", | ||
22 | "bloodGroup": "A+", | ||
23 | "mobile": "8077362128", | ||
24 | "city": "Chandigarh", | ||
25 | "country": "India", | ||
26 | "presentAddress": "#1571, ground floor, sector 7C", | ||
27 | "state": "Chandigarh", | ||
28 | }, | ||
29 | ] | ||
30 | return students; | ||
31 | } |
src/script/teachers.js
File was created | 1 | export default () => { | |
2 | |||
3 | const teachers = [{ | ||
4 | "name": "Test Teacher", | ||
5 | "email": "shubhamchugh1992@gmail.com", | ||
6 | "dob": "1994-05-01", | ||
7 | "city": "Chandigarh", | ||
8 | "country": "India", | ||
9 | "presentAddress": "SCO 34, second floor", | ||
10 | "mobileNo": "08558875847", | ||
11 | "state": "Chandigarh", | ||
12 | "joinDate": "2019-11-18", | ||
13 | }, | ||
14 | { | ||
15 | "name": "Neeraj Sharma", | ||
16 | "email": "neeraj.sharma@viithiisys.com", | ||
17 | "dob": "1995-01-14", | ||
18 | "city": "Mohali", | ||
19 | "country": "India", | ||
20 | "presentAddress": "sector 71 ,Mohali", | ||
21 | "mobileNo": "7009191451", | ||
22 | "state": "Punjab", | ||
23 | "joinDate": "2018-04-23", | ||
24 | } | ||
25 | ] | ||
26 | return teachers; | ||
27 | } |
src/script/users.js
File was created | 1 | export default () => { | |
2 | |||
3 | const users = [{ | ||
4 | "name": "Neeraj", | ||
5 | "email": "neeraj.sharma@viithiisys.com", | ||
6 | "dob": "1995-01-14", | ||
7 | "gender": "Male", | ||
8 | "religion": "Hindu", | ||
9 | "address": "Mohali", | ||
10 | "phone": "1234567890", | ||
11 | "joiningDate": "2016-08-17", | ||
12 | }, | ||
13 | { | ||
14 | "name": "Rishav", | ||
15 | "email": "rishav.singla@viithiisys.com", | ||
16 | "dob": "1995-01-14", | ||
17 | "gender": "Male", | ||
18 | "religion": "Hindu", | ||
19 | "address": "Punjab", | ||
20 | "phone": "9878768790", | ||
21 | "joiningDate": "2016-08-17", | ||
22 | } | ||
23 | ] | ||
24 | return users; | ||
25 | |||
26 | } |