<template>
	<view class="page">
		<navbar/>

		<view class="category">
			<uv-vtabs 
			:chain="chain" 
			:list="category"
			:barItemBadgeStyle="{right:'20px',top:'12px'}" 
			@change="change">
				<uv-vtabs-item>
					<view class="category-title">
						租赁
					</view>
					<view class="list">
						<view class="item" v-for="(item,index) in productList" :key="index"
						@click="$utils.navigateTo('/pages_order/product/productDetail?id=' + item.id)">
							<view class="item-image">
								<image 
								:src="item.pic" 
								mode="aspectFill"></image>
							</view>
							<view class="item-unit">
								<text class="text">{{item.name}}</text>
							</view>
						</view>
					</view>
				</uv-vtabs-item>
			</uv-vtabs>
		</view>

		<tabber select="1" />
	</view>
</template>

<script>
	import tabber from '@/components/base/tabbar.vue'

	export default {
		components: {
			tabber,
		},
		data() {
			return {
				category: [],
				queryParams: {
					pageNo: 1,
					pageSize: 10,
				},
				list : {
					records : [],
					total : 0,
				},
				chain: false,
				categoryIndex: 0
			}
		},
		computed: {
			productList(){
				return this.category.length ? this.category[this.categoryIndex].hotelGoodsList || [] : []
			}
		},
		onShow() {
			this.categoryList()
		},
		//滚动到屏幕底部
		onReachBottom() {
			if(this.queryParams.pageSize < this.list.total){
				this.queryParams.pageSize += 10
				this.getGoodsPage()
			}
		},
		onReady() {
			
		},
		methods: {
			categoryList(){
				this.$api('categoryList', res => {
					if(res.code == 200){
						this.category = res.result
						this.getGoodsPage()
					}
				})
			},
			getGoodsPage(){
				this.$api('goodsPage', {
					...this.queryParams,
					categoryId : this.category[this.categoryIndex].id
				}, res => {
					if(res.code == 200){
						this.list = res.result
					}
				})
			},
			change(index) {
				this.categoryIndex = index;
				// this.queryParams.pageSize = 10
				// this.getGoodsPage()
			},
		}
	}
</script>

<style scoped lang="scss">
	.category {
		font-size: 30rpx;
		color: #333;
		.category-title{
			position: relative;
			display: flex;
			justify-content: center;
			align-items: center;
			height: 120rpx;
			
			&::before,
			&::after {
				position: absolute;
				top: 50%;
				content: '';
				width: 10%;
				border-top: 2rpx solid black;
			}
			
			&::before {
				left: 25%;
			}
			
			&::after {
				right: 25%;
			}
		}
		.list{
			display: flex;
			flex-wrap: wrap;
			margin: 0 auto;
			width: 490rpx;
			.item {
				padding: 10rpx 20rpx;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				margin-bottom: 20rpx;
				.item-image {
					width: 120rpx;
					height: 120rpx;
					image{
						height: 100%;
						width: 100%;
						border-radius: 50%;
					}
				}
			
				.item-unit {
					font-size: 24rpx;
					margin-top: 15rpx;
					color: #555;
				}
			}
			
			.gap {
				padding: 0 30rpx;
			}
		}
		
	}
</style>