lm-safe-app/pages/my/subPages/editPassword.vue
2024-06-03 09:37:52 +08:00

199 lines
4.5 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class='base-info'>
<view class="flex-info">
<view class='label-text'>旧密码</view>
<view class="password-info">
<!-- <u-form-item prop="originPassword"> -->
<u--input name='originPassword' border="none" v-model="originPassword" placeholder='请输入原密码' password />
<!-- </u-form-item> -->
</view>
</view>
<view class="flex-info">
<view class='label-text'>新密码</view>
<view class="password-info">
<!-- <u-form-item prop="newPassword"> -->
<u--input name='newPassword' border="none" v-model="newPassword" placeholder='请输入新密码' password />
<!-- </u-form-item> -->
</view>
</view>
<view class="flex-info">
<view class='label-text'>确认新密码</view>
<view class="password-info">
<!-- <u-form-item prop="matchPassword"> -->
<u--input name='matchPassword' border="none" v-model="matchPassword" password placeholder='请确认新密码' />
<!-- </u-form-item> -->
</view>
</view>
<view class="warn-info">密码由6-15位字母和数字组成区分大小写</view>
<button @click="formSubmit" type="primary" class='save-btn' :disabled="buttonDis">重置密码</button>
<show-toast></show-toast>
</view>
</template>
<script>
import MD5 from 'md5'
import {
modifyPassword
} from '../../../services/common'
import showToast from '../../../components/custom/show-info/show-toast.vue'
export default {
data() {
return {
actionCode: '',
originPassword: '',
newPassword: '',
matchPassword: '',
buttonDis: true,
}
},
watch: {
originPassword: function(newVal) {
if(newVal && this.newPassword && this.matchPassword){
this.buttonDis = false
}else{
this.buttonDis = true
}
},
newPassword: function(newVal) {
if(newVal && this.originPassword && this.matchPassword){
this.buttonDis = false
}else{
this.buttonDis = true
}
},
matchPassword: function(newVal) {
if(newVal && this.newPassword && this.originPassword){
this.buttonDis = false
}else{
this.buttonDis = true
}
}
},
methods: {
async formSubmit() {
const appInfoData = uni.getStorageSync('appInfo')
const userId = appInfoData?.User?.ID || ''
const params = {
Keyword: userId,
Parameter1: MD5(this.originPassword),
Parameter2: MD5(this.newPassword)
}
let eeeeeee = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,15}$/;
if (!this.originPassword) {
this.$showToast({
title: "请输入原密码",
content: "",
icon: 'fail',
success: res => {}
});
return
}
if (!this.newPassword) {
this.$showToast({
title: "请输入新密码",
content: "",
icon: 'fail',
success: res => {}
});
return
}
if (!this.matchPassword) {
this.$showToast({
title: "请确认新密码",
content: "",
icon: 'fail',
success: res => {}
});
return
}
if (this.newPassword !== this.matchPassword) {
this.$showToast({
title: "确认密码与新密码不一致",
content: "",
icon: 'fail',
success: res => {}
});
return
}
if (!eeeeeee.test(this.newPassword)) {
this.$showToast({
title: "请设置6-15位的密码",
content: "至少包含字母、数字",
icon: 'fail',
success: res => {}
});
return
}
const res = await modifyPassword(params)
if (res.IsSuccessful) {
this.$showToast({
title: "修改密码成功",
content: "",
icon: 'success',
success: res => {
uni.removeStorageSync('accessToken')
uni.removeStorageSync('orgId')
uni.removeStorageSync('Tenant')
uni.removeStorageSync('appInfo')
uni.redirectTo({
url: '/pages/login/index'
})
}
});
}
},
gainAuthCodeAction() {
}
}
}
</script>
<style scoped>
.base-info {
padding: 10px 0px;
width: 100%;
height: 100vh;
position: relative;
box-sizing: border-box;
background-color: #F1F2F8;
}
.flex-info {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background-color: #ffffff;
margin-bottom: 1px;
padding: 0px 15px;
}
.password-info {
/* width: 75%; */
padding: 15px 0px;
flex: 1;
}
.label-text {
font-size: 16px;
width: 25%;
margin-right: 20px;
}
.warn-info {
font-size: 14px;
color: #868A93;
margin: 5px 0px 0px 15px;
}
.info-form {}
.save-btn {
margin: 20px 15px 0px 15px;
}
</style>