Commit 88670bfb5e3ff39db0cd4e1a0e96a53f825b39bc
1 parent
497ed7912d
Exists in
master
and in
3 other branches
fixed logo on header
Showing
2 changed files
with
2 additions
and
2 deletions
Show diff stats
src/pages/Authentication/Login.vue
1 | <template> | 1 | <template> |
2 | <v-app id="login"> | 2 | <v-app id="login"> |
3 | <v-toolbar class="fixcolors"> | 3 | <v-toolbar class="fixcolors"> |
4 | <v-toolbar-items> | 4 | <v-toolbar-items> |
5 | <img src="/static/icon.png" height="40" width="140" alt="logo" /> | 5 | <img src="/static/logoIntrack.png" height="40" width="140" alt="logo" /> |
6 | <!-- <h3 class="white--text my-3 ml-5 logoSchool">School-Management</h3> --> | 6 | <!-- <h3 class="white--text my-3 ml-5 logoSchool">School-Management</h3> --> |
7 | </v-toolbar-items> | 7 | </v-toolbar-items> |
8 | </v-toolbar> | 8 | </v-toolbar> |
9 | <v-content> | 9 | <v-content> |
10 | <v-container fluid fill-height> | 10 | <v-container fluid fill-height> |
11 | <v-snackbar | 11 | <v-snackbar |
12 | :timeout="timeout" | 12 | :timeout="timeout" |
13 | :top="y === 'top'" | 13 | :top="y === 'top'" |
14 | :right="x === 'right'" | 14 | :right="x === 'right'" |
15 | :vertical="mode === 'vertical'" | 15 | :vertical="mode === 'vertical'" |
16 | v-model="snackbar" | 16 | v-model="snackbar" |
17 | :color="color" | 17 | :color="color" |
18 | >{{ text }}</v-snackbar> | 18 | >{{ text }}</v-snackbar> |
19 | <v-layout align-center justify-center> | 19 | <v-layout align-center justify-center> |
20 | <v-flex xs12 sm10 md6 lg4> | 20 | <v-flex xs12 sm10 md6 lg4> |
21 | <v-toolbar class="fixcolors" dark> | 21 | <v-toolbar class="fixcolors" dark> |
22 | <v-spacer></v-spacer> | 22 | <v-spacer></v-spacer> |
23 | <v-toolbar-title>School Login</v-toolbar-title> | 23 | <v-toolbar-title>School Login</v-toolbar-title> |
24 | <v-spacer></v-spacer> | 24 | <v-spacer></v-spacer> |
25 | </v-toolbar> | 25 | </v-toolbar> |
26 | 26 | ||
27 | <v-card class="elevation-1 pa-1"> | 27 | <v-card class="elevation-1 pa-1"> |
28 | <v-card-text> | 28 | <v-card-text> |
29 | <v-flex xs12 sm12 md12 lg12> | 29 | <v-flex xs12 sm12 md12 lg12> |
30 | <v-form ref="form" v-model="valid" lazy-validation> | 30 | <v-form ref="form" v-model="valid" lazy-validation> |
31 | <v-text-field | 31 | <v-text-field |
32 | v-model="userLogincredentials.email" | 32 | v-model="userLogincredentials.email" |
33 | :rules="nameRules" | 33 | :rules="nameRules" |
34 | label="Username" | 34 | label="Username" |
35 | required | 35 | required |
36 | ></v-text-field> | 36 | ></v-text-field> |
37 | <v-text-field | 37 | <v-text-field |
38 | :rules="[rules.required]" | 38 | :rules="[rules.required]" |
39 | v-model="userLogincredentials.password" | 39 | v-model="userLogincredentials.password" |
40 | :append-icon="e1 ? 'visibility_off' : 'visibility'" | 40 | :append-icon="e1 ? 'visibility_off' : 'visibility'" |
41 | :append-icon-cb="() => (e1 = !e1)" | 41 | :append-icon-cb="() => (e1 = !e1)" |
42 | :type="e1 ? 'password' : 'text'" | 42 | :type="e1 ? 'password' : 'text'" |
43 | name="input-10-1" | 43 | name="input-10-1" |
44 | label="Password" | 44 | label="Password" |
45 | @keyup.enter="login" | 45 | @keyup.enter="login" |
46 | counter | 46 | counter |
47 | ></v-text-field> | 47 | ></v-text-field> |
48 | </v-form> | 48 | </v-form> |
49 | <v-layout row wrap> | 49 | <v-layout row wrap> |
50 | <v-flex xs6> | 50 | <v-flex xs6> |
51 | <!-- <v-checkbox :label="`Remember me`" v-model="remember"></v-checkbox> --> | 51 | <!-- <v-checkbox :label="`Remember me`" v-model="remember"></v-checkbox> --> |
52 | </v-flex> | 52 | </v-flex> |
53 | <v-flex xs6> | 53 | <v-flex xs6> |
54 | <h5 class="right mt-4"> | 54 | <h5 class="right mt-4"> |
55 | <router-link | 55 | <router-link |
56 | class="link" | 56 | class="link" |
57 | to="/forgetpassword" | 57 | to="/forgetpassword" |
58 | style="border-bottom: 2px solid #aaa;" | 58 | style="border-bottom: 2px solid #aaa;" |
59 | >Forgot Password</router-link> | 59 | >Forgot Password</router-link> |
60 | </h5> | 60 | </h5> |
61 | </v-flex> | 61 | </v-flex> |
62 | </v-layout> | 62 | </v-layout> |
63 | </v-flex> | 63 | </v-flex> |
64 | </v-card-text> | 64 | </v-card-text> |
65 | <v-layout> | 65 | <v-layout> |
66 | <v-flex sm12 class="my-3"> | 66 | <v-flex sm12 class="my-3"> |
67 | <v-btn | 67 | <v-btn |
68 | style="margin: auto;display: block;b" | 68 | style="margin: auto;display: block;b" |
69 | class="fixcolors" | 69 | class="fixcolors" |
70 | round | 70 | round |
71 | dark | 71 | dark |
72 | large | 72 | large |
73 | @click="login" | 73 | @click="login" |
74 | :loading="loading" | 74 | :loading="loading" |
75 | >Login</v-btn> | 75 | >Login</v-btn> |
76 | </v-flex> | 76 | </v-flex> |
77 | </v-layout> | 77 | </v-layout> |
78 | <v-layout></v-layout> | 78 | <v-layout></v-layout> |
79 | </v-card> | 79 | </v-card> |
80 | </v-flex> | 80 | </v-flex> |
81 | </v-layout> | 81 | </v-layout> |
82 | </v-container> | 82 | </v-container> |
83 | </v-content> | 83 | </v-content> |
84 | <v-footer class="pa-4 fixcolors"></v-footer> | 84 | <v-footer class="pa-4 fixcolors"></v-footer> |
85 | </v-app> | 85 | </v-app> |
86 | </template> | 86 | </template> |
87 | 87 | ||
88 | <script> | 88 | <script> |
89 | import http from "@/Services/http.js"; | 89 | import http from "@/Services/http.js"; |
90 | export default { | 90 | export default { |
91 | data() { | 91 | data() { |
92 | return { | 92 | return { |
93 | snackbar: false, | 93 | snackbar: false, |
94 | y: "top", | 94 | y: "top", |
95 | x: "right", | 95 | x: "right", |
96 | mode: "", | 96 | mode: "", |
97 | timeout: 3000, | 97 | timeout: 3000, |
98 | text: "", | 98 | text: "", |
99 | e1: true, | 99 | e1: true, |
100 | loading: false, | 100 | loading: false, |
101 | remember: false, | 101 | remember: false, |
102 | valid: false, | 102 | valid: false, |
103 | userLogincredentials: {}, | 103 | userLogincredentials: {}, |
104 | nameRules: [v => !!v || "Username is required"], | 104 | nameRules: [v => !!v || "Username is required"], |
105 | password: "", | 105 | password: "", |
106 | email: "", | 106 | email: "", |
107 | rules: { | 107 | rules: { |
108 | required: value => !!value || "password is Required." | 108 | required: value => !!value || "password is Required." |
109 | } | 109 | } |
110 | }; | 110 | }; |
111 | }, | 111 | }, |
112 | methods: { | 112 | methods: { |
113 | login() { | 113 | login() { |
114 | this.loading = true; | 114 | this.loading = true; |
115 | var userdata = { | 115 | var userdata = { |
116 | email: this.userLogincredentials.email, | 116 | email: this.userLogincredentials.email, |
117 | password: this.userLogincredentials.password, | 117 | password: this.userLogincredentials.password, |
118 | role: "ADMIN" | 118 | role: "ADMIN" |
119 | }; | 119 | }; |
120 | http() | 120 | http() |
121 | .post("/schoolLogin", userdata) | 121 | .post("/schoolLogin", userdata) |
122 | .then(response => { | 122 | .then(response => { |
123 | this.$store.dispatch("setToken", response.data.data.token); | 123 | this.$store.dispatch("setToken", response.data.data.token); |
124 | this.$store.dispatch("Id", response.data.data.id); | 124 | this.$store.dispatch("Id", response.data.data.id); |
125 | this.loading = false; | 125 | this.loading = false; |
126 | this.$router.push("/teachers"); | 126 | this.$router.push("/teachers"); |
127 | }) | 127 | }) |
128 | .catch(error => { | 128 | .catch(error => { |
129 | if (error) { | 129 | if (error) { |
130 | this.text = "Server appears to be offline"; | 130 | this.text = "Server appears to be offline"; |
131 | this.snackbar = true; | 131 | this.snackbar = true; |
132 | this.loading = false; | 132 | this.loading = false; |
133 | } | 133 | } |
134 | if (error.response.data.message) { | 134 | if (error.response.data.message) { |
135 | this.text = error.response.data.message; | 135 | this.text = error.response.data.message; |
136 | this.snackbar = true; | 136 | this.snackbar = true; |
137 | } | 137 | } |
138 | this.loading = false; | 138 | this.loading = false; |
139 | }); | 139 | }); |
140 | } | 140 | } |
141 | }, | 141 | }, |
142 | mounted() { | 142 | mounted() { |
143 | if (this.$store.state.isUserLoggedIn == true) { | 143 | if (this.$store.state.isUserLoggedIn == true) { |
144 | this.$router.push("/teachers"); | 144 | this.$router.push("/teachers"); |
145 | } | 145 | } |
146 | }, | 146 | }, |
147 | computed: { | 147 | computed: { |
148 | color() { | 148 | color() { |
149 | return this.loading ? "success" : "error"; | 149 | return this.loading ? "success" : "error"; |
150 | } | 150 | } |
151 | } | 151 | } |
152 | }; | 152 | }; |
153 | </script> | 153 | </script> |
154 | 154 | ||
155 | <style scoped lang="css"> | 155 | <style scoped lang="css"> |
156 | #login { | 156 | #login { |
157 | width: 100%; | 157 | width: 100%; |
158 | position: absolute; | 158 | position: absolute; |
159 | top: 0; | 159 | top: 0; |
160 | left: 0; | 160 | left: 0; |
161 | content: ""; | 161 | content: ""; |
162 | z-index: 0; | 162 | z-index: 0; |
163 | } | 163 | } |
164 | </style> | 164 | </style> |
165 | <style scoped> | 165 | <style scoped> |
166 | img { | 166 | img { |
167 | position: absolute; | 167 | position: absolute; |
168 | top: 13px; | 168 | top: 13px; |
169 | left: 8px; | 169 | left: 8px; |
170 | } | 170 | } |
171 | .v-btn--large { | 171 | .v-btn--large { |
172 | padding: 0px 84px; | 172 | padding: 0px 84px; |
173 | } | 173 | } |
174 | .link { | 174 | .link { |
175 | text-decoration: none; | 175 | text-decoration: none; |
176 | } | 176 | } |
177 | a { | 177 | a { |
178 | color: #696969; | 178 | color: #696969; |
179 | } | 179 | } |
180 | .forget { | 180 | .forget { |
181 | margin-top: 20px; | 181 | margin-top: 20px; |
182 | } | 182 | } |
183 | .mt-4 { | 183 | .mt-4 { |
184 | margin-top: 21px !important; | 184 | margin-top: 21px !important; |
185 | } | 185 | } |
186 | @media screen and (max-width: 600px) { | 186 | @media screen and (max-width: 600px) { |
187 | .forget { | 187 | .forget { |
188 | margin-top: none; | 188 | margin-top: none; |
189 | margin-left: 18px; | 189 | margin-left: 18px; |
190 | } | 190 | } |
191 | img { | 191 | img { |
192 | left: 10px; | 192 | left: 10px; |
193 | height: 34px; | 193 | height: 34px; |
194 | width: 120px; | 194 | width: 120px; |
195 | } | 195 | } |
196 | .logoSchool { | 196 | .logoSchool { |
197 | font-size: 18px; | 197 | font-size: 18px; |
198 | margin-top: 20px !important; | 198 | margin-top: 20px !important; |
199 | } | 199 | } |
200 | h5 { | 200 | h5 { |
201 | font-size: 14px !important; | 201 | font-size: 14px !important; |
202 | } | 202 | } |
203 | } | 203 | } |
204 | </style> | 204 | </style> |
src/pages/Authentication/forgetpassword.vue
1 | <template> | 1 | <template> |
2 | <v-app id="login"> | 2 | <v-app id="login"> |
3 | <v-toolbar class="fixcolors"> | 3 | <v-toolbar class="fixcolors"> |
4 | <v-toolbar-items> | 4 | <v-toolbar-items> |
5 | <img src="/static/icon.png" height="40" width="140" alt="logo"> | 5 | <img src="/static/logoIntrack.png" height="40" width="140" alt="logo"> |
6 | </v-toolbar-items> | 6 | </v-toolbar-items> |
7 | </v-toolbar> | 7 | </v-toolbar> |
8 | <v-container fluid> | 8 | <v-container fluid> |
9 | <v-layout align-center justify-center fill-height> | 9 | <v-layout align-center justify-center fill-height> |
10 | <v-flex xs12 sm8 md7 lg8> | 10 | <v-flex xs12 sm8 md7 lg8> |
11 | <div> | 11 | <div> |
12 | <v-app> | 12 | <v-app> |
13 | <v-stepper v-model="e2"> | 13 | <v-stepper v-model="e2"> |
14 | <v-stepper-header> | 14 | <v-stepper-header> |
15 | <v-stepper-step :complete="e2 > 1" step="1">Fill Your Email</v-stepper-step> | 15 | <v-stepper-step :complete="e2 > 1" step="1">Fill Your Email</v-stepper-step> |
16 | <v-divider></v-divider> | 16 | <v-divider></v-divider> |
17 | <v-stepper-step step="2">Last Step of Forget Password</v-stepper-step> | 17 | <v-stepper-step step="2">Last Step of Forget Password</v-stepper-step> |
18 | </v-stepper-header> | 18 | </v-stepper-header> |
19 | <v-stepper-items> | 19 | <v-stepper-items> |
20 | <v-stepper-content step="1"> | 20 | <v-stepper-content step="1"> |
21 | <v-content> | 21 | <v-content> |
22 | <v-container fluid class="content"> | 22 | <v-container fluid class="content"> |
23 | <v-layout align-center justify-center fill-height> | 23 | <v-layout align-center justify-center fill-height> |
24 | <v-flex xs12 sm8 md7 lg8> | 24 | <v-flex xs12 sm8 md7 lg8> |
25 | <v-toolbar class="fixcolors" dark> | 25 | <v-toolbar class="fixcolors" dark> |
26 | <v-spacer></v-spacer> | 26 | <v-spacer></v-spacer> |
27 | <v-toolbar-title>Forget Password</v-toolbar-title> | 27 | <v-toolbar-title>Forget Password</v-toolbar-title> |
28 | <v-spacer></v-spacer> | 28 | <v-spacer></v-spacer> |
29 | </v-toolbar> | 29 | </v-toolbar> |
30 | <v-card class="elevation-1 pa-1"> | 30 | <v-card class="elevation-1 pa-1"> |
31 | <v-card-text> | 31 | <v-card-text> |
32 | <h5 class="text-xs-center"> Not to Worry! Enter to your registered Email ID. </h5> | 32 | <h5 class="text-xs-center"> Not to Worry! Enter to your registered Email ID. </h5> |
33 | <h5 class="text-xs-center"> We'll send you a reset.</h5> | 33 | <h5 class="text-xs-center"> We'll send you a reset.</h5> |
34 | <v-flex lg6 sm6 xs10 offset-sm3 offset-xs1 offset-lg3> | 34 | <v-flex lg6 sm6 xs10 offset-sm3 offset-xs1 offset-lg3> |
35 | <v-form ref="form" v-model="valid" lazy-validation> | 35 | <v-form ref="form" v-model="valid" lazy-validation> |
36 | <div class="custom-input-align"> | 36 | <div class="custom-input-align"> |
37 | <v-text-field | 37 | <v-text-field |
38 | class="text-md-center" | 38 | class="text-md-center" |
39 | :rules="emailRules" | 39 | :rules="emailRules" |
40 | v-model="forgetemail" | 40 | v-model="forgetemail" |
41 | label="Enter Your email ID" | 41 | label="Enter Your email ID" |
42 | required></v-text-field> | 42 | required></v-text-field> |
43 | </div> | 43 | </div> |
44 | </v-form> | 44 | </v-form> |
45 | </v-flex> | 45 | </v-flex> |
46 | </v-card-text> | 46 | </v-card-text> |
47 | <v-card-actions> | 47 | <v-card-actions> |
48 | <v-flex text-xs-center> | 48 | <v-flex text-xs-center> |
49 | <v-btn round class="mt-1 button fixcolors" dark large @click="reset">Send Request</v-btn> | 49 | <v-btn round class="mt-1 button fixcolors" dark large @click="reset">Send Request</v-btn> |
50 | </v-flex> | 50 | </v-flex> |
51 | </v-card-actions> | 51 | </v-card-actions> |
52 | <v-snackbar | 52 | <v-snackbar |
53 | :timeout="timeout" | 53 | :timeout="timeout" |
54 | :top="y === 'top'" | 54 | :top="y === 'top'" |
55 | :right="x === 'right'" | 55 | :right="x === 'right'" |
56 | :vertical="mode === 'vertical'" | 56 | :vertical="mode === 'vertical'" |
57 | v-model="snackbar" | 57 | v-model="snackbar" |
58 | :color= color | 58 | :color= color |
59 | > | 59 | > |
60 | {{ text }} | 60 | {{ text }} |
61 | </v-snackbar> | 61 | </v-snackbar> |
62 | </v-snackbar> | 62 | </v-snackbar> |
63 | </v-card> | 63 | </v-card> |
64 | </v-flex> | 64 | </v-flex> |
65 | </v-layout> | 65 | </v-layout> |
66 | </v-container> | 66 | </v-container> |
67 | </v-content> | 67 | </v-content> |
68 | </v-stepper-content> | 68 | </v-stepper-content> |
69 | <v-stepper-content step="2"> | 69 | <v-stepper-content step="2"> |
70 | <v-content> | 70 | <v-content> |
71 | <v-container fluid fill-height> | 71 | <v-container fluid fill-height> |
72 | <v-layout align-center justify-center> | 72 | <v-layout align-center justify-center> |
73 | <v-flex xs12 sm8 md7 lg8> | 73 | <v-flex xs12 sm8 md7 lg8> |
74 | <v-toolbar class="fixcolors" dark> | 74 | <v-toolbar class="fixcolors" dark> |
75 | <v-spacer></v-spacer> | 75 | <v-spacer></v-spacer> |
76 | <v-toolbar-title>Forget Password</v-toolbar-title> | 76 | <v-toolbar-title>Forget Password</v-toolbar-title> |
77 | <v-spacer></v-spacer> | 77 | <v-spacer></v-spacer> |
78 | </v-toolbar> | 78 | </v-toolbar> |
79 | <v-card class="elevation-1 pa-1"> | 79 | <v-card class="elevation-1 pa-1"> |
80 | <v-card-text> | 80 | <v-card-text> |
81 | <h5 class="text-xs-center"> Not to Worry! Enter to your registered Email ID And New Password. </h5> | 81 | <h5 class="text-xs-center"> Not to Worry! Enter to your registered Email ID And New Password. </h5> |
82 | <h5 class="text-xs-center"> We'll send you a reset.</h5> | 82 | <h5 class="text-xs-center"> We'll send you a reset.</h5> |
83 | <v-flex lg6 sm6 xs10 offset-sm3 offset-xs1 offset-lg3> | 83 | <v-flex lg6 sm6 xs10 offset-sm3 offset-xs1 offset-lg3> |
84 | <v-form class="mt-4"> | 84 | <v-form class="mt-4"> |
85 | <div class="custom-input-align"> | 85 | <div class="custom-input-align"> |
86 | <v-text-field | 86 | <v-text-field |
87 | class="text-md-center" | 87 | class="text-md-center" |
88 | v-model="email" | 88 | v-model="email" |
89 | :rules="emailRules" | 89 | :rules="emailRules" |
90 | label="Enter Your email ID" | 90 | label="Enter Your email ID" |
91 | required></v-text-field> | 91 | required></v-text-field> |
92 | <v-text-field | 92 | <v-text-field |
93 | :rules="[rules.required,rules.min]" | 93 | :rules="[rules.required,rules.min]" |
94 | v-model="changepassword" | 94 | v-model="changepassword" |
95 | :append-icon="e1 ? 'visibility_off' : 'visibility'" | 95 | :append-icon="e1 ? 'visibility_off' : 'visibility'" |
96 | :append-icon-cb="() => (e1 = !e1)" | 96 | :append-icon-cb="() => (e1 = !e1)" |
97 | :type="e1 ? 'password' : 'text'" | 97 | :type="e1 ? 'password' : 'text'" |
98 | name="input-10-1" | 98 | name="input-10-1" |
99 | label="Password" | 99 | label="Password" |
100 | counter | 100 | counter |
101 | ></v-text-field> | 101 | ></v-text-field> |
102 | </div> | 102 | </div> |
103 | </v-form> | 103 | </v-form> |
104 | </v-flex> | 104 | </v-flex> |
105 | </v-card-text> | 105 | </v-card-text> |
106 | <v-card-actions> | 106 | <v-card-actions> |
107 | <v-flex text-xs-center> | 107 | <v-flex text-xs-center> |
108 | <v-btn round class="mt-1 button fixcolors" dark large @click="resetPassword">Send Request</v-btn> | 108 | <v-btn round class="mt-1 button fixcolors" dark large @click="resetPassword">Send Request</v-btn> |
109 | </v-flex> | 109 | </v-flex> |
110 | </v-card-actions> | 110 | </v-card-actions> |
111 | <v-snackbar | 111 | <v-snackbar |
112 | :timeout="timeout" | 112 | :timeout="timeout" |
113 | :top="y === 'top'" | 113 | :top="y === 'top'" |
114 | :right="x === 'right'" | 114 | :right="x === 'right'" |
115 | :vertical="mode === 'vertical'" | 115 | :vertical="mode === 'vertical'" |
116 | v-model="snackbar" | 116 | v-model="snackbar" |
117 | :color= color | 117 | :color= color |
118 | > | 118 | > |
119 | {{ text }} | 119 | {{ text }} |
120 | </v-snackbar> | 120 | </v-snackbar> |
121 | </v-snackbar> | 121 | </v-snackbar> |
122 | </v-card> | 122 | </v-card> |
123 | </v-flex> | 123 | </v-flex> |
124 | </v-layout> | 124 | </v-layout> |
125 | </v-container> | 125 | </v-container> |
126 | </v-content> | 126 | </v-content> |
127 | <v-btn | 127 | <v-btn |
128 | color="primary" | 128 | color="primary" |
129 | dark | 129 | dark |
130 | @click="e2 = 1" | 130 | @click="e2 = 1" |
131 | > | 131 | > |
132 | Back | 132 | Back |
133 | </v-btn> | 133 | </v-btn> |
134 | </v-stepper-content> | 134 | </v-stepper-content> |
135 | </v-stepper-items> | 135 | </v-stepper-items> |
136 | </v-stepper> | 136 | </v-stepper> |
137 | </v-app> | 137 | </v-app> |
138 | </div> | 138 | </div> |
139 | </v-flex> | 139 | </v-flex> |
140 | </v-layout> | 140 | </v-layout> |
141 | </v-container> | 141 | </v-container> |
142 | <v-footer class="pa-4 fixcolors"> | 142 | <v-footer class="pa-4 fixcolors"> |
143 | </v-footer> | 143 | </v-footer> |
144 | </v-app> | 144 | </v-app> |
145 | </template> | 145 | </template> |
146 | 146 | ||
147 | 147 | ||
148 | 148 | ||
149 | <script> | 149 | <script> |
150 | import http from '@/Services/http.js'; | 150 | import http from '@/Services/http.js'; |
151 | 151 | ||
152 | export default { | 152 | export default { |
153 | data: () => ({ | 153 | data: () => ({ |
154 | e1: true, | 154 | e1: true, |
155 | e2:0, | 155 | e2:0, |
156 | snackbar: false, | 156 | snackbar: false, |
157 | y: 'top', | 157 | y: 'top', |
158 | x: 'right', | 158 | x: 'right', |
159 | mode: '', | 159 | mode: '', |
160 | timeout: 4000, | 160 | timeout: 4000, |
161 | text: '', | 161 | text: '', |
162 | loading: false, | 162 | loading: false, |
163 | email: '', | 163 | email: '', |
164 | forgetemail:'', | 164 | forgetemail:'', |
165 | password:'', | 165 | password:'', |
166 | changepassword:'', | 166 | changepassword:'', |
167 | valid: true, | 167 | valid: true, |
168 | emailRules: [ | 168 | emailRules: [ |
169 | v => !!v || "E-mail is required", | 169 | v => !!v || "E-mail is required", |
170 | v => | 170 | v => |
171 | /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || | 171 | /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || |
172 | "E-mail must be valid" | 172 | "E-mail must be valid" |
173 | ], | 173 | ], |
174 | rules: { | 174 | rules: { |
175 | required: value => !!value || "password is Required.", | 175 | required: value => !!value || "password is Required.", |
176 | min: v => | 176 | min: v => |
177 | (/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/.test( | 177 | (/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/.test( |
178 | v | 178 | v |
179 | ) && | 179 | ) && |
180 | v.length >= 6) || | 180 | v.length >= 6) || |
181 | "Min 4 characters upper case lower case symbol required" | 181 | "Min 4 characters upper case lower case symbol required" |
182 | } | 182 | } |
183 | }), | 183 | }), |
184 | 184 | ||
185 | methods: { | 185 | methods: { |
186 | reset () { | 186 | reset () { |
187 | if (this.$refs.form.validate()) { | 187 | if (this.$refs.form.validate()) { |
188 | http().get('/schoolForgotPassword?email='+ this.forgetemail) | 188 | http().get('/schoolForgotPassword?email='+ this.forgetemail) |
189 | .then(response => { | 189 | .then(response => { |
190 | // console.log("response=====>",response.data.data.token); | 190 | // console.log("response=====>",response.data.data.token); |
191 | this.$store.dispatch("setToken", response.data.data.token); | 191 | this.$store.dispatch("setToken", response.data.data.token); |
192 | this.loading = true; | 192 | this.loading = true; |
193 | this.e2 = 2 ; | 193 | this.e2 = 2 ; |
194 | if(this.snackbar=true){ | 194 | if(this.snackbar=true){ |
195 | this.text= "Please you Fill Last Step of Forget Password!" | 195 | this.text= "Please you Fill Last Step of Forget Password!" |
196 | } | 196 | } |
197 | }).catch(err => { | 197 | }).catch(err => { |
198 | this.text="User Not Found or Incorrect Email" | 198 | this.text="User Not Found or Incorrect Email" |
199 | this.snackbar= true; | 199 | this.snackbar= true; |
200 | this.loading = false; | 200 | this.loading = false; |
201 | }) | 201 | }) |
202 | } | 202 | } |
203 | }, | 203 | }, |
204 | resetPassword(){ | 204 | resetPassword(){ |
205 | let forgotPassword = { | 205 | let forgotPassword = { |
206 | resetToken: this.$store.state.token, | 206 | resetToken: this.$store.state.token, |
207 | email: this.email, | 207 | email: this.email, |
208 | password: this.changepassword | 208 | password: this.changepassword |
209 | } | 209 | } |
210 | http().post('/schoolResetPassword',forgotPassword) | 210 | http().post('/schoolResetPassword',forgotPassword) |
211 | .then(response => { | 211 | .then(response => { |
212 | console.log("response=====>",response); | 212 | console.log("response=====>",response); |
213 | this.loading = true; | 213 | this.loading = true; |
214 | if(this.snackbar=true){ | 214 | if(this.snackbar=true){ |
215 | this.text= "Successfully Change your Password" | 215 | this.text= "Successfully Change your Password" |
216 | } | 216 | } |
217 | setTimeout(() => { | 217 | setTimeout(() => { |
218 | this.$router.push('/'); | 218 | this.$router.push('/'); |
219 | }, 1000); | 219 | }, 1000); |
220 | }).catch(err => { | 220 | }).catch(err => { |
221 | this.text="User Not Found or Incorrect Email" | 221 | this.text="User Not Found or Incorrect Email" |
222 | this.snackbar= true; | 222 | this.snackbar= true; |
223 | this.loading = false; | 223 | this.loading = false; |
224 | }) | 224 | }) |
225 | } | 225 | } |
226 | }, | 226 | }, |
227 | computed:{ | 227 | computed:{ |
228 | color(){ | 228 | color(){ |
229 | return this.loading ? 'success' : 'error' | 229 | return this.loading ? 'success' : 'error' |
230 | } | 230 | } |
231 | } | 231 | } |
232 | 232 | ||
233 | }; | 233 | }; |
234 | </script> | 234 | </script> |
235 | <style scoped lang="css"> | 235 | <style scoped lang="css"> |
236 | .content { | 236 | .content { |
237 | padding: 100px 0px 100px 0px !important; | 237 | padding: 100px 0px 100px 0px !important; |
238 | } | 238 | } |
239 | #login { | 239 | #login { |
240 | height: 50%; | 240 | height: 50%; |
241 | width: 100%; | 241 | width: 100%; |
242 | position: absolute; | 242 | position: absolute; |
243 | top: 0; | 243 | top: 0; |
244 | left: 0; | 244 | left: 0; |
245 | content: ""; | 245 | content: ""; |
246 | z-index: 0; | 246 | z-index: 0; |
247 | } | 247 | } |
248 | img{ | 248 | img{ |
249 | position:absolute; | 249 | position:absolute; |
250 | top:13px; | 250 | top:13px; |
251 | left:8px; | 251 | left:8px; |
252 | } | 252 | } |
253 | .v-btn--large { | 253 | .v-btn--large { |
254 | padding: 0px 74px; | 254 | padding: 0px 74px; |
255 | } | 255 | } |
256 | .button{ | 256 | .button{ |
257 | text-transform: none; | 257 | text-transform: none; |
258 | } | 258 | } |
259 | @media screen and (max-width: 472px) { | 259 | @media screen and (max-width: 472px) { |
260 | .v-btn--large { | 260 | .v-btn--large { |
261 | padding:0px 20px !important; | 261 | padding:0px 20px !important; |
262 | font-size:13px; | 262 | font-size:13px; |
263 | } | 263 | } |
264 | h5 { | 264 | h5 { |
265 | font-size: 11px; | 265 | font-size: 11px; |
266 | } | 266 | } |
267 | } | 267 | } |
268 | @media screen and (max-width: 600px) { | 268 | @media screen and (max-width: 600px) { |
269 | .theme--light .v-btn, .application .theme--light.v-btn { | 269 | .theme--light .v-btn, .application .theme--light.v-btn { |
270 | color: white !important; | 270 | color: white !important; |
271 | } | 271 | } |
272 | .logoSchool{ | 272 | .logoSchool{ |
273 | font-size: 18px; | 273 | font-size: 18px; |
274 | margin-top: 20px !important; | 274 | margin-top: 20px !important; |
275 | } | 275 | } |
276 | .content { | 276 | .content { |
277 | padding: 0px 0px 0px 0px !important; | 277 | padding: 0px 0px 0px 0px !important; |
278 | } | 278 | } |
279 | } | 279 | } |
280 | </style> | 280 | </style> |