<script setup>
	/**
	 * 积分变动明细
	 */

	import {
		ref,
		reactive,
		computed,
	} from 'vue'
	import {
		onLoad,
		onReachBottom,
		onPullDownRefresh
	} from '@dcloudio/uni-app'
	// 顶部
	import apex from '/components/header/apex'
	// 
	import api from '@/api/index.js';
	// 工具库
	import util from '@/common/js/util.js'
	// 积分记录
	import integralLog from '@/components/index/integralLog'

	//积分变动记录
	const scrollLog = reactive({
		data: [],
		pageNum: 1,
		pageSize: 30,
		total: 0,
	})

	onLoad(() => {
		// 获取列表
		getList()
	})

	onPullDownRefresh(() => {
		// 刷新列表
		refreshList()
	})

	onReachBottom(() => {
		// 获取更多列表
		getMoreList()
	})

	// 刷新列表
	function refreshList() {
		scrollLog.homePageSize = 1
		getList()
	}

	// 获取更多列表
	function getMoreList() {
		if (scrollLog.total <= scrollLog.data.length) return
		scrollLog.pageNum++
		getList()
	}

	// 积分变动明细
	function getList() {
		api.intergral.getDetailInfoByUserId({
			query: {
				pageNum: scrollLog.pageNum,
				pageSize: scrollLog.pageSize,
			}
		}).then(rs => {
			if (rs.code == 200) {
				// 第一页
				if (scrollLog.pageNum == 1) scrollLog.data.length = 0
				// 合并
				scrollLog.data.push(...rs.rows)
				// 总数
				scrollLog.total = rs.total
				return
			}
			util.alert({
				content: rs.msg,
				showCancel: false,
			})
		}).finally(() => {
			// 停止下拉刷新
			uni.stopPullDownRefresh()
		})
	}
</script>

<template>
	<view class="appbw">
		<view class="list plr30">
			<integralLog :list="scrollLog.data" />
		</view>
	</view>
</template>

<style lang="scss">
	// 
</style>