<template>
	<view
		style="padding: 12px; padding-bottom: 0;width:100%;min-height:450rpx;"
		:style="{
			'background-color': goodsInfo.backgroundColor,
			'background-image': goodsInfo.backgroundPicUrl,
			'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
		}"
	>
		<view
			class="good-four"
			v-for="(item, gli) in goodList"
			:key="gli"
			@click="openGood(item)"
			:style="{
				border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
				background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
			}"
		>
			<view class="tips" v-if="goodsInfo.showGoodsTag"><image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width: 100%;" /></view>
			<view class="img-box"><image style="width: 100%; height: 100%;" :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" :src="item.picUrl" /></view>
			<view class="good-info">
				<view class="good-name" v-if="goodsInfo.showGoodsName">{{ item.name }}</view>
				<view class="good-price-info">
					<view class="price" :style="{ color: mainColor }">{{ goodsInfo.showGoodsPrice ? getPrice(item.price) : '' }}</view>
					<view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)">
						<u-icon name="cart-o" size="40" :color="mainColor" v-if="goodsInfo.buyBtn == 'cart'" />
						<u-icon name="add-o" size="40" :color="mainColor" v-else-if="goodsInfo.buyBtn == 'add'" />
						<u-button
							type="primary"
							size="mini"
							:ripple="true"
							:color="goodsInfo.buttonColor"
							:custom-style="
								`backgroundColor:${goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
							"
							:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
							:shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
							v-else
						>
							{{ goodsInfo.buyBtnText }}
						</u-button>
					</view>
				</view>
			</view>
		</view>
		<good-sku v-if="showSku" :option-type="2" borderRadius="20" v-model="showSku" :good="sku"></good-sku>
		<auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
	</view>
</template>

<script>
import goodSku from '../goods/goodsku';
import auth from '@/components/auth/index.vue';
export default {
	components: {
		goodSku,
		auth
	},
	props: ['goodList', 'goodsInfo'],
	data() {
		return {
			mainColor: '',
			activeKey: 0,
			showSku: false,
			sku: {},
			showAuth: false,
			u: {}
		};
	},
	created() {
		this.mainColor = this.$uiConfig.mainColor;
	},
	methods: {
		openGood(item) {
			//线路
			if (item.goodType == 4) {
				uni.navigateTo({
					url: "/pages/jiuzhai/jz_LineDetail?tcid=" + item.id + '&configId=' + item.subid
				});
			}
			//酒店
			else if (item.goodType == 1) {
				uni.navigateTo({
					url: "/pages/hotel/detail?id=" + item.id
				});
			}
			//餐食
			else if (item.goodType == 2) {
				uni.navigateTo({
					url: '/pages/restaurant/detail?id=' + item.id
				});
			}
			//景点
			else if (item.goodType == 3) {
				uni.navigateTo({
					url: '/pages/ticketCoupons/detail?id=' + item.id
				});
			}
		},
		showSkuHandler(g) {
			this.sku = g;
			this.u = uni.getStorageSync('mall_UserInfo');
			if (!this.u) {
				this.u = {
					nickName: '未登录',
					avatarUrl: ''
				};
				this.showAuth = true;
			} else {
				this.showSku = true;
			}
		},
		reloadUserinfo() {
			this.u = uni.getStorageSync('mall_UserInfo');
			// this.showAuth = false;
		},
		//关闭登录窗口
		gbAuth() {
			this.showAuth = false;
		}
		//格式化价格添加.00
		// getPrice(value){
		//   var html,_val;
		//   value =Number(value).toFixed(2);
		//   if(value==0){
		//    value=0;
		//    return html = "￥0";
		//   }else if(value.split('.')[1].substring(1)==0){
		//    value = Number(value).toFixed(2);
		//   }
		//   _val = value.split('.');
		//   return html = '￥'+_val[0]+'.'+_val[1];
		// }
	}
};
</script>

<style>
.good-four {
	position: relative;
	margin-bottom: 14px;
	display: flex;
	height: 102px;
	border: 1rpx solid transparent;
	border-radius: 10rpx;
	box-sizing: border-box;
	padding: 0 1px 1px 0;
	overflow: hidden;
}
.good-four .tips {
	width: 64rpx;
	height: 64rpx;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
}
.good-four .img-box {
	width: 100px;
	height: 100px;
}
.good-four .good-info {
	padding: 12px;
	flex: 1;
	width: 1rpx;
	border: 10rpx;
	padding-bottom: 0;
	display: flex;
	flex-direction: column;
	/* width:20%; */
}
.good-four .good-info .good-name {
	font-size: 13px;
	height: 34px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.good-four .good-info .good-price-info {
	display: flex;
	justify-items: center;
	align-items: flex-end;
	height: 22px;
	flex: 1;
	padding-bottom: 10rpx;
}
.good-four .good-info .good-price-info .price {
	color: #ff4544;
	flex: 1;
	font-size: 14px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.good-four .good-info .good-price-info .buy {
	width: 24px;
	text-align: right;
}
</style>
