<template>
	<!-- 账单明细 -->
	<view style="padding-bottom: 40rpx;">
		<view class="bild">
			<view class="bildLeft">
				<text>我的余额</text>
				<view>{{formData.info.amount||0}}</view>
			</view>
			<view class="bildRight">
				<text>我的积分</text>
				<view>{{formData.info.accountPoints||0}}</view>
			</view>
		</view>
		<view class="navTop">
			<view @click="clickEvent(1)" :class="[formData.active==1?'fonts':'']">
				余额明细
				<view :class="[formData.active==1?'xian':'']" style="left: 36rpx;"> </view>
			</view>
			<view @click="clickEvent(2)" :class="[formData.active==2?'fonts':'']">
				积分明细
				<view :class="[formData.active==2?'xian':'']" style="left: 36rpx;"> </view>
			</view>
		</view>
		<view class="listStyle " v-for="(item,i) in formData.list" :key="i">
			<!-- <image class="head_img" :src="item.head_img?item.head_img:'https://czg-qr-order.oss-cn-beijing.aliyuncs.com/menber/head_default.png'" style="width: 76rpx;height: 76rpx;float: left;" mode=""></image> -->
			<view class="flex-start">
				<view class="listStyle_left">
					<view class="listrigth">
						<view v-if="formData.active == 1">
							<text v-if="item.bizCode == 'cashIn'">
								现金充值
							</text>
							<text v-if="item.bizCode == 'wechatIn'">
								微信小程序充值
							</text>
							<text v-if="item.bizCode == 'alipayIn'">
								支付宝小程序充值
							</text>
							<text v-if="item.bizCode == 'awardIn'">
								充值奖励
							</text>
							<text v-if="item.bizCode == 'rechargeRefund'">
								充值退款
							</text>
							<text v-if="item.bizCode == 'orderPay'">
								订单消费
							</text>
							<text v-if="item.bizCode == 'orderRefund'">
								订单退款
							</text>
							<text v-if="item.bizCode == 'adminIn'">
								管理员充值
							</text>
							<text v-if="item.bizCode == 'adminOut'">
								管理员消费
							</text>
						</view>
						<view v-else>
							{{item.content}}
						</view>
						<!-- 	<view
							:class="{colorStyle: (formData.active==1&&item.type == '+') || (formData.active==2&&item.floatType=='add')}">
							{{ formData.active == 1 ? item.type : (item.floatType == 'add'?'+':'')}}
							{{formData.active == 1 ? item.amount : item.floatPoints}}
						</view> -->
						<view v-if="formData.active == 1" :class="{colorStyle: (item.bizCode == 'cashIn' || item.bizCode == 'wechatIn' ||
							 item.bizCode == 'alipayIn'|| item.bizCode == 'awardIn'|| item.bizCode == 'rechargeRefund')}">
							{{ item.amount }}
						</view>
						<view v-else :class="{colorStyle: (item.floatPoint>0)}">
							{{item.floatPoints}}
						</view>
					</view>
				</view>
				<view class=" listrigth2">
							<view>{{item.createTime}}
							</view>
							<view v-if="formData.active == 1">余额:{{item.balance}}</view>
						</view>
					</view>
				</view>
				<view v-if="formData.list.length <= 0" style="text-align: center;">
					<image style="width: 402rpx;height: 442rpx;margin:240rpx auto 32rpx;"
						src="https://czg-qr-order.oss-cn-beijing.aliyuncs.com/nomore.png" mode="aspectFill"></image>
				</view>
				<up-loadmore :status="formData.form.status" fontSize="14" color="#999" iconSize="14" />
			</view>
</template>

<script setup>
	import {
		ref,
		reactive,
		onMounted
	} from 'vue'

	import {
		onReachBottom
	} from '@dcloudio/uni-app'

	import {
		APIshopUsermoneyRecord,
		APIshopUserpointsRecord
	} from '@/common/api/member.js'

	const formData = reactive({
		active: 1,
		list: [],
		form: {
			page: 1,
			size: 10,
			status: 'loadmore',
		},
		info: {
			amount: '',
			accountPoints: ''
		},
		shopId: null
	})

	const getlist = async () => {
		let res = null
		if (formData.active == 1) {
			res = await APIshopUsermoneyRecord({
				page: formData.form.page,
				size: formData.form.size,
				// status: formData.status,
				shopId: formData.shopId
			})
		} else {
			res = await APIshopUserpointsRecord({
				page: formData.form.page,
				size: formData.form.size,
				// status: formData.form.status,
				shopId: formData.shopId
			})
		}
		if (res.totalPage == 0 || res.totalPage == 1 && res.totalRow <= 10) {
			formData.form.status = 'nomore'
			formData.list = res.records
			if (formData.form.page == 1 && res.records.length == 0) {
				formData.records = []
				formData.is_end = true
			}
			return false;
		} else {
			formData.form.status = 'loading';
			if (formData.form.page == 1) {
				formData.list = res.records
			} else {
				formData.list = [...formData.list, ...res.records];
			}
			formData.form.page = ++formData.form.page;
			if (formData.form.page > res.totalPage) {
				formData.form.status = 'nomore';
			} else {
				formData.form.status = 'loading';
			}
		}
	}

	// 检测是否包含In
	const checkIn = (str) => {
		let reg = RegExp(/In/)
		return str.match(reg)
	}

	const clickEvent = (i) => {
		formData.active = i;
		formData.form.page = 1;
		formData.is_end = false
		formData.form.page = 1
		formData.form.size = 10
		formData.form.status = 'loadmore'
		getlist()
	}

	onReachBottom(() => {
		getlist()
	})

	onMounted(() => {
		// 获取当前页面栈
		const pages = getCurrentPages();
		// 获取当前页面实例
		const currentPage = pages[pages.length - 1];
		// 获取页面参数
		const options = currentPage.options;
		formData.info = JSON.parse(decodeURIComponent(options.shopInfo))
		formData.shopId = options.shopId
		formData.active = options.type
		console.log(formData.info)
		getlist()
	})
</script>

<style scoped lang="less">
	.bild {
		height: 320rpx;
		background-image: url('https://czg-qr-order.oss-cn-beijing.aliyuncs.com/menber/billingDetails.png');
		background-size: 750rpx 320rpx;
		display: flex;
		justify-content: space-around;
		align-items: center;

		.bildLeft,
		.bildRight {
			font-weight: 400;
			font-size: 32rpx;

			>view,
			>text {
				text-align: center;
				color: #333;
			}

			>view {
				margin-top: 34rpx;
				font-weight: bold;
			}
		}
	}

	.navTop {
		display: flex;
		justify-content: space-around;
		align-items: center;
		color: #333;
		margin-top: -60rpx;
		// padding: 0 120rpx;
		font-size: 28rpx;

		.fonts {
			font-weight: bold;
			font-size: 32rpx;
		}

		>view {
			position: relative;

			.xian {
				width: 58rpx;
				height: 6rpx;
				background: #333;
				border-radius: 2rpx 2rpx 2rpx 2rpx;
				position: absolute;
				bottom: -16rpx;
			}
		}

	}

	.listStyle {
		padding: 28rpx;
		padding-top: 50rpx;
		width: 100%;

		.listrigth,
		.listrigth2 {
			width: 100%;
			display: flex;
			flex-direction: row;
			justify-content: space-between;
			align-items: center;
			// padding-left: 32rpx;
		}

		.listrigth {
			.colorStyle {
				color: #FF7127;
			}

			>view {
				font-weight: bold;
				font-size: 32rpx;
				color: #333333;
			}
		}

		.listStyle_left {
			width: 100%;
			display: flex;
			align-items: center;
		}

		.head_img {
			border-radius: 50%;
			margin-right: 32rpx;
		}

		.listrigth2 {
			margin-top: 16rpx;

			>view {
				font-weight: 500;
				font-size: 24rpx;
				color: #666666;
			}
		}
	}
</style>