mobile/pages/branch/activity/detail/detail.vue
@@ -40,13 +40,28 @@
                        </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="info">{{activityData.visitSupplier?activityData.visitSupplier.name:''}}</view>
                     <view class="info">{{activityData.visit_supplier_name?activityData.visit_supplier_name:''}}</view>
                  </view>
                  <view class="activity-item"
                     v-if="activityData.is_visit == 0 && activityData.space_supplier_id > 0">
@@ -57,17 +72,25 @@
                     <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>
@@ -106,29 +129,33 @@
               <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>
      <!--报名成功弹窗-->
@@ -188,6 +215,8 @@
      <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>
@@ -201,13 +230,15 @@
   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 {
@@ -252,6 +283,7 @@
            is_friend: false, // 是否是帮朋友报名
            isShowVerify: false, // 核销选择框(针对核销时返回未报名的情况,选择是否有朋友帮报名)
            verify_mobile: '', // 朋友帮报名填的手机号
            isOpenUser: false, // 报名用户名单弹窗
         }
      },
      onLoad(e) {
@@ -497,10 +529,12 @@
         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: '确定要报名吗?',
@@ -510,7 +544,7 @@
                     }
                  }
               });
            }
            } */
         },
         closeRegFunc(e) {
@@ -738,7 +772,56 @@
            });
            //#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>
@@ -812,26 +895,45 @@
      }
      .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;
            }
         }
      }
@@ -1167,7 +1269,7 @@
         width: 180rpx;
         height: 180rpx;
         position: fixed;
         bottom: 120rpx;
         bottom: 130rpx;
         right: 20rpx;
         animation: pulse 0.8s infinite; /* 动画名称,持续时间,无限循环 */
      }