columnCommodityListBox.vue 2.81 KB
<template>
	<div class="column-list-box" v-if="columnLists && columnLists.list && columnLists.list.length">
		<slot name="title"></slot>
		<div class="box">

			<!-- left-box -->
			<div class="left-box">

				<!-- 数组内奇数,index是偶数 -->
				<div class="item-box" v-if="!(index % 2)" v-for="(item, index) in columnLists.list" :key="index" @click="toDetail(item)">
					<div class="item">
						<div class="img-box">
							<img v-lazy="item.simg + SIGN.MIDDLE" class="img" />
						</div>
						<div class="content-box">
							<div class="title">{{item.title}}</div>
							<!-- <div class="coupon-box">
								满180减10
							</div> -->
							<div class="price-box">
								<div class="left">
									<div class="y">¥</div>
									<div class="integer">{{getInteger(item.price)}}.</div>
									<div class="decimal">{{getDecimal(item.price)}}</div>
								</div>
								<div class="right">
									<img src="static/img/icon_add.png" class="icon-add" mode="widthFix" />
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>

			<!-- right-box -->
			<div class="right-box">

				<!-- 数组内偶数,index是奇数 -->
				<div class="item-box" v-if="index % 2" v-for="(item, index) in columnLists.list" :key="index" @click="toDetail(item)">
					<div class="item">
						<div class="img-box">
							<img v-lazy="item.simg + SIGN.MIDDLE" class="img" />
						</div>
						<div class="content-box">
							<div class="title">{{item.title}}</div>
							<!-- <div class="coupon-box">
								满180减10
							</div> -->
							<div class="price-box">
								<div class="left">
									<div class="y">¥</div>
									<div class="integer">{{getInteger(item.price)}}.</div>
									<div class="decimal">{{getDecimal(item.price)}}</div>
								</div>
								<div class="right">
									<img src="static/img/icon_add.png" class="icon-add" mode="widthFix" />
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</template>

<script>
	export default {
		data() {
			return {
				
			};
		},
		props: ["columnLists"],
		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 [对象]
			 */
			toDetail(item) {
				this.$emit("detail", item);
			}
		}
	}
</script>

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