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.

326 lines
8.7 KiB

3 weeks ago
<template>
<!-- 我的钱包 -->
<view class="page1">
<view class="title">
<view class="title-sreach">
<view class="back-btn" @tap="back" :style="{'top': menuButtonInfo.top +'px'}">
<uni-icons type="left" size="28"></uni-icons>
</view>
<view class="title-name" :style="{'padding-top': menuButtonInfo.top +'px'}">
我的钱包
</view>
</view>
</view>
<view class="content">
<view style="width: 100%;height: 100px;border: 1px solid red;" @tap="chooseLinkId('user')">
<view>用户余额()</view>
<view>{{balanceUser.depoBal}}</view>
<view>
钱包安全保障中
</view>
<view @tap.stop="userCommion('user',balanceUser.depoBal)" class="">
提现
</view>
</view>
<view style="display: flex;">
<view style="flex: 1;border: 1px solid green;height: 80px;" @tap="chooseLinkId('worker')">
<view>配送今日佣金()</view>
<view>{{balanceWorker.depoBal}}</view>
<view>配送可提现余额)</view>
<view>{{balanceWorker.depoBalRel}}</view>
<view @tap.stop="userCommion('worker',balanceWorker.depoBalRel)" class="">
提现
</view>
</view>
<swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay"
:interval="interval" :duration="duration">
<swiper-item @tap="chooseLinkId('shop',item)" v-for="(item,index) in balanceShop" :key="index">
<view style="flex: 1;border: 1px solid orange;height: 80px;">
<view>{{item.shopName}}余额()</view>
<view>{{item.balance}}</view>
<view @tap.stop="userCommion('shop',item.balance,item)" class="">
提现
</view>
</view>
</swiper-item>
</swiper>
</view>
<view class="">
<view class="" style="display: flex;height: 30px;line-height: 30px;">
<view class="" style="flex:1;">
余额明细
</view>
</view>
<view class="" style="display: flex;text-align: center;height: 80px;border: 1px solid #000;" v-for="(item,index) in rewardLists" :key="index">
<view style="flex: 1;text-align: left;">
<img src="/static/images/dingdan/dd0.png" alt="" style="width: 50px;height: 50px;background-size: 100%;">
</view>
<view class="" style="flex: 1;">
<view class="">
{{item.dealingsWay}}
</view>
</view>
<view class="" style="flex: 1;">
<view class="">
{{item.amount}}
</view>
<view class="">
{{item.createTime}}
</view>
</view>
</view>
<uni-load-more :status="loadStatus" />
</view>
</view>
<!-- 出层 -->
<uni-popup ref="payPopup" background-color="#fff">
<text style="color: #777; font-weight: normal; margin-right: 10rpx; font-size: 24rpx;">支付宝实名</text>
<input type="text" v-model="aliName"
style="width: 140rpx; border-bottom: 1px solid #ccc; text-align: center; font-size: 28rpx; font-weight: normal; height: 50rpx; min-height: 50rpx;"
placeholder="名称" />
<text style="color: #777; font-weight: normal; margin-right: 10rpx; font-size: 24rpx;">支付宝认证手机号</text>
<input type="digit" v-model="aliAccount"
style="width: 140rpx; border-bottom: 1px solid #ccc; text-align: center; font-size: 28rpx; font-weight: normal; height: 50rpx; min-height: 50rpx;"
placeholder="手机号" />
<text style="color: #777; font-weight: normal; margin-right: 10rpx; font-size: 24rpx;">提现金额</text>
1 week ago
<input type="digit" v-model="commionAmount"
3 weeks ago
style="width: 140rpx; border-bottom: 1px solid #ccc; text-align: center; font-size: 28rpx; font-weight: normal; height: 50rpx; min-height: 50rpx;"
placeholder="金额" />
<view class="btn" style="background: linear-gradient(90deg, rgba(227, 255, 150, 1), rgba(166, 255, 234, 1));width: 90%;height: 100rpx;border-radius: 100rpx;text-align: center;font-size: 28rpx;font-weight: 700;line-height: 100rpx;margin: 40rpx auto;" @tap="wxPayment">
确认提现
</view>
</uni-popup>
</view>
</template>
<script>
export default {
data() {
return {
menuButtonInfo: {},
balanceUser:{},
loadStatus: 'more',
balanceWorker:{},
rewardLists:[],
aliName:'',
aliAccount:'',
commionType:'',
shopId:'',
3 weeks ago
workerId:'',
userId:'',
3 weeks ago
searchForm:{
pageNum:1,
pageSize:10
},
indicatorDots: false,
interval: 4000,
onlineWorkerInterval:4000,
totalPages: 1,
commionUrl:'',
commionAmount:0,
linkId:'',
autoplay: true,
balanceShop:[],
}
},
onLoad(option) {
},
onShow() {
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
this.balanceUser = 0
this.balanceWorker = 0
this.balanceShop = 0
this.beginData();
},
onReachBottom() {
if (this.searchForm.pageNum >= this.totalPages) return;
// this.status = 'loading';
this.searchForm.pageNum+=1;
this.rewardList();
},
methods: {
beginData(){
this.tui.request("/worker/getAllDepo/", "GET", {userId:uni.getStorageSync('id')}, false, true).then((res) => {
if (res.code == 200) {
if(res.result.user){
this.balanceUser = res.result.user
this.linkId = res.result.user.id
this.rewardList()
}
if(res.result.worker){
this.balanceWorker = res.result.worker
}
if(res.result.shop){
this.balanceShop = res.result.shop
}
that.$forceUpdate();
} else {
this.tui.toast(res.message)
}
uni.hideLoading()
}).catch((res) => {})
},
//提现
withDraw(){
uni.showToast({
title:'提现成功'
})
},
userCommion(type,commion,item){
if(type=='user'){
this.commionUrl = '/app/returnCommission/handleReturnUser'
}else if(type=='worker'){
this.commionUrl = '/app/returnCommission/handleReturnWorker'
}else{
this.commionUrl = '/app/returnCommission/handleReturn'
this.shopId = item.id
}
this.commionAmount = commion
this.commionType = type
this.$refs.payPopup.open();
},
wxPayment(){
let that = this
1 week ago
if(this.commionAmount < 1 || this.commionAmount > 5000){
that.tui.toast('单笔提现金额应在1-5000之间')
return
}
3 weeks ago
let data = {
commission:this.commionAmount,
aliName:this.aliName,
aliAccount:this.aliAccount
}
if(this.commionType == 'user'){
data.userId = this.balanceUser.id
}else if(this.commionType == 'worker'){
3 weeks ago
data.workerId = this.balanceWorker.workerId
3 weeks ago
}else{
data.shopId = this.shopId
}
that.tui.request(this.commionUrl, "POST", data, false, false).then((res) => {
that.loadStatus = 'nomore';
if (res.code == 200) {
this.$refs.payPopup.close();
this.beginData();
} else {
3 weeks ago
that.tui.toast(res.message)
3 weeks ago
return
}
uni.hideLoading()
3 weeks ago
}).catch((res) => {
that.tui.toast(res.message)
})
3 weeks ago
},
chooseLinkId(type,item){
if(type == 'user'){
this.linkId = this.balanceUser.id
}else if(type == 'worker'){
this.linkId = this.balanceWorker.workerId
}else{
this.linkId = item.id
}
this.rewardList();
},
rewardList(){
this.loadStatus = 'loading'
let that = this
this.searchForm.linkUserId = this.linkId;
that.tui.request("/mall/coupon/selectRewardByRegionId", "POST", this.searchForm, false, false).then((res) => {
that.loadStatus = 'nomore';
if (res.code == 200) {
that.totalPages = res.result.pages
if (that.searchForm.pageNum == 1) {
that.rewardLists = res.result.records
} else {
that.rewardLists = [...that.rewardLists, ...res.result.records]
}
that.$forceUpdate()
} else {
3 weeks ago
that.tui.toast(res.message)
3 weeks ago
return
}
uni.hideLoading()
}).catch((res) => {})
},
back() {
uni.navigateBack()
}
}
}
</script>
<style lang="scss">
page {
width: 100%;
height: 100%;
font-size: 24rpx;
background: #F5F8F5;
color: #00231C;
}
.page1 {
width: 100%;
height: 100%;
font-size: 24rpx;
position: relative;
}
.title{
background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/8bc15960c2dc40268e295d6dd23aecce.png') no-repeat;
width: 100%;
height: 54%;
}
.content{
position: absolute;
top: 200rpx;
width: 95%;
margin-left: 2.5%;
}
.title-sreach{
width: 100%;
display: flex;
height: 200rpx;
position: relative;
}
.back-btn{
position: absolute;
bottom: 0;
left: 20rpx;
}
.title-name{
padding-top: 110rpx;
font-size: 36rpx;
font-weight: 700;
flex: 1;
text-align: center;
}
.swiper-container {
width: 100%;
height: 100%;
}
.swiper-page {
width: 100%;
height: 100%;
}
.swiper {
width: 100%;
height: 500rpx;
z-index: 99 !important;
}
.swiper img {
width: 100%;
height: 100%;
z-index: 99 !important;
}
</style>