qa-prevention-xgf-app/pages/mine/change_password/change_password.vue

111 lines
3.1 KiB
Vue
Raw Permalink Normal View History

2023-11-07 10:24:08 +08:00
<template>
2024-09-30 09:40:54 +08:00
<view class="content1">
<view class="change-password">
<u--form labelPosition="top" :model="form" :rules="rules" ref="form" labelWidth="100%"
:labelStyle="{color:'#333', fontSize:'34rpx', fontWeight:'bold'}">
<u-form-item label="原密码" prop="oldPwd" borderBottom>
<u--input v-model="form.oldPwd" type="password" border="none"></u--input>
</u-form-item>
<u-form-item label="新密码" prop="nowPwd" borderBottom>
<u--input v-model="form.nowPwd" type="password" border="none"></u--input>
</u-form-item>
<u-form-item label="确认新密码" prop="confirmPwd" borderBottom>
<u--input v-model="form.confirmPwd" type="password" border="none"></u--input>
</u-form-item>
<u--text type="error" text="密码长度8~32位须包含数字、字母、符号至少2种或以上元素"></u--text>
<u-form-item>
<u-button type="primary" shape="circle" text="确定" @click="$u.debounce(submitPassword, 1000, true)">
</u-button>
</u-form-item>
</u--form>
</view>
<u-toast ref="uToast"></u-toast>
</view>
2023-11-07 10:24:08 +08:00
</template>
<script>
2024-09-30 09:40:54 +08:00
import {
setUpdatePassword
} from "../../../api";
2023-11-07 10:24:08 +08:00
2024-09-30 09:40:54 +08:00
export default {
data() {
return {
form: {
oldPwd: '',
nowPwd: '',
confirmPwd: '',
},
rules: {
oldPwd: [{
required: true,
message: '请输入旧密码',
trigger: 'blur'
},
{
min: 8,
message: '长度最少8个字符',
trigger: 'blur'
},
],
nowPwd: [{
required: true,
message: '请输入新密码',
trigger: 'blur'
},
{
pattern: /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{8,32}$/,
message: '密码格式不正确',
trigger: ['blur']
},
],
confirmPwd: [{
required: true,
message: '请再次输入新密码',
trigger: 'blur'
},
{
validator: (rule, value, callback) => {
return value === this.form.nowPwd
},
message: '两次输入密码不一致',
trigger: 'blur',
}
],
},
}
},
methods: {
submitPassword() {
this.$refs.form.validate().then(async () => {
await setUpdatePassword({
PASSWORD: this.form.oldPwd,
NEWPASSWORD: this.form.nowPwd,
USER_ID: this.$store.getters.getUserInfo.USER_ID,
USERNAME: this.$store.getters.getUserInfo.USERNAME
})
this.$refs.uToast.show({
message: '修改成功',
type: 'success',
complete: () => {
uni.reLaunch({
url: '/pages/login/login'
})
}
})
}).catch((error) => {
this.$refs.uToast.error('请填写完整')
})
}
}
}
2023-11-07 10:24:08 +08:00
</script>
<style lang="scss" scoped>
2024-09-30 09:40:54 +08:00
.change-password {
background-color: #fff;
border-radius: 20rpx;
padding: 40rpx;
}
2023-11-07 10:24:08 +08:00
</style>