184 lines
5.2 KiB
Vue
184 lines
5.2 KiB
Vue
<template>
|
||
<view>
|
||
<u-modal
|
||
:value="showTips"
|
||
ref="uModal"
|
||
show-cancel-button
|
||
:confirm-color="primaryColor"
|
||
async-close
|
||
confirm-text="前往绑定"
|
||
@confirm="toSetting"
|
||
@cancel="goBack"
|
||
>
|
||
<view class="slot-content row-center" style="padding: 40rpx">
|
||
您暂未绑定手机号,请先绑定
|
||
</view>
|
||
</u-modal>
|
||
<u-modal
|
||
ref="uModalSet"
|
||
:value="!showTips && showSetPwd"
|
||
title="设置转账密码"
|
||
show-cancel-button
|
||
:confirm-color="primaryColor"
|
||
async-close
|
||
confirm-text="确定"
|
||
@confirm="onSetPwd"
|
||
@cancel="goBack"
|
||
>
|
||
<view class="slot-content" style="padding: 40rpx">
|
||
<view style="font-size: 42rpx">{{ mobile }}</view>
|
||
<view class="mt20">
|
||
<u-input
|
||
type="password"
|
||
v-model="setPwd"
|
||
:border="true"
|
||
placeholder="请设置您的转账密码"
|
||
style="width: 100%"
|
||
/>
|
||
</view>
|
||
<view class="mt20">
|
||
<u-input
|
||
type="password"
|
||
v-model="comfirmPwd"
|
||
:border="true"
|
||
placeholder="再次确认转账密码"
|
||
style="width: 100%"
|
||
/>
|
||
</view>
|
||
</view>
|
||
</u-modal>
|
||
<u-modal
|
||
ref="uModalInput"
|
||
:value="showConfirm"
|
||
show-cancel-button
|
||
:confirm-color="primaryColor"
|
||
async-close
|
||
confirm-text="确定"
|
||
@confirm="onConfirm"
|
||
@cancel="toSetting"
|
||
cancel-text="忘记密码"
|
||
title="请输入密码"
|
||
>
|
||
<view class="slot-content row-center" style="padding: 40rpx">
|
||
<u-icon class="icon-close" name="close" @click="showInputPwd"></u-icon>
|
||
<u-input
|
||
type="password"
|
||
v-model="pwd"
|
||
:border="true"
|
||
placeholder="请输入您的转账密码"
|
||
style="width: 100%"
|
||
/>
|
||
</view>
|
||
</u-modal>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { hasPayPassword, setPassword } from '@/api/user'
|
||
import { mapGetters } from 'vuex'
|
||
export default {
|
||
name: 'set-pay-pwd',
|
||
data() {
|
||
return {
|
||
showSetPwd: false,
|
||
showConfirm: false,
|
||
pwd: '',
|
||
setPwd: '',
|
||
comfirmPwd: ''
|
||
}
|
||
},
|
||
methods: {
|
||
onSetPwd() {
|
||
let { setPwd, comfirmPwd } = this
|
||
this.$refs.uModalSet.clearLoading()
|
||
if (!setPwd) {
|
||
this.$toast({
|
||
title: '请填写转账密码'
|
||
})
|
||
return
|
||
}
|
||
if (!comfirmPwd) {
|
||
this.$toast({
|
||
title: '请填写确认密码'
|
||
})
|
||
return
|
||
}
|
||
if (setPwd != comfirmPwd) {
|
||
this.$toast({
|
||
title: '两次密码输入不一致'
|
||
})
|
||
return
|
||
}
|
||
if (setPwd.length < 4 || setPwd.length > 8) {
|
||
this.$toast({
|
||
title: '请输入长度为4-8位的密码'
|
||
})
|
||
return
|
||
}
|
||
|
||
let data = {
|
||
pay_password: setPwd
|
||
}
|
||
|
||
setPassword(data).then((res) => {
|
||
if (res.code == 1) {
|
||
this.$toast({
|
||
title: res.msg
|
||
})
|
||
this.showSetPwd = false
|
||
}
|
||
})
|
||
},
|
||
goBack() {
|
||
uni.navigateBack()
|
||
},
|
||
toSetting() {
|
||
uni.navigateTo({
|
||
url: '/bundle/pages/user_profile/user_profile'
|
||
})
|
||
this.$refs.uModal.clearLoading()
|
||
},
|
||
hasPayWord() {
|
||
console.log(11)
|
||
|
||
hasPayPassword().then((res) => {
|
||
console.log(res)
|
||
if (res.code == 0) {
|
||
this.showSetPwd = true
|
||
}
|
||
})
|
||
},
|
||
onConfirm() {
|
||
this.$refs.uModalInput.clearLoading()
|
||
this.$emit('confirm', this.pwd)
|
||
},
|
||
showInputPwd() {
|
||
setTimeout(() => {
|
||
this.pwd = ''
|
||
}, 1000)
|
||
this.showConfirm = !this.showConfirm
|
||
}
|
||
},
|
||
computed: {
|
||
...mapGetters(['userInfo']),
|
||
mobile() {
|
||
if (this.userInfo.mobile) {
|
||
return this.userInfo.mobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
|
||
}
|
||
},
|
||
showTips() {
|
||
console.log(this.userInfo)
|
||
return Boolean(!this.userInfo.mobile)
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.icon-close {
|
||
position: absolute;
|
||
top: 30rpx;
|
||
right: 30rpx;
|
||
}
|
||
</style>
|