<template> <view class="pages"> <!-- <u-navbar title="修改密码" :placeholder="true" :autoBack="true" :safeAreaInsetTop="true" bgColor="#ED0000" :titleStyle="{color:'#fff'}" leftIconColor="#fff" > </u-navbar> --> <!-- 头部主要内容 开始 --> <view class="passwordset-content-header"> <customNavbar title="修改密码" bgColor="var(--gd-bgm-color)" :contentStyle="{color: '#fff'}" :leftStyle="{color: '#fff'}" ></customNavbar> </view> <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:'80rpx','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(){ let that = this; // 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.marketPersonsUpdatePwd(param).then(res=>{ // console.log('res',res.data); this.$u.vuex('distribution_user_info', {}); uni.showToast({ title:res.msg, icon:'success', duration: 3000 }) setTimeout(()=>{ that.redirectToAuth(); },500) }).catch(err=>{ console.log('login',err); }) }).catch(errors => { uni.$u.toast('请正确填写表单') }) }, redirectToAuth() { uni.setStorageSync('lifeDataDistribution',{}); // 清除缓存 uni.setStorageSync('backUrlDistribution','') uni.reLaunch({ url: "/pages/login/index" }) }, } } </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>