时空网前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

199 lines
4.3 KiB

<template>
<view class="lf-row-center lf-flex-column">
<view class="ctab">
<u-tabs :list="tab_list" :is-scroll="true" :show-bar="false" :current="current" @change="change"></u-tabs>
</view>
<view class="com" v-for="(tab, tabIndex) in tab_list" v-if="tabIndex == current" :key="tabIndex">
<view class="lf-row-between list" v-for="(item, index) in tab.list" :key="index">
<view class="left">
<image src="../../static/tu.png" mode=""></image>
</view>
<view class="right">
<view class="lf-line-2 title">网红辣椒棒 魔鬼辣椒挑战全 网第一辣 网红优惠季网红辣椒棒 魔鬼辣椒挑战全 网第一辣 网红优惠季</view>
<view class="lf-row-between tips">
<view class="u-line-progress">
<u-line-progress :percent="25" height="20" :striped="true" active-color="#FE9903" :show-percent="false" inactive-color="#F5F5F5"></u-line-progress>
</view>
<text class="progress">已抢25%</text>
<text class="bought">2.4万人已购买</text>
</view>
<view class="lf-row-between price">
<text></text><text>19</text>.<text>90</text>
<text>39.00</text>
<button>立即抢购</button>
</view>
</view>
</view>
<!-- 加载 -->
<view class="loading-more">
<text v-if="tab.list.length" :class="{'loading-more-text': tab.loadingClass}">{{ tab.loadingText }}</text>
<my-nocontent v-else></my-nocontent>
</view>
<!-- 回到顶部 -->
<u-back-top :scroll-top="pageScrollTop"></u-back-top>
</view>
</view>
</template>
<script>
export default {
data() {
let shared = {
loadingClass: false,
loadingText: '没有更多数据啦~',
page: 1,
isPage: true
}
return {
tab_list: [{
name: '推荐',
list: [1, 2, 3, 4,5,6,7,8],
...shared
}, {
name: '每日必抢',
list: [],
...shared
}, {
name: '生活用品',
list: [1],
...shared
},{
name: '家政服务',
list: [],
...shared
},{
name: '美食部落',
list: [],
...shared
},{
name: '奶茶夏日',
list: [],
...shared
},{
name: '奶茶夏日',
list: [],
...shared
}],
current: 0, // tab下表
}
},
onLoad() {
this.$http(this.API.API_GOODS_LIST, {data: 1}).then(res => {
console.log(res);
}).catch(err => err);
},
methods: {
change(index) {
this.current = index;
},
},
onReachBottom(){
console.log("页面触底")
},
onPullDownRefresh(){
console.log("下拉刷新");
uni.stopPullDownRefresh()
}
}
</script>
<style lang="scss" scoped>
.title {
font-size: 28rpx;
color: $u-content-color;
}
// tab
.ctab{
width: 100%;
margin: 20rpx 0 0rpx 0rpx;
padding: 0 22rpx;
}
// 商品列表
.com{
width: 100%;
overflow: hidden;
.list{
border-radius: 10rpx;
overflow: hidden;
margin: 20rpx 32rpx;
background-color: #FFFFFF;
box-shadow:0 0 10px 5px #e5e5e5;
align-items: flex-start;
.left{
overflow: hidden;
image{
width: 204rpx;
height: 204rpx;
margin: 20rpx;
border-radius: 10rpx;
}
}
.right{
overflow: hidden;
width: 64%;
.title{
margin: 18rpx 20rpx 0 0;
color: #222222;
font-size: 32rpx;
}
.tips{
margin: 16rpx 0;
overflow: hidden;
.u-line-progress{
width: 112rpx;
overflow: hidden;
margin-right:20rpx ;
}
.progress{
color: #777777;
font-size: 24rpx;
}
.bought{
color: #777777;
font-size: 24rpx;
margin-right: 20rpx;
}
}
.price{
overflow: hidden;
color:#FF0000;
text{
font-size: 48rpx;
color:#FF0000;
font-weight: 500;
}
text:nth-child(1){
color: #FF0000;
font-size: 28rpx;
}
text:nth-child(2){
color: #FF0000;
font-size: 48rpx;
}
text:nth-child(3){
color: #FF0000;
font-size: 28rpx;
}
text:nth-child(4){
color: #777777;
font-size: 28rpx;
text-decoration:line-through;
font-weight: 400;
}
button{
width: 160rpx;
height: 60rpx;
background: #FE9903;
border-radius: 15px;
font-size: 24rpx;
color: #FFFFFF;
margin: 0rpx 20rpx 0rpx 20rpx;
border: none;
}
}
}
}
}
</style>