<template>
	<view class="content">
		<!-- <view class="status_bar"></view> -->
		<view class="hotgoods">
			<view class="hotgoods-item" v-for="jfitem in list" :key="jfitem.id"
				@click="navto('/pages/product/product?id=' + jfitem.id )" style="height: 520rpx;">
				<view class="image-wrapper">
					<image class="image" :src="jfitem.image" mode="scaleToFill"></image>
				</view>
				<view class="flex" style="flex-direction: column;justify-content: space-between;align-items: flex-start;height: 170rpx;">
					<view class="title clamp2">{{jfitem.store_name}}</view>
					<view class="hot-price">
						<view class="price">
							<text>¥{{ jfitem.price * 1 }}</text>
							<text class="ot-pirce" >销量:{{jfitem.sales}}</text>
						</view>
					</view>
				</view>
				
			</view>
		</view>
		<empty v-if="loaded && list.length == 0"></empty>
		<uni-load-more :status="loadingType" v-if="!(loaded && list.length == 0)"></uni-load-more>
	</view>
</template>

<script>
	import empty from '@/components/empty.vue'
	import { getCate,getGoodList} from '@/api/three.js'
	import { getProducts } from '@/api/product.js'
	
	export default {
		components: {
			empty
		},
		data() {
			return {
				cid: '',
				sid: '',
				list: [],
				page:1,
				limit: 10,
				loaded:false,
				loadingType: 'more',
				keyword: '',
				is_one: 0,
			}
		},
		onLoad(opt) {
			if(opt.is_one) {
				this.is_one = opt.is_one
			}
			if(opt.cid) {
				this.cid = opt.cid
			}
			if(opt.sid) {
				this.sid = opt.sid
			}
			this.getGoodList()
		},
		onShow() {
		},
		onReachBottom() {
			this.getGoodList()
		},
		onReady() {
			
		},
		methods: {
			navto(url) {
				uni.navigateTo({
					url,
					fail() {
						uni.switchTab({
							url
						})
					}
				})
			},
			goIndex() {
				uni.switchTab({
					url:'/pages/index/index'
				})
			},
			clickSearch() {
				
			},
			getCate() {
				getCate({
				id: 0
			}).then(res => {
					
				})
			},
			getGoodList(type) {
				let that = this
				if(type == 're') {
					that.list = []
					that.page = 1
					that.loadingType = 'more'
				}
				if(that.loadingType == 'loading' || that.loadingType == 'noMore') {
					return
				}
				that.loadingType = 'loading'
				getProducts({
					is_level: that.is_level,
					page: that.page,
					limit: that.limit,
					is_one: that.is_one,
					cid: that.cid,
					sid: that.sid
				}).then(res => {
					console.log(res)
					let arr =res.data
					if(arr) {
						that.list = that.list.concat(arr)
						if(arr.length == that.limit) {
							that.loadingType = 'more'
							that.page++
						}else {
							that.loadingType = 'noMore'
						}
					}else {
						that.loadingType = 'noMore'
					}
					
					that.loaded = true
				})
			}
		}
	}
</script>

<style lang="scss" scoped>
	.hotgoods {
		// margin-top: 38rpx;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		padding: 20rpx 20rpx 30rpx;
		justify-content: space-between;
	
		.hotgoods-item {
			width: 345rpx;
			background-color: #ffffff;
			border-radius: 12rpx;
			box-shadow: 0 0 15rpx rgba(0, 0, 0, 0.2);
			margin-bottom: 15rpx;
	
			.image-wrapper {
				width: 345rpx;
				height: 345rpx;
				border-radius: 3px;
				overflow: hidden;
				position: relative;
	
				.image-bg {
					position: absolute;
					top: 0;
					left: 0;
					right: 0;
					bottom: 0;
					width: 100%;
					height: 100%;
					opacity: 1;
					border-radius: 12rpx 12rpx 0 0;
					z-index: 2;
				}
	
				.image {
					width: 100%;
					height: 100%;
					opacity: 1;
					border-radius: 12rpx 12rpx 0 0;
				}
			}
	
			.title {
				margin-top: 24rpx;
				padding: 0 20rpx;
				font-size: 32rpx;
				font-weight: 500;
				color: #333333;
			}
	
			.hot-price {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				width: 100%;
				padding: 0 10rpx;
				// padding: 14rpx 0 30rpx;
	
				.hotPrice-box {
					padding: 2rpx 6rpx;
	
					background: linear-gradient(90deg, #c79a4c, #f9df7f);
					border-radius: 5rpx;
					text-align: center;
					line-height: 28rpx;
					font-size: 20rpx;
					font-family: Source Han Sans CN;
					font-weight: 400;
					color: #ffffff;
				}
	
				.price {
					margin-left: 10rpx;
					font-size: 36rpx;
					color: #ff0000;
					font-weight: 500;
					display: flex;
					width: 100%;
					justify-content: space-between !important;
					align-items: center;
					.jf {
						font-size: 20rpx;
					}
					.give-jf {
						display: inline-block;
						padding: 8rpx;
						
						background: linear-gradient(90deg, #FF834D, #FF2600);
						border-radius: 12rpx 0px 12rpx 0px;
						
						font-size: 22rpx;
						font-weight: 500;
						color: #FFFFFF;
						margin-left: 22rpx;
					}
					.ot-pirce {
						margin-left: 7rpx;
						font-size: 26rpx;
						font-weight: 500;
						// text-decoration: line-through;
						color: #999999;
						align-self: flex-end;
					}
					
				}
	
				.yuanPrice {
					margin-left: 10rpx;
					font-size: 20rpx;
					font-family: PingFang SC;
					font-weight: 500;
					text-decoration: line-through;
					color: #999999;
				}
	
				.cart-icon {
					image {
						width: 44rpx;
						height: 44rpx;
					}
				}
			}
		}
	}
	.status_bar {
	        height: var(--status-bar-height);
			background-color: #fff;
	        width: 100%;
			position: fixed;
			top: 0;
			z-index: 999;
	    }
</style>