25 changed files with 52 additions and 2751 deletions
-
102components/big-coffee/big-coffee.less
-
74components/big-coffee/big-coffee.vue
-
55components/exclusive-plan/exclusive-plan.less
-
58components/exclusive-plan/exclusive-plan.vue
-
108components/health-tips/health-tips.less
-
102components/health-tips/health-tips.vue
-
112components/index-call/index-call.less
-
114components/index-call/index-call.vue
-
73components/index-category/index-category.less
-
69components/index-category/index-category.vue
-
114components/index-cube/index-cube.less
-
252components/index-cube/index-cube.vue
-
166components/index-grouping/index-grouping.less
-
94components/index-grouping/index-grouping.vue
-
216components/index-groupon/index-groupon.less
-
98components/index-groupon/index-groupon.vue
-
133components/index-seckill/index-seckill.less
-
160components/index-seckill/index-seckill.vue
-
260components/index-suit/index-suit.less
-
77components/index-suit/index-suit.vue
-
75components/waterfalls-flow/waterfalls-flow.less
-
99components/waterfalls-flow/waterfalls-flow.vue
-
4pages/business/payment/money.vue
-
91pages/index/index/index.vue
-
3pages/user/member/code.vue
@ -1,102 +0,0 @@ |
|||||
.big-coffee{ |
|
||||
background-color: #FFFFFF; |
|
||||
padding: 0 15px; |
|
||||
.title{ |
|
||||
padding: 10px 0px 0px 0; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
align-items: center; |
|
||||
|
|
||||
span:nth-child(1) { |
|
||||
font-size: 24px; |
|
||||
font-weight: bold; |
|
||||
line-height: 33px; |
|
||||
display: inline-block; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
} |
|
||||
i{ |
|
||||
margin-left: 5px; |
|
||||
} |
|
||||
|
|
||||
span:nth-child(2) { |
|
||||
font-size: 12px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text{ |
|
||||
font-size: 15px; |
|
||||
font-weight: 700; |
|
||||
margin-top: -8px; |
|
||||
margin-left: 5px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.ul-list{ |
|
||||
.li-item{ |
|
||||
padding: 9px 0px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
.left-info{ |
|
||||
width:122px; |
|
||||
height:122px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
vertical-align:middle; |
|
||||
} |
|
||||
} |
|
||||
.right-info{ |
|
||||
flex: 1; |
|
||||
overflow: hidden; |
|
||||
padding-left: 18px; |
|
||||
.name{ |
|
||||
height: 48px; |
|
||||
color:#111111; |
|
||||
font-size: 16px; |
|
||||
line-height: 24px; |
|
||||
margin-bottom:29px; |
|
||||
display: -webkit-box; |
|
||||
-webkit-box-orient: vertical; |
|
||||
-webkit-line-clamp: 2; |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
.referrer{ |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
.avatar{ |
|
||||
width: 34px; |
|
||||
height: 34px; |
|
||||
border-radius: 50%; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
border-radius: 50%; |
|
||||
} |
|
||||
} |
|
||||
.detail{ |
|
||||
flex: 1; |
|
||||
overflow: hidden; |
|
||||
padding-left: 7px; |
|
||||
.nick-name{ |
|
||||
color:#666666; |
|
||||
font-size: 12px; |
|
||||
line-height: 17px; |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
.sub-intro{ |
|
||||
color: #999999; |
|
||||
font-size: 10px; |
|
||||
line-height: 14px; |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,74 +0,0 @@ |
|||||
<template> |
|
||||
<view class="big-coffee" :style="'margin-bottom: ' + meta.margin_bottom + 'px'"> |
|
||||
<view class="title" v-if="coffeeTitle && show"> |
|
||||
<span>{{coffeeTitle}}</span> |
|
||||
<!--<span data-link="/pages/article/coffeeList/coffeeList?type=1" bindtap="_jumpImg"> |
|
||||
更多 |
|
||||
<i class="iconfont icon-gengduo"></i> |
|
||||
</span>--> |
|
||||
</view> |
|
||||
<view class="ul-list"> |
|
||||
<view class="li-item" v-for="(item, index) in coffeeData" :key="index" :data-link="item.link" @tap="_jumpImg"> |
|
||||
<view class="left-info"> |
|
||||
<image :src="item.image"></image> |
|
||||
</view> |
|
||||
<view class="right-info"> |
|
||||
<view class="name"> |
|
||||
{{item.associate.title}} |
|
||||
</view> |
|
||||
<view class="referrer"> |
|
||||
<view class="avatar"> |
|
||||
<image :src="item.associate.author_avatar"></image> |
|
||||
</view> |
|
||||
<view class="detail"> |
|
||||
<view class="nick-name">推荐者:{{item.associate.author}}</view> |
|
||||
<view class="sub-intro">{{item.associate.author_title}}</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return {}; |
|
||||
}, |
|
||||
|
|
||||
props: { |
|
||||
coffeeData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
coffeeTitle: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
show: { |
|
||||
type: Number, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
methods: { |
|
||||
_jumpImg(e) { |
|
||||
var link = e.currentTarget.dataset.link; |
|
||||
if (!link || link == 'uto_miniprogram') return; |
|
||||
wx.navigateTo({ |
|
||||
url: link |
|
||||
}); |
|
||||
}, |
|
||||
}, |
|
||||
|
|
||||
}; |
|
||||
|
|
||||
</script> |
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "big-coffee"; |
|
||||
</style> |
|
||||
@ -1,55 +0,0 @@ |
|||||
.exclusive-plan{ |
|
||||
background-color: #FFFFFF; |
|
||||
.title{ |
|
||||
padding: 10px 15px 5px 15px; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
align-items: center; |
|
||||
|
|
||||
span:nth-child(1) { |
|
||||
font-size: 24px; |
|
||||
font-weight: bold; |
|
||||
line-height: 33px; |
|
||||
display: inline-block; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
} |
|
||||
|
|
||||
span:nth-child(2) { |
|
||||
font-size: 12px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text{ |
|
||||
font-size: 15px; |
|
||||
font-weight: 700; |
|
||||
margin-left: 5px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.content-plans{ |
|
||||
//padding:0px 0px 20px 0px; |
|
||||
white-space: nowrap; |
|
||||
overflow: auto; |
|
||||
.item{ |
|
||||
display: inline-block; |
|
||||
width:240px; |
|
||||
height: 125px; |
|
||||
margin: 5px; |
|
||||
|
|
||||
&:first-child { |
|
||||
margin-left: 15px; |
|
||||
} |
|
||||
&:last-child { |
|
||||
margin-right: 15px; |
|
||||
} |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
} |
|
||||
@ -1,58 +0,0 @@ |
|||||
<template> |
|
||||
<view class="exclusive-plan" :style="'margin-bottom: ' + meta.margin_bottom + 'px'"> |
|
||||
<view class="title" v-if="planTitle && show"> |
|
||||
<span>{{planTitle}}</span> |
|
||||
<span data-link="/pages/article/list/list?type=2" @tap="_jumpImg">更多 |
|
||||
<text class="iconfont icon-gengduo"></text> |
|
||||
</span> |
|
||||
</view> |
|
||||
<view class="content-plans"> |
|
||||
<view class="item" v-for="(item, index) in planData" :key="index" :data-link="item.link" @tap="_jumpImg"> |
|
||||
<image :src="item.image"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return {}; |
|
||||
}, |
|
||||
props: { |
|
||||
planData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
planTitle: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
show: { |
|
||||
type: Number, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
}, |
|
||||
options: { |
|
||||
addGlobalClass: true |
|
||||
}, |
|
||||
methods: { |
|
||||
|
|
||||
_jumpImg(e) { |
|
||||
var link = e.currentTarget.dataset.link; |
|
||||
if (!link || link == 'uto_miniprogram') return; |
|
||||
wx.navigateTo({ |
|
||||
url: link |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "exclusive-plan"; |
|
||||
</style> |
|
||||
@ -1,108 +0,0 @@ |
|||||
.health-tips{ |
|
||||
background-color: #FFFFFF; |
|
||||
padding: 0 0px; |
|
||||
//margin-bottom:15px; |
|
||||
.title{ |
|
||||
padding: 10px 15px 0px 15px; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
align-items: center; |
|
||||
|
|
||||
span:nth-child(1) { |
|
||||
font-size: 24px; |
|
||||
font-weight: bold; |
|
||||
line-height: 33px; |
|
||||
display: inline-block; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
} |
|
||||
|
|
||||
span:nth-child(2) { |
|
||||
font-size: 12px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text{ |
|
||||
font-size: 15px; |
|
||||
font-weight: 700; |
|
||||
margin-top: -8px; |
|
||||
margin-left: 5px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.ul-content{ |
|
||||
.li-item{ |
|
||||
.top-box{ |
|
||||
padding: 11px 15px 8px 15px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
.topic{ |
|
||||
color: #111111; |
|
||||
font-size: 14px; |
|
||||
line-height: 24px; |
|
||||
|
|
||||
font-weight: 700; |
|
||||
} |
|
||||
.change{ |
|
||||
height: 19px; |
|
||||
border-radius:4px; |
|
||||
border: 1px solid #333333; |
|
||||
width: 44px; |
|
||||
text-align: center; |
|
||||
color: #333333; |
|
||||
font-size: 11px; |
|
||||
} |
|
||||
} |
|
||||
.center-box{ |
|
||||
padding:0 15px 9px 15px; |
|
||||
color: #999999; |
|
||||
font-size: 12px; |
|
||||
line-height: 19px; |
|
||||
} |
|
||||
.bottom-box{ |
|
||||
overflow: auto; |
|
||||
padding:18px 10px; |
|
||||
display: flex; |
|
||||
flex-wrap: nowrap; |
|
||||
.item{ |
|
||||
margin: 0 5px; |
|
||||
.info{ |
|
||||
.img-box{ |
|
||||
width: 100px; |
|
||||
height: 100px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
vertical-align: middle; |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
.name{ |
|
||||
padding:6px 0 3px 0; |
|
||||
color:#333333; |
|
||||
font-size: 12px; |
|
||||
line-height: 19px; |
|
||||
white-space: nowrap; |
|
||||
text-overflow: ellipsis; |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
.money{ |
|
||||
color: #E7031C; |
|
||||
font-size: 11px; |
|
||||
line-height: 16px; |
|
||||
span{ |
|
||||
color: #999999; |
|
||||
font-size: 10px; |
|
||||
line-height: 14px; |
|
||||
text-decoration: line-through; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,102 +0,0 @@ |
|||||
<template> |
|
||||
<view class="health-tips" :style="'margin-bottom: ' + meta.margin_bottom + 'px'"> |
|
||||
<view class="title" v-if="title && show"> |
|
||||
<span>{{title}}</span> |
|
||||
</view> |
|
||||
<view class="ul-content"> |
|
||||
<view class="li-item" v-if="tipsData"> |
|
||||
<view class="top-box"> |
|
||||
<view class="topic"> |
|
||||
{{tipsData.name}} |
|
||||
</view> |
|
||||
<view class="change" @tap="_changeItem"> |
|
||||
换一换 |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="center-box"> |
|
||||
{{tipsData.meta.subtitle}} |
|
||||
</view> |
|
||||
<view class="bottom-box"> |
|
||||
<view class="item" :data-id="item.associate.id" v-for="(item, index) in tipsData.children" :key="index" @tap="_jumpToDetail"> |
|
||||
<view class="info"> |
|
||||
<view class="img-box"> |
|
||||
<image :src="item.associate.img"></image> |
|
||||
</view> |
|
||||
<view class="name"> |
|
||||
{{item.associate.name}} |
|
||||
</view> |
|
||||
<view class="money"> |
|
||||
¥{{item.associate.sell_price}} |
|
||||
<span>¥{{item.associate.market_price}}</span> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
tipsData: '', |
|
||||
tapIndex: 0 |
|
||||
}; |
|
||||
}, |
|
||||
props: { |
|
||||
healthData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
title: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
show: { |
|
||||
type: Number, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
mounted() { |
|
||||
this.tipsData= this.healthData[0]; |
|
||||
} , |
|
||||
|
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
_changeItem(e) { |
|
||||
var index = this.tapIndex; |
|
||||
if (index == this.healthData.length - 1) { |
|
||||
index = 0; |
|
||||
} else { |
|
||||
index++; |
|
||||
} |
|
||||
this.tipsData= this.healthData[0]; |
|
||||
this.tapIndex= index; |
|
||||
}, |
|
||||
|
|
||||
_jumpToDetail(e) { |
|
||||
var id = e.currentTarget.dataset.id; |
|
||||
wx.navigateTo({ |
|
||||
url: `/pages/store/detail/detail?id=${id}` |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
|
|
||||
}, |
|
||||
|
|
||||
|
|
||||
|
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "health-tips"; |
|
||||
</style> |
|
||||
@ -1,112 +0,0 @@ |
|||||
@import '../../common/css/global'; |
|
||||
//dacall |
|
||||
.seckill-box{ |
|
||||
background: #FFFFFF; |
|
||||
padding:10px 15px; |
|
||||
.title{ |
|
||||
height: 35px; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
line-height: 35px; |
|
||||
|
|
||||
span:nth-child(1) { |
|
||||
font-size: 22px; |
|
||||
font-weight: bold; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
|
|
||||
span:nth-child(2) { |
|
||||
font-size: 12px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text{ |
|
||||
&.iconfont{ |
|
||||
font-size: 15px; |
|
||||
font-weight: 600; |
|
||||
margin-left: 5px; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.seckill-info{ |
|
||||
display: flex; |
|
||||
align-items: flex-start; |
|
||||
margin-top: 10px; |
|
||||
.left{ |
|
||||
width: 100px; |
|
||||
height: 100px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
} |
|
||||
} |
|
||||
.right{ |
|
||||
flex: 1; |
|
||||
margin-left: 10px; |
|
||||
overflow: hidden; |
|
||||
.goods-name{ |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
white-space: nowrap; |
|
||||
font-size: 16px; |
|
||||
} |
|
||||
.price-box { |
|
||||
color: #e50303; |
|
||||
font-size: 18px; |
|
||||
.old{ |
|
||||
font-size: 12px; |
|
||||
color: #9c9c9c; |
|
||||
text-decoration: line-through; |
|
||||
} |
|
||||
|
|
||||
&.free-money{ |
|
||||
font-size: 14px; |
|
||||
color: #9C9C9C; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
|
|
||||
.money{ |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
.new { |
|
||||
font-size: 18px; |
|
||||
color: @globalColor; |
|
||||
} |
|
||||
.old{ |
|
||||
font-size: 10px; |
|
||||
margin-left: 5px; |
|
||||
text-decoration: line-through; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.seckill-time{ |
|
||||
display: flex; |
|
||||
align-items: flex-end; |
|
||||
justify-content: space-between; |
|
||||
.free{ |
|
||||
white-space: nowrap; |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.buy{ |
|
||||
width: 70px; |
|
||||
height: 25px; |
|
||||
border-radius: 50px; |
|
||||
color: #fff; |
|
||||
background:#FB5054; |
|
||||
font-size: 12px; |
|
||||
line-height: 25px; |
|
||||
text-align: center; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
@ -1,114 +0,0 @@ |
|||||
<template> |
|
||||
<!--打call--> |
|
||||
<view class="seckill-box" :style="'margin-bottom: ' + meta.margin_bottom + 'px'"> |
|
||||
<view class="title " data-src="/pages/store/callList/callList" @tap="_jumpImg"> |
|
||||
<span>打Call免费领</span> |
|
||||
<span>更多 |
|
||||
<text class="iconfont icon-gengduo"></text> |
|
||||
</span> |
|
||||
</view> |
|
||||
<view v-for="(item, index) in callData" :key="index" > |
|
||||
<view class="seckill-info" :data-goods="item.associate.goods.id" :data-id="item.associate_id" @tap="_jumpCall"> |
|
||||
<view class="left"> |
|
||||
<image :src="item.associate.img"></image> |
|
||||
</view> |
|
||||
<view class="right"> |
|
||||
<view class="goods-name"> |
|
||||
{{item.associate.label}} |
|
||||
</view> |
|
||||
<view class="price-box free-money"> |
|
||||
<view class="money"> |
|
||||
<text class="new">¥{{item.associate.goods.sell_price}}</text> |
|
||||
<text class="old">¥{{item.associate.goods.market_price}}</text> |
|
||||
</view> |
|
||||
<view class="nun"> |
|
||||
限量{{item.associate.limit}}件 |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="seckill-time"> |
|
||||
<view v-if="item.associate.activity_status == 'NoBegin'"> |
|
||||
<seckill :end="item.associate.ends_at" typename="集call" :starts="item.associate.starts_at" :server="server" mold="index"></seckill> |
|
||||
</view> |
|
||||
<view class="free" v-else> |
|
||||
集满{{item.associate.per_count}}个Call即可免费领 |
|
||||
</view> |
|
||||
<view :style="'background: ' + config.mainColor" class="buy"> |
|
||||
去打Call |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
</template> |
|
||||
<script> |
|
||||
import {pageLogin, getUrl,config} from '../../common/js/utils.js'; |
|
||||
import seckill from "../seckill/seckill"; |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return {}; |
|
||||
}, |
|
||||
|
|
||||
components: { |
|
||||
seckill |
|
||||
}, |
|
||||
props: { |
|
||||
callData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
isLogin: { |
|
||||
type: Boolean, |
|
||||
value: '' |
|
||||
}, |
|
||||
config: { |
|
||||
type: Object, |
|
||||
value: '' |
|
||||
}, |
|
||||
server: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
}, |
|
||||
options: { |
|
||||
addGlobalClass: true |
|
||||
}, |
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
_jumpImg(e) { |
|
||||
var src = e.currentTarget.dataset.src; |
|
||||
if (!src || src == 'uto_miniprogram') return; |
|
||||
wx.navigateTo({ |
|
||||
url: src |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
_jumpCall(e) { |
|
||||
if (this.isLogin) { |
|
||||
var id = e.currentTarget.dataset.id; |
|
||||
wx.navigateTo({ |
|
||||
url: '/pages/store/call/call?id=' + id |
|
||||
}); |
|
||||
} else { |
|
||||
wx.showModal({ |
|
||||
content: '请先登录', |
|
||||
success: res => { |
|
||||
if (res.confirm || !res.cancel && !res.confirm) { |
|
||||
pageLogin(getUrl()); |
|
||||
} |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "index-call"; |
|
||||
</style> |
|
||||
@ -1,73 +0,0 @@ |
|||||
//最佳销售单品 |
|
||||
.index-categrory{ |
|
||||
.best { |
|
||||
overflow: hidden; |
|
||||
|
|
||||
.title { |
|
||||
padding:10px 15px; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
align-items: center; |
|
||||
background: #FFFFFF; |
|
||||
span:nth-child(1) { |
|
||||
font-size: 22px; |
|
||||
font-weight: bold; |
|
||||
display: inline-block; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.SalesGoods-box { |
|
||||
|
|
||||
.SalesGoods-item { |
|
||||
text-align: center; |
|
||||
display: inline-block; |
|
||||
width: 33.33%; |
|
||||
padding: 0 3px; |
|
||||
box-sizing: border-box; |
|
||||
vertical-align: middle; |
|
||||
margin-bottom: 6px; |
|
||||
|
|
||||
.item { |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.slider-image { |
|
||||
width: 100%; |
|
||||
} |
|
||||
.goods-name { |
|
||||
white-space: nowrap; |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
padding-left: 2px; |
|
||||
} |
|
||||
|
|
||||
.money-box { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
padding-left: 7px; |
|
||||
.money-now { |
|
||||
color: red; |
|
||||
font-size: 12px; |
|
||||
} |
|
||||
.money-old { |
|
||||
color: #c7c7c7; |
|
||||
font-size: 13px; |
|
||||
text-decoration: line-through; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.button-box { |
|
||||
width: 100%; |
|
||||
height: 44px; |
|
||||
text-align: center; |
|
||||
line-height: 44px; |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
@ -1,69 +0,0 @@ |
|||||
<template> |
|
||||
<!--最佳销售单品--> |
|
||||
<view> |
|
||||
<view class="index-categrory" v-for="(items, idx) in categoryData" :key="idx" :style="'margin-bottom: ' + meta.margin_bottom + 'px'"> |
|
||||
<view class="best"> |
|
||||
<view class="title"> |
|
||||
<span>{{items.meta.name}}</span> |
|
||||
</view> |
|
||||
<view class="SalesGoods-box"> |
|
||||
<view class="SalesGoods-item" :data-id="item.id" v-for="(item, index) in items.goodsList" :key="index" @tap="_jumpToDetail"> |
|
||||
<view class="item"> |
|
||||
<image mode="widthFix" class="slider-image" :src="item.img" :alt="item.image"></image> |
|
||||
<view class="goods-name">{{item.name}}</view> |
|
||||
<view class="money-box"> |
|
||||
<view class="money-now">¥{{item.sell_price}}</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="button-box" data-src="/pages/store/list/list" @tap="_jumpImg"> |
|
||||
查看全部商品 |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
</template> |
|
||||
<script> |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return {}; |
|
||||
}, |
|
||||
|
|
||||
props: { |
|
||||
categoryData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
_jumpToDetail(e) { |
|
||||
var id = e.currentTarget.dataset.id; |
|
||||
wx.navigateTo({ |
|
||||
url: `/pages/store/detail/detail?id=${id}` |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
_jumpImg(e) { |
|
||||
var src = e.currentTarget.dataset.src; |
|
||||
if (!src || src == 'uto_miniprogram') return; |
|
||||
wx.navigateTo({ |
|
||||
url: src |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
}; |
|
||||
</script> |
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "index-category"; |
|
||||
</style> |
|
||||
@ -1,114 +0,0 @@ |
|||||
//图片魔方 |
|
||||
.picture-cube{ |
|
||||
background-color: #FFFFFF; |
|
||||
.title{ |
|
||||
color:#111111; |
|
||||
padding: 20px 15px; |
|
||||
font-size:22px; |
|
||||
font-weight: 700; |
|
||||
span{ |
|
||||
display: inline-block; |
|
||||
|
|
||||
/*padding-left:6px; |
|
||||
border-left:4px solid #E7031C;*/ |
|
||||
} |
|
||||
} |
|
||||
//一图模式 |
|
||||
.one-mode{ |
|
||||
image{ |
|
||||
box-sizing: border-box; |
|
||||
|
|
||||
width: 100%; |
|
||||
} |
|
||||
} |
|
||||
//二图模式 |
|
||||
.two-mode{ |
|
||||
// 第一种表现形式 |
|
||||
.first-show{ |
|
||||
display: flex; |
|
||||
padding: 5px; |
|
||||
.item{ |
|
||||
flex: 1; |
|
||||
padding: 5px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.common-show{ |
|
||||
display: flex; |
|
||||
.item{ |
|
||||
flex: 1; |
|
||||
padding: 5px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
} |
|
||||
} |
|
||||
.two-item{ |
|
||||
flex: 2; |
|
||||
padding: 5px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 三图模式 |
|
||||
.three-mode{ |
|
||||
.first-show{ |
|
||||
display: flex; |
|
||||
padding: 5px; |
|
||||
.item{ |
|
||||
flex: 1; |
|
||||
padding: 5px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.common-show{ |
|
||||
display: flex; |
|
||||
.item{ |
|
||||
flex: 1; |
|
||||
padding: 5px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
} |
|
||||
.info{ |
|
||||
height: 50%; |
|
||||
padding: 5px; |
|
||||
image{ |
|
||||
height: 100%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 四图模式 |
|
||||
.four-mode{ |
|
||||
.first-show{ |
|
||||
display: flex; |
|
||||
flex-wrap: wrap; |
|
||||
padding: 5px; |
|
||||
.item{ |
|
||||
width: 50%; |
|
||||
padding: 5px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.second-show{ |
|
||||
display: flex; |
|
||||
.item{ |
|
||||
flex: 1; |
|
||||
padding: 5px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
@ -1,252 +0,0 @@ |
|||||
<template> |
|
||||
<view class="picture-cube" :style="{marginBottom: meta.margin_bottom + 'px',background: meta.background_color}"> |
|
||||
<!--一图模式--> |
|
||||
<view class="one-mode" v-if="showType == '1_1'"> |
|
||||
<view class="title" v-if="cubeTitle && show"> |
|
||||
<span>{{cubeTitle}}</span> |
|
||||
</view> |
|
||||
<view :style="' padding-left: ' + meta.padding_left + 'px; padding-right: ' + meta.padding_right + 'px; padding-bottom: ' + meta.padding_bottom + 'px; padding-top: ' + meta.padding_top + 'px;'"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[0].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!--二图模式--> |
|
||||
<view class="two-mode" v-if="mode == 2"> |
|
||||
<view class="title" v-if="cubeTitle && show"> |
|
||||
<span>{{cubeTitle}}</span> |
|
||||
</view> |
|
||||
<!--第一种表现形式--> |
|
||||
<view class="first-show" v-if="showType == '2_1'"> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[0].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[1].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!--第二种表现形式--> |
|
||||
<view class="common-show" v-if="showType == '2_2'"> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[0].image"></image> |
|
||||
</navigator> |
|
||||
<image :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
<view class="two-item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[1].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!--第三种表现形式--> |
|
||||
<view class="common-show" v-if="showType == '2_3'"> |
|
||||
<view class="two-item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[0].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[1].image"></image> |
|
||||
</navigator> |
|
||||
<image :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!--三图模式--> |
|
||||
<view class="three-mode" v-if="mode == 3"> |
|
||||
<view class="title" v-if="cubeTitle && show"> |
|
||||
<span>{{cubeTitle}}</span> |
|
||||
</view> |
|
||||
<!--第一种表现形式--> |
|
||||
<view class="first-show" v-if="showType == '3_1'"> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[0].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[1].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[2].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[2].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[2].image" v-else :data-src="cubeData[2].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!--第二种表现形式--> |
|
||||
<view class="common-show" v-if="showType == '3_2'"> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[0].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
<view class="item"> |
|
||||
<view class="info"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[1].image"></image> |
|
||||
</navigator> |
|
||||
<image :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
<view class="info"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[2].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[2].image"></image> |
|
||||
</navigator> |
|
||||
<image :src="cubeData[2].image" v-else :data-src="cubeData[2].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!--第三种表现形式--> |
|
||||
<view class="common-show" v-if="showType == '3_3'"> |
|
||||
<view class="item"> |
|
||||
<view class="info"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[1].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[1].image"></image> |
|
||||
</navigator> |
|
||||
<image :src="cubeData[1].image" v-else :data-src="cubeData[1].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
<view class="info"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[2].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[2].image"></image> |
|
||||
</navigator> |
|
||||
<image :src="cubeData[2].image" v-else :data-src="cubeData[2].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="item"> |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="cubeData[0].link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="cubeData[0].image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="cubeData[0].image" v-else :data-src="cubeData[0].link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
</view> |
|
||||
<!--四图模式--> |
|
||||
<view class="four-mode" v-if="mode == 4"> |
|
||||
<view class="title" v-if="cubeTitle && show"> |
|
||||
<span>{{cubeTitle}}</span> |
|
||||
</view> |
|
||||
<!--第一种表现形式--> |
|
||||
<view class="first-show" v-if="showType == '4_1'"> |
|
||||
<view class="item" v-for="(item, index) in cubeData" :key="index" > |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="item.link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="item.image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="item.image" v-else :data-src="item.link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!--第二种表现形式--> |
|
||||
<view class="second-show" v-if="showType == '4_2'"> |
|
||||
<view class="item" v-for="(item, index) in cubeData" :key="index" > |
|
||||
<navigator target="miniProgram" hover-class="none" v-if="item.link == 'uto_miniprogram'" app-id="wx009e0be72cbf5e80" class="item-navigator"> |
|
||||
<image mode="widthFix" :src="item.image"></image> |
|
||||
</navigator> |
|
||||
<image mode="widthFix" :src="item.image" v-else :data-src="item.link" @tap="_jumpLink"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
mode: '', |
|
||||
bottom: '' |
|
||||
}; |
|
||||
}, |
|
||||
|
|
||||
props: { |
|
||||
|
|
||||
showType: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
cubeData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
cubeTitle: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
show: { |
|
||||
type: Number, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} , |
|
||||
isAgent:{ |
|
||||
type:Number, |
|
||||
value:'' |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
mounted() { |
|
||||
var type = this.showType; |
|
||||
var mode = ''; |
|
||||
mode = type.split('_')[0]; |
|
||||
this.mode=mode; |
|
||||
}, |
|
||||
|
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
//图片跳链接 |
|
||||
_jumpLink(e) { |
|
||||
var src = e.currentTarget.dataset.src; |
|
||||
if (!src || src == 'uto_miniprogram') return; |
|
||||
if(src == '/pages/distribution/distributionCenter/distributionCenter'){ |
|
||||
var token = this.$cookieStorage.get('user_token'); |
|
||||
if(token){ |
|
||||
var is_agent = this.isAgent; |
|
||||
//如果不是分销员 |
|
||||
if(is_agent == 1){ |
|
||||
wx.navigateTo({ |
|
||||
url:'/pages/distribution/distributionCenter/distributionCenter' |
|
||||
}) |
|
||||
} else{ |
|
||||
wx.navigateTo({ |
|
||||
url:'/pages/distribution/applyDistribution/applyDistribution' |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
} else{ |
|
||||
var url = 'pages/index/index/index'; |
|
||||
wx.navigateTo({ |
|
||||
url: '/pages/user/register/register?url=' + url |
|
||||
}) |
|
||||
} |
|
||||
} else{ |
|
||||
wx.navigateTo({ |
|
||||
url: src |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
|
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "index-cube"; |
|
||||
</style> |
|
||||
@ -1,166 +0,0 @@ |
|||||
@import '../../common/css/global'; |
|
||||
.g-main { |
|
||||
position: relative; |
|
||||
|
|
||||
.m-lead { |
|
||||
font-size: 13px; |
|
||||
background: #ffffff; |
|
||||
padding:10px 15px; |
|
||||
|
|
||||
.ul-box { |
|
||||
|
|
||||
display: flex; |
|
||||
display: -webkit-flex; |
|
||||
flex-direction: row; |
|
||||
justify-content: center; |
|
||||
height: 100%; |
|
||||
.li-box { |
|
||||
position: relative; |
|
||||
flex: 1; |
|
||||
width: 1px; |
|
||||
height: 100%; |
|
||||
span { |
|
||||
display: inline-block; |
|
||||
font-size: 22px; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
font-weight: 700; |
|
||||
} |
|
||||
|
|
||||
.hover { |
|
||||
border-bottom: 2px solid #333; |
|
||||
box-sizing: border-box; |
|
||||
} |
|
||||
|
|
||||
span.active { |
|
||||
font-size: 17px; |
|
||||
font-weight: bold; |
|
||||
-webkit-box-sizing: border-box; |
|
||||
-moz-box-sizing: border-box; |
|
||||
box-sizing: border-box; |
|
||||
border-bottom: 2px solid #000000; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.grouping-tap-box { |
|
||||
height: 45px; |
|
||||
line-height: 45px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
background: #FFFFFF; |
|
||||
margin-bottom: 10px; |
|
||||
color: #999999; |
|
||||
.tap-item { |
|
||||
flex: 1; |
|
||||
text-align: center; |
|
||||
|
|
||||
|
|
||||
&.active { |
|
||||
span { |
|
||||
position: relative; |
|
||||
color: @globalColor; |
|
||||
&:after { |
|
||||
content: ''; |
|
||||
position: absolute; |
|
||||
bottom: -12px; |
|
||||
left: -10px; |
|
||||
right: -10px; |
|
||||
height: 2px; |
|
||||
background: @globalColor; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.m-content { |
|
||||
padding: 10px 15px; |
|
||||
padding-top: 0; |
|
||||
|
|
||||
&.g-bg { |
|
||||
background: #F3F3F3; |
|
||||
} |
|
||||
.m-main { |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
flex-wrap: wrap; |
|
||||
align-content: space-between; |
|
||||
|
|
||||
image { |
|
||||
width: 100%; |
|
||||
box-sizing: border-box; |
|
||||
display: block; |
|
||||
} |
|
||||
.img-box { |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
margin-bottom: 10px; |
|
||||
.description { |
|
||||
position: absolute; |
|
||||
width: 100%; |
|
||||
left: 0; |
|
||||
bottom: 0; |
|
||||
height: 30px; |
|
||||
line-height: 30px; |
|
||||
text-indent: 5px; |
|
||||
color: #fff; |
|
||||
background: rgba(0, 0, 0, .5); |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
display: -webkit-box; |
|
||||
-webkit-box-orient: vertical; |
|
||||
white-space: nowrap; |
|
||||
font-size: 14px; |
|
||||
} |
|
||||
&:last-child { |
|
||||
margin-bottom: 0; |
|
||||
} |
|
||||
} |
|
||||
.goods_box { |
|
||||
width: 49%; |
|
||||
background: #ffffff; |
|
||||
margin-bottom: 5px; |
|
||||
box-shadow:0px 1px 4px 0px rgba(210,210,210,0.5); |
|
||||
overflow: hidden; |
|
||||
.goods_image { |
|
||||
position: relative; |
|
||||
padding-top: 100%; |
|
||||
width: 100%; |
|
||||
|
|
||||
image { |
|
||||
position: absolute; |
|
||||
left: 0; |
|
||||
top: 0; |
|
||||
height: 100%; |
|
||||
width: 100%; |
|
||||
object-fit: cover; |
|
||||
object-position: center center; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 13px; |
|
||||
color: #4a4a4a; |
|
||||
padding:0 10px; |
|
||||
height: 36px; |
|
||||
line-height: 18px; |
|
||||
margin-top: 5px; |
|
||||
display: -webkit-box; |
|
||||
-webkit-box-orient: vertical; |
|
||||
-webkit-line-clamp:2; |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
|
|
||||
.price { |
|
||||
color: #ea4448; |
|
||||
font-size: 14px; |
|
||||
padding: 6px 10px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,94 +0,0 @@ |
|||||
<template> |
|
||||
<view class="g-main" :style="{marginBottom: meta.margin_bottom + 'px',background: meta.background_color}"> |
|
||||
<view class="m-lead" style="margin-bottom: 5px" v-if="groupingData.length == 1"> |
|
||||
<view class="ul-box"> |
|
||||
<view class="li-box" @tap="_changeItem" :data-index="index" v-for="(item, index) in groupingData" :key="index" > |
|
||||
<span>{{item.name}}</span> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="grouping-tap-box" v-else> |
|
||||
<view class="tap-item" :class="tapIndex == index ? 'active' : ''" @tap="_changeItem" :data-index="index" v-for="(item, index) in groupingData" :key="index"> |
|
||||
<span>{{item.name}}</span> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="m-content" :class="groupingData.length != 1 ? 'g-bg' : ''"> |
|
||||
<view class="m-main" v-if="goods_arr.type && goods_arr.type == 'micro_page_componet_goods_group'"> |
|
||||
<view class="goods_box" :data-id="item.associate.id" @tap="_jumpToDetail" v-for="(item, index) in goods_arr.children" :key="index" > |
|
||||
<view class="goods_image"> |
|
||||
<image :src="item.associate.img"></image> |
|
||||
</view> |
|
||||
<view class="title">{{item.associate.name}}</view> |
|
||||
<view class="price">¥ {{item.associate.sell_price}}</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
<view class="m-main" v-else> |
|
||||
<view class="img-box" :data-src="item.link" v-for="(item, index) in goods_arr.children" :key="index" @tap="_jumpImg"> |
|
||||
<image mode="widthFix" :src="item.image"></image> |
|
||||
<view class="description" v-if="item.name">{{item.name}}</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
currentDesc: 'news', |
|
||||
goods_arr: [], |
|
||||
tapIndex: 0 |
|
||||
}; |
|
||||
}, |
|
||||
props: { |
|
||||
groupingData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
mounted() { |
|
||||
this.goods_arr=this.groupingData[0] |
|
||||
}, |
|
||||
|
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
|
|
||||
_changeItem(e) { |
|
||||
var index = e.currentTarget.dataset.index; |
|
||||
if (index == this.tapIndex) return; |
|
||||
this.goods_arr=this.groupingData[index]; |
|
||||
this.tapIndex=index; |
|
||||
}, |
|
||||
|
|
||||
_jumpToDetail(e) { |
|
||||
var id = e.currentTarget.dataset.id; |
|
||||
wx.navigateTo({ |
|
||||
url: `/pages/store/detail/detail?id=${id}` |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
_jumpImg(e) { |
|
||||
var src = e.currentTarget.dataset.src; |
|
||||
if (!src || src == 'uto_miniprogram') return; |
|
||||
wx.navigateTo({ |
|
||||
url: src |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
}; |
|
||||
|
|
||||
</script> |
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "index-grouping"; |
|
||||
</style> |
|
||||
@ -1,216 +0,0 @@ |
|||||
//拼团 |
|
||||
@import '../../common/css/global'; |
|
||||
.groupon-item-box { |
|
||||
padding: 10px 15px; |
|
||||
background: #ffffff; |
|
||||
.title{ |
|
||||
padding: 10px 0px; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
align-items: center; |
|
||||
|
|
||||
span:nth-child(1) { |
|
||||
font-size: 22px; |
|
||||
font-weight: bold; |
|
||||
display: inline-block; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
} |
|
||||
|
|
||||
span:nth-child(2) { |
|
||||
font-size: 12px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text{ |
|
||||
font-size: 15px; |
|
||||
font-weight: 700; |
|
||||
margin-left: 5px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.item { |
|
||||
display: flex; |
|
||||
/*align-items: center;*/ |
|
||||
padding: 10px 0; |
|
||||
margin-bottom: 5px; |
|
||||
background: #ffffff; |
|
||||
overflow: hidden; |
|
||||
.left { |
|
||||
position: relative; |
|
||||
width: 120px; |
|
||||
.num { |
|
||||
font-size: 12px; |
|
||||
position: absolute; |
|
||||
width: 100%; |
|
||||
bottom: 0; |
|
||||
background: @mainColor; |
|
||||
opacity: .8; |
|
||||
text-align: center; |
|
||||
color: @countColor; |
|
||||
} |
|
||||
image { |
|
||||
display: block; |
|
||||
width: 100%; |
|
||||
} |
|
||||
.img-box { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
margin-top: 10px; |
|
||||
box-sizing: border-box; |
|
||||
justify-content: space-between; |
|
||||
image { |
|
||||
width: 47%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.right { |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
justify-content: space-between; |
|
||||
font-size: 14px; |
|
||||
margin-left: 12px; |
|
||||
flex: 1; |
|
||||
|
|
||||
.price-box { |
|
||||
.old-price { |
|
||||
font-size: 12px; |
|
||||
color: #9B9B9B; |
|
||||
text-decoration: line-through; |
|
||||
} |
|
||||
.marketing-time-box{ |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
font-size: 14px; |
|
||||
|
|
||||
//兼容首页样式 |
|
||||
&.index{ |
|
||||
font-size: 12px; |
|
||||
} |
|
||||
/*.seckill-item{ |
|
||||
text-align: right; |
|
||||
.no-starts{ |
|
||||
display: none; |
|
||||
} |
|
||||
.text{ |
|
||||
display: inline-block; |
|
||||
margin: 2px 5px; |
|
||||
} |
|
||||
.tiem{ |
|
||||
display: inline-block; |
|
||||
} |
|
||||
.num-item{ |
|
||||
display: inline-block; |
|
||||
background: #FFFFFF; |
|
||||
color: #fe4545; |
|
||||
text-align: center; |
|
||||
width: 26px; |
|
||||
border-radius: 3px; |
|
||||
} |
|
||||
.zero{ |
|
||||
display: inline-block; |
|
||||
} |
|
||||
|
|
||||
.time-out{ |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
flex: 1; |
|
||||
|
|
||||
.tiem{ |
|
||||
color: #ffffff; |
|
||||
span{ |
|
||||
color: @countColor; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
i{ |
|
||||
display: none; |
|
||||
} |
|
||||
} |
|
||||
.seckill { |
|
||||
&.seckill-item{ |
|
||||
.tiem{ |
|
||||
color: @countColor; |
|
||||
span{ |
|
||||
background: @mainColor; |
|
||||
color: @countColor; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.text{ |
|
||||
color: @countColor; |
|
||||
} |
|
||||
}*/ |
|
||||
|
|
||||
|
|
||||
.seckill-item { |
|
||||
text-align: right; |
|
||||
color: @countColor; |
|
||||
.time-out { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
.num-item { |
|
||||
display: inline-block; |
|
||||
text-align: center; |
|
||||
width: 26px; |
|
||||
border-radius: 3px; |
|
||||
background:#FB5054; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.seckill-time-box { |
|
||||
.seckill-item { |
|
||||
text-align: left; |
|
||||
.time-out { |
|
||||
color: #000 !important; |
|
||||
display: block; |
|
||||
} |
|
||||
.tiem{ |
|
||||
color: #000; |
|
||||
margin: 5px 0; |
|
||||
} |
|
||||
i{ |
|
||||
display: none; |
|
||||
} |
|
||||
.my-class{ |
|
||||
margin: 5px 0; |
|
||||
color: #EA4448; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.meal-price { |
|
||||
display: flex; |
|
||||
align-items: flex-end; |
|
||||
.price { |
|
||||
flex: 1; |
|
||||
color: #FF2741; |
|
||||
span { |
|
||||
color: #4A4A4A; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
.btn { |
|
||||
color: #ffffff; |
|
||||
background: @mainColor; |
|
||||
padding: 5px 10px; |
|
||||
border-radius: 4px; |
|
||||
._span { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
} |
|
||||
i { |
|
||||
font-size: 12px; |
|
||||
} |
|
||||
&.no-start { |
|
||||
background: #26a96d; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,98 +0,0 @@ |
|||||
<template> |
|
||||
<view class="groupon-item-box" :style="{marginBottom: meta.margin_bottom + 'px',background: meta.background_color}"> |
|
||||
<view class="title" data-src="/pages/store/groups/groups" @tap="_jumpImg"> |
|
||||
<span>超值拼团</span> |
|
||||
<span>更多 |
|
||||
<text class="iconfont icon-gengduo"></text> |
|
||||
</span> |
|
||||
</view> |
|
||||
<view v-for="(item, index) in indexData" :key="index" > |
|
||||
<view class="item" :data-id="item.associate.goods.id" @tap="_jumpToDetail"> |
|
||||
<view class="left"> |
|
||||
<image mode="widthFix" :src="item.associate.goods.img" alt></image> |
|
||||
<view :style="'background: ' + config.mainColor + '; color: ' + config.countColor" class="num"> |
|
||||
{{item.associate.number}}人团 |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="right"> |
|
||||
<view class="name"> |
|
||||
{{item.associate.goods.name}} |
|
||||
</view> |
|
||||
<view class="price-box"> |
|
||||
<view> |
|
||||
<seckill :end="item.associate.ends_at" :starts="item.associate.starts_at" :server="server" typename="拼团"></seckill> |
|
||||
</view> |
|
||||
<view class="meal-price"> |
|
||||
<view class="price"> |
|
||||
¥{{item.associate.price}} <span class="old-price">¥{{item.associate.goods.sell_price}}</span> |
|
||||
</view> |
|
||||
<view class="btn" :style="'background: ' + config.mainColor"> |
|
||||
<span>去拼团 <i class="iconfont icon-Chevron"></i></span> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
import seckill from "../seckill/seckill"; |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return {}; |
|
||||
}, |
|
||||
|
|
||||
options: { |
|
||||
addGlobalClass: true |
|
||||
}, |
|
||||
|
|
||||
components: { |
|
||||
seckill |
|
||||
}, |
|
||||
|
|
||||
props: { |
|
||||
|
|
||||
indexData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
config: { |
|
||||
type: Object, |
|
||||
value: '' |
|
||||
}, |
|
||||
server: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
_jumpImg(e) { |
|
||||
var src = e.currentTarget.dataset.src; |
|
||||
if (!src || src == 'uto_miniprogram') return; |
|
||||
wx.navigateTo({ |
|
||||
url: src |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
_jumpToDetail(e) { |
|
||||
var id = e.currentTarget.dataset.id; |
|
||||
wx.navigateTo({ |
|
||||
url: `/pages/store/detail/detail?id=${id}` |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "index-groupon"; |
|
||||
</style> |
|
||||
@ -1,133 +0,0 @@ |
|||||
@import '../../common/css/global'; |
|
||||
//秒杀 |
|
||||
.seckill-box{ |
|
||||
background: #FFFFFF; |
|
||||
padding:10px 15px; |
|
||||
.title{ |
|
||||
padding: 20px 0px; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
align-items: center; |
|
||||
|
|
||||
span:nth-child(1) { |
|
||||
font-size: 22px; |
|
||||
font-weight: bold; |
|
||||
display: inline-block; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
span:nth-child(2) { |
|
||||
font-size: 12px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text{ |
|
||||
&.iconfont{ |
|
||||
font-size: 15px; |
|
||||
font-weight: 600; |
|
||||
margin-left: 5px; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.seckill-info{ |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
margin-top: 10px; |
|
||||
.left{ |
|
||||
width: 100px; |
|
||||
height: 100px; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
} |
|
||||
} |
|
||||
.right{ |
|
||||
flex: 1; |
|
||||
margin-left: 10px; |
|
||||
overflow: hidden; |
|
||||
.goods-name{ |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
white-space: nowrap; |
|
||||
font-size: 16px; |
|
||||
} |
|
||||
.price-box { |
|
||||
color: #e50303; |
|
||||
font-size: 18px; |
|
||||
.old{ |
|
||||
font-size: 12px; |
|
||||
color: #9c9c9c; |
|
||||
text-decoration: line-through; |
|
||||
} |
|
||||
|
|
||||
&.free-money{ |
|
||||
font-size: 14px; |
|
||||
color: #9C9C9C; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
|
|
||||
.money{ |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
.new { |
|
||||
font-size: 18px; |
|
||||
color: @globalColor; |
|
||||
} |
|
||||
.old{ |
|
||||
font-size: 10px; |
|
||||
margin-left: 5px; |
|
||||
text-decoration: line-through; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.seckill-time{ |
|
||||
display: flex; |
|
||||
align-items: flex-end; |
|
||||
justify-content: space-between; |
|
||||
.marketing-time-box { |
|
||||
.seckill-item { |
|
||||
text-align: left !important; |
|
||||
color: #000 !important; |
|
||||
.time-out { |
|
||||
flex-direction: column; |
|
||||
color: #000 !important; |
|
||||
align-items: flex-start !important; |
|
||||
.tiem { |
|
||||
margin: 5px 0; |
|
||||
.num-item { |
|
||||
color: #ffffff !important; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
.free{ |
|
||||
white-space: nowrap; |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.buy{ |
|
||||
width: 70px; |
|
||||
height: 25px; |
|
||||
border-radius: 50px; |
|
||||
color: #fff; |
|
||||
background: @mainColor; |
|
||||
font-size: 12px; |
|
||||
line-height: 25px; |
|
||||
text-align: center; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
@ -1,160 +0,0 @@ |
|||||
<template> |
|
||||
<view class="seckill-box" :style="{marginBottom: meta.margin_bottom + 'px',background: meta.background_color}" v-if="indexData && indexData.length"> |
|
||||
<view class="title" data-src="/pages/store/seckill/seckill" @tap="_jumpImg"> |
|
||||
<span>限时秒杀</span> |
|
||||
<span> |
|
||||
更多 |
|
||||
<text class="iconfont icon-gengduo"></text> |
|
||||
</span> |
|
||||
</view> |
|
||||
<view v-for="(item, index) in indexData" :key="index" > |
|
||||
<view class="seckill-info" :data-id="item.associate.goods.id" @tap="_jumpToDetail"> |
|
||||
<view class="left"> |
|
||||
<image :src="item.image"></image> |
|
||||
</view> |
|
||||
<view class="right"> |
|
||||
<view class="goods-name"> |
|
||||
{{item.associate.goods.name}} |
|
||||
</view> |
|
||||
<view class="price-box"> |
|
||||
<text>¥{{item.associate.seckill_price}}</text> |
|
||||
<text class="old">¥{{item.associate.goods.sell_price}}</text> |
|
||||
</view> |
|
||||
<view class="seckill-time"> |
|
||||
<view> |
|
||||
<seckill :end="item.associate.ends_at" :starts="item.associate.starts_at" :server="server" mold="index" @starts="isStarts" @end="isEnd" :data-index="index" :data-idx="bigIndex"></seckill> |
|
||||
</view> |
|
||||
<view :style="'background: ' + config.mainColor" class="buy"> |
|
||||
去抢购 |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
import seckill from "../seckill/seckill"; |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return {}; |
|
||||
}, |
|
||||
components: { |
|
||||
seckill |
|
||||
}, |
|
||||
options: { |
|
||||
addGlobalClass: true |
|
||||
}, |
|
||||
props: { |
|
||||
indexData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
config: { |
|
||||
type: null, |
|
||||
value: '' |
|
||||
}, |
|
||||
server: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
bigIndex: { |
|
||||
type: Number, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
// |
|
||||
_jumpImg(e) { |
|
||||
var src = e.currentTarget.dataset.src; |
|
||||
if (!src || src == 'uto_miniprogram') return; |
|
||||
wx.navigateTo({ |
|
||||
url: src |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
_jumpToDetail(e) { |
|
||||
var id = e.currentTarget.dataset.id; |
|
||||
wx.navigateTo({ |
|
||||
url: `/pages/store/detail/detail?id=${id}` |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
// 秒杀结束 |
|
||||
isEnd(e) { |
|
||||
var index = e.index; |
|
||||
var idx = e.idx; |
|
||||
var myEventDetail = { |
|
||||
index: index, |
|
||||
idx: idx |
|
||||
}; |
|
||||
|
|
||||
// this.setData({ |
|
||||
// [`indexData[${index}].associate.seckill`]: null |
|
||||
// }) |
|
||||
|
|
||||
this.indexData[index]={associate:{seckill:null}}; |
|
||||
|
|
||||
this.$emit('endevent', myEventDetail); |
|
||||
}, |
|
||||
|
|
||||
// 秒杀开始 |
|
||||
isStarts(e) { |
|
||||
var index = e.index; |
|
||||
var idx = e.idx; |
|
||||
var myEventDetail = { |
|
||||
index: index, |
|
||||
idx: idx |
|
||||
}; |
|
||||
|
|
||||
|
|
||||
|
|
||||
if(this.indexData[index]==undefined|| |
|
||||
this.indexData[index].associate==undefined || |
|
||||
this.indexData[index].associate.init_status==undefined || |
|
||||
this.indexData[index].associate.init_status != 1){ |
|
||||
// this.setData({ |
|
||||
// [`indexData[${index}].associate.seckill.init_status`]:1 |
|
||||
// }) |
|
||||
this.indexData[index]={associate:{init_status:1}}; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
this.$emit('startevent', myEventDetail); |
|
||||
}, |
|
||||
setData: function (obj) { |
|
||||
let that = this; |
|
||||
let keys = []; |
|
||||
let val, data; |
|
||||
Object.keys(obj).forEach(function (key) { |
|
||||
keys = key.split('.'); |
|
||||
val = obj[key]; |
|
||||
data = that.$data; |
|
||||
keys.forEach(function (key2, index) { |
|
||||
if (index + 1 == keys.length) { |
|
||||
that.$set(data, key2, val); |
|
||||
} else { |
|
||||
if (!data[key2]) { |
|
||||
that.$set(data, key2, {}); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
data = data[key2]; |
|
||||
}); |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "index-seckill"; |
|
||||
</style> |
|
||||
@ -1,260 +0,0 @@ |
|||||
.module-box { |
|
||||
background: #ffffff; |
|
||||
padding: 10px 20px; |
|
||||
.meal-price { |
|
||||
border: 2px solid #979797; |
|
||||
height: 50px; |
|
||||
line-height: 48px; |
|
||||
text-align: center; |
|
||||
font-size: 16px; |
|
||||
text:first-child { |
|
||||
color: #e50303 |
|
||||
} |
|
||||
text:last-child { |
|
||||
text-decoration: line-through; |
|
||||
} |
|
||||
} |
|
||||
.module-title { |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
align-items: center; |
|
||||
|
|
||||
span:nth-child(1) { |
|
||||
font-size: 22px; |
|
||||
font-weight: bold; |
|
||||
display: inline-block; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
span:nth-child(2) { |
|
||||
font-size: 12px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text{ |
|
||||
font-size: 15px; |
|
||||
font-weight: 600; |
|
||||
margin-left: 5px; |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
.space-btween { |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
} |
|
||||
.module-content { |
|
||||
padding: 10px 0; |
|
||||
position: relative; |
|
||||
//套餐 |
|
||||
.meal_list { |
|
||||
overflow: auto; |
|
||||
white-space: nowrap; |
|
||||
width: 100%; |
|
||||
table, image { |
|
||||
width: 100% !important; |
|
||||
height: auto; |
|
||||
} |
|
||||
.store_list { |
|
||||
//top:0; |
|
||||
width: 26.4%; |
|
||||
position: relative; |
|
||||
display: inline-block; |
|
||||
margin-right: 10%; |
|
||||
view { |
|
||||
box-sizing: border-box; |
|
||||
} |
|
||||
image { |
|
||||
width: 100%; |
|
||||
height: 100px; |
|
||||
} |
|
||||
.description { |
|
||||
width: 100%; |
|
||||
margin-top: 5px; |
|
||||
font-size: 14px; |
|
||||
//height: 48px; |
|
||||
overflow: hidden; |
|
||||
word-break: break-all; |
|
||||
//word-spacing: ; |
|
||||
-webkit-line-clamp: 2; |
|
||||
text-overflow: ellipsis; |
|
||||
//display: -webkit-box; |
|
||||
//-webkit-box-orient: vertical; |
|
||||
//white-space: normal; |
|
||||
|
|
||||
} |
|
||||
.price { |
|
||||
font-size: 14px; |
|
||||
height: auto; |
|
||||
/*overflow: visible;*/ |
|
||||
white-space: normal; |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
} |
|
||||
&:last-child { |
|
||||
margin-right: 0; |
|
||||
&:after { |
|
||||
display: none; |
|
||||
/*content: ; */ |
|
||||
} |
|
||||
} |
|
||||
&:after { |
|
||||
content: ""; |
|
||||
display: block; |
|
||||
position: absolute; |
|
||||
right: -28%; |
|
||||
top: 20%; |
|
||||
width: 18%; |
|
||||
|
|
||||
height: 10%; |
|
||||
background: url('https://ibrand-miniprogram.oss-cn-hangzhou.aliyuncs.com/%E5%B0%8F%E7%A8%8B%E5%BA%8F/uploading.png'); |
|
||||
background-size: 100% 100%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.add { |
|
||||
position: relative; |
|
||||
transform: translateY(120%); |
|
||||
width: 18px; |
|
||||
height: 18px; |
|
||||
margin-bottom: auto; |
|
||||
|
|
||||
&:last-child { |
|
||||
display: none; |
|
||||
} |
|
||||
.t { |
|
||||
|
|
||||
position: absolute; |
|
||||
top: 8px; |
|
||||
left: 0; |
|
||||
width: 100%; |
|
||||
height: 2px; |
|
||||
background: #b2b2b2; |
|
||||
border-radius: 19px |
|
||||
} |
|
||||
|
|
||||
.l { |
|
||||
|
|
||||
position: absolute; |
|
||||
left: 8px; |
|
||||
top: 0; |
|
||||
height: 100%; |
|
||||
width: 2px; |
|
||||
background: #b2b2b2; |
|
||||
border-radius: 19px |
|
||||
} |
|
||||
} |
|
||||
.meal { |
|
||||
position: relative; |
|
||||
width: 25%; |
|
||||
|
|
||||
.goods_image { |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
padding-top: 100%; |
|
||||
image { |
|
||||
position: absolute; |
|
||||
left: 0; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
object-fit: cover; |
|
||||
object-position: center; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.goods_title { |
|
||||
margin-top: 10px; |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
display: -webkit-box; |
|
||||
-webkit-line-clamp: 3; |
|
||||
-webkit-box-orient: vertical; |
|
||||
color: #000; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.content { |
|
||||
margin-left: 120px; |
|
||||
height: 100%; |
|
||||
.content_title { |
|
||||
padding-right: 30px; |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
white-space: nowrap; |
|
||||
font-size: 16px; |
|
||||
line-height: 18px; |
|
||||
} |
|
||||
|
|
||||
.content_info { |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
align-items: baseline; |
|
||||
vertical-align: bottom; |
|
||||
|
|
||||
.price { |
|
||||
color: #e50303; |
|
||||
font-size: 18px; |
|
||||
} |
|
||||
.delPrice { |
|
||||
margin-right: auto; |
|
||||
font-size: 12px; |
|
||||
} |
|
||||
|
|
||||
.onlyPrice { |
|
||||
color: #9c9c9c; |
|
||||
font-size: 14px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.countDown { |
|
||||
margin-top: 7px; |
|
||||
.text { |
|
||||
font-size: 12px; |
|
||||
color: #4a4a4a; |
|
||||
} |
|
||||
|
|
||||
.release { |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
.time { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text { |
|
||||
line-height: 19px; |
|
||||
margin: 0 3px; |
|
||||
} |
|
||||
.dot { |
|
||||
display: inline-block; |
|
||||
width: 19px; |
|
||||
height: 19px; |
|
||||
background: #6d6d6d; |
|
||||
font-size: 12px; |
|
||||
line-height: 19px; |
|
||||
text-align: center; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.btnBuy { |
|
||||
display: inline-block; |
|
||||
width: 70px; |
|
||||
height: 25px; |
|
||||
border-radius: 50px; |
|
||||
color: #ffffff; |
|
||||
background: #ea4448; |
|
||||
font-size: 12px; |
|
||||
line-height: 25px; |
|
||||
text-align: center; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,77 +0,0 @@ |
|||||
<template> |
|
||||
<view class="module-box" :style="'margin-bottom: ' + meta.margin_bottom + 'px'" v-if="suitData && suitData.length"> |
|
||||
<view class="module-title" data-src="/pages/store/mealList/mealList" @tap="_jumpImg"> |
|
||||
<span>推荐套餐</span> |
|
||||
<span> |
|
||||
更多 |
|
||||
<text class="iconfont icon-gengduo"></text> |
|
||||
</span> |
|
||||
</view> |
|
||||
<view v-for="(items, idx) in suitData" :key="idx"> |
|
||||
<view class="module-content"> |
|
||||
<view class="meal_list"> |
|
||||
<view class="store_list" v-for="(item, index) in items.associate.items" :key="index" > |
|
||||
|
|
||||
<view @tap="jumpToDetail" :data-id="item.goods.id"> |
|
||||
<image class="slide-image" :src="item.goods.img"></image> |
|
||||
<view class="description">{{item.goods.name}}</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="meal-price" :data-suitid="items.associate_id" @tap="_jumpMeal"> |
|
||||
搭配套餐价=<text>¥{{items.associate.total}}</text>/<text>¥{{items.associate.origin_total}}</text> |
|
||||
</view> |
|
||||
|
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return {}; |
|
||||
}, |
|
||||
|
|
||||
options: { |
|
||||
addGlobalClass: true |
|
||||
}, |
|
||||
|
|
||||
props: { |
|
||||
suitData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
show: { |
|
||||
type: Number, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
}, |
|
||||
}, |
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
_jumpImg(e) { |
|
||||
var src = e.currentTarget.dataset.src; |
|
||||
if (!src || src == 'uto_miniprogram') return; |
|
||||
wx.navigateTo({ |
|
||||
url: src |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
_jumpMeal(e) { |
|
||||
console.log(this.suitData); |
|
||||
var id = e.currentTarget.dataset.suitid; |
|
||||
wx.navigateTo({ |
|
||||
url: `/pages/store/meal/meal?id=${id}` |
|
||||
}); |
|
||||
} |
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "index-suit"; |
|
||||
</style> |
|
||||
@ -1,75 +0,0 @@ |
|||||
.waterfalls-flow{ |
|
||||
.title{ |
|
||||
padding: 10px 15px 10px 15px; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
color: #000; |
|
||||
align-items: center; |
|
||||
background-color: #FFFFFF; |
|
||||
|
|
||||
span:nth-child(1) { |
|
||||
font-size: 22px; |
|
||||
font-weight: bold; |
|
||||
display: inline-block; |
|
||||
//padding-left: 6px; |
|
||||
//border-left: 4px solid #E7031C; |
|
||||
} |
|
||||
|
|
||||
span:nth-child(2) { |
|
||||
font-size: 12px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text{ |
|
||||
font-size: 15px; |
|
||||
font-weight: 700; |
|
||||
margin-left: 5px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.help-select-contet { |
|
||||
column-count: 2; //分为2列 |
|
||||
column-gap: 10px;//列之间间隔为10px |
|
||||
width: 100%; |
|
||||
padding:10px 15px; |
|
||||
} |
|
||||
.help-select-card { |
|
||||
background: #fff; |
|
||||
width:100%; |
|
||||
display: inline-block; /*内部卡片需要设置为inline-block,否则会截断显示,如图一*/ |
|
||||
justify-content: center; |
|
||||
flex-direction: column; |
|
||||
align-items: center; |
|
||||
margin-bottom: 10rpx; |
|
||||
image{ |
|
||||
width: 100%; |
|
||||
} |
|
||||
.goods-detail{ |
|
||||
padding: 10px 8px; |
|
||||
.name{ |
|
||||
color:#333333; |
|
||||
font-size: 12px; |
|
||||
height: 38px; |
|
||||
line-height: 18px; |
|
||||
margin-bottom:10px; |
|
||||
display: -webkit-box; |
|
||||
-webkit-box-orient: vertical; |
|
||||
-webkit-line-clamp: 2; |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
.money{ |
|
||||
color:#E7031C; |
|
||||
font-size: 14px; |
|
||||
line-height: 20px; |
|
||||
span{ |
|
||||
color:#999999; |
|
||||
font-size: 12px; |
|
||||
line-height: 17px; |
|
||||
text-decoration: line-through; |
|
||||
display: inline-block; |
|
||||
padding-left: 6px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
@ -1,99 +0,0 @@ |
|||||
<template> |
|
||||
<view class="waterfalls-flow" :style="'margin-bottom: ' + meta.margin_bottom + 'px'"> |
|
||||
<view class="title" v-if="show && title" @tap="_jumpList"> |
|
||||
<span>{{title}}</span> |
|
||||
<span>更多 |
|
||||
<text class="iconfont icon-gengduo"></text> |
|
||||
</span> |
|
||||
</view> |
|
||||
<view class="help-select-contet"> |
|
||||
<view class="help-select-card" v-for="(item, index) in waterData" :key="index" > |
|
||||
<view v-if="index > 0" @tap="_jumpDeatil" :data-id="item.id"> |
|
||||
<image mode="widthFix" :src="item.img"></image> |
|
||||
<view class="goods-detail"> |
|
||||
<view class="name"> |
|
||||
{{item.name}} |
|
||||
</view> |
|
||||
<view class="money"> |
|
||||
¥{{item.sell_price}} |
|
||||
<span>¥{{item.market_price}}</span> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view v-else @tap="_jumpLink" :data-link="item.link"> |
|
||||
<image mode="widthFix" class="help-select-iamge" :src="item.image"></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
</view> |
|
||||
</template> |
|
||||
<script> |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return {}; |
|
||||
}, |
|
||||
|
|
||||
options: { |
|
||||
addGlobalClass: true |
|
||||
}, |
|
||||
props: { |
|
||||
|
|
||||
waterData: { |
|
||||
type: Array, |
|
||||
value: '' |
|
||||
}, |
|
||||
title: { |
|
||||
type: String, |
|
||||
value: '' |
|
||||
}, |
|
||||
show: { |
|
||||
type: Number, |
|
||||
value: '' |
|
||||
}, |
|
||||
meta: { |
|
||||
type: Object, |
|
||||
value: "" |
|
||||
} |
|
||||
|
|
||||
|
|
||||
}, |
|
||||
|
|
||||
//组件的方法 |
|
||||
methods: { |
|
||||
//内部方法建议以下划线开头 |
|
||||
_jumpLink(e) { |
|
||||
let link = e.currentTarget.dataset.link; |
|
||||
wx.navigateTo({ |
|
||||
url: link, |
|
||||
fail: err => { |
|
||||
wx.switchTab({ |
|
||||
url: link |
|
||||
}); |
|
||||
} |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
//跳到商品详情页 |
|
||||
_jumpDeatil(e) { |
|
||||
let id = e.currentTarget.dataset.id; |
|
||||
wx.navigateTo({ |
|
||||
url: `/pages/store/detail/detail?id=${id}` |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
_jumpList() { |
|
||||
wx.navigateTo({ |
|
||||
url: '/pages/store/list/list' |
|
||||
}); |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
|
|
||||
<style rel="stylesheet/less" lang="less"> |
|
||||
@import "waterfalls-flow"; |
|
||||
</style> |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue