4 changed files with 288 additions and 0 deletions
-
1components/lf-code/lf-barcode.vue
-
1components/lf-code/lf-qrcode.vue
-
7pages.json
-
279pages/point/shoppingMall/shoppingMall.vue
@ -0,0 +1,279 @@ |
|||
<template> |
|||
<view> |
|||
<lf-nav title="积分商城" titleColor="#fff" bgColor="transparent" :showIcon="true" :spreadOut="false"></lf-nav> |
|||
<view class="head"> |
|||
<view class="bg-view"></view> |
|||
</view> |
|||
<view class="menu"> |
|||
<view class="left"> |
|||
<view> |
|||
<text class="lf-iconfont icon--"></text> |
|||
<text class="point-num">783</text> |
|||
<text class="lf-iconfont icon--"></text> |
|||
</view> |
|||
<view class="lf-font-24">当前积分</view> |
|||
</view> |
|||
<view class="lf-flex"> |
|||
<view class="item"> |
|||
<text class="lf-iconfont icon-- lf-font-50"></text> |
|||
<text>兑换记录</text> |
|||
</view> |
|||
<view class="item"> |
|||
<text class="lf-iconfont icon-- lf-font-50"></text> |
|||
<text>购物车</text> |
|||
<view class="angle-mark">99+</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="lf-m-t-30" v-if="tab_list.length"> |
|||
<u-tabs :list="tab_list" |
|||
active-color="#15716E" |
|||
inactive-color='#777777' |
|||
:is-scroll="true" |
|||
:current="tab_current" |
|||
@change="tabChange"> |
|||
</u-tabs> |
|||
</view> |
|||
<view class="page-item"> |
|||
<view class="filter"> |
|||
<view :class="{'filter-item': true, 'filter-active': index == filter_current}" |
|||
v-for="(item, index) in filter_list" :key="index" |
|||
@click="filter_current = index">{{ item }} |
|||
</view> |
|||
</view> |
|||
<view class="goods"> |
|||
<lf-waterfall :list="goods_list"></lf-waterfall> |
|||
</view> |
|||
</view> |
|||
<u-back-top :scrollTop="pageScrollTop"></u-back-top> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import lfWaterfall from '@/components/lf-waterfall-shopdetails/lf-waterfall.vue'; |
|||
export default { |
|||
components: { |
|||
lfWaterfall |
|||
}, |
|||
data(){ |
|||
let _public = { |
|||
page: 1, |
|||
isPage: true, |
|||
loadingClass: true, |
|||
loadingText: '正在加载中' |
|||
} |
|||
return { |
|||
tab_current: 0, |
|||
tab_list: [{ |
|||
name: '全部', |
|||
list: [], |
|||
..._public |
|||
},{ |
|||
name: '时尚尖货', |
|||
list: [], |
|||
..._public |
|||
},{ |
|||
name: '美容美妆', |
|||
list: [], |
|||
..._public |
|||
},{ |
|||
name: '家具用品', |
|||
list: [], |
|||
..._public |
|||
},{ |
|||
name: '儿童玩具', |
|||
list: [], |
|||
..._public |
|||
}], |
|||
filter_list: ['1~100','100~1万','1万~2万','2万~5万','>5万'], |
|||
filter_current: null, |
|||
goods_list: [ |
|||
{ |
|||
id: 10, |
|||
original_price: "4111.00", |
|||
picture: "https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png", |
|||
pictures: ["https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png"], |
|||
price: "2412.00", |
|||
product_id: 1008, |
|||
sale: 0, |
|||
title: "三亚悦榕庄(Banyan Tree Sanya Resort and Spa)" |
|||
}, |
|||
{ |
|||
id: 10, |
|||
original_price: "4111.00", |
|||
picture: "https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png", |
|||
pictures: ["https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png"], |
|||
price: "2412.00", |
|||
product_id: 1008, |
|||
sale: 0, |
|||
title: "三亚悦榕庄(Banyan Tree Sanya Resort and Spa)" |
|||
}, |
|||
{ |
|||
id: 10, |
|||
original_price: "4111.00", |
|||
picture: "https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png", |
|||
pictures: ["https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png"], |
|||
price: "2412.00", |
|||
product_id: 1008, |
|||
sale: 0, |
|||
title: "三亚悦榕庄(Banyan Tree Sanya Resort and Spa)" |
|||
}, |
|||
{ |
|||
id: 10, |
|||
original_price: "4111.00", |
|||
picture: "https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png", |
|||
pictures: ["https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png"], |
|||
price: "2412.00", |
|||
product_id: 1008, |
|||
sale: 0, |
|||
title: "三亚悦榕庄(Banyan Tree Sanya Resort and Spa)" |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
onLoad(){ |
|||
|
|||
}, |
|||
methods: { |
|||
tabChange(event){ |
|||
this.tab_current = event; |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
page{ |
|||
overflow-x: hidden; |
|||
} |
|||
</style> |
|||
<style lang="scss" scoped="scoped"> |
|||
.head{ |
|||
width: 750rpx; |
|||
height: 283rpx; |
|||
background: linear-gradient(90deg, #22A2A0 0%, #187B7A 100%); |
|||
position: relative; |
|||
overflow: hidden; |
|||
.bg-view{ |
|||
position: absolute; |
|||
right: -100rpx; |
|||
top: -200rpx; |
|||
width: 400rpx; |
|||
height: 400rpx; |
|||
border-radius: 50%; |
|||
background-color: rgba(255,255,255,0.04); |
|||
} |
|||
} |
|||
.menu{ |
|||
width: 686rpx; |
|||
height: 170rpx; |
|||
background: #FFFFFF; |
|||
box-shadow: 0rpx 2rpx 8rpx 1rpx rgba(0, 0, 0, 0.1); |
|||
border-radius: 20rpx; |
|||
box-sizing: border-box; |
|||
padding: 30rpx; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
color: #15716E; |
|||
margin: -80rpx auto 0; |
|||
position: relative; |
|||
z-index: 2; |
|||
.left{ |
|||
width: 340rpx; |
|||
.point-num{ |
|||
font-size: 48rpx; |
|||
font-weight: bold; |
|||
margin: 0 10rpx; |
|||
} |
|||
} |
|||
.item{ |
|||
width: 100rpx; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
font-size: 24rpx; |
|||
position: relative; |
|||
&:nth-child(2n){ |
|||
margin-left: 40rpx; |
|||
} |
|||
.angle-mark{ |
|||
width: 30rpx; |
|||
height: 30rpx; |
|||
background-color: #FF9D9D; |
|||
color: #FFFFFF; |
|||
border-radius: 50%; |
|||
position: absolute; |
|||
right: 10rpx; |
|||
top: 10rpx; |
|||
font-size: 18rpx; |
|||
text-align: center; |
|||
line-height: 30rpx; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.page-item{ |
|||
width: 750rpx; |
|||
height: max-content; |
|||
.filter{ |
|||
width: 100%; |
|||
height: 83rpx; |
|||
border: 1rpx solid #e5e5e5; |
|||
box-sizing: border-box; |
|||
padding: 0 32rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
.filter-item{ |
|||
width: 123rpx; |
|||
height: 43rpx; |
|||
font-size: 24rpx; |
|||
color: #777777; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
border-radius: 26rpx; |
|||
&:nth-child(n+2){ |
|||
margin-left: 28rpx; |
|||
} |
|||
&.filter-active{ |
|||
background-color: #15716E; |
|||
color: #FFFFFF; |
|||
} |
|||
} |
|||
} |
|||
.goods{ |
|||
padding: 30rpx 32rpx; |
|||
} |
|||
} |
|||
|
|||
// tabs 样式修改 |
|||
/deep/.u-scroll-box { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1); |
|||
width: max-content; |
|||
} |
|||
/deep/.u-scroll-box .u-tab-bar { |
|||
background-color: #15716E!important; |
|||
width: 80rpx!important; |
|||
position: absolute; |
|||
left: 0; |
|||
bottom: -12rpx; |
|||
} |
|||
|
|||
/deep/.special_tab .u-tabs .u-scroll-box .u-tab-bar { |
|||
background-color: #15716E!important; |
|||
width: 56rpx!important; |
|||
position: absolute; |
|||
height: 5rpx!important; |
|||
left: 8rpx; |
|||
bottom: -4rpx; |
|||
} |
|||
|
|||
/deep/ .u-tab-item { |
|||
font-size: 28rpx!important; |
|||
} |
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue