|
@@ -0,0 +1,176 @@
|
|
|
|
+<template>
|
|
|
|
+ <view class="pages">
|
|
|
|
+ <!-- <u-navbar
|
|
|
|
+ title="修改密码"
|
|
|
|
+ :placeholder="true"
|
|
|
|
+ :autoBack="true"
|
|
|
|
+ :safeAreaInsetTop="true"
|
|
|
|
+ bgColor="#ED0000"
|
|
|
|
+ :titleStyle="{color:'#fff'}"
|
|
|
|
+ leftIconColor="#fff"
|
|
|
|
+ >
|
|
|
|
+ </u-navbar> -->
|
|
|
|
+ <view class="form-wrap">
|
|
|
|
+ <u--form labelPosition="left" labelWidth="70px" :model="form" :rules="rules" ref="uForm" >
|
|
|
|
+ <u-form-item label="旧密码" prop="oldPassword" borderBottom ref="oldPassword" >
|
|
|
|
+ <u--input
|
|
|
|
+ v-model="form.oldPassword"
|
|
|
|
+ border="none"
|
|
|
|
+ placeholder="请输入旧密码"
|
|
|
|
+ :customStyle="inputCustomStyle"
|
|
|
|
+ ></u--input>
|
|
|
|
+ </u-form-item>
|
|
|
|
+ <u-form-item label="新密码" prop="password" borderBottom ref="password" >
|
|
|
|
+ <u--input
|
|
|
|
+ v-model="form.password"
|
|
|
|
+ border="none"
|
|
|
|
+ :password="true"
|
|
|
|
+ placeholder="请输入新密码"
|
|
|
|
+ :customStyle="inputCustomStyle"
|
|
|
|
+ ></u--input>
|
|
|
|
+ </u-form-item>
|
|
|
|
+ <u-form-item label="确认密码" prop="comfpassword" :borderBottom="false" ref="comfpassword" >
|
|
|
|
+ <u--input
|
|
|
|
+ v-model="form.comfpassword"
|
|
|
|
+ border="none"
|
|
|
|
+ :password="true"
|
|
|
|
+ placeholder="请确认新密码"
|
|
|
|
+ :customStyle="inputCustomStyle"
|
|
|
|
+ ></u--input>
|
|
|
|
+ </u-form-item>
|
|
|
|
+ </u--form>
|
|
|
|
+ </view>
|
|
|
|
+ <u-button
|
|
|
|
+ @click="submit"
|
|
|
|
+ text="确定"
|
|
|
|
+ type="primary"
|
|
|
|
+ shape="circle"
|
|
|
|
+ :customStyle="{'margin':'60rpx 32rpx',height:'98rpx','box-sizing':'border-box',width:'auto'}"
|
|
|
|
+ color="linear-gradient(90deg, #FF7979 0%, #ED0000 100%)">
|
|
|
|
+ </u-button>
|
|
|
|
+ </view>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+ export default {
|
|
|
|
+
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ form:{
|
|
|
|
+ oldPassword:'',
|
|
|
|
+ password:'',
|
|
|
|
+ comfpassword:'',
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ rules: {
|
|
|
|
+ oldPassword: {
|
|
|
|
+ type: 'string',
|
|
|
|
+ required: true,
|
|
|
|
+ message: '请输入旧密码',
|
|
|
|
+ trigger: ['blur', 'change']
|
|
|
|
+ },
|
|
|
|
+ password: [
|
|
|
|
+ {
|
|
|
|
+ type: 'string',
|
|
|
|
+ required: true,
|
|
|
|
+ message: '请输入新密码',
|
|
|
|
+ trigger: ['blur', 'change']
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ min: 6,
|
|
|
|
+ max: 10,
|
|
|
|
+ message: '长度在6-10个字符之间',
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ comfpassword: [
|
|
|
|
+ {
|
|
|
|
+ type: 'string',
|
|
|
|
+ required: true,
|
|
|
|
+ message: '请确认密码',
|
|
|
|
+ trigger: ['blur', 'change']
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
|
+ if (value === '') {
|
|
|
|
+ callback(new Error('请再次输入密码'));
|
|
|
|
+ } else if (value !== this.form.password) {
|
|
|
|
+ callback(new Error('两次输入密码不一致!'));
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ },
|
|
|
|
+ inputCustomStyle:{
|
|
|
|
+ height:'98rpx',
|
|
|
|
+ 'border-color':'#eee',
|
|
|
|
+ 'padding-left':'30rpx',
|
|
|
|
+ 'box-sizing':'border-box',
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ onShow() {
|
|
|
|
+ },
|
|
|
|
+ onReady() {
|
|
|
|
+ this.$refs.uForm.setRules(this.rules)
|
|
|
|
+ },
|
|
|
|
+ onLoad() {
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ chekPass(){
|
|
|
|
+ console.log('chekPass---',this.form);
|
|
|
|
+ return new Promise((resolve, reject)=>{
|
|
|
|
+ if(!password){
|
|
|
|
+ reject('needAuth');
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ async submit(){
|
|
|
|
+ // console.log('form',this.form);
|
|
|
|
+ this.$refs.uForm.validate().then(res => {
|
|
|
|
+ // let chekPassResult = await this.chekPass();
|
|
|
|
+ // return
|
|
|
|
+ // uni.$u.toast('校验通过')
|
|
|
|
+ const param = {
|
|
|
|
+ oldPassword:this.form.oldPassword,
|
|
|
|
+ newPassword:this.form.password
|
|
|
|
+ }
|
|
|
|
+ this.$u.api.updatePassword(param).then(res=>{
|
|
|
|
+ // console.log('res',res.data);
|
|
|
|
+ this.$u.vuex('vuex_user_info', res.data);
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title:res.msg,
|
|
|
|
+ icon:'success'
|
|
|
|
+ })
|
|
|
|
+ setTimeout(()=>{
|
|
|
|
+ uni.$u.route('/pages/login/login');
|
|
|
|
+ },2000)
|
|
|
|
+ // uni.reLaunch({url: this.backUrl});
|
|
|
|
+ }).catch(err=>{
|
|
|
|
+ console.log('login',err);
|
|
|
|
+ })
|
|
|
|
+ }).catch(errors => {
|
|
|
|
+ uni.$u.toast('请正确填写表单')
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+</script>
|
|
|
|
+<style>
|
|
|
|
+page{
|
|
|
|
+ background-color: #F4F5F7;
|
|
|
|
+}
|
|
|
|
+</style>
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+.form-wrap{
|
|
|
|
+ margin: 40rpx 32rpx;
|
|
|
|
+ padding: 20rpx 40rpx;
|
|
|
|
+ background-color: #fff;
|
|
|
|
+ box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(226,226,226,0.5);
|
|
|
|
+ border-radius: 24rpx;
|
|
|
|
+}
|
|
|
|
+</style>
|