<template>
	<view class="section_page_main clearfix">
		<view class="floor-item-ad clearfix">
			<view class="floor-item-left">
				<image
					class="item-img-gg"
					:src="floorData.floorContent.appletsAdsImage1"
					@click="
						BannerNavigateTo(
							floorData.floorContent.linkType1,
							floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
							floorData.floorContent.adsLink1,
							floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
						)
					"
					mode="aspectFill"
				>
				</image>
			</view>
			<view class="floor_item_right">
				<image
					class="item-img-gg"
					:src="floorData.floorContent.appletsAdsImage2"
					@click="
						BannerNavigateTo(
							floorData.floorContent.linkType2,
							floorData.floorContent.linkParam2.id ? floorData.floorContent.linkParam2.id : '',
							floorData.floorContent.adsLink2,
							floorData.floorContent.linkParam2.keyword ? floorData.floorContent.linkParam2.keyword : ''
						)
					"
					mode="aspectFill"
				>
				</image>
				<image
					class="item-img-gg"
					:src="floorData.floorContent.appletsAdsImage3"
					@click="
						BannerNavigateTo(
							floorData.floorContent.linkType3,
							floorData.floorContent.linkParam3.id ? floorData.floorContent.linkParam3.id : '',
							floorData.floorContent.adsLink3,
							floorData.floorContent.linkParam3.keyword ? floorData.floorContent.linkParam3.keyword : ''
						)
					"
					mode="aspectFill"
				>
				</image>
			</view>
		</view>

		<view class="floor-item-ad ad-row2 clearfix">
			<image
				class="item-img-gg"
				:src="floorData.floorContent.appletsAdsImage2"
				@click="
					BannerNavigateTo(
						floorData.floorContent.linkType2,
						floorData.floorContent.linkParam2.id ? floorData.floorContent.linkParam2.id : '',
						floorData.floorContent.adsLink2,
						floorData.floorContent.linkParam2.keyword ? floorData.floorContent.linkParam2.keyword : ''
					)
				"
				mode="aspectFill"
			>
			</image>
			<image
				class="item-img-gg"
				:src="floorData.floorContent.appletsAdsImage3"
				@click="
					BannerNavigateTo(
						floorData.floorContent.linkType3,
						floorData.floorContent.linkParam3.id ? floorData.floorContent.linkParam3.id : '',
						floorData.floorContent.adsLink3,
						floorData.floorContent.linkParam3.keyword ? floorData.floorContent.linkParam3.keyword : ''
					)
				"
				mode="aspectFill"
			>
			</image>
		</view>

		<view
			class="floor-item ad_04 clearfix"
			v-for="(item, idx) in floorData.floorImageList"
			:key="idx"
			@click.stop="navToDetailPage(item)"
		>
			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
			<view class="floor-item_tag" v-if="item.listType == 2">
				<text>{{ item.label }}</text>
			</view>
			<view class="floor-item-content">
				<view class="title tui-skeleton-rect">
					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''"
						>{{ item.name }}
					</text>
				</view>
				<view class="floor-item-price" v-if="item.listType == 1">
					<template>
						<cm-acttags :product="item.product"></cm-acttags>
					</template>
					<view v-if="hasLogin">
						<template v-if="item.product.productCategory == 1">
							<template v-if="userIdentity == 3">
								<template v-if="item.product.shopID == shopId">
									<view class="title-none" v-if="item.product.priceFlag === 1">
										<text class="p big">￥未公开价格</text>
									</view>
									<view
										class="price tui-skeleton-rect"
										v-else
										:class="
											PromotionsFormat(item.product.promotions) ||
											item.product.svipProductFlag == 1
												? 'none'
												: ''
										"
									>
										<text class="p sm">￥</text>
										<text class="p big">{{
											(PromotionsFormat(item.product.promotions)
												? item.product.originalPrice
												: item.product.price) | NumFormat
										}}</text>
									</view>
								</template>
								<template v-else>
									<view class="no-price">
										<view class="p-stars">
											<text class="p-no">￥</text>
											<uni-grader
												:grade="Number(item.product.priceGrade)"
												:margin="14"
											></uni-grader>
										</view>
									</view>
								</template>
							</template>
							<template v-else-if="userIdentity === 4">
								<view class="title-none" v-if="item.product.priceFlag === 1">
									<text class="p big">￥未公开价格</text>
								</view>
								<view class="title-none" v-if="item.product.priceFlag === 2">
									<text class="p big">￥价格仅会员可见</text>
								</view>
								<view
									class="price tui-skeleton-rect"
									v-if="item.product.priceFlag === 0"
									:class="
										PromotionsFormat(item.product.promotions) || item.product.svipProductFlag == 1
											? 'none'
											: ''
									"
								>
									<text class="p sm">￥</text>
									<text class="p big">{{
										(PromotionsFormat(item.product.promotions)
											? item.product.originalPrice
											: item.product.price) | NumFormat
									}}</text>
								</view>
							</template>
							<template v-else>
								<view class="title-none" v-if="item.product.priceFlag === 1">
									<text class="p big">￥未公开价格</text>
								</view>
								<view
									class="price tui-skeleton-rect"
									v-else
									:class="
										PromotionsFormat(item.product.promotions) || item.product.svipProductFlag == 1
											? 'none'
											: ''
									"
								>
									<text class="p sm">￥</text>
									<text class="p big">{{
										(PromotionsFormat(item.product.promotions)
											? item.product.originalPrice
											: item.product.price) | NumFormat
									}}</text>
								</view>
							</template>
						</template>
						<template v-else>
							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
								<text class="p sm">￥</text> <text class="p big">价格详聊</text>
							</view>
							<view class="price tui-skeleton-rect" v-else>
								<text class="p sm">￥</text>
								<text class="p big">{{ item.product.price | NumFormat }}</text>
							</view>
						</template>
					</view>
					<view v-else class="no-price">
						<template v-if="item.product.productCategory == 1">
							<view class="p-stars">
								<text class="p-no">￥</text>
								<uni-grader :grade="Number(item.product.priceGrade)" :margin="14"></uni-grader>
							</view>
						</template>
						<template v-else>
							<view class="p-stars"> <text class="p-no">￥登录可见</text> </view>
						</template>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
import { mapState, mapMutations } from 'vuex'
import uniGrader from '@/components/uni-grade/uni-grade.vue'
import cmActtags from '@/components/cm-module/productDetails/cm-acttags.vue'

export default {
	name: 'templateD',
	components: {
		uniGrader,
		cmActtags
	},
	props: {
		pageData: {
			type: Object
		},
		userIdentity: {
			type: Number
		}
	},
	data() {
		return {
			shopId: 0,
			floorData: {}
		}
	},
	filters: {
		NumFormat: function(text) {
			//处理金额
			return Number(text).toFixed(2)
		}
	},
	created() {
		this.initData(this.pageData)
	},
	computed: {
		...mapState(['hasLogin', 'userInfo', 'isActivity'])
	},
	watch: {
		pageData: {
			handler: function(el) {
				//监听对象的变换使用 function，箭头函数容易出现this指向不正确
				this.pageData = el
				this.initData(this.pageData)
			},
			deep: true
		}
	},
	methods: {
		initData(data) {
			this.$api.getStorage().then(resolve => {
				this.shopId = resolve.shopId ? resolve.shopId : 0
			})
			this.floorData = data
			// console.log(this.floorData)
		},
		PromotionsFormat(promo) {
			//促销活动类型数据处理
			if (promo != null) {
				if (promo.type == 1 && promo.mode == 1) {
					return true
				} else {
					return false
				}
			}
			return false
		},
		navToDetailPage(pros) {
			//跳转商品详情页
			this.$api.FlooryNavigateTo(pros)
		},
		BannerNavigateTo(linkType, linkId, linkHref, keyword) {
			//跳转商品详情页
			this.$api.BannerNavigateTo(linkType, linkId, linkHref, keyword)
		}
	}
}
</script>

<style lang="scss">
.section_page_main {
	width: 100%;
	height: auto;
	box-sizing: border-box;

	.floor-item-ad {
		width: 100%;
		margin-bottom: 20rpx;
		.floor-item-left,
		.floor_item_right {
			width: 339rpx;
			height: 516rpx;
		}
		.floor-item-left {
			margin-right: 20rpx;
			float: left;
			.item-img-gg {
				width: 339rpx;
				height: 516rpx;
				border-radius: 16rpx;
			}
		}
		.floor_item_right {
			float: left;
			.item-img-gg {
				width: 100%;
				height: 246rpx;
				display: block;
				border-radius: 16rpx;
				&:nth-child(1) {
					margin-bottom: 24rpx;
				}
			}
		}
		&.ad-row2 {
			width: 100%;
			margin: 24rpx 0;
			.item-img-gg {
				width: 339rpx;
				height: 246rpx;
				float: left;
				display: block;
				border-radius: 16rpx;
				&:nth-child(1) {
					margin-right: 20rpx;
				}
			}
		}
	}
	.floor-item {
		width: 339rpx;
		height: 516rpx;
		margin-right: 20rpx;
		font-size: $font-size-24;
		color: $text-color;
		background: #ffffff;
		line-height: 36rpx;
		border-radius: 16rpx;
		margin-bottom: 20rpx;
		float: left;
		box-sizing: border-box;
		position: relative;

		&:nth-child(even) {
			margin-right: 0;
		}
		.item-img-gg {
			width: 339rpx;
			height: 516rpx;
			display: block;
			border-radius: 16rpx;
		}
		.item-img {
			width: 339rpx;
			height: 339rpx;
			border-radius: 16rpx 16rpx 0 0;
			display: block;
			margin-bottom: 8rpx;
		}
		.floor-item_tag {
			width: 100%;
			height: 32rpx;
			float: left;
			margin: 20rpx 0;
			padding: 0 20rpx;
			box-sizing: border-box;
			text {
				display: inline-block;
				padding: 0 8rpx;
				border: 1px solid #e3ebf7;
				border-radius: 8rpx;
				color: #9aa5b5;
				font-size: $font-size-22;
				line-height: 32rpx;
				text-align: center;
				float: left;
			}
		}
		.floor-item-content {
			width: 100%;
			padding: 0 20rpx;
			box-sizing: border-box;
		}
		.floor-item-act {
			display: block;
			width: 100%;
			height: 32rpx;
			text-align: center;
			box-sizing: border-box;
		}
		.title-none {
			font-size: $font-size-26;
			color: #ff2a2a;
			line-height: 54rpx;
		}
		.title {
			width: 100%;
			height: 70rpx;
			display: flex;
			line-height: 35rpx;
			flex-direction: column;
			margin: 8rpx 0;
			padding: 0;
			position: relative;
			.mclap {
				width: 100%;
				line-height: 35rpx;
				text-overflow: ellipsis;
				display: -webkit-box;
				word-break: break-all;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2;
				overflow: hidden;
				font-size: 26rpx;
				&.indent {
					text-indent: 95rpx;
				}
			}
			.mclap-tag {
				display: block;
				width: 84rpx;
				height: 32rpx;
				background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
				border-radius: 4rpx 48rpx 4px 4px;
				line-height: 32rpx;
				font-size: $font-size-22;
				color: #ffffff;
				text-align: center;
				position: absolute;
				left: 0;
				top: 0;
			}
		}
		.no-price {
			height: 54rpx;
			line-height: 54rpx;
			display: flex;
			box-sizing: border-box;
			.p-no {
				font-size: $font-size-28;
				color: $text-color;
				display: block;
				float: left;
			}
			.p-stars {
				float: left;
			}
		}
		.price {
			color: #ff2a2a;
			line-height: 54rpx;
			&.none {
				text-decoration: line-through;
				color: #999999;
			}
			.sm {
				font-size: $font-size-24;
			}
			.big {
				font-size: $font-size-28;
			}
		}
	}
}
</style>
