| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="activity-item" v-if="activityData.is_visit == 1"> |
| | | <view class="gray6 f24">活动地点</view> |
| | | <view class="info">{{activityData.address}}</view> |
| | | <view class="activity-item d-b-c" v-if="activityData.address"> |
| | | <view class="flex-1"> |
| | | <view class="gray6 f24">活动地点</view> |
| | | <view class="info">{{activityData.address}}</view> |
| | | </view> |
| | | <view> |
| | | <view class="d-s-c contact ml20"> |
| | | <view class="d-c-c d-c" @click="openLocation()"> |
| | | <text class="iconfont icon-dizhi"></text> |
| | | <text class="text">导航</text> |
| | | </view> |
| | | <view class="d-c-c d-c ml20" @click="callPhone()"> |
| | | <text class="iconfont icon-002dianhua"></text> |
| | | <text class="text">电话</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="activity-item" v-if="activityData.is_visit == 1"> |
| | | <view class="gray6 f24">走访企业</view> |
| | |
| | | <view class="gray6 f24">活动发起分会</view> |
| | | <view class="info">{{activityData.branch.name}}</view> |
| | | </view> |
| | | <view class="activity-item d-b-c"> |
| | | <view class="activity-item"> |
| | | <view> |
| | | <view class="gray6 f24">已报名人数</view> |
| | | <view class="info">{{activityData.total}}</view> |
| | | <view class="gray6 f24">已报名人员({{activityData.total}}人)</view> |
| | | <view class="info"></view> |
| | | </view> |
| | | <view class="avatar-list d-s-c"> |
| | | <image :src="item.avatarUrl" mode="aspectFill" v-for="(item, index) in userList" |
| | | :key="index"></image> |
| | | <view class="more" v-if="activityData.total > 8"></view> |
| | | <view class="avatar-list d-s-c pt10"> |
| | | <view class="d-c-c d-c avatar-item" v-for="(item, index) in userList" :key="index"> |
| | | <image :src="item.avatarUrl" mode="aspectFill"></image> |
| | | <text class="text-ellipsis">{{item.real_name}}</text> |
| | | </view> |
| | | <view class="more d-c-c d-c" v-if="activityData.total > 5" @click="openUser"> |
| | | <view class="d-c-c more-icon"> |
| | | <text class="iconfont icon-gengduo"></text> |
| | | </view> |
| | | <text>更多</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 活动结束图标 --> |
| | | <view class="status-image" v-if="activityData.status_text.status==2"> |
| | | <image :src="remoteImg('finish')"></image> |
| | |
| | | <button class='modifyBnt' @click="showShare" v-else>分享给好友</button> |
| | | </view> |
| | | <block v-else> |
| | | <view class="d-c-c two-col-btn"> |
| | | <!-- 如果已经报名 --> |
| | | <block v-if="activityData.is_reg"> |
| | | <button class='modifyBnt disabled' @click="scanCode">您已报名</button> |
| | | <button class='modifyBnt' @click="onReg(true)" v-if="canReg==1">帮朋友报名</button> |
| | | <!-- 如果已经报名 --> |
| | | <view class="d-c-c two-col-btn" v-if="activityData.is_reg"> |
| | | <button class='modifyBnt disabled' v-if="activityData.is_verify">您已签到</button> |
| | | <button class='modifyBnt disabled' v-else @click="scanCode">您已报名</button> |
| | | <button class='modifyBnt' @click="onReg(true)" v-if="canReg==1">帮朋友报名</button> |
| | | <block v-else> |
| | | <button class='modifyBnt' @click="showShare" v-if="activityData.is_verify">分享给好友</button> |
| | | <button class='modifyBnt' @click="scanCode" v-else>扫码签到</button> |
| | | </block> |
| | | <!-- 如果还没有报名 --> |
| | | <block v-else> |
| | | <view class="d-c-c two-col-btn" v-if="canReg==1"> |
| | | <button class='modifyBnt' @click="onReg(false)">我要报名</button> |
| | | <button class='modifyBnt' @click="onReg(true)">帮朋友报名</button> |
| | | </view> |
| | | <button v-else-if="canReg==0" class='modifyBnt disabled'>报名未开始</button> |
| | | </view> |
| | | <!-- 如果还没有报名 --> |
| | | <block v-else> |
| | | <view class="d-c-c two-col-btn" v-if="canReg==1"> |
| | | <button class='modifyBnt' @click="onReg(false)">我要报名</button> |
| | | <button class='modifyBnt' @click="onReg(true)">帮朋友报名</button> |
| | | </view> |
| | | <view class="d-c-c" v-else> |
| | | <button v-if="canReg==0" class='modifyBnt disabled'>报名未开始</button> |
| | | <button v-else-if="canReg==3" class='modifyBnt disabled'>已报满</button> |
| | | <button v-else class='modifyBnt disabled'>报名已结束</button> |
| | | </block> |
| | | </view> |
| | | </view> |
| | | </block> |
| | | </block> |
| | | </view> |
| | | </view> |
| | | <!-- 活动购物图标(仅在活动进行时显示) --> |
| | | <view class="shopping-box" @click="gotoPage('pages/branch/activity/product/index?activity_id='+activity_id)" v-if="activityData.is_visit && activityData.status_text.status == 1"> |
| | | <view class="shopping-box" @click="gotoPage('pages/branch/activity/product/index?activity_id='+activity_id)" v-if="activityData.is_visit && activityData.status_text.status == 1 && activityData.is_verify"> |
| | | <image :src="remoteImg('activity_shopping')"></image> |
| | | </view> |
| | | <!--报名成功弹窗--> |
| | |
| | | <AppShare :isAppShare="isAppShare" :appParams="appParams" @close="closeAppShare"></AppShare> |
| | | <!-- 打开活动相册 --> |
| | | <Album ref="album" :isOpenAlbum="isOpenAlbum" :activity_id="activity_id" @close="closeAlbumFunc"></Album> |
| | | <!-- 打开报名用户名单 --> |
| | | <User ref="user" :isOpenUser="isOpenUser" :activity_id="activity_id" @close="closeUserFunc"></User> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | import Album from './popup/album.vue'; // 相册 |
| | | import uniPopup from '@/components/uni-popup.vue'; |
| | | import utils from '@/common/utils.js'; |
| | | import User from './popup/user.vue'; // 相册 |
| | | export default { |
| | | components: { |
| | | RegForm, |
| | | AppShare, |
| | | Share, |
| | | Album, |
| | | uniPopup |
| | | uniPopup, |
| | | User, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | is_friend: false, // 是否是帮朋友报名 |
| | | isShowVerify: false, // 核销选择框(针对核销时返回未报名的情况,选择是否有朋友帮报名) |
| | | verify_mobile: '', // 朋友帮报名填的手机号 |
| | | isOpenUser: false, // 报名用户名单弹窗 |
| | | } |
| | | }, |
| | | onLoad(e) { |
| | |
| | | |
| | | onReg(e) { |
| | | this.$refs.regForm.activityData = this.activityData; |
| | | /* this.$refs.regForm.branch_name = this.activityData.branch.name; |
| | | this.$refs.regForm.formData.branch_id = this.activityData.branch_id; */ |
| | | this.is_friend = e; |
| | | if (this.activityData.fee > 0 || e) { |
| | | //if (this.activityData.fee > 0 || e || !this.activityData.is_member) { |
| | | this.isOpenReg = true; |
| | | } else { |
| | | /* } else { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确定要报名吗?', |
| | |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } */ |
| | | }, |
| | | |
| | | closeRegFunc(e) { |
| | |
| | | }); |
| | | //#endif |
| | | }, |
| | | |
| | | callPhone(){ |
| | | uni.makePhoneCall({ |
| | | phoneNumber: this.activityData.phone + '' |
| | | }); |
| | | }, |
| | | |
| | | /*导航*/ |
| | | openLocation() { |
| | | let self = this; |
| | | uni.openLocation({ |
| | | latitude: Number(this.activityData.latitude), |
| | | longitude: Number(this.activityData.longitude), |
| | | address: this.activityData.address |
| | | }); |
| | | }, |
| | | |
| | | // 打开报名名单 |
| | | openUser() { |
| | | this.isOpenUser = true; |
| | | }, |
| | | |
| | | closeUserFunc(e) { |
| | | this.isOpenUser = false; |
| | | }, |
| | | |
| | | }, |
| | | onShareAppMessage() { |
| | | if (this.activityData) { |
| | | return { |
| | | title: `${this.activityData.name}`, |
| | | path: `/pages/plus/business/detail?activity_id=${this.activity_id}` |
| | | }; |
| | | } |
| | | return { |
| | | title: '活动详情', |
| | | path: `/pages/plus/business/detail?activity_id=${this.activity_id}` |
| | | }; |
| | | }, |
| | | onShareTimeline() { |
| | | if (this.activityData) { |
| | | return { |
| | | title: `${this.activityData.name}`, |
| | | path: `/pages/plus/business/detail?activity_id=${this.activity_id}` |
| | | }; |
| | | } |
| | | return { |
| | | title: '活动详情', |
| | | path: `/pages/plus/business/detail?activity_id=${this.activity_id}` |
| | | }; |
| | | } |
| | | } |
| | | </script> |
| | |
| | | } |
| | | |
| | | .iconfont { |
| | | margin-right: 17rpx; |
| | | // margin-right: 17rpx; |
| | | font-size: 34rpx; |
| | | } |
| | | |
| | | .activity-item { |
| | | .avatar-list { |
| | | .avatar-item { |
| | | width: 90rpx; |
| | | padding-right: 10rpx; |
| | | } |
| | | image { |
| | | width: 70rpx; |
| | | height: 70rpx; |
| | | border-radius: 70rpx; |
| | | border: 2rpx solid #ffffff; |
| | | margin-left: -20rpx; |
| | | } |
| | | |
| | | .more { |
| | | position: relative; |
| | | width: 140rpx; |
| | | height: 70rpx; |
| | | margin-left: -140rpx; |
| | | background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, .9)); |
| | | padding-left: 10rpx; |
| | | |
| | | .more-icon { |
| | | width: 70rpx; |
| | | height: 70rpx; |
| | | border-radius: 70rpx; |
| | | background: #f1f1f1; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .contact { |
| | | .iconfont { |
| | | font-size: 30rpx; |
| | | // font-weight: bold; |
| | | color: #333333; |
| | | margin-right: 0; |
| | | } |
| | | |
| | | .text { |
| | | font-size: 24rpx; |
| | | color: #333333; |
| | | } |
| | | } |
| | | } |
| | |
| | | width: 180rpx; |
| | | height: 180rpx; |
| | | position: fixed; |
| | | bottom: 120rpx; |
| | | bottom: 130rpx; |
| | | right: 20rpx; |
| | | animation: pulse 0.8s infinite; /* 动画名称,持续时间,无限循环 */ |
| | | } |