You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

517 lines
14 KiB

3 years ago
<template>
<view class="container">
<view class="top">
<view class="topTitle">可提现金额</view>
<view class="inputs one">
¥{{mymoney}}
</view>
</view>
<view class="top">
<view class="topTitle">提现金额<span class="bangding" @click="bangding" />
<view class="zuidimoney">{{min}}{{value}}
</view>
<!-- <image class="icon"
src="https://h5.canmoujiang.com/img/20210714/bddef556a80b46c187b498e1419e267e.png"
mode="widthFix"></image>绑定支付宝 -->
</view>
<view class="inputs">
<span style="margin-right: 10rpx;">¥</span><input class="chongzhi" type="number" v-model="money"
maxlength="10" placeholder="请输入提现金额" />
</view>
<view class="ktxje">可提现金额{{mymoney}}<span @click="tixian" v-if="mymoney != 0"> 全部提现</span></view>
<view style="color: red;font-size: 24rpx;" v-if="type == 2">*注微信单笔限制最大提现额度为{{WxMaxMoney}}</view>
</view>
<view class="duihuan_view" v-if="wxCash != '否'">
<view style="padding: 5rpx 10rpx;">兑换方式 <text style="font-size: 24rpx;color: red;margin-left: 10rpx;"
v-if="shouxufei != 0 && shouxufei">提现手续费为{{shouxufei * 100}}%</text></view>
<view class="duihuan_item">
<view class="item_view" @tap="typeSelect(2)" :class="type == 2 ? 'item_view_sel' : 'item_view'">
<image src="../../static/img/share/icon_weixin.png"></image>
<view class="name">微信</view>
</view>
<view class="item_view" @tap="typeSelect(1)" :class="type == 1 ? 'item_view_sel' : 'item_view'">
<image src="https://download.cyjyyjy.com/zhifubao.png"></image>
<view class="name">支付宝</view>
</view>
</view>
</view>
<button class="btnCz" @click="getOut">立即提现</button>
<view style="display: flex;width: 100%;justify-content: center;text-align: center;margin-top: 40rpx;">
<view style="color: grey;flex:1" @click="bangding">提现账号</view>
<view style="color: grey;flex:1" @click="goDetail">提现记录</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
wxCash: '否',
type: 2,
WxMaxMoney: 0,
money: '',
mymoney: 0,
zhifubao: '',
zhifubaoName: '',
shouxufei: 0,
value: 0,
min: '',
arr: [],
showModal: true
};
},
onLoad() {
let that = this;
that.$Request.getT('/common/type/210').then(res => { //订单审核提醒
if (res.code == 0) {
if (res.data && res.data.value) {
// that.orderStart = res.data;
that.arr.push(res.data.value)
}
}
})
// 提现费率
that.$Request.getT('/common/type/114').then(res => {
if (res.code == 0) {
if (res.data && res.data.value) {
that.shouxufei = res.data.value;
}
}
});
},
onShow() {
this.WxMaxMoney = this.$queue.getData('WxMaxMoney');
this.wxCash = this.$queue.getData('wxCashSelect');
let userId = this.$queue.getData('userId');
if (userId) {
this.getUserInfointegral(userId);
this.getUserInfo(userId);
this.zhifubao = this.$queue.getData("zhifubao");
this.zhifubaoName = this.$queue.getData("zhifubaoName");
//订阅
if (this.showModal) {
this.openMsg()
}
}
this.getasdas();
},
methods: {
// 开启订阅消息
openMsg() {
var that = this
wx.getSetting({
withSubscriptions: true, //是否获取用户订阅消息的订阅状态,默认false不返回
success(ret) {
// console.log(ret,'------------------')
// console.log(Object.keys(ret.subscriptionsSetting.itemSettings).length)
// if (JSON.stringify(ret.subscriptionsSetting.itemSettings).indexOf('accept')!=-1) {
if (ret.subscriptionsSetting.itemSettings) {
uni.setStorageSync('sendjifenMsg', true)
uni.openSetting({ // 打开设置页
success(rea) {
console.log(rea.authSetting)
}
});
} else { // 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
uni.setStorageSync('sendjifenMsg', false)
uni.showModal({
title: '提示',
content: '为了更好的体验,请绑定消息推送',
confirmText: '确定',
cancelText: '取消',
success: function(res) {
if (res.confirm) {
uni.requestSubscribeMessage({
tmplIds: that.arr,
success(re) {
// console.log(re,'**********')
var datas = JSON.stringify(re);
if (datas.indexOf("accept") != -1) {
console.log(re)
}
},
fail: (res) => {
console.log(res)
}
})
that.showModal = false
} else if (res.cancel) {
that.showModal = true
}
}
})
}
}
})
},
typeSelect(type) {
if (uni.getStorageSync('sendjifenMsg')) {
uni.requestSubscribeMessage({
tmplIds: this.arr,
success(re) {
// console.log(re,'**********')
var datas = JSON.stringify(re);
if (datas.indexOf("accept") != -1) {
console.log(re)
}
},
fail: (res) => {
console.log(res)
}
})
}
this.type = type;
},
goDetail() {
uni.navigateTo({
url: '/pages/my/cashList'
});
},
getUserInfo(userId) {
this.$Request.postT("/app/selectUserById?userId=" + userId).then(res => {
if (res.code === 0) {
this.$queue.setData("avatar", res.data.imageUrl ? res.data.imageUrl :
'/static/img/logo.jpg');
this.$queue.setData("nickName", res.data.nickName ? res.data.nickName : res.data.phone);
this.$queue.setData("mobile", res.data.phone);
this.$queue.setData("invitationCode", res.data.invitationCode);
this.$queue.setData("relation_id", res.data.relationId);
this.$queue.setData("relation", res.data.invitationCode);
this.$queue.setData("grade", res.data.grade);
this.$queue.setData("wxId", res.data.wxId);
this.$queue.setData("zhifubao", res.data.zhifubao);
this.$queue.setData("zhifubaoName", res.data.zhifubaoName);
this.$queue.setData("isInvitation", res.data.isInvitation);
this.$queue.setData("gender", parseInt(res.data.gender));
this.$queue.setData("sex", res.data.sex);
this.zhifubao = this.$queue.getData("zhifubao");
this.zhifubaoName = this.$queue.getData("zhifubaoName");
} else {
this.$queue.logout();
uni.navigateTo({
url: '/pages/public/login'
});
}
uni.hideLoading();
});
},
getasdas() {
this.$Request.getT('/common/type/145').then(res => {
if (res.code == 0) {
this.min = res.data.min;
this.value = res.data.value;
}
});
},
//获取用户积分信息
getUserInfointegral(userId) {
this.$Request.getT('/goodsMerchant/selectMerchantMoney?userId=' + userId).then(res => {
if (res.code === 0) {
this.mymoney = res.data.mayMoney ? res.data.mayMoney : 0;
}
});
},
// 前往绑定
bangding() {
uni.navigateTo({
url: '/pages/member/zhifubao'
});
},
// 全部提现
tixian() {
this.money = this.mymoney
},
//校验用户输入金额
checkMobile(money) {
return RegExp(/^1[34578]\d{9}$/).test(money);
},
numFilter(value) {
// 截取当前数据到小数点后三位
let tempVal = parseFloat(value).toFixed(3)
let realVal = tempVal.substring(0, tempVal.length - 1)
return realVal
},
getOut() {
let that = this;
let token = this.$queue.getData("token");
let userId = this.$queue.getData("userId");
let cashMoney = this.$queue.getData("cashMoney");
if (token) {
if (uni.getStorageSync('sendjifenMsg')) {
uni.requestSubscribeMessage({
tmplIds: this.arr,
success(re) {
// console.log(re,'**********')
var datas = JSON.stringify(re);
if (datas.indexOf("accept") != -1) {
console.log(re)
}
},
fail: (res) => {
console.log(res)
}
})
}
if (that.zhifubao && that.zhifubaoName) {
if (!/^\d+$/.test(this.money)) {
uni.showToast({
icon: 'none',
title: '请输入正确金额,纯数字不能包含特殊字符和小数'
});
return;
}
if (parseFloat(this.mymoney).toFixed(1) >= parseFloat(this.money)) {
if (parseInt(this.value) <= parseInt(this.money)) {
if (this.type == 1) {
let contentName = '请仔细确认收款人信息\n\n姓名:' + that.zhifubaoName + '\t\t金额:' + this.money +
'元\n\n收款账号:' + that.zhifubao + '';
if (this.shouxufei != 0 && this.shouxufei) {
contentName = '请仔细确认收款人信息\n\n姓名:' + that.zhifubaoName + '\t\t金额:' + this.money +
'元\n\n收款账号:' + that.zhifubao + '\n\n手续费:' + this.numFilter(parseFloat(this.money) *
parseFloat(this.shouxufei))+ '元';
}
uni.showModal({
title: '提现申请提示',
content: contentName,
success: e => {
if (e.confirm) {
this.$queue.showLoading('提现中...');
this.$Request.postT('/userMoney/cashMoney?userId=' +
userId +
'&money=' + this.money + '&type=' + this.type)
.then(
res => {
if (res.code === 0) {
that.$queue.showToast('提现申请成功,预计三个工作日到账');
that.getUserInfointegral(userId);
} else {
uni.showModal({
title: '温馨提示',
content: res.msg,
showCancel: false,
cancelText: '取消',
confirmText: '确认'
});
}
uni.hideLoading();
});
}
}
});
} else {
if (parseInt(this.money) <= parseInt(this.WxMaxMoney)) {
let contentName = '请仔细确认收款信息\n\n金额:' + this.money + '元';
if (this.shouxufei != 0 && this.shouxufei) {
contentName = '请仔细确认收款信息\n\n金额:' + this.money + '元\n\n手续费:' + this.numFilter(
parseFloat(this.money) * parseFloat(this.shouxufei)) + '元';
}
uni.showModal({
title: '提现申请提示',
content: contentName,
success: e => {
if (e.confirm) {
this.$queue.showLoading('提现中...');
this.$Request.postT('/userMoney/cashMoney?userId=' +
userId +
'&money=' + this.money + '&type=' + this.type)
.then(
res => {
if (res.code === 0) {
that.$queue.showToast('提现申请成功,预计三个工作日到账');
that.getUserInfointegral(userId);
} else {
uni.showModal({
title: '温馨提示',
content: res.msg,
showCancel: false,
cancelText: '取消',
confirmText: '确认'
});
}
uni.hideLoading();
});
}
}
});
} else {
this.$queue.showToast('微信单次最大提现兑换额度为' + this.WxMaxMoney);
}
}
} else {
this.$queue.showToast('最低可提现金额为' + this.value + '元');
}
} else {
this.$queue.showToast("您的余额不足");
}
} else {
uni.navigateTo({
url: "/pages/member/zhifubao"
})
}
} else {
uni.navigateTo({
url: '/pages/public/login'
});
}
}
}
}
</script>
<style lang='scss'>
page {
/* background: #fff; */
}
.duihuan_view {
width: 100%;
height: max-content;
background: #FFFFFF;
margin-top: 20rpx;
.duihuan_item {
display: flex;
width: 100%;
margin-top: 20rpx;
justify-content: space-between;
.item_view {
background: #FFFFFF;
display: flex;
justify-content: center;
width: 49%;
align-items: center;
border: #999 1upx solid;
padding: 15rpx 0;
border-radius: 15rpx;
.name {
font-size: 28rpx;
color: #000000;
margin-left: 15rpx;
}
image {
width: 50rpx;
height: 50rpx;
border-radius: 50rpx;
}
}
.item_view_sel {
background: #FFFFFF;
display: flex;
justify-content: center;
width: 49%;
align-items: center;
border: #FF4701 4upx solid;
padding: 15rpx 0;
border-radius: 15rpx;
.name {
font-size: 28rpx;
color: #000000;
margin-left: 15rpx;
}
image {
width: 50rpx;
height: 50rpx;
border-radius: 50rpx;
}
}
}
}
.zuidimoney {
font-size: 24rpx;
color: #333333;
margin-left: 20rpx;
margin-top: 5rpx;
}
.container {
padding: 0 4%;
.top {
background: #fff;
margin: 30rpx 0;
border-radius: 20rpx;
padding: 20rpx;
position: relative;
.topTitle {
display: flex;
font-size: 30rpx;
line-height: 60rpx;
.bangding {
position: absolute;
right: 30rpx;
font-size: 24rpx;
color: #666;
.icon {
width: 30rpx;
}
}
}
.inputs {
display: flex;
margin: 10rpx 0;
font-size: 44rpx;
color: #333;
height: 70rpx;
align-items: center;
font-weight: bold;
border-bottom: 1rpx solid #E6E6E6;
/* position: relative; */
.chongzhi {
width: 80%;
height: 70rpx;
}
}
.one {
border-bottom: none;
.yuan {
font-size: 28rpx;
}
.kyje {
position: absolute;
bottom: 0;
right: 0;
font-size: 24rpx;
color: #666;
.je {
color: #FF4701;
}
}
}
.ktxje {
span {
color: #FF4701;
}
}
}
.btnCz {
margin-top: 50rpx;
border: none;
background: #FF4701;
color: #fff;
}
}
</style>