Blame view
src/pages/changepassword.vue
3.13 KB
93a68cfa1
|
1 2 |
<template> <v-app id="login"> |
04e3fbc56
|
3 |
<!-- <v-toolbar color="grey lighten"> |
93a68cfa1
|
4 5 6 |
<v-toolbar-items> <img src="/static/ana@2x.png" height="36" alt="ana"> </v-toolbar-items> |
04e3fbc56
|
7 8 |
</v-toolbar>--> <!-- <v-content> --> |
93a68cfa1
|
9 |
<v-container fluid fill-height> |
04e3fbc56
|
10 11 |
<v-layout> <v-flex xs12 sm8 md6 lg7 offset-xs2> |
93a68cfa1
|
12 13 14 15 16 17 |
<v-toolbar color="black" dark> <v-spacer></v-spacer> <v-toolbar-title>Change Password</v-toolbar-title> <v-spacer></v-spacer> </v-toolbar> |
04e3fbc56
|
18 |
<v-card class="elevation-1 pa-3" id="form"> |
93a68cfa1
|
19 |
<v-card-text> |
04e3fbc56
|
20 21 22 23 |
<v-flex xs12 sm8 md8 lg8 offset-xs2> <v-form class="mt-3" > <v-text-field :rules="[rules.required, rules.min]" |
4413a8d93
|
24 |
|
04e3fbc56
|
25 26 27 28 29 30 31 |
:type="e1 ? 'password' : 'text'" v-model="password" label="Current Password"> </v-text-field> <v-text-field v-model="npassword" :rules="[rules.required, rules.min]" |
4413a8d93
|
32 |
|
04e3fbc56
|
33 34 35 36 37 |
:type="e2 ? 'password' : 'text'" label="New Password" ></v-text-field> <v-text-field v-model="cnpassword" |
4413a8d93
|
38 |
|
04e3fbc56
|
39 40 41 42 |
:type="e3 ? 'password' : 'text'" label="Confirm Password" ></v-text-field> </v-form></v-flex> |
93a68cfa1
|
43 44 |
</v-card-text> <v-card-actions> |
04e3fbc56
|
45 |
|
93a68cfa1
|
46 47 48 49 50 |
<v-flex text-sm-center> <v-btn class="mt-3" round color="black" dark large |
04e3fbc56
|
51 |
:loading="loading" |
93a68cfa1
|
52 53 |
@click="reset">Reset Password</v-btn></v-flex> </v-card-actions> |
04e3fbc56
|
54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
<v-snackbar :timeout="timeout" v-model="snackbar" color="green" > {{ text }} <v-icon flat @click="snackbar = false" > close </v-icon> </v-snackbar> |
93a68cfa1
|
68 69 70 71 |
</v-card> </v-flex> </v-layout> </v-container> |
04e3fbc56
|
72 73 |
<!-- </v-content> <v-footer class="pa-4" color="grey darken-2"> |
93a68cfa1
|
74 |
|
04e3fbc56
|
75 |
</v-footer> --> |
93a68cfa1
|
76 77 78 79 80 81 82 |
</v-app> </template> <script> import axios from 'axios'; export default { data () { return { |
04e3fbc56
|
83 84 85 86 87 |
e1: true, e2: true, e3: true, snackbar: false, timeout: 1000, |
93a68cfa1
|
88 89 |
loading: false, valid: false, |
04e3fbc56
|
90 91 92 93 94 95 96 97 |
text: 'Password Changed', password: '', rules: { required: value => !!value || 'This password field is Required.', min: v => (/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/).test(v) && v.length >= 8 || 'Min 8 characters upper case lower case symbol required' }, npassword: '', cnpassword: '', |
93a68cfa1
|
98 99 100 101 102 |
}; }, methods: { reset () { this.loading = true; |
04e3fbc56
|
103 |
this.snackbar = true; |
93a68cfa1
|
104 |
setTimeout(() => { |
04e3fbc56
|
105 |
|
93a68cfa1
|
106 |
this.$router.push('/dashboard'); |
04e3fbc56
|
107 108 109 |
}, 2000); |
93a68cfa1
|
110 111 112 113 |
} } }; </script> |
04e3fbc56
|
114 |
<style scoped> |
93a68cfa1
|
115 116 117 |
img{ position:absolute; top:13px; |
04e3fbc56
|
118 |
left:50px; |
93a68cfa1
|
119 |
} |
04e3fbc56
|
120 121 122 123 |
.v-btn--large { padding: 0px 74px; } </style> |