<template>
  <view
    style="padding: 12px; padding-bottom: 0; display: flex; flex-wrap: wrap"
    :style="{
      'background-color': goodsInfo.backgroundColor,
      'background-image': goodsInfo.backgroundPicUrl,
      'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : '',
    }"
  >
    <view
      v-for="(item, gli) in goodList"
      :key="gli"
      class="good-two"
      @click="openGood(item)"
    >
      <view
        :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">
          <view class="img-show">
            <image
              style="width: 100%; height: 100%; border-radius: 10rpx 10rpx 0 0"
              :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
              :src="item.picUrl"
            />
          </view>
        </view>
        <view class="good-info">
          <view class="good-name-style2" v-if="goodsInfo.showGoodsName">{{
            item.name
          }}</view>
          <!-- <view class="good-sub-name" v-if="item.subname">{{item.subname}}</view> -->
          <!-- <view class="good-sub-name" style="height:30rpx;">
							<template v-if="item.subname">{{item.subname}}</template>
						</view> -->
          <view class="good-price-info">
            <view class="price">
              {{ goodsInfo.showGoodsPrice ? getPrice(item.OriginalPrice) : "" }}
              <!-- <span style='text-decoration: line-through;margin-left: 10px;font-size: 10px;color: gray;font-family: aa;'>原价:{{goodsInfo.showGoodsPrice ? getPrice(item.OriginalPrice) : ''}}</span> -->
            </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.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4
                      ? '#FFF'
                      : 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>
    </view>
    <good-sku
      v-if="showSku"
      borderRadius="20"
      v-model="showSku"
      :good="sku"
      :option-type="2"
    ></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) {
        var url =
          "/pages/jiuzhai/jz_LineDetail?tcid=" +
          item.id +
          "&configId=" +
          item.subid;
        uni.navigateTo({
          url: url,
        });
      }
      //酒店
      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;
    },
  },
};
</script>

<style>
.good-two {
  width: 48%;
  position: relative;
  border: 1rpx solid transparent;
  border-radius: 10rpx;
  overflow: hidden;
  margin: 0 6rpx;
  margin-bottom: 12px;
  padding-bottom: 10rpx;
  box-shadow: 0px 10px 30px 0px rgba(36, 36, 36, 0.2);
  border-radius: 20rpx;
}
.good-two .tips {
  width: 64rpx;
  height: 64rpx;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
}
.good-two .img-box {
  width: 100%;
  height: 330rpx;
  position: relative;
  border-radius: 20rpx;
  overflow: hidden;
}
.good-two .img-box .img-show {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.good-two .guding {
  position: relative;
}
.good-two .guding .img-box {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
}
.good-two .good-info {
  padding: 20rpx;
  /* margin-top: -5px;
	padding-bottom: 0; */
}
.good-two .good-info .good-name-style2 {
  text-overflow: -o-ellipsis-lastline;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 26rpx;
  font-weight: 600;
  /* #ifdef MP-WEIXIN */
  height: 68rpx;
  /* #endif */
  /* #ifdef MP-ALIPAY */
  height: 60rpx;
  margin: 6rpx 0;
  /* #endif */
}
.good-two .good-info .good-sub-name {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  /* -webkit-line-clamp: 2;
	-webkit-box-orient: vertical; */
  white-space: nowrap;
  margin-bottom: 10rpx;
  font-size: 22rpx;
  color: #999999;
  /* height: 37px; */
}
.good-two .good-info .good-price-info {
  display: flex;
  flex-direction: row-reverse;
}
.good-two .good-info .good-price-info .price {
  color: #ff3166;
  /* flex: 1; */
  font-size: 26rpx;
  font-weight: 500;
  text-align: right;
}
.good-two .good-info .good-price-info .buy {
  /* width: 24px; */
  text-align: right;
}
</style>
