Blame view
src/pages/Administrator/resetPassword.vue
3.71 KB
006544386
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
<template> <v-app id="login"> <v-container fluid fill-height> <v-layout> <v-flex xs12 sm8 md8 lg5 offset-sm2 offset-lg3 class="mt-5"> <v-toolbar class="fixcolors mt-5" dark> <v-spacer></v-spacer> <v-toolbar-title>Reset Password</v-toolbar-title> <v-spacer></v-spacer> </v-toolbar> <v-card class="elevation-1 pa-3" id="form"> <v-card-text> <v-flex xs12 sm8 md8 lg8 offset-sm2> <v-form class="mt-3"> <v-select :rules="[rules.required]" label="Select Users" :tems="users"></v-select> <v-select :rules="[rules.required]" label="Select Users Name" :tems="usersName"></v-select> <v-text-field :rules="[rules.required]" v-model="user.oldPassword" label="New Password" ></v-text-field> <v-text-field v-model="user.newPassword" :rules="[rules.required]" label="Re-Password" ></v-text-field> </v-form> </v-flex> </v-card-text> <v-card-actions> <v-flex text-xs-center> <v-btn class="mt-3" round color="black" dark large :loading="loading" @click="reset" >Reset Password</v-btn> </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-card> </v-flex> </v-layout> </v-container> </v-app> </template> <script> import http from "@/Services/http.js"; export default { data() { return { snackbar: false, y: "top", x: "right", mode: "", timeout: 4000, text: "", user: {}, users: [], usersName: [], e1: true, e2: true, e3: true, loading: false, valid: false, text: "Password Changed", currentPassword: "", newPassword: "", confirmPassword: "", 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' } }; }, methods: { reset() { var token = this.$store.state.token; http() .put("/schoolChangePassword", { headers: { Authorization: "Bearer " + token } }) .then(response => { this.loading = true; if ((this.snackbar = true)) { this.text = "Successfully changed password !!"; console.log("snackbar", response.data.message); } setTimeout(() => { this.$router.push("/dashboard"); }, 2000); }) .catch(err => { // console.log("err====>",err); this.text = "User Not Found or Incorrect currentPassword"; this.snackbar = true; this.loading = false; }); } }, computed: { color() { return this.loading ? "success" : "error"; } } }; </script> <style scoped> img { position: absolute; top: 13px; left: 50px; } .v-btn--large { padding: 0px 74px; } @media screen and (max-width: 769px) { .v-btn--large { font-size: 14px; height: 44px; padding: 0 32px; } } </style> |