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.
240 lines
5.0 KiB
240 lines
5.0 KiB
<template> |
|
<view class="activityCenter-page"> |
|
<image src="https://download.cyjyyjy.com/center-img.png" class="top-bg"></image> |
|
<view class="page-title" |
|
:style="'top:' + menuTop + 'px;height:' + menuHeight + 'px;line-height: ' + menuHeight + 'px;'"> |
|
<image src="../../../static/images/back.png" @click="backClick"></image> |
|
活动中心</view> |
|
<view class="activity-box"> |
|
<view class="activity-list acea-row" v-for="(item,index) in activity" :key="index" @tap="toActiveDetail" |
|
:data-id="item.id"> |
|
<image :src="item.images" mode="aspectFill" class="act-img"></image> |
|
<view class="act-con acea-row row-column-between"> |
|
<view class="title line2">{{item.name}}</view> |
|
<view class="act-time acea-row row-middle"> |
|
<image src="../../../static/images/act-time.png" mode="" class="time-img"></image> |
|
<view>{{item.activityStartTime.split(' ')[0]}}至{{item.activityEndTime.split(' ')[0]}}</view> |
|
</view> |
|
<view class="act-adress acea-row"> |
|
<image src="../../../static/images/act-address.png" mode="" class="address-img"></image> |
|
<view class="title-line line2">{{item.address}}</view> |
|
</view> |
|
<view class="acea-row row-between-wrapper act-price"> |
|
<text class="act-p">¥{{item.price}}</text> |
|
<!-- <text class="act-i">进行中</text> |
|
<view class="enter-btn">立即报名</view> --> |
|
<view class="act-i" v-if="item.status == 0">筹备中</view> |
|
<view class="act-i" v-if="item.status == 1">报名中</view> |
|
<view class="act-i" v-if="item.status == 2">待举办</view> |
|
<view class="act-i" v-if="item.status == 3">已结束</view> |
|
</view> |
|
</view> |
|
</view> |
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import { |
|
getIndexData |
|
} from "@/api/home"; |
|
const app = getApp(); |
|
export default { |
|
data() { |
|
return { |
|
menuHeight: app.globalData.menuHeight, |
|
navHeight: app.globalData.navHeight, |
|
menuTop: app.globalData.menuTop, |
|
navTopHeight: app.globalData.navTopHeight, |
|
activity: [], //活动列表 |
|
isFixed: false, |
|
}; |
|
}, |
|
onPageScroll(e) { |
|
if (e.scrollTop > 60) { |
|
this.isFixed = true; |
|
} else { |
|
this.isFixed = false; |
|
}; |
|
}, |
|
mounted: function() { |
|
this.getIndexData() |
|
}, |
|
onPullDownRefresh(){ |
|
this.getIndexData() |
|
}, |
|
methods: { |
|
backClick(){ |
|
uni.navigateBack({ |
|
delta: 1 |
|
}) |
|
}, |
|
getIndexData() { |
|
getIndexData().then(res => { |
|
this.activity = res.data.recommendActivity.content |
|
uni.stopPullDownRefresh() |
|
}) |
|
}, |
|
toActiveDetail(e) { |
|
let id = e.currentTarget.dataset.id; |
|
uni.navigateTo({ |
|
url: '/pages/activity/detail/index?id=' + id |
|
}); |
|
}, |
|
toBackHome(e){ |
|
console.log("1") |
|
uni.navigateBack(); |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style lang="less"> |
|
.activityCenter-page { |
|
width: 100%; |
|
height: auto; |
|
background: #fff; |
|
position: relative; |
|
} |
|
|
|
.top-bg { |
|
width: 100%; |
|
height: 1210rpx; |
|
position: absolute; |
|
} |
|
|
|
.pageTitle-box { |
|
width: 100%; |
|
position: fixed; |
|
top: 0; |
|
z-index: 99; |
|
transition: all .5s; |
|
} |
|
.showPageTitle { |
|
background: #fff; |
|
color: #000000 !important; |
|
opacity: 1; |
|
|
|
.page-title { |
|
color: #000; |
|
} |
|
|
|
.page-back { |
|
width: 18rpx; |
|
height: 30rpx; |
|
background: url(../../../static/images/arror-right.png) no-repeat center center; |
|
background-size: 100% 100%; |
|
transform: rotateY(180deg); |
|
} |
|
} |
|
|
|
.page-title { |
|
position: absolute; |
|
width: 100%; |
|
color: #fff; |
|
font-weight: 600; |
|
font-size: 32rpx; |
|
text-align: center; |
|
image{ |
|
width: 36rpx; |
|
height: 36rpx; |
|
position: absolute; |
|
left: 36rpx; |
|
top: 50%; |
|
margin-top: -18rpx; |
|
} |
|
} |
|
|
|
.activity-box { |
|
width: 100%; |
|
height: auto; |
|
background: #FFF; |
|
position: absolute; |
|
top: 538rpx; |
|
border-radius: 30rpx 30rpx 0 0; |
|
padding: 32rpx 40rpx 0 40rpx; |
|
margin-bottom: 218rpx; |
|
} |
|
|
|
.activity-list { |
|
border-bottom: 1px solid #EEEEEE; |
|
padding: 20rpx 0; |
|
|
|
.act-img { |
|
width: 178rpx; |
|
height: 236rpx; |
|
margin-right: 20rpx; |
|
border-radius: 8rpx; |
|
} |
|
|
|
.act-con { |
|
width: 450rpx; |
|
// height: 236rpx; |
|
padding: 5rpx 0; |
|
|
|
.title { |
|
font-size: 28rpx; |
|
font-weight: 600; |
|
color: #1D1D1D; |
|
} |
|
|
|
.act-time { |
|
font-size: 24rpx; |
|
color: #191919; |
|
|
|
.time-img { |
|
width: 18rpx; |
|
height: 22rpx; |
|
line-height: 34rpx; |
|
margin: 0rpx 16rpx 0 0; |
|
} |
|
} |
|
|
|
.act-adress { |
|
height: 67rpx; |
|
|
|
.address-img { |
|
width: 19rpx; |
|
height: 23rpx; |
|
margin: 7rpx 14rpx 40rpx 0; |
|
} |
|
|
|
.title-line { |
|
height: 68rpx; |
|
font-size: 24rpx; |
|
font-weight: 500; |
|
color: #191919; |
|
word-wrap: break-word; |
|
overflow: hidden; |
|
} |
|
} |
|
|
|
.act-price { |
|
width: 100%; |
|
|
|
.act-i { |
|
font-size: 24rpx; |
|
color: #FF5A0E; |
|
font-weight: 600; |
|
} |
|
|
|
.act-p { |
|
font-size: 32rpx; |
|
color: #2A2B2B; |
|
font-weight: 600; |
|
} |
|
|
|
.enter-btn { |
|
width: 138rpx; |
|
height: 40rpx; |
|
line-height: 40rpx; |
|
text-align: center; |
|
background: linear-gradient(39deg, #FF5A0D 0%, #FFAC85 100%); |
|
border-radius: 26rpx; |
|
color: #fff; |
|
font-size: 24rpx; |
|
} |
|
} |
|
} |
|
} |
|
</style>
|
|
|