java-mall-app/activity/market/checkin.vue
2024-11-01 16:35:40 +08:00

190 lines
3.8 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view>
<block v-if="isPage">
<navigator :url="'/activity/market/detail?id=' + Info.Id" class="m-activity-item">
<image src="Info.EventMainPic" mode="aspectFill" class="m-activity-img" />
<view class="m-activity-info">
<view class="m-activity-name">{{Info.Title}}</view>
<label class="iconfont icon-shijian gray"></label>
<label class="m-activity-time">{{Info.EventTime}}</label>
</view>
</navigator>
<view class="icon-box">
<icon type="success" size="70" />
<view class="icon-box__ctn">
<view class="icon-box-title">{{__('签到成功!')}}</view>
<view class="icon-box-desc">{{__('签到时间')}}{{Info.CheckInTime}}</view>
</view>
</view>
<view class="m-activity-otherinfo" v-if="Info.AgendaPlan!=null">
<view class="item-otherinfo">
<view class="item-title">{{__('活动规则')}}</view>
</view>
<!--<view style="padding:10rpx 30rpx;font-size:30rpx;">{{Info.AgendaPlan}}</view>-->
<view style="padding:10rpx 30rpx;font-size:30rpx;">
<template is="wxParse" data="wxParseData:activityagenda.nodes" />
</view>
</view>
</block>
</view>
</template>
<script>
import $ from "../../helpers/util";
import dayCountdown from "../../components/day-countdown.vue";
import {
mapState,
mapMutations
} from 'vuex'
export default {
data: function() {
return {
isPage: false,
Info: [],
EventId: "",
activityagenda: []
}
},
components: {
dayCountdown
},
computed: mapState(['Config', 'StateCode', 'notice', 'plantformInfo', 'shopInfo', 'userInfo', 'hasLogin']),
onLoad: function(options) {
uni.setNavigationBarTitle({
title: this.__('活动签到')
});
this.initData()
},
methods: {
...mapMutations(['login', 'logout', 'getPlantformInfo', 'forceUserInfo', 'getUserInfo']),
initData: function() {
var e = {
EventId: this.EventId
},
that = this;
that.$.request($.makeUrl(activityapi.EventCheckIn, e), function(e) {
e.Info != null && e.Code == 0 ? (that.setData({
isPage: true,
Info: e.Info
}), $.isNull(e.Info.AgendaPlan) || WxParse.wxParse("activityagenda", "html", e.Info.AgendaPlan, that)) : ($.alert(that.__("签到失败!")), that.setData({
isPage: false
}))
})
}
}
};
</script>
<style lang="scss">
@import "../../styles/_variables";
.m-activity-item {
width: 100%;
height: 240rpx;
margin-bottom: 30rpx;
background: white;
}
.m-activity-img {
padding: 20rpx;
width: 260rpx;
height: 200rpx;
float: left;
}
.m-activity-info {
width: 450rpx;
height: 100%;
float: left;
padding: 20rpx;
box-sizing: border-box;
}
.m-activity-name {
font-size: 16px;
margin-bottom: 40rpx;
margin-top: 10rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.gray {
font-size: 35rpx;
color: gray;
display: inline-block;
}
.m-activity-time {
margin-left: 10rpx;
margin-right: 20rpx;
font-size: 26rpx;
color: #888;
}
.m-activity-otherinfo {
background: white;
margin-top: 30rpx;
}
.item-otherinfo {
padding: 20rpx;
border-bottom: 1px solid #eee;
margin-bottom: 10rpx;
}
.item-title {
border-left: 5px solid $default-skin-bg;
font-size: 14px;
padding-left: 10rpx;
}
.icon-box {
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
background-color: #fff;
padding: 20rpx;
margin-top: 20rpx;
position: relative;
}
.icon-box image {
width: 120rpx;
height: 120rpx;
}
.icon-box image {
margin-right: 32rpx;
}
.icon-box-title {
font-weight: 400;
color: #DB384B;
}
.icon-box-desc {
margin-top: 12rpx;
font-size: 24rpx;
color: #888;
}
.icon-box icon {
margin-right: 10rpx;
}
</style>