goodsItem_4.vue 1.91 KB
<template>
	<div class="goods-item-4-box" v-if="item" @click="jump(item)">
		<div class="main-box">
			<div class="img-box">
				<img v-lazy="item.simg + SIGN.SMALL" class="simg" />
			</div>
			<div class="content-box">
				<div class="top-box">
					<div class="title">{{item.title}}</div>
				</div>
				<div class="bottom-box">
					<div class="price-box">
						<div class="symbol">¥</div>
						<div class="integer">{{getInteger(item.price)}}.</div>
						<div class="decimal">{{getDecimal(item.price)}}</div>
					</div>
					<div class="shop-box" v-if="item.shop && item.shop.title && item.shop.shop_url" @click.stop.prevent="primary(item.shop)">
						<div class="shop-name">
							{{item.shop.title}}
						</div>
						<div class="buttons-box">
							<div class="btn btn-primary">进店&gt;</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</template>

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

            }
        },
		props: ["item"],
		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_4';
</style>