完善充值记录

This commit is contained in:
2025-05-08 17:00:42 +08:00
parent cbf23a8a06
commit c02e0c67ea
92 changed files with 585 additions and 125 deletions

View File

@ -4,7 +4,7 @@
<view class="block">
<view class="bg-white balance u-m-l-16 u-m-r-16 br24 column-center">
<view>账户余额()</view>
<view class="u-m-t-14 bold-600 xxl"> 0.00</view>
<view class="u-m-t-14 bold-600 xxl"> {{ wallet.user_money }}</view>
</view>
<view class="bg-white wallet-btn u-m-t-24 u-m-l-16 u-m-r-16 row-between br24">
@ -25,39 +25,85 @@
</view>
</view>
<view class="list bg-white br16 u-p-32">
<view class="list bg-white br16 u-p-32" style="height: 962rpx;">
<view class="lg">钱包明细</view>
<view class="u-m-t-16">
<view class="u-m-b-16">
<view class="nr row-between">
<view>消费</view>
<view class="deduct">-2000</view>
<scroll-view scroll-y="true" style="height: 880rpx;" :refresher-enabled="true"
:refresher-triggered="isRefreshing"
@refresherrefresh="refreshCallback"
@scrolltolower="upCallback">
<view class="u-m-t-16">
<view class="u-m-b-16" v-for="(item, index) in lists" :key="index">
<view class="nr row-between">
<view>{{ item.source_type }}</view>
<view class="deduct">{{ item.change_amount }}</view>
</view>
<view class="date xs u-m-t-16">{{ item.change_amount }}</view>
</view>
<view class="date xs u-m-t-16">2022-12-24 16:32:44</view>
</view>
<view class="u-m-b-16">
<view class="nr row-between">
<view>消费</view>
<view class="deduct">-2000</view>
</view>
<view class="date xs u-m-t-16">2022-12-24 16:32:44</view>
</view>
<view class="u-m-b-16">
<view class="nr row-between">
<view>消费</view>
<view class="deduct">-2000</view>
</view>
<view class="date xs u-m-t-16">2022-12-24 16:32:44</view>
</view>
</view>
<loading-footer :status="loadingStatus"></loading-footer>
</scroll-view>
</view>
</view>
</view>
</template>
<script>
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js"
import { getWallet, getAccountLog } from '@/api/user'
import { loadingType } from "@/utils/type"
import { loadingFun } from "@/utils/tools"
export default {
mixins: [MescrollMixin],
data() {
return {
wallet: {},
page: 1,
loadingStatus: loadingType.LOADING,
lists: [],
isRefreshing: false // 控制刷新状态
}
},
onLoad() {
this.getWalletFun()
this.upCallback()
},
methods: {
refreshCallback() {
this.isRefreshing = true;
this.page = 1
this.lists = []
this.loadingStatus = loadingType.LOADING
this.upCallback()
},
// 初始化数据
upCallback() {
let {
lists,
loadingStatus,
page
} = this;
loadingFun(getAccountLog, page, lists, loadingStatus, { source: 1, type: 0}).then(res => {
if(res) {
setTimeout(() => {
this.isRefreshing = false;
}, 500);
this.page = res.page;
this.lists = res.dataList
this.loadingStatus = res.status
}
})
},
// 获取钱包数据
getWalletFun() {
getWallet().then(res => {
this.wallet = res.data
console.log("wallet>>>", this.wallet);
})
}
}
}
</script>
<style lang="scss">

77
pages/recharge/record.vue Normal file
View File

@ -0,0 +1,77 @@
<!-- 账户明细 -->
<template>
<view class="recharge-code">
<view class="list">
<mescroll-body ref="mescrollRef" @init="mescrollInit" @up="upCallback" :up="upOption" @down="downCallback">
<view class="p-t-20" >
<view class="bg-white item" v-for="(item, index) in list" :key="index">
<view class="row-between">
<view class="black mb10">{{item.desc}}</view>
<view class="xl primary">+{{item.total}}</view>
</view>
<view class="xs muted">{{item.create_time}}</view>
</view>
</view>
</mescroll-body>
</view>
</view>
</template>
<script>
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
import {getRechargeRecord} from "@/api/user"
export default {
mixins: [MescrollMixin], // 使用mixin
data() {
return {
// Tabs 列表
upOption:{
noMoreSize: 4,
empty:{
tip: '~ 空空如也 ~', // 提示
btnText: ''
},
textNoMore: '没有更多了'
},
list: [], // 列表数据--全部
};
},
methods: {
// 上拉加载
upCallback(page) {
const pageNum = page.num // 页码, 默认从1开始
const pageSize = page.size // 页长, 默认每页10条
getRechargeRecord({
page_size: pageSize,
page_no: pageNum
}).then(({
data
}) => {
if (page.num == 1) this.list = [];
const curPageData = data.lists
const curPageLen = curPageData.length
const hasNext = !!data.more
this.list = this.list.concat(curPageData)
this.mescroll.endSuccess(curPageLen, hasNext)
}).catch(() => {
this.mescroll.endErr()
})
}
},
}
</script>
<style lang="scss" >
.recharge-code {
.list {
.item {
padding: 20rpx 30rpx;
&:not(:last-of-type) {
border-bottom: $-solid-border;
}
}
}
}
</style>