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.
 
 
 

160 lines
4.0 KiB

<template>
<view class="wanl-money">
<view class="edgeInsetTop"></view>
<view class="cu-list menu-avatar" v-if="dataList">
<view class="cu-item" v-for="(item, index) in dataList" :key="item.id" @tap="toMoney(item)" >
<view class="cu-avatar round bg-blue" v-if="item.type == 'pay'">
<text class="wlIcon-baojiadan"></text>
</view>
<view class="cu-avatar round bg-red" v-if="item.type == 'groups'">
<text class="wlIcon-baojiadan"></text>
</view>
<view class="cu-avatar round bg-cyan" v-else-if="item.type == 'recharge'">
<text class="wlIcon-zhanghuyue"></text>
</view>
<view class="cu-avatar round bg-orange" v-else-if="item.type == 'withdraw'">
<text class="wlIcon-jinbitixian"></text>
</view>
<view class="cu-avatar round bg-pink" v-else-if="item.type == 'refund'">
<text class="wlIcon-jingjiachenggong"></text>
</view>
<view class="cu-avatar round bg-red" v-else>
<text class="wlIcon-fuwuqi1"></text>
</view>
<view class="content">
<view class="text-sm flex">
<view class="text-cut">
{{item.memo}}
</view>
</view>
<view class="wanl-gray text-sm text-bold">{{payType[item.type]}}</view>
<view class="wanl-gray text-sm">
{{ $wanlshop.timeToDate(item.createtime) }}
</view>
</view>
<view class="action">
<view class="text-lg" :class="item.money > 0 ? 'wanl-orange' : 'wanl-black'">{{ item.money > 0 ? '+'+item.money:item.money}}</view>
</view>
</view>
</view>
<!-- 空 -->
<view v-if="dataList.length == 0">
<wanl-empty src="ticket_default3x" text="没找到任何账单明细"/>
</view>
<view class="edgeInsetBottom"></view>
<uni-load-more :status="status" :content-text="contentText" />
</view>
</template>
<script>
export default {
data() {
return {
dataList: [],
payType: {
pay: '商品交易',
groups: '拼团',
recharge: '充值',
withdraw: '提现',
refund: '退款',
sys: '系统',
},
reload: false, //判断是否上拉
total: 0, //数据量
current_page: 1, //当前页码
last_page: 1, //总页码
status: 'more',
contentText: {
contentdown: ' ',
contentrefresh: '加载中',
contentnomore: ''
}
};
},
onLoad() {
this.loadData();
},
onPullDownRefresh() {
this.current_page = 1;
this.reload = true;
this.loadData();
},
onReachBottom() {
//判断是否最后一页
if (this.current_page >= this.last_page) {
this.status = 'noMore';
} else {
this.reload = false;
this.current_page = this.current_page + 1; //页码+1
this.status = 'loading';
this.loadData();
}
},
methods: {
async loadData() {
this.$api.post({
url: '/wanlshop/pay/moneyLog',
data: {
page: this.current_page
},
success: res => {
uni.stopPullDownRefresh();
this.dataList = this.reload ? res.data : this.dataList.concat(res.data); //数据 追加
this.total = res.total; //数据量
this.current_page = res.current_page; //当前页码
this.last_page = res.last_page; //总页码
this.status = res.total == 0 ? 'noMore' : 'more';
}
});
},
toMoney(item){
this.$wanlshop.to(`/pages/user/money/details?data=${JSON.stringify(item)}`);
}
}
};
</script>
<style>
.wanl-money .balance {
margin: 10rpx 25rpx 25rpx 25rpx;
}
.wanl-money .balance .details {
padding: 50rpx 0;
}
.wanl-money .balance .operate {
display: flex;
align-items: center;
justify-content: space-around;
background: rgba(0, 0, 0, 0.1);
height: 80rpx;
color: #fff;
}
.wanl-money .cu-list.menu-avatar>.cu-item{
height: 180rpx;
align-items: flex-start;
padding: 25rpx 0;
}
.wanl-money .cu-list.menu-avatar>.cu-item .cu-avatar {
width: 75rpx;
height: 75rpx;
left: 25rpx;
margin-top: 6rpx;
}
.wanl-money .cu-list.menu-avatar>.cu-item .content {
left: 120rpx;
width: calc(100% - 75rpx - 25rpx -150rpx);
line-height: 1.5em;
}
.wanl-money .cu-list.menu-avatar>.cu-item .action{
width: 220rpx;
text-align: right;
padding-right: 25rpx;
}
</style>