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