first commit
This commit is contained in:
373
me/invite/cashDetail.vue
Normal file
373
me/invite/cashDetail.vue
Normal file
@@ -0,0 +1,373 @@
|
||||
<template>
|
||||
<view class="cash">
|
||||
<view
|
||||
style="background-color: #ff7581;height: 400upx;border-bottom-right-radius: 40upx;border-bottom-left-radius: 40upx;">
|
||||
<view style="font-size: 32upx;color: #FFFFFF;padding-top: 100upx;">可提现总额</view>
|
||||
<view style="font-size: 40upx;color: #FFFFFF;padding-top: 20upx;">¥ {{mayMoney}}</view>
|
||||
|
||||
<view
|
||||
style="width: 90%;height: max-content;margin-left: 40upx;background-color: #FFFFFF;box-shadow: rgba(183, 183, 183, 0.3) 0px 1px 10px;margin-top: 50upx;border-radius: 20upx;">
|
||||
<view style="display: flex;flex-direction: row;padding: 20upx;">
|
||||
<view style="font-size: 32upx;color: #333333;">提现金额 <text style="font-size: 28upx;color: #ff7581;"
|
||||
v-if="shouxufei">(注:提现手续费为{{shouxufei * 100}}%)</text>
|
||||
</view>
|
||||
</view>
|
||||
<view style="display: flex;flex-direction: row;padding: 20upx;">
|
||||
<view style="font-size: 40upx;color: #333333;">¥</view>
|
||||
<input type="number" v-model="money" placeholder="请输入金额"
|
||||
style="font-size: 40upx;color: #333333;text-align: left;margin-left: 10upx;width: 100%;" />
|
||||
</view>
|
||||
<view style="background: #E6E6E6;width: 100%;height: 1upx;"></view>
|
||||
|
||||
<view style="display: flex;flex-direction: row;flex-wrap: wrap;">
|
||||
<view style="display: flex;flex-direction: row;" v-for="(item, index) in moneyList" :key="index">
|
||||
<view>
|
||||
<view style="padding: 20upx;" @click="getOut1(item.money)">
|
||||
<view
|
||||
style="padding-top: 40upx;width: 180upx; height: 120upx;background-color: #FFFFFF;border:1px solid #ff7581;border-radius: 10upx;">
|
||||
{{ item.money }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view @click="getOut"
|
||||
style="margin: 32upx;font-size: 18px;background: #ff7581;color: white;border-radius: 10px;height: 40px;line-height: 40px">
|
||||
提现
|
||||
</view>
|
||||
|
||||
<view style="display: flex;width: 100%;justify-content: center;">
|
||||
<view style="color: grey;padding-bottom: 30px;padding-top: 20upx;width: 33%;" @click="goZhifuBao">提现账号
|
||||
</view>
|
||||
<view style="color: grey;padding-bottom: 30px;padding-top: 20upx;width: 33%;" @click="goqianbao">钱包明细
|
||||
</view>
|
||||
<view style="color: grey;padding-bottom: 30px;padding-top: 20upx;width: 33%;" @click="gojilu">提现记录
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
money: '',
|
||||
mayMoney: '0',
|
||||
shouxufei: '',
|
||||
moneyList: [{
|
||||
money: '10'
|
||||
},
|
||||
{
|
||||
money: '20'
|
||||
},
|
||||
{
|
||||
money: '50'
|
||||
},
|
||||
{
|
||||
money: '100'
|
||||
},
|
||||
{
|
||||
money: '200'
|
||||
},
|
||||
{
|
||||
money: '500'
|
||||
}
|
||||
],
|
||||
value: 0,
|
||||
min: '',
|
||||
token: '',
|
||||
userId: '',
|
||||
zhifubao: '',
|
||||
zhifubaoName: '',
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
this.getshouxufei();
|
||||
},
|
||||
onShow() {
|
||||
this.token = uni.getStorageSync('token')
|
||||
this.userId = uni.getStorageSync('userId')
|
||||
this.zhifubao = uni.getStorageSync('zhiFuBao')
|
||||
this.zhifubaoName = uni.getStorageSync('zhiFuBaoName')
|
||||
|
||||
|
||||
this.getcashMoney()
|
||||
|
||||
},
|
||||
onNavigationBarButtonTap() {
|
||||
// this.list();
|
||||
},
|
||||
methods: {
|
||||
//获取收取费
|
||||
getshouxufei() {
|
||||
this.$u.get('app/common/type/152').then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data && res.data.value) {
|
||||
this.shouxufei = res.data.value;
|
||||
}
|
||||
}
|
||||
});
|
||||
this.$u.get('app/common/type/112').then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data && res.data.value) {
|
||||
this.cashMoney = res.data.value;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
// 可提现金额
|
||||
getcashMoney() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
limit: this.limit
|
||||
}
|
||||
this.$u.api.queryInviter(data).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.mayMoney = res.data.inviteMoney.money
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
// 提现记录
|
||||
gojilu() {
|
||||
uni.navigateTo({
|
||||
url: '/me/invite/cashList'
|
||||
});
|
||||
},
|
||||
//钱包明细
|
||||
goqianbao() {
|
||||
uni.navigateTo({
|
||||
url: '/me/invite/moneyList'
|
||||
});
|
||||
},
|
||||
list() {
|
||||
// uni.navigateTo({
|
||||
// url: '/me/invite/cashList'
|
||||
// })
|
||||
},
|
||||
goZhifuBao() {
|
||||
uni.navigateTo({
|
||||
url: '/me/invite/zhifubao'
|
||||
});
|
||||
},
|
||||
getMoney() {
|
||||
let that = this;
|
||||
let token = that.token
|
||||
let userId = that.userId
|
||||
if (token) {
|
||||
//this.$queue.showLoading("加载中...");
|
||||
//可以提现金额查询预估收入查询
|
||||
let data = {
|
||||
money: that.money
|
||||
}
|
||||
this.$u.api.cashMoney(data).then(res => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title: '提现申请成功,预计三个工作日到账',
|
||||
icon: 'none'
|
||||
})
|
||||
that.money = ''
|
||||
setTimeout(function() {
|
||||
that.getcashMoney()
|
||||
}, 1500)
|
||||
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
//校验用户输入金额
|
||||
checkMobile(money) {
|
||||
return RegExp(/^1[34578]\d{9}$/).test(money);
|
||||
},
|
||||
getOut() {
|
||||
let that = this;
|
||||
let token = that.token
|
||||
let userId = that.userId
|
||||
console.log(token)
|
||||
let cashMoney = that.cashMoney;
|
||||
|
||||
if (token) {
|
||||
if (that.zhifubao && that.zhifubaoName) {
|
||||
if (!/^\d+$/.test(that.money)) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '请输入正确金额,不能包含中文,英文,特殊字符和小数'
|
||||
});
|
||||
return;
|
||||
}
|
||||
let shouxufei = parseFloat(that.money * that.shouxufei).toFixed(2);
|
||||
if (parseFloat(that.mayMoney).toFixed(1) >= parseFloat(that.money) + shouxufei * 1) {
|
||||
if (parseFloat(that.money).toFixed(1) >= parseFloat(cashMoney)) {
|
||||
if (that.shouxufei > 0) {
|
||||
|
||||
uni.showModal({
|
||||
title: "提现申请提示",
|
||||
content: '请仔细确认收款人信息\n\n收款人姓名:' + that.zhifubaoName + '\n\n提现金额:' + that
|
||||
.money + '元\n\n提现手续费:' + shouxufei +
|
||||
'\n\n收款人账号:' + that.zhifubao + '',
|
||||
success: (e) => {
|
||||
if (e.confirm) {
|
||||
// that.money = money
|
||||
that.getMoney();
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: "提现申请提示",
|
||||
content: '请仔细确认收款人信息\n\n收款人姓名:' + that.zhifubaoName + '\n\n提现金额:' + that
|
||||
.money + '元\n\n收款人账号:' + that.zhifubao +
|
||||
'',
|
||||
success: (e) => {
|
||||
if (e.confirm) {
|
||||
// that.money = money
|
||||
that.getMoney();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
} else {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: "提现金额必须大于或等于" + cashMoney + "元才可提现"
|
||||
});
|
||||
}
|
||||
} else {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: "您的余额不足"
|
||||
});
|
||||
}
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/me/invite/zhifubao"
|
||||
})
|
||||
}
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login/login'
|
||||
});
|
||||
}
|
||||
},
|
||||
getOut1(money) {
|
||||
let that = this;
|
||||
let token = that.token
|
||||
let userId = that.userId
|
||||
if (token) {
|
||||
if (that.zhifubao && that.zhifubaoName) {
|
||||
if (parseFloat(this.mayMoney).toFixed(1) >= parseFloat(money)) {
|
||||
if (parseFloat(money).toFixed(1) >= 10) {
|
||||
if (this.shouxufei > 0) {
|
||||
let shouxufei = parseFloat(money * this.shouxufei).toFixed(2);
|
||||
uni.showModal({
|
||||
title: '提现申请提示',
|
||||
content: '请仔细确认收款人信息\n\n收款人姓名:' + that.zhifubaoName + '\n\n提现金额:' + money +
|
||||
'元\n\n提现手续费:' + shouxufei +
|
||||
'\n\n收款人账号:' + that.zhifubao + '',
|
||||
confirmColor: '#ff7581',
|
||||
success: e => {
|
||||
if (e.confirm) {
|
||||
this.money = money
|
||||
that.getMoney();
|
||||
// uni.showToast({
|
||||
// icon: 'none',
|
||||
// title: '提现成功'
|
||||
// })
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '提现申请提示',
|
||||
content: '请仔细确认收款人信息\n\n收款人姓名:' + that.zhifubaoName + '\n\n提现金额:' + money +
|
||||
'元\n\n收款人账号:' + that.zhifubao +
|
||||
'',
|
||||
success: e => {
|
||||
if (e.confirm) {
|
||||
this.money = money
|
||||
that.getMoney();
|
||||
// uni.showToast({
|
||||
// icon: 'none',
|
||||
// title: '提现成功'
|
||||
// })
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '提现金额必须大于或等于10元才可提现'
|
||||
});
|
||||
}
|
||||
} else {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '您的余额不足'
|
||||
});
|
||||
}
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/me/invite/zhifubao'
|
||||
});
|
||||
}
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login/login'
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
// @import '../../static/css/index.css';
|
||||
|
||||
.view2-view-text {
|
||||
font-size: 14px;
|
||||
color: #000000;
|
||||
margin-left: 20upx;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.view2-view-image-right {
|
||||
width: 18upx;
|
||||
height: 30upx;
|
||||
margin-left: 50upx;
|
||||
}
|
||||
|
||||
.cash {
|
||||
text-align: center;
|
||||
background: white;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
|
||||
.cash-top {
|
||||
padding: 32upx 32upx 50upx 32upx;
|
||||
/* border-bottom: 1px solid gainsboro; */
|
||||
background: #5074FF;
|
||||
}
|
||||
|
||||
.leiji {
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
137
me/invite/cashList.vue
Normal file
137
me/invite/cashList.vue
Normal file
@@ -0,0 +1,137 @@
|
||||
<template>
|
||||
<view style="text-align: left">
|
||||
<view v-if="list.length" v-for="(item, index) in list" :key="index" class="item">
|
||||
<view>
|
||||
<view style="margin-bottom: 8upx;text-align: right;">
|
||||
<text style="margin-bottom: 8upx;color: green" v-if="item.state==1"> 提现成功</text>
|
||||
<text style="margin-bottom: 8upx;color: green" v-if="item.state==0"> 提现中</text>
|
||||
<text style="margin-bottom: 8upx;color: #FD6416" v-if="item.state==-1"> 提现失败</text>
|
||||
</view>
|
||||
|
||||
<view style="color: #999999;font-size: 28upx;">
|
||||
<view style="margin-bottom: 8upx"> 收款人账号:{{item.zhifubao}}</view>
|
||||
<view style="margin-bottom: 8upx"> 收款人姓名:{{item.zhifubaoName}}</view>
|
||||
<view style="margin-bottom: 8upx"> 发起时间:{{item.createAt}}</view>
|
||||
<view style="margin-bottom: 8upx" v-if="item.state==1">成功时间 {{item.outAt}}</view>
|
||||
<view style="margin-bottom: 8upx;color: #FD6416" v-if="item.state==-1">{{item.refund}}</view>
|
||||
|
||||
<view style="margin-bottom: 8upx;text-align: right;">
|
||||
<!-- 提现金额: -->
|
||||
<text style="color: #FD6416;font-size: 32upx;font-weight: 600"> ¥{{item.money}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="page-box" v-if="!list.length">
|
||||
<view class="centre">
|
||||
<image src="../../static/images/learn/none.png" mode=""></image>
|
||||
<view class="tips">
|
||||
暂无记录
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
page: 1,
|
||||
limit: 10
|
||||
}
|
||||
},
|
||||
onLoad: function(e) {
|
||||
this.getMoney();
|
||||
},
|
||||
|
||||
methods: {
|
||||
getMoney() {
|
||||
let that = this;
|
||||
let token = uni.getStorageSync('token')
|
||||
|
||||
if (token) {
|
||||
//可以提现金额查询预估收入查询
|
||||
let data = {
|
||||
page: that.page,
|
||||
limit: that.limit
|
||||
}
|
||||
that.$u.api.selectPay(data).then(res => {
|
||||
if (that.page == 1) {
|
||||
that.list = res.data.list
|
||||
uni.stopPullDownRefresh();
|
||||
return
|
||||
}
|
||||
that.list = res.data.list;
|
||||
})
|
||||
// this.$Request.getT("/cash/selectCashOutList/" + userId).then(res => {
|
||||
// if (res.status === 0 && res.data) {
|
||||
// that.list = res.data;
|
||||
// }
|
||||
// uni.hideLoading();
|
||||
// });
|
||||
}
|
||||
|
||||
},
|
||||
},
|
||||
onReachBottom: function() {
|
||||
this.page = this.page + 1;
|
||||
this.getMoney();
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
// that.list = []
|
||||
this.getMoney();
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='scss' scoped>
|
||||
/* @import "../../static/css/index.css"; */
|
||||
|
||||
page {
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
.item {
|
||||
background: white;
|
||||
padding: 32rpx;
|
||||
margin: 32rpx;
|
||||
font-size: 28rpx;
|
||||
box-shadow: 7px 9px 34px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 16upx;
|
||||
}
|
||||
|
||||
.centre {
|
||||
text-align: center;
|
||||
margin: 200rpx auto;
|
||||
font-size: 32rpx;
|
||||
|
||||
image {
|
||||
width: 360rpx;
|
||||
height: 360rpx;
|
||||
// margin-bottom: 20rpx;
|
||||
margin: 0 auto 20rpx;
|
||||
// border: 1px dotted #000000;
|
||||
}
|
||||
|
||||
.tips {
|
||||
font-size: 34rpx;
|
||||
color: #999999;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.btn {
|
||||
margin: 80rpx auto;
|
||||
width: 600rpx;
|
||||
border-radius: 32rpx;
|
||||
line-height: 90rpx;
|
||||
color: #ffffff;
|
||||
font-size: 34rpx;
|
||||
background: #ff7581;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
768
me/invite/index.vue
Normal file
768
me/invite/index.vue
Normal file
@@ -0,0 +1,768 @@
|
||||
<!-- 我的邀请 -->
|
||||
<template>
|
||||
<view>
|
||||
<u-image src="/me/static/invite/juxing.png" alt="" width="100%" mode="widthFix"></u-image>
|
||||
<view class="padding" style="position: relative;height: 360rpx;">
|
||||
<u-image src="@/me/static/invite/fenxiang.png" alt="" width="100%" height="100%"></u-image>
|
||||
<view class="text-center padding-top yaoqing">
|
||||
<view class="margin-top-xl margin-bottom-sm padding-top-sm text-xxl text-red text-bold">
|
||||
{{invitationCode}}
|
||||
</view>
|
||||
<!-- #ifdef H5 -->
|
||||
<u-button @tap="sharurl" :custom-style="customStyle" :hair-line="false" shape="circle" size="mini"
|
||||
:ripple="true">一键分享</u-button>
|
||||
<!-- #endif -->
|
||||
|
||||
<!-- #ifdef APP -->
|
||||
<u-button @tap="sharurl" :custom-style="customStyle" :hair-line="false" shape="circle" size="mini"
|
||||
:ripple="true">一键分享</u-button>
|
||||
<!-- #endif -->
|
||||
|
||||
<!-- #ifdef MP-TOUTIAO || MP-KUAISHOU -->
|
||||
<u-button open-type="share" :custom-style="customStyle" :hair-line="false" shape="circle" size="mini"
|
||||
:ripple="true">一键分享</u-button>
|
||||
<!-- #endif -->
|
||||
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<u-button open-type="share" :custom-style="customStyle" :hair-line="false" shape="circle" size="mini"
|
||||
:ripple="true">一键分享</u-button>
|
||||
<!-- #endif -->
|
||||
<!-- #ifndef MP-KUAISHOU -->
|
||||
<u-button style="margin-left: 50rpx;" @click.stop="onSaveImg()" :custom-style="customStyle"
|
||||
:hair-line="false" shape="circle" size="mini" :ripple="true">保存海报</u-button>
|
||||
<!-- #endif -->
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="margin padding bg-white radius" v-if="inviterList.length">
|
||||
<view class="flex justify-between" style="line-height: 80rpx;" v-for="(item, index) in inviterList"
|
||||
:key='index'>
|
||||
<view class="flex">
|
||||
<!-- <u-image :src="item.avatar == null?avatar:item.avatar" width="40px" mode="widthFix"></u-image> -->
|
||||
<image src="../static/invite/5.png" style="width: 80rpx;" mode="widthFix"></image>
|
||||
<text class="margin-left-sm">{{item.userName}}</text>
|
||||
</view>
|
||||
<view style="width: 160rpx;">
|
||||
<text>获得</text>
|
||||
<text class="margin-left-xs text-red">{{item.money}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding" style="position: relative;height: 160px;">
|
||||
<u-image src="@/me/static/invite/yaoqing.png" alt="" width="100%" height="100%"></u-image>
|
||||
<view class="text-center padding-top flex justify-center flex-direction zhanji">
|
||||
<view class="flex justify-around margin-top-sm" @click="goNav('/me/invite/inviteDet')">
|
||||
<view>
|
||||
<view class="margin-bottom-sm">已邀请</view>
|
||||
<view class="text-red"><text class="text-bold u-font-18">{{inviterNumber}}</text>人</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="margin-bottom-sm">累计收益</view>
|
||||
<view class="text-red"><text class="text-bold u-font-18">{{cumulativeRevenue}}</text>元</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="margin-bottom-sm">已提现</view>
|
||||
<view class="text-red">¥<text class="text-bold u-font-18">{{withdrawn}}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding" style="position: relative;height: 250rpx;">
|
||||
<u-image src="@/me/static/invite/jiqiao.png" alt="" width="100%" height="100%"></u-image>
|
||||
<view class="padding-top jiqiao" style="">
|
||||
<view class="padding-top-xl padding-lr padding-bottom" style="line-height: 48rpx;">
|
||||
<block v-if="price2==0">
|
||||
<view class="flex padding-sm" style="background-color: #ffffff;">
|
||||
<text class="cuIcon-title text-yellow"></text>
|
||||
<view>邀请好友可得开通会员及消费金额 {{price}}%的佣金奖励</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="flex padding-sm" style="background-color: #ffffff;">
|
||||
<text class="cuIcon-title text-yellow"></text>
|
||||
<view>可得一级好友开通会员及消费金额 {{price}}%的佣金奖励</view>
|
||||
</view>
|
||||
<view class="flex padding-sm" style="background-color: #ffffff;">
|
||||
<text class="cuIcon-title text-yellow"></text>
|
||||
<view>可得二级好友开通会员及消费金额 {{price2}}%的佣金奖励</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<tki-qrcode ref="qrcode" :val="erweima" :size="200" background="#fff" foreground="#000" pdground="#000"
|
||||
:onval="true" :loadMake="true" @result="qrR" :show="false"></tki-qrcode>
|
||||
<view class="cu-modal" :class="modalName == 'Image' ? 'show' : ''" @tap="hideModal">
|
||||
<view class="cu-dialog" v-if="bgImg && erweimapath && haibaoShow" @tap="hideModal">
|
||||
<view class="bg-img">
|
||||
<wm-poster @success="posterSuccess" @successH5="successH5" :imgSrc="bgImg"
|
||||
:Referrer="'我的邀请码:'+invitationCode" :QrSrc="erweimapath" :LineType="false"></wm-poster>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
let settingWritePhotosAlbum = false;
|
||||
import tkiQrcode from '../../components/tki-qrcode/tki-qrcode.vue';
|
||||
import wmPoster from '../components/wm-poster/wm-posterorders.vue';
|
||||
import config from '../../common/config.js'
|
||||
export default {
|
||||
components: {
|
||||
tkiQrcode,
|
||||
wmPoster
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
erweimapath: '',
|
||||
poster: {},
|
||||
qrShow: false,
|
||||
haibaoImg: null,
|
||||
haibaoShow: false,
|
||||
modalName: '',
|
||||
canvasId: 'default_PosterCanvasId',
|
||||
avatar: '../../static/images/logo.png',
|
||||
customStyle: {
|
||||
background: '#FFE0E0',
|
||||
border: '0',
|
||||
color: 'rgb(254,30,35)',
|
||||
fontSize: '12px',
|
||||
fontWeight: '500',
|
||||
padding: '15px 20px',
|
||||
},
|
||||
page: 1,
|
||||
limit: 10,
|
||||
inviterName: '', //邀请码
|
||||
cumulativeRevenue: '', //累计收益
|
||||
inviterNumber: '', //邀请人数
|
||||
withdrawn: '', //已提现
|
||||
inviterList: [],
|
||||
erweima: '',
|
||||
bgImg: '',
|
||||
tuiguang: '',
|
||||
invitationCode: 0,
|
||||
price: 0,
|
||||
price2: 0,
|
||||
h5SaveImg: '',
|
||||
modalName: '',
|
||||
haibaoImgH5: '',
|
||||
qdCode: '', //渠道码
|
||||
}
|
||||
},
|
||||
onShareAppMessage(res) {
|
||||
return {
|
||||
path: '/pages/index/index?invitation=' + this.invitationCode + '&qdCode=' + this
|
||||
.qdCode, //这是为了传参 onload(data){let id=data.id;}
|
||||
title: this.tuiguang,
|
||||
imageUrl: this.bgImg
|
||||
}
|
||||
},
|
||||
onShareTimeline(res) {
|
||||
return {
|
||||
path: '/pages/index/index?invitation=' + this.invitationCode + '&qdCode=' + this
|
||||
.qdCode, //这是为了传参 onload(data){let id=data.id;}
|
||||
title: this.tuiguang,
|
||||
imageUrl: this.bgImg
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getInviter()
|
||||
this.queryInviter()
|
||||
|
||||
this.invitationCode = uni.getStorageSync('invitationCode')
|
||||
this.getUserInfoBl()
|
||||
this.getBgImg()
|
||||
if (uni.getStorageSync('qdCode')) {
|
||||
this.qdCode = uni.getStorageSync('qdCode')
|
||||
}
|
||||
// h5携带邀请码去首页
|
||||
// #ifdef H5
|
||||
this.erweima = config.APIHOST2 + '/?invitation=' + this
|
||||
.invitationCode + '&qdCode=' + this.qdCode
|
||||
// #endif
|
||||
// app直接去app注册页面
|
||||
// #ifdef APP
|
||||
this.erweima = config.APIHOST2 + '/pages/login/registerApp/?invitation=' + this
|
||||
.invitationCode + '&qdCode=' + this.qdCode
|
||||
// #endif
|
||||
// #ifdef MP-WEIXIN
|
||||
this.getWxEq()
|
||||
// #endif
|
||||
// #ifdef MP-TOUTIAO
|
||||
this.getTouTiao()
|
||||
// #endif
|
||||
},
|
||||
methods: {
|
||||
//获取用户分销比例
|
||||
getUserInfoBl() {
|
||||
this.$Request.getT('/app/user/selectUserById').then(res => {
|
||||
if (res.code == 0) {
|
||||
//一级分销
|
||||
if (res.data.rate) {
|
||||
this.price = (Number(res.data.rate) * 100).toFixed(0)
|
||||
} else {
|
||||
this.price = 0
|
||||
}
|
||||
//二级分销
|
||||
if (res.data.twoRate) {
|
||||
this.price2 = (Number(res.data.twoRate) * 100).toFixed(0)
|
||||
} else {
|
||||
this.price2 = 0
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取头条二维码
|
||||
getTouTiao() {
|
||||
let that = this
|
||||
uni.downloadFile({
|
||||
url: config.APIHOST +
|
||||
'/app/invite/dyCreateQr?invitationCode=' + that
|
||||
.invitationCode + ',' + that.qdCode + '&page=/pages/index/index',
|
||||
success: (res) => {
|
||||
console.log(res)
|
||||
if (res.statusCode === 200) {
|
||||
that.erweimapath = res.tempFilePath
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err)
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
//获取微信二维码
|
||||
getWxEq() {
|
||||
let that = this
|
||||
uni.downloadFile({
|
||||
url: config.APIHOST +
|
||||
'/app/invite/mpCreateQr?invitationCode=' + that
|
||||
.invitationCode + ',' + that.qdCode,
|
||||
success: (res) => {
|
||||
console.log(res)
|
||||
if (res.statusCode === 200) {
|
||||
that.erweimapath = res.tempFilePath
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err)
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
sharurl() {
|
||||
let that = this;
|
||||
uni.showModal({
|
||||
title: '链接推广',
|
||||
content: this.tuiguang + this.erweima,
|
||||
showCancel: true,
|
||||
cancelText: '关闭',
|
||||
confirmText: '一键复制',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
uni.setClipboardData({
|
||||
data: this.tuiguang + this.erweima,
|
||||
success: function() {
|
||||
console.log('success');
|
||||
uni.showToast({
|
||||
title: '复制成功',
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
posterSuccess(haibaoImg) {
|
||||
this.haibaoImg = haibaoImg;
|
||||
this.modalName = 'Image';
|
||||
uni.hideLoading();
|
||||
},
|
||||
successH5(haibaoImg) {
|
||||
this.haibaoImgH5 = haibaoImg
|
||||
uni.previewImage({
|
||||
urls: [haibaoImg],
|
||||
current: 1,
|
||||
})
|
||||
},
|
||||
showModal() {
|
||||
// #ifndef H5
|
||||
if (!this.haibaoImg) {
|
||||
this.haibaoShow = true;
|
||||
uni.showLoading({
|
||||
title: '海报生成中'
|
||||
});
|
||||
} else {
|
||||
this.modalName = 'Image';
|
||||
}
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
let ua = navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf('micromessenger') !== -1) {
|
||||
//微信浏览器
|
||||
if (!this.haibaoImg) {
|
||||
this.haibaoShow = true;
|
||||
uni.showLoading({
|
||||
title: '海报生成中'
|
||||
});
|
||||
} else {
|
||||
this.modalName = 'Image';
|
||||
}
|
||||
} else {
|
||||
if (!this.haibaoImgH5) {
|
||||
this.haibaoShow = true;
|
||||
uni.showLoading({
|
||||
title: '海报生成中'
|
||||
});
|
||||
} else {
|
||||
uni.previewImage({
|
||||
urls: [this.haibaoImgH5],
|
||||
current: 1,
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
hideModal() {
|
||||
this.modalName = null;
|
||||
},
|
||||
qrR(path) {
|
||||
this.erweimapath = path;
|
||||
},
|
||||
getInviter() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
limit: this.limit
|
||||
}
|
||||
this.$u.api.inviter(data).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.inviterList = res.data.list
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
queryInviter() {
|
||||
this.$u.api.queryInviter().then(res => {
|
||||
if (res.code == 0) {
|
||||
this.cumulativeRevenue = res.data.inviteMoney.moneySum //累计收益
|
||||
this.inviterNumber = res.data.inviteCount //邀请人数
|
||||
this.withdrawn = res.data.inviteMoney.cashOut //已提现
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
goNav(e) {
|
||||
uni.navigateTo({
|
||||
url: e
|
||||
})
|
||||
},
|
||||
|
||||
//获取背景图
|
||||
getBgImg() {
|
||||
this.$u.get('app/banner/selectBannerList?classify=5').then(res => {
|
||||
if (res.code == 0) {
|
||||
this.bgImg = res.data[0].imageUrl
|
||||
this.tuiguang = res.data[0].describes
|
||||
console.log(this.bgImg)
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//生成h5海报
|
||||
createH5Poster() {
|
||||
let that = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.showLoading({
|
||||
title: '海报生成中'
|
||||
});
|
||||
const ctx = uni.createCanvasContext('poster');
|
||||
ctx.fillRect(0, 0, 375, 673);
|
||||
ctx.setFillStyle("#FFF");
|
||||
ctx.fillRect(0, 0, 375, 673);
|
||||
let imgUrl = that.bgImg;
|
||||
uni.downloadFile({
|
||||
url: imgUrl,
|
||||
success: (res) => {
|
||||
console.log(res, '***************')
|
||||
if (res.statusCode === 200) {
|
||||
uni.downloadFile({
|
||||
url: that.erweima,
|
||||
success: (res2) => {
|
||||
console.log(res2)
|
||||
if (res.statusCode === 200) {
|
||||
ctx.drawImage(res.tempFilePath, 0, 0, 375,
|
||||
500);
|
||||
// 长按识别二维码访问
|
||||
let textTop = 0;
|
||||
ctx.setFontSize(19);
|
||||
ctx.setFillStyle('#333');
|
||||
ctx.fillText("长按识别图中二维码", 17, textTop + 590);
|
||||
// 二维码
|
||||
ctx.drawImage(res2.tempFilePath, 238, textTop +
|
||||
526, 120, 120);
|
||||
ctx.draw(true, () => {
|
||||
// canvas画布转成图片并返回图片地址
|
||||
uni.canvasToTempFilePath({
|
||||
canvasId: 'poster',
|
||||
width: 375,
|
||||
height: 673,
|
||||
success: (res) => {
|
||||
console.log(
|
||||
"海报制作成功!"
|
||||
);
|
||||
resolve(res
|
||||
.tempFilePath
|
||||
);
|
||||
},
|
||||
fail: () => {
|
||||
uni
|
||||
.hideLoading();
|
||||
reject();
|
||||
}
|
||||
})
|
||||
});
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err)
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
},
|
||||
complete: com => {
|
||||
console.log(com)
|
||||
uni.showToast({
|
||||
title: com,
|
||||
icon: 'none'
|
||||
});
|
||||
},
|
||||
});
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
// that.yu.toast(err)
|
||||
console.log(err)
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none',
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
//生成海报
|
||||
createPoster() {
|
||||
let that = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.showLoading({
|
||||
title: '海报生成中'
|
||||
});
|
||||
const ctx = uni.createCanvasContext('poster');
|
||||
ctx.fillRect(0, 0, 375, 673);
|
||||
ctx.setFillStyle("#FFF");
|
||||
ctx.fillRect(0, 0, 375, 673);
|
||||
let imgUrl = that.bgImg;
|
||||
uni.downloadFile({
|
||||
url: imgUrl,
|
||||
success: (res) => {
|
||||
console.log(res, '***************')
|
||||
if (res.statusCode === 200) {
|
||||
uni.downloadFile({
|
||||
url: config.APIHOST +
|
||||
'/app/invite/mpCreateQr?invitationCode=' + that
|
||||
.invitationCode,
|
||||
// url: 'https://jiaoyu.xianmxkj.com/sqx_fast/app/invite/mpCreateQr?invitationCode=' +
|
||||
// that.invitationCode,
|
||||
success: (res2) => {
|
||||
console.log(res2)
|
||||
if (res.statusCode === 200) {
|
||||
ctx.drawImage(res.tempFilePath, 0, 0, 375,
|
||||
500);
|
||||
// 长按识别二维码访问
|
||||
let textTop = 0;
|
||||
ctx.setFontSize(19);
|
||||
ctx.setFillStyle('#333');
|
||||
ctx.fillText("长按识别图中二维码", 17, textTop + 590);
|
||||
// 二维码
|
||||
ctx.drawImage(res2.tempFilePath, 238, textTop +
|
||||
526, 120, 120);
|
||||
ctx.draw(true, () => {
|
||||
// canvas画布转成图片并返回图片地址
|
||||
uni.canvasToTempFilePath({
|
||||
canvasId: 'poster',
|
||||
width: 375,
|
||||
height: 673,
|
||||
success: (res) => {
|
||||
console.log(
|
||||
"海报制作成功!"
|
||||
);
|
||||
resolve(res
|
||||
.tempFilePath
|
||||
);
|
||||
},
|
||||
fail: () => {
|
||||
uni
|
||||
.hideLoading();
|
||||
reject();
|
||||
}
|
||||
})
|
||||
});
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err)
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
},
|
||||
complete: com => {
|
||||
console.log(com)
|
||||
uni.showToast({
|
||||
title: com,
|
||||
icon: 'none'
|
||||
});
|
||||
},
|
||||
});
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
// that.yu.toast(err)
|
||||
console.log(err)
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none',
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
// 保存图片
|
||||
async onSaveImg() {
|
||||
this.showModal();
|
||||
return
|
||||
// #ifndef MP-WEIXIN
|
||||
this.showModal();
|
||||
// #endif
|
||||
|
||||
// #ifdef MP-WEIXIN
|
||||
let imgUrl = await this.createPoster();
|
||||
uni.showLoading({
|
||||
title: '海报下载中'
|
||||
});
|
||||
if (settingWritePhotosAlbum) {
|
||||
uni.getSetting({
|
||||
success: res => {
|
||||
if (res.authSetting['scope.writePhotosAlbum']) {
|
||||
uni.saveImageToPhotosAlbum({
|
||||
filePath: imgUrl,
|
||||
success: () => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '保存成功'
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '请先在设置页面打开“保存相册”使用权限',
|
||||
confirmText: '去设置',
|
||||
cancelText: '算了',
|
||||
success: data => {
|
||||
if (data.confirm) {
|
||||
uni.hideLoading();
|
||||
uni.openSetting();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
settingWritePhotosAlbum = true;
|
||||
uni.authorize({
|
||||
scope: 'scope.writePhotosAlbum',
|
||||
success: () => {
|
||||
uni.saveImageToPhotosAlbum({
|
||||
filePath: imgUrl,
|
||||
success: () => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '保存成功'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.modal {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 1110;
|
||||
opacity: 0;
|
||||
outline: 0;
|
||||
text-align: center;
|
||||
-ms-transform: scale(1.185);
|
||||
transform: scale(1.185);
|
||||
backface-visibility: hidden;
|
||||
perspective: 2000upx;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
transition: all 0.3s ease-in-out 0s;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.modal.show {
|
||||
opacity: 1;
|
||||
transition-duration: 0.3s;
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1);
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
page {
|
||||
background: #E0EFFF;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.poster_canvas {
|
||||
width: 750upx;
|
||||
height: 1334upx;
|
||||
position: fixed;
|
||||
top: -10000upx;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.yaoqing {
|
||||
width: 100%;
|
||||
height: 136px;
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
/* background-image: url('@/me/static/invite/fenxiang.png'); */
|
||||
/* background-size: 100%; */
|
||||
/* background-repeat: no-repeat; */
|
||||
}
|
||||
|
||||
.zhanji {
|
||||
width: 100%;
|
||||
height: 119px;
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
/* background-image: url('@/me/static/invite/yaoqing.png'); */
|
||||
/* background-size: 100%; */
|
||||
/* background-repeat: no-repeat; */
|
||||
}
|
||||
|
||||
.jiqiao {
|
||||
width: 100%;
|
||||
height: 160rpx;
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
/* background-image: url('@/me/static/invite/jiqiao.png');
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat; */
|
||||
}
|
||||
</style>
|
||||
144
me/invite/inviteDet.vue
Normal file
144
me/invite/inviteDet.vue
Normal file
@@ -0,0 +1,144 @@
|
||||
<template>
|
||||
<view style="padding-bottom: 50rpx;">
|
||||
<view class="padding margin radius bg-white" style="">
|
||||
<view class="text-19">当前收益</view>
|
||||
<view class="flex justify-between margin-top">
|
||||
<view class="text-bold text-black">¥<text style="font-size: 34px;">{{inviterRecord}}</text></view>
|
||||
<view class="" style="position: relative;overflow: hidden;width: 90px;">
|
||||
<view style="position: absolute;bottom:0;">
|
||||
<!-- <view class="flex"> -->
|
||||
<button @tap="getOut" class="cu-btn round">立即提现</button>
|
||||
<!-- </view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="margin padding bg-white radius">
|
||||
<view class="u-font-16 text-bold margin-bottom">邀请明细</view>
|
||||
<!-- <view class="flex justify-between" style="line-height: 30px;" v-for="(item,index) in userList" >
|
||||
<view class="flex" style="width: 300rpx;">
|
||||
<u-image :src="item.avatar" width="30px" mode="widthFix"></u-image>
|
||||
<view class="margin-left-sm userName_view">{{item.userName}}</view>
|
||||
</view>
|
||||
<view style="width: 120rpx;">邀请好友</view>
|
||||
<view style="width: 120rpx;">
|
||||
<text class="margin-left text-red">赚{{item.money}}</text>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="flex justify-between align-center" style="margin-bottom: 40rpx;"
|
||||
v-for="(item,index) in userList">
|
||||
<view class="flex align-center">
|
||||
<image :src="item.avatar?item.avatar:'../../static/images/logo.png'"
|
||||
style="width: 80rpx;height:80rpx;border-radius: 50rpx;"></image>
|
||||
<view class="margin-left-sm">
|
||||
<view class="userName_view">{{item.userName}}</view>
|
||||
<view class="text-cut" style="font-size: 24rpx;" v-if="item.userType && item.userType == 2">二级好友
|
||||
</view>
|
||||
<view class="text-cut" style="font-size: 24rpx;" v-else>一级好友
|
||||
</view>
|
||||
<!-- <u-image :src="item.avatar" width="30px" mode="widthFix"></u-image> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="margin-left flex-sub text-right">
|
||||
<text class="margin-left text-red">赚{{item.money}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<empty v-if="userList.length == 0" />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '../../components/empty.vue'
|
||||
export default {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
page: 1,
|
||||
limit: 50,
|
||||
userList: [],
|
||||
inviterRecord: ''
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getData()
|
||||
this.getInviter()
|
||||
},
|
||||
onReachBottom: function() {
|
||||
this.page = this.page + 1;
|
||||
this.getInviter();
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getData();
|
||||
this.getInviter();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
limit: this.limit
|
||||
}
|
||||
this.$u.api.queryInviter(data).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.inviterRecord = res.data.inviteMoney.money
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
getInviter() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
limit: this.limit
|
||||
}
|
||||
this.$u.api.inviter(data).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (this.page == 1) {
|
||||
this.userList = res.data.list
|
||||
} else {
|
||||
this.userList = [...this.userList, ...res.data.list]
|
||||
}
|
||||
uni.stopPullDownRefresh();
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
getOut() {
|
||||
uni.navigateTo({
|
||||
url: '/me/invite/cashDetail'
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.cu-btn {
|
||||
background: rgba(255, 117, 129, 0.2);
|
||||
color: #ff7581;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.userName_view {
|
||||
width: 280rpx;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
margin-bottom: 4rpx;
|
||||
}
|
||||
</style>
|
||||
121
me/invite/moneyList.vue
Normal file
121
me/invite/moneyList.vue
Normal file
@@ -0,0 +1,121 @@
|
||||
<template>
|
||||
<view style="text-align: left">
|
||||
<view v-if="list.length" v-for="(item, index) in list" :key="index" class="item">
|
||||
<view>
|
||||
|
||||
<view style="color: #000000;font-size: 28upx;">
|
||||
<view style="margin-bottom: 8upx;"> 类型: {{item.title}}</view>
|
||||
<view style="margin-bottom: 8upx"> 内容: {{item.content}}</view>
|
||||
<view style="margin-bottom: 8upx"> 时间: {{item.createTime}}</view>
|
||||
<view style="margin-bottom: 8upx;text-align: right;">
|
||||
<!-- 提现金额: -->
|
||||
<text v-if="item.type==2" style="color: #FD6416;font-size: 32upx;font-weight: 600"> - ¥{{item.money}}</text>
|
||||
<text v-if="item.type==1" style="color: #FD6416;font-size: 32upx;font-weight: 600">+ ¥{{item.money}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="page-box" v-if="!list.length">
|
||||
<view class="centre">
|
||||
<image src="../../static/images/learn/none.png" mode=""></image>
|
||||
<view class="tips">
|
||||
暂无明细
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
page: 1,
|
||||
limit: 10
|
||||
}
|
||||
},
|
||||
onLoad: function(e) {
|
||||
this.getMoney();
|
||||
},
|
||||
|
||||
methods: {
|
||||
getMoney() {
|
||||
let that = this;
|
||||
let token = uni.getStorageSync('token')
|
||||
|
||||
if (token) {
|
||||
let data = {
|
||||
page : that.page,
|
||||
limit : that.limit
|
||||
}
|
||||
that.$u.api.moneyDet(data).then(res => {
|
||||
if(that.page == 1) {
|
||||
that.list = res.data.records
|
||||
uni.stopPullDownRefresh();
|
||||
return
|
||||
}
|
||||
that.list = [...that.list, ...res.data.records]
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
},
|
||||
onReachBottom: function() {
|
||||
this.page = this.page + 1;
|
||||
this.getMoney();
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
// that.list = []
|
||||
this.getMoney();
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='scss' scoped>
|
||||
/* @import "../../static/css/index.css"; */
|
||||
|
||||
page {
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
.item {
|
||||
background: white;
|
||||
padding: 32rpx;
|
||||
margin: 32rpx;
|
||||
font-size: 28rpx;
|
||||
box-shadow: 7px 9px 34px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 16upx;
|
||||
}
|
||||
|
||||
.centre {
|
||||
text-align: center;
|
||||
margin: 200rpx auto;
|
||||
font-size: 32rpx;
|
||||
image {
|
||||
width: 360rpx;
|
||||
height: 360rpx;
|
||||
// margin-bottom: 20rpx;
|
||||
margin: 0 auto 20rpx;
|
||||
// border: 1px dotted #000000;
|
||||
}
|
||||
.tips {
|
||||
font-size: 34rpx;
|
||||
color: #5074FF;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
.btn {
|
||||
margin: 80rpx auto;
|
||||
width: 600rpx;
|
||||
border-radius: 32rpx;
|
||||
line-height: 90rpx;
|
||||
color: #ffffff;
|
||||
font-size: 34rpx;
|
||||
background: #5074FF;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
171
me/invite/zhifubao.vue
Normal file
171
me/invite/zhifubao.vue
Normal file
@@ -0,0 +1,171 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<list-cell title="收款人姓名" type="text" placeholder="请输入支付宝收款人姓名" v-model="zhiFuBaoName"></list-cell>
|
||||
|
||||
<list-cell title="支付宝账号" type="text" placeholder="请输入要绑定的支付宝手机号" v-model="zhiFuBao"></list-cell>
|
||||
|
||||
|
||||
<button :class="zhiFuBao&&zhiFuBaoName?'confirm-btn':'confirm-btn1'" @click="toLogin"
|
||||
:disabled="logining">绑定账户</button>
|
||||
<view style="padding: 32upx 64upx;font-size: 24upx;color: #999999;">提示:请正确填写收款人的支付宝账户和真实的收款人姓名,否则将无法正常收款</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import listCell from '@/me/components/com-input';
|
||||
export default {
|
||||
components: {
|
||||
listCell
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
zhiFuBao: '',
|
||||
zhiFuBaoName: '',
|
||||
logining: false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
let userId = uni.getStorageSync('userId');
|
||||
|
||||
if (userId) {
|
||||
this.$u.api.userinfo().then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data.zhiFuBao) {
|
||||
this.zhiFuBao = res.data.zhiFuBao;
|
||||
}
|
||||
if (res.data.zhiFuBaoName) {
|
||||
this.zhiFuBaoName = res.data.zhiFuBaoName;
|
||||
}
|
||||
// console.log(this.zhiFuBao )
|
||||
// console.log(this.zhiFuBaoName )
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
inputChange(e) {
|
||||
const key = e.currentTarget.dataset.key;
|
||||
this[key] = e.detail.value;
|
||||
},
|
||||
navBack() {
|
||||
uni.navigateBack();
|
||||
},
|
||||
|
||||
toLogin() {
|
||||
// console.log(this.zhiFuBao )
|
||||
// console.log(this.zhiFuBaoName )
|
||||
// const {
|
||||
// zhiFuBao,
|
||||
// zhiFuBaoName
|
||||
// } = this;
|
||||
let zhiFuBao = this.zhiFuBao
|
||||
let zhiFuBaoName = this.zhiFuBaoName
|
||||
console.log(zhiFuBao)
|
||||
console.log(zhiFuBaoName)
|
||||
if (!zhiFuBao) {
|
||||
uni.showToast({
|
||||
title: '请设置收款人姓名',
|
||||
icon: 'none'
|
||||
})
|
||||
} else if (!zhiFuBaoName) {
|
||||
uni.showToast({
|
||||
title: '请设置收款人支付宝账号',
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
this.$u.post('app/user/updateUser?zhiFuBao=' + zhiFuBao + '&zhiFuBaoName=' + zhiFuBaoName).then(
|
||||
res => {
|
||||
// console.log(res);
|
||||
uni.setStorageSync('zhiFuBao', zhiFuBao)
|
||||
uni.setStorageSync('zhiFuBaoName', zhiFuBaoName)
|
||||
uni.showToast({
|
||||
title: '修改成功',
|
||||
icon: 'none',
|
||||
complete() {
|
||||
setTimeout(function() {
|
||||
uni.navigateBack();
|
||||
}, 1000)
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
// if (!zhifubao) {
|
||||
// this.$queue.showToast("请设置收款人支付宝账号");
|
||||
// } else if (!zhifubaoName) {
|
||||
// this.$queue.showToast("请设置收款人姓名");
|
||||
// } else {
|
||||
// this.$queue.showLoading("修改中...");
|
||||
// this.$Request.postT("/cash/userinfo?userId=" + userId + "&zhifubao=" + zhifubao + "&zhifubaoName=" + zhifubaoName).then(
|
||||
// res => {
|
||||
// if (res.status === 0) {
|
||||
// if (res.data.zhifubao) {
|
||||
// this.zhifubao = res.data.zhifubao;
|
||||
// }
|
||||
// if (res.data.zhifubaoName) {
|
||||
// this.zhifubaoName = res.data.zhifubaoName;
|
||||
// }
|
||||
// this.navBack();
|
||||
// } else {
|
||||
// // this.$queue.showToast(res.msg)
|
||||
// }
|
||||
// uni.hideLoading();
|
||||
// });
|
||||
// }
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='scss'>
|
||||
page {
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding-top: 32upx;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.confirm-btn1 {
|
||||
width: 300px;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
border-radius: 30px;
|
||||
margin-top: 70upx;
|
||||
/* background: whitesmoke; */
|
||||
background: #ff7581;
|
||||
color: #FFFFFF;
|
||||
font-size: 32rpx;
|
||||
|
||||
&:after {
|
||||
border-radius: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.confirm-btn {
|
||||
width: 300px;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
border-radius: 30px;
|
||||
margin-top: 70upx;
|
||||
background: #ff7581;
|
||||
color: #ffffff;
|
||||
font-size: 32rpx;
|
||||
|
||||
&:after {
|
||||
border-radius: 60px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user