敢为人鲜小程序前端代码仓库
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.
 
 
 

206 lines
4.5 KiB

<template>
<view class="page">
<!-- 导航栏 -->
<navbar title="提现记录" leftClick @leftClick="$utils.navigateBack" color="#fff" />
<!-- <view class="tools">
<uv-datetime-picker
ref="datetimePicker"
v-model="selectedTime"
mode="year-month"
confirmColor="#84A73F"
@confirm="onTimeChange"
></uv-datetime-picker>
</view> -->
<view class="card list">
<template v-if="list.length">
<view class="flex list-item"
v-for="(item, index) in list"
:key="index"
>
<!-- <image class="list-item-icon" src="../static/runningWater/icon-commission.png" mode="widthFix"></image> -->
<view class="list-item-info">
<view class="highlight">佣金提现</view>
<view class="time">{{ item.createTime }}</view>
</view>
<view class="list-item-value">{{ `-${item.amount}` }}</view>
<view class="withdraw-btn"
@click="withdraw(item)"
v-if="item.status == 0">领取</view>
</view>
</template>
<template v-else>
<uv-empty mode="history" textSize="28rpx" iconSize="100rpx" />
</template>
</view>
</view>
</template>
<script>
import mixinsList from "@/mixins/list.js"
export default {
mixins: [mixinsList],
data() {
return {
selectedTime: new Date(),
x: ['+', '-', '-', '+'],
mixinsListApi: "queryCashoutLog",//getWaterPageList
beforeDate: new Date(), //开始日期
afterDate: new Date(), //结束日期
totalMoney : 0,
totalWithdraw : 0,
}
},
computed: {
displaySelectedTime() {
return this.$dayjs(this.selectedTime).format("YYYY年M月")
}
},
methods: {
//打开日历
openCalendars() {
if (this?.$refs?.calendars) {
this.$refs.calendars.open();
}
},
getDataThen(list, total, result){
this.totalMoney = result.totalMoney
this.totalWithdraw = result.totalWithdraw
this.list = result.page.records
this.total = result.page.total
},
openTimePicker() {
this.$refs.datetimePicker.open();
},
onTimeChange(e) {
// todo
console.log('--onTimeChange', e)
},
withdraw(item){
// 拉起微信收款确认页面
if (!wx.canIUse('requestMerchantTransfer')) {
wx.showModal({
content: '你的微信版本过低,请更新至最新版本。',
showCancel: false,
});
return
}
// 在真机环境中,调用API
wx.requestMerchantTransfer({
mchId: this.$config.mchId,
appId: wx.getAccountInfoSync().miniProgram.appId,
package: item.packageInfo,
success: (res) => {
uni.showToast({
title: '提现申请已提交',
icon: 'success'
})
this.$store.commit('getUserInfo')
this.$store.commit('getRiceInfo')
this.$api('getMoney', {
id : item.id,
}).then(res => {
this.getData()
})
},
fail: (res) => {
console.log('fail:', res);
uni.showToast({
title: '提现失败,请稍后再试',
icon: 'none'
})
},
complete: (res) => {
console.log('requestMerchantTransfer完成:', res);
}
});
},
}
}
</script>
<style lang="scss" scoped>
.page {
background-color: #f5f6fa;
min-height: 100vh;
/deep/ .nav-bar__view {
background-image: linear-gradient(135deg, #84A73F, #D8FF8F);
box-shadow: 0 2px 8px rgba(132, 167, 63, 0.2);
}
}
.withdraw-btn {
padding: 12rpx 32rpx;
margin: 0;
font-size: 26rpx;
margin-left: 20rpx;
background: linear-gradient(135deg, #84A73F, #D8FF8F);
color: #fff;
border-radius: 30rpx;
box-shadow: 0 2px 6px rgba(132, 167, 63, 0.2);
transition: all 0.3s ease;
&:active {
transform: scale(0.95);
opacity: 0.9;
}
}
.list {
margin: 20rpx;
padding: 30rpx;
background: #fff;
border-radius: 16rpx;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
&-item {
padding: 24rpx 0;
border-bottom: 1rpx solid #f0f0f0;
margin-bottom: 20rpx;
font-size: 28rpx;
display: flex;
align-items: center;
transition: all 0.3s ease;
&:last-child {
border-bottom: none;
margin-bottom: 0;
}
&:active {
background-color: #f9f9f9;
}
&-info {
flex: 1;
color: #666;
.highlight {
color: #333;
font-weight: 500;
margin-bottom: 8rpx;
}
.time {
font-size: 24rpx;
color: #999;
}
}
&-value {
color: #FF2A2A;
font-weight: 500;
margin: 0 20rpx;
}
}
}
</style>