<template>
	<div class="catstyle7" style="height: 100%;">
		<view class="tabsbox">
			<u-tabs :is-scroll="true" name="Name" :list="d" :active-color="mainColor" :current="active" @change="changeHandler"
			 :type-style="2" :show-bar="false" :bold="false" height="50" duration="0"></u-tabs>
		</view>
		<div class="second">
			<div class="item" :style="{'border-color': stid == i ? mainColor : '#999',color: stid == i ? mainColor : '#999',}"
			 v-for="(x, i) in d[tid].ChildList" :key="i" @click="clickSecondHandler(i)">
				{{ x.Name }}
			</div>
		</div>
		<div style="padding: 10px;padding-bottom:0; background: #f5f5f5;" :style="{ height: 'calc(100% - 45px - ' + sHeight + 'px)' }">
			<scroll-view :scroll-y="true" @scrolltolower="lower" :enable-back-to-top="true" :enable-flex="true" style="height: 100%;">
				<u-row gutter="10">
					<u-col span="6" v-for="(cx, ci) in g" :key="ci">
						<div class="good" @click="clickHandler(cx)">
							<div class="good-img" style="position: relative;">
								<image mode="aspectFit" :src="cx.cover_pic" style="width: 100%; height: 100%;">
									<image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/plugins-out.png" v-if="cx.totalStock==0"
									 style="width: 100%; height: 100%;position: absolute;left:0;top:0;background: #000;opacity: 0.6;" />
								</image>
							</div>
							<div class="good-name">
								<view v-if="cx.marketingLogo.iswords && cx.marketingLogo.iswords==1&& cx.marketingLogo.words!=''" class="Logo"
								 :style="{color: cx.marketingLogo.wordsColor,
				  			background:cx.marketingLogo.wordsBack ,}">{{cx.marketingLogo.words}}</view>
								<image v-if="cx.marketingLogo.iswords&&cx.marketingLogo.iswords==2&& cx.marketingLogo.ico!=''" mode="heightFix"
								 :src="cx.marketingLogo.ico" style=" height: 12px;margin-right: 5px;" />

								<view style="color: #FF4048;background: #fdf6ec;padding: 0 5px;display: inline-block;height: 32rpx;font-size: 20rpx;margin-right: 5rpx;"
								 v-if="cx.freeShippingFullMoneyPinkage>0 || cx.freeShippingFullNumPinkage>0">
									{{cx.freeShippingFullMoneyPinkage>0 && cx.freeShippingFullNumPinkage==0?cx.freeShippingFullMoneyPinkage+'元包邮':''}}
									{{cx.freeShippingFullMoneyPinkage==0 && cx.freeShippingFullNumPinkage>0?cx.freeShippingFullNumPinkage+'件包邮':''}}
								</view>
								{{ cx.name }}
							</div>
							<div class="good-info">
								<div class="price" :style="{ color: mainColor }">
									{{ cx.price_content }}
								</div>
								<div class="sell">{{ cx.sales }}</div>
							</div>
						</div>
					</u-col>
				</u-row>
				<u-divider v-if="isover" :margin-top="20" bg-color="#F5f5f5" :margin-bottom="20">没有更多商品了</u-divider>&nbsp;
			</scroll-view>
		</div>
	</div>
</template>

<script>
	export default {
		props: ["d", "h"],
		data() {
			return {
				mainColor: "",
				page: 1,
				page_count: 1,
				mh: 0,
				g: [],
				isover: false,
				loading: false,
				tid: 0,
				active: 0,
				stid: 0,
				sHeight: 0,
				msg: {
					pageIndex: 1,
					pageSize: 14,
					Name: '',
					GoodsType: 0,
					CategoryIds: '',
					OrderBy: 1,
					UserId: 0,
					StoreId:0,
				},
				IsEducation: 0,
			};
		},
		created() {
			this.mainColor = this.$uiConfig.mainColor;
			this.IsEducation = uni.getStorageSync('basedata') ?
				(uni.getStorageSync('basedata').mall.setting.mallStyle.IsEducation ? uni.getStorageSync('basedata').mall.setting.mallStyle
					.IsEducation : 0) :
				0;
		},
		mounted() {
			this.CategoryIdsList = [];
			this.CategoryIds1 = this.d[0].Id;
			this.CategoryIds2 = this.d[0].ChildList[0].Id;
			this.init();
			setTimeout(() => {
				this.computSecondHeight();
			}, 500);
		},
		methods: {
			changeHandler(i) {
				this.active = i;
				this.CategoryIds1 = this.d[i].Id;
				this.CategoryIds2 = this.d[i].ChildList[0].Id;
				this.msg.page = 1;
				this.tid = i;
				this.stid = 0;
				this.g = [];
				this.init();
				setTimeout(() => {
					this.computSecondHeight();
				}, 500);
			},
			clickSecondHandler(i) {
				let tid = this.tid;
				this.CategoryIds2 = this.d[tid].ChildList[i].Id;
				this.stid = i;
				this.msg.page = 1;
				this.g = [];
				this.init();
			},
			clickHandler(item) {
				if (this.IsEducation == 1) {
					uni.navigateTo({
						url: '/pages/school/courseInfo?GoodsId=' + item.id
					});
				} else {
					if (item.goodsclassify == 3) {
						uni.navigateTo({ url: "/pages/reserve/goodsDetails?GoodsId=" + item.id});
					} else {
						uni.navigateTo({ url: "/pages/goods/goods?GoodsId=" + item.id });
					}
				}
			},
			computSecondHeight() {
				const query = uni.createSelectorQuery().in(this);
				query
					.select(".second")
					.boundingClientRect((data) => {
						this.sHeight = data.height
					})
					.exec();
			},
			init() {
				this.CategoryIdsList = [];
				this.CategoryIdsList.push(this.CategoryIds1, this.CategoryIds2);
				this.msg.CategoryIds = this.CategoryIdsList.join(',');
				this.isover = false;
				this.loading = true;
				this.msg.StoreId = uni.getStorageSync("storeId")?uni.getStorageSync("storeId").storeId:0;
				let url
				if (this.IsEducation == 1) {
					url = '/api/AppletSchool/GetAppletCoursePageList'
				} else {
					url = '/api/AppletGoods/GetAppletGoodsPageListForZY'
				}
				this.request2({
						url: url,
						data: this.msg
					},
					res => {
						this.loading = false;
						console.log("resggg", res);
						if (res.resultCode == 1) {
							res.data.pageData.forEach(x => {
								x.marketingLogo = JSON.parse(x.marketingLogo)
								x.totalStock = 0;
								if (x.attr && x.attr.length > 0) {
									x.attr.forEach(j => {
										x.totalStock += j.stock
									})
								}
							})
							this.g = this.g.concat(res.data.pageData);
							this.page_count = res.data.pageCount;
							if (this.page_count == 1 || this.page_count == 0) {
								this.isover = true;
							}
						}
						uni.hideNavigationBarLoading();
					}
				);
			},
			lower(e) {
				if (this.msg.pageIndex < this.page_count) {
					if (!this.loading) {
						this.msg.pageIndex++;
						this.init();
					}
				} else {
					this.isover = true;
				}
			},
		},
	};
</script>

<style>
	.catstyle7 .tabsbox {
		padding: 10px;
	}

	.catstyle7 .good {
		background: #fff;
		border-radius: 10px;
	}

	.catstyle7 .good .good-img {
		width: calc(50vw - 15px);
		height: calc(50vw - 15px);
		display: block;
	}

	.catstyle7 .good .good-name {
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		margin-bottom: 3px;
		font-size: 14px;
		margin: 7px 10px;
	}

	.catstyle7 .good .good-info {
		display: flex;
		margin: 7px 10px;
		margin-top: 0;
		align-items: center;
		padding-bottom: 5px;
	}

	.catstyle7 .good .good-info .price {
		font-size: 16px;
		color: #ff4544;
		flex: 1;
	}

	.catstyle7 .good .good-info .sell {
		font-size: 12px;
		color: gray;
		flex: 1;
		text-align: right;
	}

	.catstyle7 .second {
		padding: 0 10px 10px 0;
	}

	.catstyle7 .second .item {
		margin-top: 10px;
		margin-left: 10px;
		display: inline-block;
		padding: 5px 10px;
		height: 23px;
		line-height: 23rpx;
		box-sizing: border-box;
		border-radius: 23px;
		border: 1px solid transparent;
		font-size: 12px;
	}

	.catstyle7 .Logo {
		padding: 1px 5px;
		display: inline-block;
		font-size: 22rpx;
		margin-right: 5rpx;
		border-radius: 4px;
	}
</style>
