1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <template>
- <el-card shadow="never" header="修改密码">
- <el-alert title="密码更新成功后,您将被重定向到登录页面,您可以使用新密码重新登录。" type="info" show-icon style="margin-bottom: 15px;"/>
- <el-form ref="form" :model="form" :rules="rules" label-width="120px" style="margin-top:20px;">
- <el-form-item label="当前密码" prop="userPassword">
- <el-input v-model="form.userPassword" type="password" show-password placeholder="请输入当前密码"></el-input>
- <div class="el-form-item-msg">必须提供当前登录用户密码才能进行更改</div>
- </el-form-item>
- <el-form-item label="新密码" prop="newPassword">
- <el-input v-model="form.newPassword" type="password" show-password placeholder="请输入新密码"></el-input>
- <sc-password-strength v-model="form.newPassword"></sc-password-strength>
- <div class="el-form-item-msg">请输入包含英文、数字的8位以上密码</div>
- </el-form-item>
- <el-form-item label="确认新密码" prop="confirmNewPassword">
- <el-input v-model="form.confirmNewPassword" type="password" show-password placeholder="请再次输入新密码"></el-input>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="save">保存密码</el-button>
- </el-form-item>
- </el-form>
- </el-card>
- </template>
- <script>
- import scPasswordStrength from '@/components/scPasswordStrength'
- export default {
- components: {
- scPasswordStrength
- },
- data() {
- return {
- form: {
- userPassword: "",
- newPassword: "",
- confirmNewPassword: ""
- },
- rules: {
- userPassword: [
- { required: true, message: '请输入当前密码'}
- ],
- newPassword: [
- { required: true, message: '请输入新密码'}
- ],
- confirmNewPassword: [
- { required: true, message: '请再次输入新密码'},
- {validator: (rule, value, callback) => {
- if (value !== this.form.newPassword) {
- callback(new Error('两次输入密码不一致'));
- }else{
- callback();
- }
- }}
- ]
- }
- }
- },
- methods: {
- save(){
- this.$refs.form.validate(valid => {
- if (valid) {
- this.$alert("密码修改成功,是否跳转至登录页使用新密码登录", "修改成功", {
- type: 'success',
- center: true
- }).then(() => {
- this.$router.replace({
- path: '/login'
- })
- }).catch(() => {})
- }else{
- return false
- }
- })
- }
- }
- }
- </script>
- <style>
- </style>
|