parent
abd55e907c
commit
8a27d5ee56
@ -0,0 +1,654 @@ |
||||
<template> |
||||
<view :style="viewColor"> |
||||
<view class='cash-withdrawal' :hidden='!loading'> |
||||
<view class='nav acea-row row-between-wrapper'> |
||||
<view class='name'>提现至</view> |
||||
<view class='input'> |
||||
<view class="more-content" @click="goPay(currentTab)"> |
||||
<view class="more-content-left"> |
||||
<view class="type-icon" :style="[{backgroundColor: handlePayColor()}]"> |
||||
<view class="iconfont bankicon" :class="navList[currentTab]['icon']"></view> |
||||
</view> |
||||
<text>{{navList[currentTab]["name"]}}</text> |
||||
</view> |
||||
<view class="moreicon"> |
||||
<view class='iconfont icon-jiantou'></view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class='wrapper'> |
||||
<view :hidden='currentTab != 0' class='list'> |
||||
<form @submit="subCash" report-submit='true'> |
||||
<view class='item acea-row row-between-wrapper'> |
||||
<view class='name'>持卡人</view> |
||||
<view class='input'><input placeholder='请输入持卡人姓名' placeholder-class='placeholder' name="real_name" v-model="real_name"></input></view> |
||||
</view> |
||||
<view class='item acea-row row-between-wrapper'> |
||||
<view class='name'>卡号</view> |
||||
<view class='input'><input type='number' placeholder='请填写卡号' placeholder-class='placeholder' name="bank_code" v-model="bank_code"></input></view> |
||||
</view> |
||||
<view class='item acea-row row-between-wrapper' v-if="array.length>0"> |
||||
<view class='name'>银行</view> |
||||
<view class='input'> |
||||
<picker @change="bindPickerChange" :value="index" :range="array" range-key="name"> |
||||
<text class='Bank'>{{array[index]["name"]}}</text> |
||||
<text class='iconfont icon-qiepian38'></text> |
||||
</picker> |
||||
</view> |
||||
</view> |
||||
<view class='item acea-row row-between-wrapper'> |
||||
<view class='name'>支行信息</view> |
||||
<view class='input'><input placeholder='请输入支行信息' placeholder-class='placeholder' name="bank_address" v-model="bank_address"></input></view> |
||||
</view> |
||||
<view class='item acea-row row-between-wrapper'> |
||||
<view class='name'>提现</view> |
||||
<view class='input'><input placeholder="请输入增值积分个数" placeholder-class='placeholder' name="extract_price" |
||||
type='digit' v-model="extract_price"></input></view> |
||||
</view> |
||||
<view class='tip mt25'> |
||||
提现资产价值:<text class="price">¥{{userInfo.lock_brokerage}}</text>,当前生命值: <text class="price">{{userInfo.brokerage_price}}</text> |
||||
</view> |
||||
<view class='tip'> |
||||
<!-- 说明: 每笔佣金的冻结期为{{userInfo.broken_day}}天,到期后可提现 --> |
||||
</view> |
||||
<view class="btn-submit"> |
||||
<button formType="submit" :disabled="load" class='bnt b-color' :class="load ? 'disabled' : ''" >提现</button> |
||||
</view> |
||||
</form> |
||||
</view> |
||||
<view :hidden='currentTab != 1' class='list'> |
||||
<form @submit="subCash" report-submit='true'> |
||||
<view v-if="!sys_extension_type" class=""> |
||||
<view class='item acea-row row-between-wrapper'> |
||||
<view class='name'>账号</view> |
||||
<view class='input'><input placeholder='请填写您的微信账号' placeholder-class='placeholder' name="wechat"></input></view> |
||||
</view> |
||||
<view class='item acea-row row-between-wrapper'> |
||||
<view class='name'>提现</view> |
||||
<view class='input'><input :placeholder='"最低提现金额"+minPrice' placeholder-class='placeholder' name="extract_price" |
||||
type='digit' v-model="extract_price"></input></view> |
||||
</view> |
||||
<view class='item acea-row row-between-wrapper uploadItem'> |
||||
<view class='name'>收款码</view> |
||||
<view class='input upload acea-row row-middle'> |
||||
<view class='picture' v-for="(item,index) in pics" :key="index"> |
||||
<image :src='item'></image> |
||||
<text class='iconfont icon-guanbi1' @click='DelPic(index)'></text> |
||||
</view> |
||||
<view class='picture acea-row row-center-wrapper row-column' @click='uploadpic' v-if="pics.length < 1"> |
||||
<text class='iconfont icon-icon25201'></text> |
||||
<view>上传图片</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<view class='tip mt25'> |
||||
当前可提现金额: <text class="price">¥{{userInfo.brokerage_price}},</text>冻结佣金:¥{{userInfo.lock_brokerage}} |
||||
</view> |
||||
<view class='tip'> |
||||
说明: 每笔佣金的冻结期为{{userInfo.broken_day}}天,到期后可提现 |
||||
</view> |
||||
<button formType="submit" :disabled="load" class='bnt b-color' :class="load ? 'disabled' : ''" >提现</button> |
||||
</view> |
||||
<view v-else class="auto_arrival"> |
||||
<view class='tip'>当前可提现金额: <text class="price">¥{{userInfo.brokerage_price}}</text> |
||||
</view> |
||||
<view class='input'><input placeholder-class='placeholder1' name="extract_price" |
||||
type='digit' :placeholder="placeholderValue" @focus="placeholderValue = ''" v-model="extract_price"></input> |
||||
</view> |
||||
<view class="btn-submit"> |
||||
<button formType="submit" :disabled="load" class='bnt b-color' :class="load ? 'disabled' : ''" >提现</button> |
||||
</view> |
||||
</view> |
||||
|
||||
</form> |
||||
</view> |
||||
<view :hidden='currentTab != 2' class='list'> |
||||
<form @submit="subCash" report-submit='true'> |
||||
<view class='item acea-row row-between-wrapper'> |
||||
<view class='name'>账号</view> |
||||
<view class='input'><input placeholder='请填写您的支付宝账号' placeholder-class='placeholder' name="alipay_code"></input></view> |
||||
</view> |
||||
<view class='item acea-row row-between-wrapper'> |
||||
<view class='name'>提现</view> |
||||
<view class='input'><input :placeholder='"最低提现金额"+minPrice' placeholder-class='placeholder' name="extract_price" |
||||
type='digit' v-model="extract_price"></input></view> |
||||
</view> |
||||
<view class='item acea-row row-between-wrapper uploadItem'> |
||||
<view class='name'>收款码</view> |
||||
<view class='input upload acea-row row-middle'> |
||||
<view class='picture' v-for="(item,index) in pics" :key="index"> |
||||
<image :src='item'></image> |
||||
<text class='iconfont icon-guanbi1' @click='DelPic(index)'></text> |
||||
</view> |
||||
<view class='picture acea-row row-center-wrapper row-column' @click='uploadpic' v-if="pics.length < 1"> |
||||
<text class='iconfont icon-icon25201'></text> |
||||
<view>上传图片</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class='tip mb25'> |
||||
当前可提现金额: <text class="price">¥{{userInfo.brokerage_price}},</text>冻结佣金:¥{{userInfo.lock_brokerage}} |
||||
</view> |
||||
<view class='tip' v-if="userInfo.broken_day>0"> |
||||
说明: 每笔佣金的冻结期为{{userInfo.broken_day}}天,到期后可提现 |
||||
</view> |
||||
<view class="btn-submit"> |
||||
<button formType="submit" :disabled="load" class='bnt b-color' :class="load ? 'disabled' : ''" >提现</button> |
||||
</view> |
||||
</form> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> |
||||
<cash :payMode='pay_type' :pay_close="pay_close" @payClose="payClose" @onChangeFun="onChangeFun" :order_id="currentTab"></cash> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
// +---------------------------------------------------------------------- |
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ] |
||||
// +---------------------------------------------------------------------- |
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved. |
||||
// +---------------------------------------------------------------------- |
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 |
||||
// +---------------------------------------------------------------------- |
||||
// | Author: CRMEB Team <admin@crmeb.com> |
||||
// +---------------------------------------------------------------------- |
||||
import { |
||||
extractCash, |
||||
extractBank, |
||||
getUserInfo, |
||||
spreadInfo, |
||||
getBankInfo |
||||
} from '@/api/user.js'; |
||||
import { mapGetters } from "vuex"; |
||||
import authorize from '@/components/Authorize'; |
||||
import cash from '@/components/cash'; |
||||
import { configMap } from '@/utils'; |
||||
export default { |
||||
components: { |
||||
cash, |
||||
authorize |
||||
}, |
||||
data() { |
||||
return { |
||||
navList: [{ |
||||
'id': '0', |
||||
'ids': 1, |
||||
'name': '银行卡', |
||||
'icon': 'icon-yinhangqia', |
||||
'bg_color': '#FE960F' |
||||
}, |
||||
// { |
||||
// 'id': '1', |
||||
// 'ids': 2, |
||||
// 'name': '微信', |
||||
// 'icon': 'icon-weixin2', |
||||
// 'bg_color': '#41B035' |
||||
// }, |
||||
// { |
||||
// 'id': '2', |
||||
// 'ids': 3, |
||||
// 'name': '支付宝', |
||||
// 'icon': 'icon-icon34', |
||||
// 'bg_color': '#00A9F2' |
||||
// } |
||||
], |
||||
currentTab: '0', |
||||
extract_price: '', |
||||
index: 0, |
||||
array: [], //提现银行 |
||||
minPrice: 0.00, //最低提现金额 |
||||
userInfo: [], |
||||
isClone: false, |
||||
isAuto: false, //没有授权的不会自动授权 |
||||
isShowAuth: false, //是否隐藏授权 |
||||
loading: true, |
||||
load: false, |
||||
pics: [], //收款码 |
||||
extract_pic: '', |
||||
placeholderValue: '0.00', |
||||
payColor: '', |
||||
pay_close: false, |
||||
real_name: '', |
||||
bank_address: '', |
||||
bank_code: '', |
||||
pay_type: [] |
||||
}; |
||||
}, |
||||
computed: { |
||||
...mapGetters(['isLogin','viewColor']), |
||||
... configMap(['sys_extension_type', 'withdraw_type']) |
||||
}, |
||||
watch: { |
||||
withdraw_type: { |
||||
handler(){ |
||||
this.loadType() |
||||
}, |
||||
immediate: true |
||||
} |
||||
}, |
||||
onLoad() { |
||||
if (this.isLogin) { |
||||
this.getUserInfo(); |
||||
this.getUserExtractBank(); |
||||
this.getBankInfo(); |
||||
} else { |
||||
this.isAuto = true; |
||||
this.isShowAuth = true |
||||
} |
||||
}, |
||||
methods: { |
||||
loadType(){ |
||||
this.pay_type = [] |
||||
let withdrawType = this.withdraw_type |
||||
if (withdrawType.length > 0) { |
||||
this.navList.map((value, index) => { |
||||
withdrawType.map(val => { |
||||
if (value.ids == val) { |
||||
this.pay_type.push(value) |
||||
} |
||||
}) |
||||
}) |
||||
} |
||||
this.currentTab = this.pay_type[0].id |
||||
}, |
||||
onLoadFun: function() { |
||||
this.isShowAuth = false; |
||||
this.getUserInfo(); |
||||
// this.getUserExtractBank(); |
||||
}, |
||||
// 授权关闭 |
||||
authColse: function(e) { |
||||
this.isShowAuth = e |
||||
}, |
||||
/*获取之前提交过的银行卡信息*/ |
||||
getBankInfo(){ |
||||
let that = this; |
||||
getBankInfo().then(res => { |
||||
let info = res.data; |
||||
console.log(info) |
||||
that.real_name = info.real_name; |
||||
that.bank_name = info.bank_name; |
||||
that.bank_code = info.bank_code; |
||||
that.bank_address = info.bank_address; |
||||
|
||||
}); |
||||
}, |
||||
getUserExtractBank: function() { |
||||
let that = this; |
||||
extractBank().then(res => { |
||||
let array = res.data; |
||||
that.$set(that, 'array', array); |
||||
}); |
||||
}, |
||||
/** |
||||
* 获取个人用户信息 |
||||
*/ |
||||
getUserInfo: function() { |
||||
let that = this; |
||||
spreadInfo().then(res => { |
||||
that.userInfo = res.data; |
||||
that.minPrice = res.data.user_extract_min; |
||||
}); |
||||
}, |
||||
swichNav: function(current) { |
||||
this.currentTab = current; |
||||
this.load = false; |
||||
}, |
||||
bindPickerChange: function(e) { |
||||
this.index = e.detail.value; |
||||
}, |
||||
handlePayColor: function() { |
||||
let str = '' |
||||
if (this.currentTab == 1) { |
||||
str = '#41B035' |
||||
} else if (this.currentTab == 2) { |
||||
str = '#00A9F2' |
||||
} else { |
||||
str = '#FE960F ' |
||||
} |
||||
return str |
||||
}, |
||||
uploadpic: function() { |
||||
let that = this; |
||||
console.log('地方'); |
||||
that.$util.uploadImageOne('upload/image', function(res) { |
||||
console.log(res); |
||||
that.pics.push(res.data.path); |
||||
that.$set(that, 'pics', that.pics); |
||||
that.$set(that, 'extract_pic', that.pics[0]) |
||||
}); |
||||
}, |
||||
/** |
||||
* 删除图片 |
||||
* |
||||
*/ |
||||
DelPic: function(index) { |
||||
let that = this, |
||||
pic = this.pics[index]; |
||||
that.pics.splice(index, 1); |
||||
that.$set(that, 'pics', that.pics); |
||||
}, |
||||
subCash: function(e) { |
||||
let that = this, |
||||
value = e.detail.value; |
||||
if(that.load) return; |
||||
if (that.currentTab == 0) { //银行卡 |
||||
if (value.real_name.length == 0) return this.$util.Tips({ |
||||
title: '请填写持卡人姓名' |
||||
}); |
||||
if (value.bank_code.length == 0) return this.$util.Tips({ |
||||
title: '请填写卡号' |
||||
}); |
||||
// if (that.index == 0) return this.$util.Tips({ |
||||
// title: "请选择银行" |
||||
// }); |
||||
value.extract_type = 'bank'; |
||||
value.bank_name = (that.array && that.array.length) ? that.array[that.index].name : ''; |
||||
} else if (that.currentTab == 1) { //微信 |
||||
value.extract_type = 'weixin'; |
||||
if(!this.sys_extension_type){ |
||||
value.extract_pic = that.extract_pic |
||||
if (value.wechat.length == 0) return this.$util.Tips({ |
||||
title: '请填写微信号' |
||||
}); |
||||
if (value.extract_pic.length == 0) return this.$util.Tips({ |
||||
title: '请上传收款码' |
||||
}); |
||||
} |
||||
} else if (that.currentTab == 2) { //支付宝 |
||||
value.extract_type = 'alipay'; |
||||
value.extract_pic = that.extract_pic |
||||
if (value.alipay_code.length == 0) return this.$util.Tips({ |
||||
title: '请填写账号' |
||||
}); |
||||
if (value.extract_pic.length == 0) return this.$util.Tips({ |
||||
title: '请上传收款码' |
||||
}); |
||||
} |
||||
if (value.extract_price.length == 0) return this.$util.Tips({ |
||||
title: '请填写提现金额' |
||||
}); |
||||
if (Number(value.extract_price) < that.minPrice) return this.$util.Tips({ |
||||
title: '提现金额不能低于' + that.minPrice |
||||
}); |
||||
value.extract_type = this.currentTab |
||||
console.log(value, 'value') |
||||
that.load = true; |
||||
if(that.sys_extension_type && that.currentTab == 1) |
||||
value = {extract_price: e.detail.value.extract_price, extract_type: 3} |
||||
extractCash(value).then(res => { |
||||
that.getUserInfo(); |
||||
that.load = false; |
||||
that.$util.Tips({ |
||||
title: res.message, |
||||
icon: 'success' |
||||
}); |
||||
setTimeout(function(){ |
||||
// uni.navigateBack({ |
||||
// delta: 1, |
||||
// }) |
||||
uni.navigateTo({ |
||||
url: '/pages/users/user_spread_user/index' |
||||
}); |
||||
},1000) |
||||
}).catch(err => { |
||||
that.load = false; |
||||
return that.$util.Tips({ |
||||
title: err |
||||
}); |
||||
}); |
||||
}, |
||||
/** |
||||
* 打开支付组件 |
||||
* |
||||
*/ |
||||
goPay: function(pay_price) { |
||||
this.$set(this, 'pay_close', true); |
||||
// this.$set(this, 'pay_order_id', ); |
||||
|
||||
}, |
||||
/** |
||||
* 关闭支付组件 |
||||
* |
||||
*/ |
||||
payClose: function() { |
||||
this.pay_close = false; |
||||
}, |
||||
onChangeFun: function(e) { |
||||
let opt = e; |
||||
let action = opt.action || null; |
||||
let value = opt.value != undefined ? opt.value : null; |
||||
(action && this[action]) && this[action](value); |
||||
this.currentTab = opt.type |
||||
}, |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
page { |
||||
background-color: #F5F5F5 !important; |
||||
} |
||||
.mt25{ |
||||
margin-top: 25rpx; |
||||
} |
||||
.cash-withdrawal .nav { |
||||
height: 130rpx; |
||||
padding: 0 30rpx; |
||||
font-size: 30rpx; |
||||
margin-bottom: 20rpx; |
||||
background-color: #fff; |
||||
} |
||||
.b-color{background-color: var(--view-theme);} |
||||
.cash-withdrawal .nav .input { |
||||
width: 505rpx; |
||||
.more-content{ |
||||
display: flex; |
||||
align-items: center; |
||||
.more-content-left{ |
||||
width: 90%; |
||||
.type-icon{ |
||||
display: inline-block; |
||||
width: 56rpx; |
||||
height: 56rpx; |
||||
text-align: center; |
||||
line-height: 56rpx; |
||||
background-color: #FE960F; |
||||
margin-right: 20rpx; |
||||
border-radius: 50%; |
||||
.bankicon{ |
||||
font-size: 36rpx; |
||||
color: #FFFFFF; |
||||
} |
||||
} |
||||
} |
||||
.moreicon{ |
||||
width: 10%; |
||||
text-align: right; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.cash-withdrawal .nav .item { |
||||
font-size: 26rpx; |
||||
flex: 1; |
||||
text-align: center; |
||||
} |
||||
|
||||
.cash-withdrawal .nav .item~.item { |
||||
border-left: 1px solid #f0f0f0; |
||||
} |
||||
|
||||
.cash-withdrawal .nav .item .iconfont { |
||||
width: 40rpx; |
||||
height: 40rpx; |
||||
border-radius: 50%; |
||||
border: 2rpx solid #e93323; |
||||
text-align: center; |
||||
line-height: 37rpx; |
||||
margin: 0 auto 6rpx auto; |
||||
font-size: 22rpx; |
||||
box-sizing: border-box; |
||||
} |
||||
|
||||
.cash-withdrawal .nav .item .iconfont.on { |
||||
background-color: #e93323; |
||||
color: #fff; |
||||
border-color: #e93323; |
||||
} |
||||
|
||||
.cash-withdrawal .nav .item .line { |
||||
width: 2rpx; |
||||
height: 20rpx; |
||||
margin: 0 auto; |
||||
transition: height 0.3s; |
||||
} |
||||
|
||||
.cash-withdrawal .nav .item .line.on { |
||||
height: 39rpx; |
||||
} |
||||
|
||||
.cash-withdrawal .wrapper .list { |
||||
padding: 0 30rpx; |
||||
background-color: #fff; |
||||
} |
||||
.cash-withdrawal .wrapper .list .item { |
||||
border-bottom: 1px solid #eee; |
||||
height: 107rpx; |
||||
font-size: 30rpx; |
||||
color: #333; |
||||
|
||||
&.uploadItem { |
||||
border-bottom: none; |
||||
height: auto; |
||||
|
||||
.name { |
||||
height: 107rpx; |
||||
; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.picture { |
||||
width: 70px; |
||||
height: 70px; |
||||
margin: 0 0 17px 0; |
||||
position: relative; |
||||
font-size: 11px; |
||||
color: #bbb; |
||||
border: 0.5px solid #ddd; |
||||
box-sizing: border-box; |
||||
margin-top: 40rpx; |
||||
|
||||
uni-image,image { |
||||
width: 100%; |
||||
height: 100%; |
||||
border-radius: 1px; |
||||
} |
||||
|
||||
.icon-guanbi1 { |
||||
font-size: 22px; |
||||
position: absolute; |
||||
top: -10px; |
||||
right: -10px; |
||||
color: #fc4141; |
||||
} |
||||
} |
||||
|
||||
.cash-withdrawal .wrapper .list .item .name { |
||||
width: 130rpx; |
||||
} |
||||
|
||||
.cash-withdrawal .wrapper .list .item .input { |
||||
width: 505rpx; |
||||
} |
||||
|
||||
.cash-withdrawal .wrapper .list .item .input .placeholder { |
||||
color: #bbb; |
||||
} |
||||
.cash-withdrawal .placeholder1 { |
||||
font-size: 46rpx; |
||||
} |
||||
.cash-withdrawal .wrapper .list .tip { |
||||
font-size: 26rpx; |
||||
color: #999; |
||||
margin-bottom: 25rpx; |
||||
} |
||||
.cash-withdrawal .wrapper .list .btn-submit{ |
||||
background-color: #F5F5F5; |
||||
margin: 0 -30rpx; |
||||
padding: 64rpx 30rpx; |
||||
} |
||||
.cash-withdrawal .wrapper .list .bnt { |
||||
font-size: 32rpx; |
||||
color: #fff; |
||||
width: 690rpx; |
||||
height: 90rpx; |
||||
text-align: center; |
||||
border-radius: 50rpx; |
||||
line-height: 90rpx; |
||||
/deep/ &.disabled { |
||||
background: #E3E3E3!important; |
||||
pointer-events: none; |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
.cash-withdrawal .wrapper .list .tip2 { |
||||
font-size: 26rpx; |
||||
color: #999; |
||||
text-align: center; |
||||
margin: 44rpx 0 20rpx 0; |
||||
} |
||||
|
||||
.cash-withdrawal .wrapper .list .value { |
||||
height: 135rpx; |
||||
line-height: 135rpx; |
||||
border-bottom: 1px solid #eee; |
||||
width: 690rpx; |
||||
margin: 0 auto; |
||||
} |
||||
|
||||
.cash-withdrawal .wrapper .list .value input { |
||||
font-size: 80rpx; |
||||
color: #282828; |
||||
height: 135rpx; |
||||
text-align: center; |
||||
} |
||||
.cash-withdrawal .wrapper .list .value .placeholder2 { |
||||
color: #bbb; |
||||
} |
||||
.price { |
||||
color: var(--view-priceColor); |
||||
} |
||||
.Bank { |
||||
display: block; |
||||
width: 100%; |
||||
text-overflow: ellipsis; |
||||
overflow: hidden; |
||||
white-space: nowrap; |
||||
} |
||||
.auto_arrival{ |
||||
text-align: center; |
||||
padding: 20rpx 0 0 0; |
||||
.input{ |
||||
width: 100%; |
||||
border-bottom: 1px solid #eee; |
||||
margin-top: 10rpx; |
||||
color: #999; |
||||
height: 120rpx; |
||||
/deep/uni-input,input{ |
||||
height: 120rpx; |
||||
font-size: 40rpx; |
||||
} |
||||
} |
||||
} |
||||
uni-toast.uni-mask{ |
||||
background-color: rgba(0,0,0,0.5) !important; |
||||
} |
||||
</style> |
@ -0,0 +1,400 @@ |
||||
<template> |
||||
<view :style="viewColor"> |
||||
<view class='my-account'> |
||||
<view class='wrapper'> |
||||
<view class='header'> |
||||
<view class='headerCon'> |
||||
<view class='account acea-row row-top row-between'> |
||||
<view class='assets'> |
||||
<view>增值积分</view> |
||||
<view class='money'>{{userInfo.now_money || 0}}</view> |
||||
</view> |
||||
<navigator url="/pages/users/user_payout/index" hover-class="none" class='recharge t-color'>资产变现</navigator> |
||||
</view> |
||||
<view class='cumulative acea-row row-top'> |
||||
<!-- v-if="balance_func_status == 1" --> |
||||
<view class='item' > |
||||
<view>总贡献值</view> |
||||
<view class='money'>{{userInfo.total_recharge || 0}}</view> |
||||
</view> |
||||
<view class='item'> |
||||
<view>生命值</view> |
||||
<view class='money'>{{userInfo.total_consume || 0}}</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<view class='sign-record'> |
||||
<view class='list' v-for="(item,index) in userBillList" :key="index"> |
||||
<view class='item'> |
||||
<!-- <view class='data'>{{item.time}}</view> --> |
||||
<view class='listn'> |
||||
<view class='itemn acea-row row-between-wrapper'> |
||||
<view> |
||||
<view class='name line1'>{{item.title}}</view> |
||||
<view>{{item.create_time}}</view> |
||||
</view> |
||||
<view class='num' v-if="item.pm ==1">+{{item.number}}</view> |
||||
<view class='num p-color' v-else>-{{item.number}}</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class='loadingicon acea-row row-center-wrapper' v-if="userBillList.length>0"> |
||||
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}} |
||||
</view> |
||||
<view v-if="userBillList.length == 0"> |
||||
<emptyPage title="暂无账单的记录哦~"></emptyPage> |
||||
</view> |
||||
</view> |
||||
|
||||
</view> |
||||
<recommend v-if="recommend_switch == 1" :hostProduct="hostProduct" :isLogin="isLogin"></recommend> |
||||
</view> |
||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
// +---------------------------------------------------------------------- |
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ] |
||||
// +---------------------------------------------------------------------- |
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved. |
||||
// +---------------------------------------------------------------------- |
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 |
||||
// +---------------------------------------------------------------------- |
||||
// | Author: CRMEB Team <admin@crmeb.com> |
||||
// +---------------------------------------------------------------------- |
||||
let app = getApp(); |
||||
import { |
||||
getProductHot |
||||
} from '@/api/store.js'; |
||||
import { |
||||
openRechargeSubscribe |
||||
} from '@/utils/SubscribeMessage.js'; |
||||
import { |
||||
getUserInfo, |
||||
userActivity, |
||||
getCommissionInfo |
||||
} from '@/api/user.js'; |
||||
import { |
||||
mapGetters |
||||
} from "vuex"; |
||||
import recommend from '@/components/recommend/index'; |
||||
import authorize from '@/components/Authorize'; |
||||
import { configMap } from '@/utils'; |
||||
import { HTTP_REQUEST_URL } from '@/config/app'; |
||||
export default { |
||||
components: { |
||||
recommend, |
||||
authorize, |
||||
}, |
||||
data() { |
||||
return { |
||||
domain: HTTP_REQUEST_URL, |
||||
userInfo: {}, |
||||
hostProduct: [], |
||||
isClose: false, |
||||
activity: {}, |
||||
isAuto: false, //没有授权的不会自动授权 |
||||
isShowAuth: false ,//是否隐藏授权 |
||||
hotScroll:false, |
||||
hotPage:1, |
||||
hotLimit:10, |
||||
page: 1, |
||||
limit: 15, |
||||
type: 0, |
||||
userBillList: [] |
||||
}; |
||||
}, |
||||
computed: configMap(['recharge_switch', 'balance_func_status','recommend_switch'], mapGetters(['isLogin','viewColor','keyColor'])), |
||||
onLoad() { |
||||
if (this.isLogin) { |
||||
this.getUserInfo() |
||||
this.get_host_product(); |
||||
this.getUserBillList(); |
||||
} else { |
||||
this.isAuto = true; |
||||
this.isShowAuth = true |
||||
} |
||||
}, |
||||
onReady() { |
||||
}, |
||||
methods: { |
||||
getUserInfo(){ |
||||
getUserInfo().then(res=>{ |
||||
this.userInfo = res.data |
||||
}) |
||||
}, |
||||
onLoadFun: function() { |
||||
this.isShowAuth = false; |
||||
this.getUserInfo(); |
||||
this.get_host_product(); |
||||
}, |
||||
// 授权关闭 |
||||
authColse: function(e) { |
||||
this.isShowAuth = e |
||||
}, |
||||
// #ifdef MP |
||||
openSubscribe: function(page) { |
||||
uni.showLoading({ |
||||
title: '正在加载', |
||||
}) |
||||
openRechargeSubscribe().then(res => { |
||||
uni.hideLoading(); |
||||
uni.navigateTo({ |
||||
url: page, |
||||
}); |
||||
}).catch(() => { |
||||
uni.hideLoading(); |
||||
}); |
||||
}, |
||||
// #endif |
||||
/** |
||||
* 获取我的推荐 |
||||
*/ |
||||
get_host_product: function() { |
||||
let that = this; |
||||
if(that.hotScroll) return |
||||
getProductHot( |
||||
that.hotPage, |
||||
that.hotLimit, |
||||
).then(res => { |
||||
that.hotPage++ |
||||
that.hotScroll = res.data.list.length<that.hotLimit |
||||
that.hostProduct = that.hostProduct.concat(res.data.list) |
||||
}); |
||||
}, |
||||
/** |
||||
* 获取账户明细 |
||||
*/ |
||||
getUserBillList: function() { |
||||
let that = this; |
||||
if (that.loadend) return; |
||||
if (that.loading) return; |
||||
that.loading = true; |
||||
that.loadTitle = ""; |
||||
let data = { |
||||
page: that.page, |
||||
limit: that.limit, |
||||
type:that.type |
||||
} |
||||
getCommissionInfo(data).then(function(res) { |
||||
let list = res.data.list, |
||||
loadend = list.length < that.limit; |
||||
that.userBillList = that.$util.SplitArray(list, that.userBillList); |
||||
that.$set(that, 'userBillList', that.userBillList); |
||||
that.loadend = loadend; |
||||
that.loading = false; |
||||
that.loadTitle = loadend ? "哼😕~我也是有底线的~" : "加载更多"; |
||||
that.page = that.page + 1; |
||||
}, function(res) { |
||||
that.loading = false; |
||||
that.loadTitle = '加载更多'; |
||||
}); |
||||
} |
||||
}, |
||||
onReachBottom() { |
||||
this.get_host_product(); |
||||
this.getUserBillList(); |
||||
}, |
||||
// 滚动监听 |
||||
onPageScroll(e) { |
||||
// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件 |
||||
uni.$emit('scroll'); |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style scoped lang="scss"> |
||||
.my-account .wrapper { |
||||
background-color: #fff; |
||||
padding: 32rpx 0 34rpx 0; |
||||
margin-bottom: 14rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .header { |
||||
width: 690rpx; |
||||
height: 330rpx; |
||||
background-image: linear-gradient(to right, var(--view-bntColor21) 0%, var(--view-bntColor22) 100%); |
||||
border-radius: 16rpx; |
||||
margin: 0 auto; |
||||
box-sizing: border-box; |
||||
color: rgba(255, 255, 255, 0.6); |
||||
font-size: 24rpx; |
||||
} |
||||
.t-color{color:var(--view-theme);} |
||||
.my-account .wrapper .header .headerCon { |
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIAAAFKCAYAAADhULxpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzMUM4RDlEM0YxNTExRTk4OUJFQ0Q4Qjg0RDBCMzQ1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzMUM4RDlFM0YxNTExRTk4OUJFQ0Q4Qjg0RDBCMzQ1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTMxQzhEOUIzRjE1MTFFOTg5QkVDRDhCODREMEIzNDUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTMxQzhEOUMzRjE1MTFFOTg5QkVDRDhCODREMEIzNDUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ymvxvAAAIhklEQVR42uzd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'); |
||||
background-repeat: no-repeat; |
||||
background-size: 100%; |
||||
height: 100%; |
||||
width: 100%; |
||||
padding: 36rpx 0 29rpx 0; |
||||
box-sizing: border-box; |
||||
} |
||||
|
||||
.my-account .wrapper .header .headerCon .account { |
||||
padding: 0 35rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .header .headerCon .account .assets .money { |
||||
font-size: 72rpx; |
||||
color: #fff; |
||||
// font-family: 'Guildford Pro'; |
||||
} |
||||
|
||||
.my-account .wrapper .header .headerCon .account .recharge { |
||||
font-size: 28rpx; |
||||
width: 150rpx; |
||||
height: 54rpx; |
||||
border-radius: 27rpx; |
||||
background-color: #fff9f8; |
||||
text-align: center; |
||||
line-height: 54rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .header .headerCon .cumulative { |
||||
margin-top: 46rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .header .headerCon .cumulative .item { |
||||
flex: 1; |
||||
padding-left: 35rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .header .headerCon .cumulative .item .money { |
||||
font-size: 48rpx; |
||||
// font-family: 'Guildford Pro'; |
||||
color: #fff; |
||||
margin-top: 6rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .nav { |
||||
height: 155rpx; |
||||
border-bottom: 1px solid #f5f5f5; |
||||
} |
||||
|
||||
.my-account .wrapper .nav .item { |
||||
flex: 1; |
||||
text-align: center; |
||||
font-size: 26rpx; |
||||
color: #999; |
||||
} |
||||
|
||||
.my-account .wrapper .nav .item .pictrue { |
||||
width: 44rpx; |
||||
height: 44rpx; |
||||
margin: 0 auto; |
||||
margin-bottom: 20rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .nav .item .pictrue image { |
||||
width: 100%; |
||||
height: 100%; |
||||
} |
||||
|
||||
.my-account .wrapper .advert { |
||||
padding: 0 30rpx; |
||||
margin-top: 30rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .advert .item { |
||||
background-color: #fff6d1; |
||||
width: 332rpx; |
||||
height: 118rpx; |
||||
border-radius: 10rpx; |
||||
padding: 0 27rpx 0 25rpx; |
||||
box-sizing: border-box; |
||||
font-size: 24rpx; |
||||
color: #e44609; |
||||
} |
||||
|
||||
.my-account .wrapper .advert .item.on { |
||||
background-color: #fff3f3; |
||||
color: #e96868; |
||||
} |
||||
|
||||
.my-account .wrapper .advert .item .pictrue { |
||||
width: 78rpx; |
||||
height: 78rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .advert .item .pictrue image { |
||||
width: 100%; |
||||
height: 100%; |
||||
} |
||||
|
||||
.my-account .wrapper .advert .item .text .name { |
||||
font-size: 30rpx; |
||||
font-weight: bold; |
||||
color: #f33c2b; |
||||
margin-bottom: 7rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .advert .item.on .text .name { |
||||
color: #f64051; |
||||
} |
||||
|
||||
.my-account .wrapper .list { |
||||
padding: 0 30rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .list .item { |
||||
margin-top: 44rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .list .item .picTxt .iconfont { |
||||
width: 82rpx; |
||||
height: 82rpx; |
||||
border-radius: 50%; |
||||
background-image: linear-gradient(to right, #ff9389 0%, #f9776b 100%); |
||||
text-align: center; |
||||
line-height: 82rpx; |
||||
color: #fff; |
||||
font-size: 40rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .list .item .picTxt .iconfont.yellow { |
||||
background-image: linear-gradient(to right, #ffccaa 0%, #fea060 100%); |
||||
} |
||||
|
||||
.my-account .wrapper .list .item .picTxt .iconfont.green { |
||||
background-image: linear-gradient(to right, #a1d67c 0%, #9dd074 100%); |
||||
} |
||||
|
||||
.my-account .wrapper .list .item .picTxt { |
||||
width: 428rpx; |
||||
font-size: 30rpx; |
||||
color: #282828; |
||||
} |
||||
|
||||
.my-account .wrapper .list .item .picTxt .text { |
||||
width: 317rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .list .item .picTxt .text .infor { |
||||
font-size: 24rpx; |
||||
color: #999; |
||||
margin-top: 5rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .list .item .bnt { |
||||
font-size: 26rpx; |
||||
color: #282828; |
||||
width: 156rpx; |
||||
height: 52rpx; |
||||
border: 1rpx solid #ddd; |
||||
border-radius: 26rpx; |
||||
text-align: center; |
||||
line-height: 52rpx; |
||||
} |
||||
|
||||
.my-account .wrapper .list .item .bnt.end { |
||||
font-size: 26rpx; |
||||
color: #aaa; |
||||
background-color: #f2f2f2; |
||||
border-color: #f2f2f2; |
||||
} |
||||
</style> |
Loading…
Reference in new issue