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