goodsItem_8.vue 2.93 KB
<template>
	<div class="goods-item-8-box" :class="'style-' + sty" v-if="item" @click="jump(item)">
		<div class="main-box">
			<div class="left-box">
				<div class="img-box">
					<img v-lazy="item.simg + SIGN.SMALL" class="simg" />
				</div>
				<slot name="flag"></slot>
			</div>
			<div class="content-box">
				<div class="top-box">
					<div class="title">{{item.title}}</div>
					<!-- <div class="sub-title" v-if="sty == '2'">已售出&nbsp;{{item.num}}&nbsp;件</div> -->
					<!-- <div class="sub-title" v-else>{{item.ads}}</div> -->
					<div class="sub-title" v-if="item.ads && sty != '2'">{{item.ads}}</div>
					<div class="icon-stock-is-tight-box" v-if="sty == '1' && item.gift_num <= 10 && item.num == '1' && item.stock != '0'">
						<img src="static/img/icon_stock_is_tight.png" class="icon-stock-is-tight-img" />
					</div>
				</div>
				<div class="bottom-box">
					<div class="price-box">
						<div class="symbol">¥&nbsp;</div>
						<div class="integer">{{item.price}}</div>
						<div class="decimal"></div>
						<div class="prices" v-if="sty && item.prices && parseFloat(item.prices) > 0 && parseFloat(item.prices) > parseFloat(item.price)">¥{{item.prices}}</div>
					</div>
					<div class="icon-box" @click.stop.prevent="primary(item)">
						<img src="static/img/icon_list_arrow_right.png" class="icon-img" v-if="sty == 2" />
						<div class="btn btn-disabled" v-else-if="sty == '1' && discountType == '2'">已结束</div>
						<div class="btn btn-disabled" v-else-if="sty == '1' && (item.num == '2' || (item.num == '1' && item.stock == '0'))">已抢光</div>
						<img src="static/img/icon_shopping_cart_active.png" class="icon-img" v-else />

						<!-- 限购几件,不能再加入购物车展示效果,灰度图片 -->
						<!-- <img src="static/img/icon_shopping_cart.png" class="icon-img" v-else /> -->
					</div>
				</div>
			</div>
		</div>
	</div>
</template>

<script>
    export default {
        data: function () {
            return {

            }
        },
		props: ["item", "sty", "discountType"],
		computed: {

			/**
			 * 获取输入数字的整数部分
			 */
			getInteger() {
				return (number) => {
					return parseInt(number);
				}
			},

			/**
			 * 获取输入数字的小数部分
			 */
			getDecimal() {
				return (number) => {

					// 拆分数字
					let numberArr = number.toString().split(".");

					// 判断是否有效数部分
					if (numberArr.length === 2) {
						return numberArr[1];
					} else {
						return "00";
					}
				}
			}
		},
		methods: {

			/**
			 * 点击跳转
			 * @param {object} item [数据对象]
			 */
			jump(item) {
				this.$emit("jump", item);
			},

			/**
			 * 主按钮点击事件
			 * @param {object} item [数据对象]
			 */
			 primary(item) {
				this.$emit("primary", item);
			}
		}
    }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style rel="stylesheet/less" lang="less" scoped>
    @import './goodsItem_8';
</style>