小彬 2 years ago
parent
commit
bf970dd958

+ 0 - 0
components/activity/index.js → activityPages/components/index.js


+ 6 - 5
components/activity/specialMixins.js → activityPages/components/specialMixins.js

@@ -23,10 +23,10 @@ export default {
       this.specialAccounts = item.Explain;
     },
     //报名或者取消报名
-    async applyOfcancel(item) {
+    async applyOfcancel(item, type = "") {
       this.show_cancel_button = false;
       this.show_confirm_button = true;
-      if (item.IsTrip == 1) {
+      if ((type != "back" && item.IsTrip == 1) || (type == "back" && item.IsSignup == 1)) {
         const str = item.ActivityTime.replace(/-/g, "/");
         const date = new Date(str);
         const times = date.getTime();
@@ -43,10 +43,11 @@ export default {
               });
               if (res.Ret === 200) {
                 uni.showToast({
-                  title: res.Msg,
+                  title: "已取消",
                   duration: 2000,
                 });
-                item.IsTrip = 0;
+
+                type == "back" ? (item.IsSignup = 0) : (item.IsTrip = 0);
               }
             }
           },
@@ -59,7 +60,7 @@ export default {
           this.specialAccounts = res.Data.PopupMsg;
           this.specialPopupMsg = res.Data.PopupMsg2;
           if (res.Data.SignupStatus == 1) {
-            item.IsTrip = 1;
+            type == "back" ? (item.IsSignup = 1) : (item.IsTrip = 1);
           }
         }
       }

+ 1 - 1
activityPages/specialDetail/specialDetail.vue

@@ -101,7 +101,7 @@
 import { activity, User } from "@/config/api.js";
 import jurisdiction from "../activityDetail/jurisdiction/components.vue";
 import freeCharge from "@/components/freeCharge";
-import specialMixins from "@/components/activity/specialMixins";
+import specialMixins from "../components/specialMixins";
 let app = getApp({ allowDefault: true });
 export default {
   data() {

+ 6 - 2
activityPages/specialResearchPage/specialResearchPage.vue

@@ -24,7 +24,11 @@
             <view class="item">
               <view class="item-text" @click="goDetail(item)">
                 <text class="activity-title"> {{ item.ResearchTheme }} </text>
-                <text class="text_twoLine">预期时间:{{ item.ActivityTimeText }} </text>
+                <view style="display: flex" class="text_twoLine" v-if="item.TripStatus == 2">
+                  <text style="flex-shrink: 0"> 活动时间:</text>
+                  <text> {{ item.ActivityTimeTextByDay }}</text>
+                </view>
+                <text class="text_twoLine" v-else>预期时间:{{ item.ActivityTimeText }} </text>
               </view>
               <view class="bottom-box">
                 <view class="" style="width: 130rpx"> </view>
@@ -76,7 +80,7 @@
 import { activity, User } from "@/config/api.js";
 import { Throttle } from "@/config/util.js";
 import freeCharge from "@/components/freeCharge";
-import specialMixins from "@/components/activity/specialMixins";
+import specialMixins from "../components/specialMixins";
 export default {
   data() {
     return {

+ 1 - 2
activityPages/themeActivity/themeActivity.vue

@@ -84,7 +84,6 @@
         :editIsShow="editIsShow"
         :isCancelShow="isCancelShow"
         :idTypeCancel="idTypeCancel"
-        @cancelShowBtn="cancelEnsure"
         :countryCode="countryCode"
         :mobileEdit="mobileEdit"
         :goOnNextStep="goOnNextStep"
@@ -102,7 +101,7 @@
 import { activity, User } from "@/config/api.js";
 import { Throttle } from "@/config/util.js";
 import modalDialog from "@/components/modalDialog.vue";
-import myMixin from "@/components/activity/index.js";
+import myMixin from "../components/index.js";
 import myActivityMixin from "@/components/activity/indexActivity.js";
 import areaCode from "@/components/activity/areaCode.vue";
 import freeCharge from "@/components/freeCharge";

+ 13 - 31
components/activity/indexActivity.js

@@ -28,13 +28,7 @@ export default {
       goFollow: false, //是否关注公众号
       signupStatus: "Success", //4个不同的类型提示文案
       hasPermission: "", //是否有权限
-      jurisdictionList: {
-        SellerMobile: "",
-        PopupMsg: "",
-        OperationMode: "",
-        SellerName: "",
-        ActivityId: "",
-      },
+      jurisdictionList: {},
       editIsShow: false, //外呼莫泰框
       isCancelShow: false,
       idTypeCancel: {
@@ -140,8 +134,7 @@ export default {
             .then((res) => {
               if (res.Ret == 200) {
                 this.hasPermission = res.Data.HasPermission;
-                this.jurisdictionList.ActivityId = res.Data.ActivityId;
-
+                this.jurisdictionList = res.Data;
                 if (this.hasPermission == 1) {
                   const index = this.collectList.findIndex((key) => key.ActivityId == id);
                   this.collectList[index].SignupType = type;
@@ -158,6 +151,7 @@ export default {
                     this.mailboxBinding = true;
                     return;
                   }
+                  console.log(this.signupStatus);
                   if (res.Data.SignupStatus !== "Success") {
                     this.isShow = true;
                   } else {
@@ -166,17 +160,14 @@ export default {
                     } else if (res.Data.GoFollow) {
                       this.goFollow = res.Data.GoFollow;
                     } else if (res.Data.SignupStatus == "Success") {
+                      console.log('进来了?');
                       item.IsSignup = 1;
                       this.isShow = true;
                     }
                   }
                 } else if (this.hasPermission == 2) {
-                  this.jurisdictionList.SellerMobile = res.Data.SellerMobile;
-                  this.jurisdictionList.SellerName = res.Data.SellerName;
-                  this.jurisdictionList.PopupMsg = res.Data.PopupMsg;
                   this.isShowhasPermission = true;
                 } else if (this.hasPermission == 3 || this.hasPermission == 4 || this.hasPermission == 5) {
-                  this.jurisdictionList.PopupMsg = res.Data.PopupMsg;
                   this.applyForIsShow = true;
                 }
               }
@@ -208,7 +199,7 @@ export default {
         .then((res) => {
           if (res.Ret == 200) {
             this.hasPermission = res.Data.HasPermission;
-            this.jurisdictionList.ActivityId = res.Data.ActivityId;
+            this.jurisdictionList = res.Data;
             if (this.hasPermission == 1) {
               if ((res.Data.GoFollow && res.Data.SignupStatus !== "Success") || !res.Data.GoFollow) {
                 this.isShow = true;
@@ -228,12 +219,8 @@ export default {
                 }
               });
             } else if (this.hasPermission == 2) {
-              this.jurisdictionList.SellerMobile = res.Data.SellerMobile;
-              this.jurisdictionList.SellerName = res.Data.SellerName;
-              this.jurisdictionList.PopupMsg = res.Data.PopupMsg;
               this.isShowhasPermission = true;
             } else if (this.hasPermission == 3 || this.hasPermission == 4 || this.hasPermission == 5) {
-              this.jurisdictionList.PopupMsg = res.Data.PopupMsg;
               this.applyForIsShow = true;
             }
           }
@@ -272,18 +259,14 @@ export default {
       const res = await activity.checkAskActivity({ ActivityId: item.ActivityId });
       if (res.Ret == 200) {
         this.hasPermission = res.Data.HasPermission;
-        this.jurisdictionList.ActivityId = res.Data.ActivityId;
+        this.jurisdictionList = res.Data;
         if (this.hasPermission == 1) {
           uni.navigateTo({
             url: "/activityPages/generationAsk/generationAsk?id=" + item.ActivityId + "&type=" + type,
           });
         } else if (this.hasPermission == 2) {
-          this.jurisdictionList.SellerMobile = res.Data.SellerMobile;
-          this.jurisdictionList.SellerName = res.Data.SellerName;
-          this.jurisdictionList.PopupMsg = res.Data.PopupMsg;
           this.isShowhasPermission = true;
         } else if (this.hasPermission == 3 || this.hasPermission == 4 || this.hasPermission == 5) {
-          this.jurisdictionList.PopupMsg = res.Data.PopupMsg;
           this.applyForIsShow = true;
         }
       }
@@ -302,9 +285,8 @@ export default {
         const res = await activity.postAppointmentAdd({ ActivityId: item.ActivityId });
         if (res.Ret == 200) {
           this.hasPermission = res.Data.HasPermission;
-          this.jurisdictionList.ActivityId = res.Data.ActivityId;
+          this.jurisdictionList = res.Data;
           if (this.hasPermission == 1) {
-            item.IsAppointment = 1;
             this.signupType = "summaryIsHandel";
             this.signupStatus = res.Data.SignupStatus;
             this.goOnNextStep = res.Data.GoFollow;
@@ -315,15 +297,12 @@ export default {
                 this.goFollow = res.Data.GoFollow;
               } else if (res.Data.SignupStatus == "Success") {
                 this.isShow = true;
+                item.IsAppointment = 1;
               }
             }
           } else if (this.hasPermission == 2) {
-            this.jurisdictionList.SellerMobile = res.Data.SellerMobile;
-            this.jurisdictionList.SellerName = res.Data.SellerName;
-            this.jurisdictionList.PopupMsg = res.Data.PopupMsg;
             this.isShowhasPermission = true;
           } else if (this.hasPermission == 3 || this.hasPermission == 4 || this.hasPermission == 5) {
-            this.jurisdictionList.PopupMsg = res.Data.PopupMsg;
             this.applyForIsShow = true;
           }
         }
@@ -347,10 +326,13 @@ export default {
         });
       }
     },
-    cancelEnsure() {},
     //去往详情页面
     goDetail(item) {
-      this.$store.dispatch("checkHandle", "/activityPages/activityDetail/activityDetail?id=" + item.ActivityId);
+      if (item.SourceType && item.SourceType == 2) {
+        this.$store.dispatch("checkHandle", "/activityPages/specialDetail/specialDetail?id=" + item.ActivityId);
+      } else {
+        this.$store.dispatch("checkHandle", "/activityPages/activityDetail/activityDetail?id=" + item.ActivityId);
+      }
     },
   },
 };

+ 199 - 174
components/activity/indexActivity.scss

@@ -1,198 +1,223 @@
 .collect-ul {
-    padding: 0 34rpx;
-  
-    .collect-ltem {
-      width: 682rpx;
-      height: 390rpx;
-      background: #ffffff;
-      box-shadow: 0rpx 3rpx 6rpx rgba(141, 141, 141, 0.16);
-      border-radius: 16rpx;
-      padding: 0 20rpx 20rpx;
-      margin-top: 30rpx;
+  padding: 0 34rpx;
+
+  .collect-ltem {
+    width: 682rpx;
+    height: 390rpx;
+    background: #ffffff;
+    box-shadow: 0rpx 3rpx 6rpx rgba(141, 141, 141, 0.16);
+    border-radius: 16rpx;
+    padding: 0 20rpx 20rpx;
+    margin-top: 30rpx;
+  }
+
+  .title-date {
+    height: 90rpx;
+    display: flex;
+    align-items: center;
+    font-size: 28rpx;
+    color: #333;
+    border-bottom: 1px solid #e5e5e5;
+
+    text {
+      background: linear-gradient(264deg, #01baff 0%, #0044ff 100%);
+      width: 95rpx;
+      height: 40rpx;
+      text-align: center;
+      margin-right: 20rpx;
+      font-size: 24rpx;
+      line-height: 40rpx;
+      color: #fff;
+      border-radius: 8rpx;
     }
-  
-    .title-date {
-      height: 90rpx;
-      display: flex;
-      align-items: center;
-      font-size: 28rpx;
-      color: #333;
-      border-bottom: 1px solid #e5e5e5;
-  
-      text {
-        background: linear-gradient(264deg, #01baff 0%, #0044ff 100%);
+
+    .xianxia {
+      background: linear-gradient(264deg, #ff8801 0%, #ffb950 100%);
+    }
+  }
+
+  .item-li {
+    display: flex;
+    padding: 20rpx 0 16rpx;
+
+    .item-img {
+      flex-shrink: 0;
+      width: 191rpx;
+      height: 254rpx;
+      border-radius: 8rpx;
+      overflow: hidden;
+      position: relative;
+      background: #efefef;
+
+      image {
+        width: 100%;
+        height: 100%;
+      }
+
+      .img-type {
+        position: absolute;
+        top: 0;
+        left: 0;
+        color: #fff;
+        height: 100%;
+        width: 100%;
+
+        image {
+          height: 100%;
+          width: 100%;
+        }
+      }
+
+      .img-status {
+        position: absolute;
+        top: 0;
+        left: 0;
         width: 95rpx;
         height: 40rpx;
+        background: #c9c9c9;
+        border-radius: 8rpx 0rpx 8rpx 0rpx;
+        font-size: 20rpx;
         text-align: center;
-        margin-right: 20rpx;
-        font-size: 24rpx;
         line-height: 40rpx;
         color: #fff;
-        border-radius: 8rpx;
+        z-index: 5;
       }
-  
-      .xianxia {
-        background: linear-gradient(264deg, #ff8801 0%, #ffb950 100%);
+
+      .proceed {
+        background-color: #ffb54a;
+      }
+
+      .begin {
+        background-color: #01a7ff;
       }
     }
-  
-    .item-li {
+
+    .item {
+      width: 450rpx;
       display: flex;
-      padding: 20rpx 0 16rpx;
-      .item-img {
-        flex-shrink: 0;
-        width: 191rpx;
-        height: 254rpx;
-        border-radius: 8rpx;
-        overflow: hidden;
-        position: relative;
-        background: #efefef;
-        image {
-          width: 100%;
-          height: 100%;
-        }
-        .img-type {
-            position: absolute;
-            top: 0;
-            left: 0;
-            color: #fff;
-            height: 100%;
-            width: 100%;
-            image {
-                height: 100%;
-                width: 100%;
-            }
-          }
-        .img-status {
-          position: absolute;
-          top: 0;
-          left: 0;
-          width: 95rpx;
-          height: 40rpx;
-          background: #c9c9c9;
-          border-radius: 8rpx 0rpx 8rpx 0rpx;
-          font-size: 20rpx;
-          text-align: center;
-          line-height: 40rpx;
-          color: #fff;
-          z-index: 5;
-        }
-        .proceed {
-          background-color: #ffb54a;
-        }
-        .begin {
-          background-color: #01a7ff;
+      flex-direction: column;
+      justify-content: space-between;
+      padding-left: 20rpx;
+      font-size: 28rpx;
+      color: #666666;
+
+      .item-text {
+        min-height: 200rpx;
+
+        .activity-title {
+          color: #333333;
+          font-weight: 700;
+          margin-bottom: 20rpx;
         }
       }
-  
-      .item {
-        width: 450rpx;
-        display: flex;
-        flex-direction: column;
-        justify-content: space-between;
-        padding-left: 20rpx;
-        font-size: 28rpx;
-        color: #666666;
-        .item-text {
-          min-height: 200rpx;
-          .activity-title {
-            color: #333333;
-            font-weight: 700;
-            margin-bottom: 20rpx;
-          }
-        }
+    }
+
+    .real-time {
+      justify-content: flex-end !important;
+    }
+
+    .bottom-box {
+      display: flex;
+      justify-content: flex-end;
+      align-items: center;
+      color: #3385FF;
+      overflow: hidden;
+      overflow-x: auto;
+
+      text {
+        width: 113rpx;
+        height: 42rpx;
+        background: #ffffff;
+        border: 2rpx solid #3385ff;
+        border-radius: 4rpx;
+        text-align: center;
+        line-height: 40rpx;
+        font-size: 24rpx;
+        flex-shrink: 0;
+        margin-right: 20rpx;
       }
-      .real-time{
-        justify-content: flex-end !important;
+
+      text:last-child {
+        margin-right: 0rpx !important;
       }
-      .bottom-box {
+
+      image {
+        width: 27rpx;
+        height: 32rpx;
+        margin-right: 12rpx;
+      }
+
+      .button {
+        background: #3385ff;
+        color: #fff;
+      }
+    }
+
+    .city {
+      justify-content: space-between !important;
+
+      .city-img {
         display: flex;
-        justify-content:flex-end;
         align-items: center;
-        color: #3385FF;
-        overflow: hidden;
-        overflow-x:auto;
-        text {
-          width: 113rpx;
-          height: 42rpx;
-          background: #ffffff;
-          border: 2rpx solid #3385ff;
-          border-radius: 4rpx;
-          text-align: center;
-          line-height: 40rpx;
-          font-size: 24rpx;
-          flex-shrink: 0;
-          margin-right: 20rpx;
-        }
-        text:last-child {
-          margin-right: 0rpx !important;
-        }
-        image {
-          width: 27rpx;
-          height: 32rpx;
-          margin-right: 12rpx;
-        }
-        .button {
-          background: #3385ff;
-          color: #fff;
-        }
-      }
-      .city {
-        justify-content: space-between !important;
-        .city-img {
-          display: flex;
-          align-items: center;
-          width:113rpx ;
-        }
+        width: 113rpx;
       }
     }
   }
-  .expert-item {
-    justify-content:flex-start !important;
+}
+
+.expert-item {
+  justify-content: flex-start !important;
+}
+
+.four-btn {
+  justify-content: space-between !important;
+
+  text:last-child {
+    margin-right: 20rpx !important;
   }
-  .four-btn {
-    justify-content:space-between !important;
-    text:last-child {
-      margin-right: 20rpx !important;
-    }
+}
+
+.select-box {
+  width: 100%;
+
+  view {
+    height: 95prx;
+    line-height: 95rpx;
+    text-align: center;
+    font-size: 32rpx;
+    border-bottom: 1rpx solid #ebebeb;
   }
-  .select-box {
-    width: 100%;
-    view {
-      height: 95prx;
-      line-height: 95rpx;
-      text-align: center;
-      font-size: 32rpx;
-      border-bottom: 1rpx solid #ebebeb;
+}
+
+.light-hint {
+  color: #999;
+  font-size: 24rpx;
+}
+
+.collect-ltem {
+  position: relative;
+
+  .reminder-item {
+    position: absolute;
+    top: 0;
+    right: 0;
+    width: 204rpx;
+    height: 118rpx;
+    z-index: 9;
+
+    .item {
+      width: 100%;
+      height: 100%;
     }
-  }
-  .special-research {
-    .light-hint {
-      color: #999;
-      font-size: 24rpx;
+
+    .reminder {
+      position: absolute;
+      top: 0rpx;
+      right: 0rpx;
+      width: 28rpx;
+      height: 28rpx;
+      z-index: 10;
+      padding: 10rpx 10rpx 20rpx 20rpx;
     }
-    .collect-ltem {
-      position: relative;
-      .reminder-item {
-        position: absolute;
-        top: 0;
-        right: 0;
-        width: 204rpx;
-        height: 118rpx;
-        z-index: 9;
-        .item {
-          width: 100%;
-          height: 100%;
-        }
-        .reminder {
-          position: absolute;
-          top: 0rpx;
-          right: 0rpx;
-          width: 28rpx;
-          height: 28rpx;
-          z-index: 10;
-          padding: 10rpx 10rpx 20rpx 20rpx;
-        }
-      }
-    }
-  }
+  }
+}

+ 257 - 165
components/modalDialog.vue

@@ -1,13 +1,19 @@
 <template>
   <view>
-    <u-modal v-model="show" :content-style="{ fontSize: '32rpx' }" @confirm="contentBtn" :show-title="false" confirm-text="知道了" :confirm-style="{ fontWeight: '700' }">
+    <!-- <u-modal v-model="show"
+     :content-style="{ fontSize: '32rpx' }"
+      @confirm="contentBtn"
+       :show-title="false" 
+       confirm-text="知道了" 
+       :confirm-style="{ fontWeight: '700' }"
+       >
       <view class="slot-content">
         <rich-text :nodes="content"></rich-text>
       </view>
-    </u-modal>
+    </u-modal> -->
 
     <!-- 关注公众号 -->
-    <u-modal
+    <!-- <u-modal
       v-model="goFollowShow"
       :content-style="{ fontSize: '32rpx' }"
       @confirm="goFollowShowBtn"
@@ -21,10 +27,10 @@
       <view class="slot-content">
         <rich-text :nodes="accounts"></rich-text>
       </view>
-    </u-modal>
+    </u-modal> -->
 
-    <u-modal
-      v-model="cancelShow"
+    <!-- <u-modal
+      v-model="cancelcancelShow"
       :content="canceltext"
       :content-style="{ fontSize: '32rpx', lineHeight: '80rpx' }"
       :confirm-style="{ fontWeight: '700' }"
@@ -33,10 +39,10 @@
       :show-title="false"
       :show-cancel-button="true"
       :cancel-style="{ borderRight: '1rpx solid #EBEBEB' }"
-    ></u-modal>
+    ></u-modal> -->
 
     <!-- 立即申请 -->
-    <u-modal
+    <!-- <u-modal
       v-model="applyIsShow"
       :content-style="{ fontSize: '32rpx' }"
       @confirm="applyIsShowBtn"
@@ -50,47 +56,51 @@
       <view class="slot-content">
         <rich-text :nodes="jurisdictionText"></rich-text>
       </view>
-    </u-modal>
+    </u-modal> -->
 
-    <!-- 拨打电话 -->
-    <u-modal
-      v-model="showhasPermission"
+    <!-- <u-modal v-model="showRelation" confirm-text="知道了" :confirm-style="{ fontWeight: '700' }" :content="contentRelation"></u-modal> -->
+
+    <!-- <u-modal
+      v-model="isModalShow"
       :content-style="{ fontSize: '32rpx' }"
-      @confirm="showhasPermissionBtn"
+      @confirm="gmailboxBindingDlgBtn"
       :show-cancel-button="true"
-      confirm-text="提交申请"
-      @cancel="showhasPermissionCancel"
+      :confirm-text="confirmText"
+      @cancel="cancelMailboxBindingDlg"
       :show-title="false"
       :cancel-style="{ borderRight: '1rpx solid #EBEBEB' }"
       :confirm-style="{ fontWeight: '700' }"
     >
       <view class="slot-content">
-        <block v-if="jurisdictionList.isAudioVideo == 2">
-          <text>您暂无权限查看此视频</text>
-          <text>若想查看可以联系对口销售</text>
-        </block>
-        <block v-else>
-          <text>您暂无权限参加此活动</text>
-          <text>若想参加可以联系对口销售</text>
-        </block>
+        <rich-text :nodes="content"></rich-text>
+      </view>
+    </u-modal> -->
 
-        <view
-          >{{ jurisdictionList.SellerName }} : <text @click="mobileDial" class="seller-mobile"> {{ jurisdictionList.SellerMobile }}</text></view
-        >
-        <text>申请开通对应的试用权限</text>
+    <u-modal
+      v-model="isModalShow"
+      :content-style="{ fontSize: '32rpx' }"
+      @confirm="confirmModal"
+      :show-cancel-button="true"
+      :confirm-text="confirmText"
+      :cancel-text="editIsShowDlg ? '前去修改' : '取消'"
+      @cancel="cancelModal"
+      :show-title="false"
+      :cancel-style="{ borderRight: '1rpx solid #EBEBEB' }"
+      :confirm-style="{ fontWeight: '700' }"
+    >
+      <view class="slot-content">
+        <rich-text :nodes="content"></rich-text>
       </view>
     </u-modal>
-    <u-modal v-model="showRelation" confirm-text="知道了" :confirm-style="{ fontWeight: '700' }" :content="contentRelation"></u-modal>
-
     <!-- 修改手机号 -->
-    <u-modal
+
+    <!-- <u-modal
       width="650"
       v-model="editIsShowDlg"
       :content-style="{ fontSize: '32rpx' }"
       @confirm="GoOutboundMobileBtn"
       :show-cancel-button="true"
       confirm-text="无需修改"
-      cancel-text="前去修改"
       cancel-color="#3385FF"
       @cancel="GoOutboundMobileIsGo"
       :show-title="false"
@@ -99,21 +109,33 @@
       <view class="slot-content">
         <rich-text :nodes="editIsShowAccounts"></rich-text>
       </view>
-    </u-modal>
-
+    </u-modal> -->
+    <!-- 拨打电话 -->
     <u-modal
-      v-model="mailboxBindingDlg"
+      v-model="showhasPermission"
       :content-style="{ fontSize: '32rpx' }"
-      @confirm="gmailboxBindingDlgBtn"
+      @confirm="showhasPermissionBtn"
       :show-cancel-button="true"
-      confirm-text="设置"
-      @cancel="cancelMailboxBindingDlg"
+      confirm-text="提交申请"
+      @cancel="showhasPermissionCancel"
       :show-title="false"
       :cancel-style="{ borderRight: '1rpx solid #EBEBEB' }"
       :confirm-style="{ fontWeight: '700' }"
     >
       <view class="slot-content">
-        <rich-text :nodes="mailboxText"></rich-text>
+        <block v-if="jurisdictionList.isAudioVideo == 2">
+          <text>您暂无权限查看此视频</text>
+          <text>若想查看可以联系对口销售</text>
+        </block>
+        <block v-else>
+          <text>您暂无权限参加此活动</text>
+          <text>若想参加可以联系对口销售</text>
+        </block>
+
+        <view
+          >{{ jurisdictionList.SellerName }} : <text @click="mobileDial" class="seller-mobile"> {{ jurisdictionList.SellerMobile }}</text></view
+        >
+        <text>申请开通对应的试用权限</text>
       </view>
     </u-modal>
   </view>
@@ -130,17 +152,14 @@ export default {
       applyIsShow: false,
       showRelation: false,
       showhasPermission: false,
-      contentRelation: "申请已提交,请等待销售人员与您联系",
-      content: "",
       accounts: "",
-      canceltext: "",
       jurisdictionText: "",
       hasPermissionText: "",
       editIsShowAccounts: "",
       editIsShowDlg: false,
       mailboxBindingDlg: false,
-      mailboxText: "您当前绑定的联系方式为邮箱,请先设置您的外呼号码",
       isShowAlert: false, //获取权限弹窗是否展示免费月卡接口
+      contentType: "",
     };
   },
   props: {
@@ -219,63 +238,48 @@ export default {
     isShow() {
       this.show = this.isShow;
     },
-    signupType() {
-      if (this.signupStatus !== "Success") return;
-      if (this.signupType == 1) {
-        this.content = `${this.countryCode}-${this.mobileEdit}<br/>预约成功,已加入您的活动日程 <br/><br/> 请关注【查研观向小助手】公众号,及时获取活动信息变更提醒
-
-`;
-        this.accounts = `
-					${this.countryCode}-${this.mobileEdit}<br/>
-					预约成功,已加入您的活动日程<br/><br/>
-
-					想要及时获取活动时间变更通知,请关注【查研观向小助手】公众号
-				`;
-      } else if (this.signupType == 999) {
-        this.content = "设置成功<br /> <br/>请关注【查研观向小助手】公众号,会前15分钟为您推送微信提醒";
-        this.accounts = `设置成功,会前15分钟会为您推送微信消息提醒<br/><br/>
-									请关注【查研观向小助手】公众号,以获取微信消息提醒`;
-      } else if (this.signupType == "summaryIsHandel") {
-        this.content = "会议纪要预约成功 <br/><br/> 请关注【查研观向小助手】公众号,若有调研纪要发布/更新,将及时为您推送微信消息";
-        this.accounts = `
-						会议纪要预约成功<br/><br/>
-
-						请关注【查研观向小助手】公众号,若有调研纪要发布/更新,将及时为您推送微信消息	`;
-      } else {
-        this.content = `报名成功,已加入您的活动日程 <br/><br/> 请关注【查研观向小助手】公众号,${this.signupType == "CClass" ? "及时获取活动信息变更提醒" : "会前1小时为您推送微信提醒"}`;
-        this.accounts = `
-						报名成功,已加入您的活动日程<br/><br/>
-
-						想要及时获取活动时间变更通知,请关注【查研观向小助手】公众号	`;
-      }
-    },
-    signupStatus() {
-      if (this.signupStatus == "Success") return;
-      if (this.signupStatus == "FullStarffed") {
-        this.content = "此活动报名人数已满,请留意下期活动";
-      } else if (this.signupStatus == "TwoPeople") {
-        this.content = "单机构最多2人报名同一活动,您所在机构报名人数已满";
-      } else if (this.signupStatus == "BreakPromise") {
-        this.content = "由于爽约次数过多,您暂时被限制报名资格";
-      } else if (this.signupStatus == "Overtime") {
-        this.content = "活动开始前1小时内无法预约,请联系对口销售处理";
-      }
-    },
-    "idTypeCancel.type": {
-      handler: function () {
-        if (this.idTypeCancel.type == 1) {
-          this.canceltext = "您要取消此次活动预约外呼吗?";
+    signupType: {
+      handler(newVal) {
+        if (this.signupStatus !== "Success") return;
+        if (this.show) {
+          this.contentType =
+            newVal == 1
+              ? `${this.countryCode}-${this.mobileEdit}<br/>预约成功,已加入您的活动日程 <br/><br/> 请关注【查研观向小助手】公众号,及时获取活动信息变更提醒`
+              : newVal == 999
+              ? "设置成功<br /> <br/>请关注【查研观向小助手】公众号,会前15分钟为您推送微信提醒"
+              : newVal == "summaryIsHandel"
+              ? "会议纪要预约成功 <br/><br/> 请关注【查研观向小助手】公众号,若有调研纪要发布/更新,将及时为您推送微信消息"
+              : `报名成功,已加入您的活动日程 <br/><br/> 请关注【查研观向小助手】公众号,${this.signupType == "CClass" ? "及时获取活动信息变更提醒" : "会前1小时为您推送微信提醒"}`;
         } else {
-          this.canceltext = "您要取消此次活动的报名吗?";
+          this.contentType =
+            newVal == 1
+              ? `${this.countryCode}-${this.mobileEdit}<br/>预约成功,已加入您的活动日程<br/><br/>想要及时获取活动时间变更通知,请关注【查研观向小助手】公众号`
+              : newVal == 999
+              ? `设置成功,会前15分钟会为您推送微信消息提醒<br/><br/>请关注【查研观向小助手】公众号,以获取微信消息提醒`
+              : newVal == "summaryIsHandel"
+              ? `会议纪要预约成功<br/><br/>请关注【查研观向小助手】公众号,若有调研纪要发布/更新,将及时为您推送微信消息`
+              : `报名成功,已加入您的活动日程<br/><br/>想要及时获取活动时间变更通知,请关注【查研观向小助手】公众号	`;
         }
       },
-      deep: true,
+    },
+    signupStatus: {
+      handler(newVal) {
+        if (newVal == "Success") return;
+        this.contentType =
+          newVal == "FullStarffed"
+            ? "此活动报名人数已满,请留意下期活动"
+            : newVal == "TwoPeople"
+            ? "单机构最多2人报名同一活动,您所在机构报名人数已满"
+            : newVal == "BreakPromise"
+            ? "由于爽约次数过多,您暂时被限制报名资格"
+            : '"活动开始前1小时内无法预约,请联系对口销售处理"';
+      },
     },
     isCancelShow() {
       this.cancelShow = this.isCancelShow;
     },
     applyForIsShow() {
-      this.jurisdictionText = this.isShowAlert ? "上传名片并填写简单信息,24小时内我们会为您开通一个月的免费月卡" : this.jurisdictionList.PopupMsg;
+      this.content = this.isShowAlert ? "上传名片并填写简单信息,24小时内我们会为您开通一个月的免费月卡" : this.jurisdictionList.PopupMsg;
       this.applyIsShow = this.applyForIsShow;
     },
     isShowhasPermission() {
@@ -283,75 +287,104 @@ export default {
       this.showhasPermission = this.isShowhasPermission;
     },
   },
+  computed: {
+    isModalShow: {
+      get() {
+        let isShow = this.show || this.cancelShow || this.goFollowShow || this.applyIsShow || this.mailboxBindingDlg || this.showRelation;
+        return isShow;
+      },
+      set() {},
+    },
+    confirmText() {
+      let text = this.mailboxBindingDlg
+        ? "设置"
+        : this.applyIsShow && this.isShowAlert
+        ? "立即上传"
+        : this.applyIsShow && !this.isShowAlert
+        ? "立即申请"
+        : this.goFollowShow
+        ? "去关注"
+        : this.show || this.showRelation
+        ? "知道了"
+        : this.editIsShowDlg
+        ? "无需修改"
+        : "";
+      return text;
+    },
+    content() {
+      let str = this.showRelation
+        ? "申请已提交,请等待销售人员与您联系"
+        : this.mailboxBindingDlg
+        ? "您当前绑定的联系方式为邮箱,请先设置您的外呼号码"
+        : this.applyIsShow
+        ? this.jurisdictionList.PopupMsg
+        : this.goFollowShow || this.show
+        ? this.contentType
+        : this.showRelation
+        ? "申请已提交,请等待销售人员与您联系"
+        : "";
+      return str;
+    },
+  },
   methods: {
-    contentBtn() {
+    /**
+     *
+     *
+     *
+     * 确定
+     *
+     *
+     */
+    confirmModal() {
+      this.show
+        ? this.contentBtn()
+        : this.goFollowShow
+        ? this.goFollowShowBtn()
+        : this.cancelShow
+        ? this.cancelShowBtn()
+        : this.applyIsShow
+        ? this.applyIsShowBtn()
+        : this.mailboxBindingDlg
+        ? this.gmailboxBindingDlgBtn()
+        : this.editIsShowDlg
+        ? this.GoOutboundMobileBtn()
+        : "";
+      this.initData();
+    },
+    /**
+     *
+     *
+     *
+     * 取消
+     *
+     *
+     */
+    cancelModal() {
+      this.editIsShowDlg ? this.GoOutboundMobileIsGo : this.initData();
+    },
+    /**
+     *
+     *
+     *
+     * 重置
+     *
+     *
+     */
+    initData() {
       this.$parent.isShow = false;
+      this.$parent.signupType = "";
       this.show = false;
-      this.$emit("cancelShowBtn", this.idTypeCancel, this.signupType, this.idTypeCancel.isNum);
-    },
-    //去关注
-    goFollowShowBtn() {
-      this.$parent.goFollow = false;
-      this.goFollowShow = false;
-      this.$emit("cancelShowBtn", this.idTypeCancel, this.signupType, this.idTypeCancel.isNum);
-      uni.navigateTo({
-        url: "/activityPages/accountsOfficial/accountsOfficial",
-      });
-    },
-    cancel() {
       this.$parent.goFollow = false;
       this.goFollowShow = false;
-
-      this.$emit("cancelShowBtn", this.idTypeCancel, this.signupType, this.idTypeCancel.isNum);
-    },
-    cancelBtn() {
-      this.$parent.isCancelShow = false;
-      this.cancelShow = false;
-    },
-    cancelShowBtn() {
-      activity
-        .signupCancel({
-          ActivityId: this.idTypeCancel.id,
-          SignupType: this.idTypeCancel.type,
-        })
-        .then((res) => {
-          if (res.Ret == 200) {
-            this.idTypeCancel.cutId = res.Data.ActivityId;
-            if (this.signupType == 1) {
-              uni.showToast({
-                title: "预约外呼已取消",
-                duration: 2000,
-              });
-            } else {
-              uni.showToast({
-                title: "已取消报名",
-                duration: 2000,
-              });
-            }
-            this.$emit("cancelShowBtn", this.idTypeCancel, this.signupType, this.idTypeCancel.isNum);
-          }
-          this.$parent.isCancelShow = false;
-          this.cancelShow = false;
-        });
-    },
-    //立即申请
-    applyIsShowBtn() {
-      this.applyIsShow = false;
-      this.$parent.applyForIsShow = false;
-      if (this.hasPermission == 3) {
-        uni.navigateTo({
-          url: "/pageMy/applyTrial/applyTrial?tryType=Activity&detailId=" + this.jurisdictionList.ActivityId,
-        });
-      } else if (this.hasPermission == 4) {
-        this.showRelation = true;
-      } else if (this.hasPermission == 5) {
-        this.showhasPermissionBtn();
-      }
-    },
-    applyIsShowCancel() {
       this.applyIsShow = false;
       this.$parent.applyForIsShow = false;
+      this.$parent.mailboxBinding = false;
+      this.mailboxBindingDlg = false;
+      this.$parent.signupType = "";
+      this.$parent.isCancelShow = false;
+      this.cancelShow = false;
     },
+
     showhasPermissionBtn() {
       User.applyTry({
         TryType: this.jurisdictionList.isAudioVideo == 1 ? "MicroAudio" : this.jurisdictionList.isAudioVideo == 2 ? "MicroVideo" : "Activity",
@@ -397,18 +430,7 @@ export default {
           this.mobileEdit,
       });
     },
-    gmailboxBindingDlgBtn() {
-      this.$parent.mailboxBinding = false;
-      this.mailboxBindingDlg = false;
-      this.$parent.signupType = "";
-      uni.navigateTo({
-        url: "/activityPages/editOutbound/editOutbound?title=设置外呼号码&identification=邮箱&goOnNextStep=" + this.goOnNextStep + "&id=" + this.idTypeCancel.cutId,
-      });
-    },
-    cancelMailboxBindingDlg() {
-      this.$parent.mailboxBinding = false;
-      this.mailboxBindingDlg = false;
-    },
+
     //获取权限弹窗是否展示免费月卡接口
     async userIsShowAlert() {
       const res = await FreeButton.userIsShowAlert();
@@ -416,6 +438,76 @@ export default {
         this.isShowAlert = res.Data.IsShow;
       }
     },
+
+    /**
+     *
+     *
+     *
+     *
+     *
+     *confirm  模块
+     *
+     *
+     *
+     *
+     *
+     *
+     */
+    //正常的
+    contentBtn() {
+      this.$emit("cancelShowBtn", this.idTypeCancel, this.signupType, this.idTypeCancel.isNum);
+    },
+    //去关注
+    goFollowShowBtn() {
+      this.$emit("cancelShowBtn", this.idTypeCancel, this.signupType, this.idTypeCancel.isNum);
+      uni.navigateTo({
+        url: "/activityPages/accountsOfficial/accountsOfficial",
+      });
+    },
+    cancelShowBtn() {
+      activity
+        .signupCancel({
+          ActivityId: this.idTypeCancel.id,
+          SignupType: this.idTypeCancel.type,
+        })
+        .then((res) => {
+          if (res.Ret == 200) {
+            this.idTypeCancel.cutId = res.Data.ActivityId;
+            if (this.signupType == 1) {
+              uni.showToast({
+                title: "预约外呼已取消",
+                duration: 2000,
+              });
+            } else {
+              uni.showToast({
+                title: "已取消报名",
+                duration: 2000,
+              });
+            }
+            this.$emit("cancelShowBtn", this.idTypeCancel, this.signupType, this.idTypeCancel.isNum);
+          }
+          this.$parent.isCancelShow = false;
+          this.cancelShow = false;
+        });
+    },
+    //立即申请
+    applyIsShowBtn() {
+      if (this.hasPermission == 3) {
+        uni.navigateTo({
+          url: "/pageMy/applyTrial/applyTrial?tryType=Activity&detailId=" + this.jurisdictionList.ActivityId,
+        });
+      } else if (this.hasPermission == 4) {
+        this.showRelation = true;
+      } else if (this.hasPermission == 5) {
+        this.showhasPermissionBtn();
+      }
+    },
+    //去设置
+    gmailboxBindingDlgBtn() {
+      uni.navigateTo({
+        url: "/activityPages/editOutbound/editOutbound?title=设置外呼号码&identification=邮箱&goOnNextStep=" + this.goOnNextStep + "&id=" + this.idTypeCancel.cutId,
+      });
+    },
   },
   mounted() {
     this.userIsShowAlert();
@@ -423,7 +515,7 @@ export default {
 };
 </script>
 
-<style  lang="scss">
+<style lang="scss">
 .slot-content {
   width: 100%;
   padding: 50rpx;

+ 4 - 1
config/api.js

@@ -37,7 +37,6 @@ export const Report = {
   getSearchReportAndResource: (params) => {
     return getHttp("/report/searchReportAndResource", params, 1);
   },
-  
 };
 
 /* 用户 */
@@ -343,6 +342,10 @@ export const activity = {
   getActivityListNew: (params) => {
     return getHttp("/activity/listNew", params);
   },
+  /*获取主题活动接口*/
+  getActivityListSearch: (params) => {
+    return getHttp("/activity/listSearch", params);
+  },
   /*获取活动类型下的主题列表接口(4.3版本)*/
   getActivityLabelTypeList: (params) => {
     return getHttp("/activity/labelTypeListV5", params);

+ 1 - 1
manifest.json

@@ -74,7 +74,7 @@
             "enable" : false
         },
         "requiredBackgroundModes" : [ "audio" ],
-        "lazyCodeLoading": "requiredComponents"
+        "lazyCodeLoading" : "requiredComponents"
     },
     "mp-alipay" : {
         "usingComponents" : true,

+ 86 - 39
pageMy/mySchedulepage/mySchedulepage.vue

@@ -4,7 +4,7 @@
       <view class="collect-ltem" v-for="(item, index) in collectList" :key="index">
         <view class="title-date" @click="goDetail(item)">
           <text :class="item.ActivityType == 1 ? '' : 'xianxia'">{{ item.ActivityType == 1 ? "线上" : "线下" }}</text>
-          {{ item.ActivityTimeText }}
+          {{ item.SourceType == 2 ? "" : item.ActivityTimeText }}
           <view class="audio-back" v-if="item.AudioLink" @click.stop="PlayBackAll(item)">
             <block v-if="item.FileType == 2">
               <image class="audio-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/video_play.png"></image>
@@ -34,52 +34,68 @@
           <view class="item">
             <view class="item-text" @click="goDetail(item)">
               <text class="activity-title"> {{ item.ActivityName }} </text>
-              <text class="text_twoLine" v-if="item.Expert">专家背景:{{ item.Expert }} </text>
+              <text class="text_twoLine" v-if="item.Expert && item.SourceType == 1">专家背景:{{ item.Expert }} </text>
               <text class="text_twoLine" v-if="item.DistinguishedGuest">嘉宾:{{ item.DistinguishedGuest }} </text>
               <text class="text_twoLine" v-if="item.Speaker">主讲人:{{ item.Speaker }}</text>
+              <view style="display: flex" class="text_twoLine" v-if="item.ActivityTimeText && item.SourceType == 2">
+                <text style="flex-shrink: 0"> 活动时间:</text>
+                <text> {{ item.ActivityTimeText }}</text>
+              </view>
             </view>
-            <block v-if="item.ActiveState == 1">
-              <view :class="['bottom-box', item.ActivityTypeId == 1 && item.IsLimitPeople == 0 && 'expert-item', item.City && 'city']">
-                <view class="city-img" v-if="item.City">
-                  <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
-                  {{ item.City }}
-                </view>
-                <view style="display: flex">
-                  <text v-if="item.IsShowOutboundCall && item.ActivityTypeId == 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
-                  <text v-if="item.IsShowAppointment" @click="summaryIsHandel(item)">{{ item.IsAppointment == 1 ? "取消纪要" : "预约纪要" }}</text>
-                  <text v-if="item.IsShowMeetingReminder" @click="meetingReminderAdd(item.ActivityId, item.IsCancelMeetingReminder)">
-                    {{ item.IsCancelMeetingReminder == 0 ? "消息提醒" : "取消提醒" }}
-                  </text>
-                  <view v-if="item.IsShowHelpSsk" style="width: 130rpx">
-                    <text @click="askingGo(item)">帮我带问</text>
+            <block v-if="item.SourceType == 1">
+              <block v-if="item.ActiveState == 1">
+                <view :class="['bottom-box', item.ActivityTypeId == 1 && item.IsLimitPeople == 0 && 'expert-item', item.City && 'city']">
+                  <view class="city-img" v-if="item.City">
+                    <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
+                    {{ item.City }}
                   </view>
-                  <text v-if="item.IsShowOutboundCall && item.ActivityTypeId != 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
-                  <text v-if="item.IsShowDetails" @click="goDetail(item)" class="button">查看详情</text>
-                  <block v-if="item.IsShowSignup">
-                    <block v-if="item.IsCClassMeeting">
-                      <text class="button" @click="signupIsAddOfCancel(item, 3, 'CClass')">{{ item.IsSignup == 1 ? "取消报名" : "我要报名" }}</text>
+                  <view style="display: flex">
+                    <text v-if="item.IsShowOutboundCall && item.ActivityTypeId == 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
+                    <text v-if="item.IsShowAppointment" @click="summaryIsHandel(item)">{{ item.IsAppointment == 1 ? "取消纪要" : "预约纪要" }}</text>
+                    <text v-if="item.IsShowMeetingReminder" @click="meetingReminderAdd(item.ActivityId, item.IsCancelMeetingReminder)">
+                      {{ item.IsCancelMeetingReminder == 0 ? "消息提醒" : "取消提醒" }}
+                    </text>
+                    <view v-if="item.IsShowHelpSsk" style="width: 130rpx">
+                      <text @click="askingGo(item)">帮我带问</text>
+                    </view>
+                    <text v-if="item.IsShowOutboundCall && item.ActivityTypeId != 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
+                    <text v-if="item.IsShowDetails" @click="goDetail(item)" class="button">查看详情</text>
+                    <block v-if="item.IsShowSignup">
+                      <block v-if="item.IsCClassMeeting">
+                        <text class="button" @click="signupIsAddOfCancel(item, 3, 'CClass')">{{ item.IsSignup == 1 ? "取消报名" : "我要报名" }}</text>
+                      </block>
+                      <block v-else>
+                        <text class="button" v-if="item.IsSignup !== 1" @click="wanttosignup(item)">我要报名</text>
+                        <text class="button" v-else @click="signupIsAddOfCancel(item, 2)">{{ item.SignupType == 1 ? "取消外呼" : "取消报名" }}</text>
+                      </block>
                     </block>
-                    <block v-else>
-                      <text class="button" v-if="item.IsSignup !== 1" @click="wanttosignup(item)">我要报名</text>
-                      <text class="button" v-else @click="signupIsAddOfCancel(item, 2)">{{ item.SignupType == 1 ? "取消外呼" : "取消报名" }}</text>
-                    </block>
-                  </block>
+                  </view>
                 </view>
-              </view>
-            </block>
-            <block v-else>
-              <view class="bottom-box city" v-if="item.City">
-                <view class="city-img">
-                  <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
-                  {{ item.City }}
+              </block>
+              <block v-else>
+                <view class="bottom-box city" v-if="item.City">
+                  <view class="city-img">
+                    <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
+                    {{ item.City }}
+                  </view>
                 </view>
-              </view>
-              <view class="bottom-box real-time" v-if="item.ActiveState == 2 && item.ActivityTypeId == 1">
-                <text class="button" @click="askingGo(item, '提问')">实时提问</text>
+                <view class="bottom-box real-time" v-if="item.ActiveState == 2 && item.ActivityTypeId == 1">
+                  <text class="button" @click="askingGo(item, '提问')">实时提问</text>
+                </view>
+              </block>
+            </block>
+            <block v-if="item.SourceType == 2">
+              <view class="bottom-box">
+                <view class="" style="width: 130rpx"> </view>
+                <text @click="lookImg(item)">行程安排</text>
+                <text class="button" @click="applyOfcancel(item, index)">{{ item.IsSignup == 0 ? "我要报名" : "取消报名" }}</text>
               </view>
             </block>
           </view>
         </view>
+        <view class="reminder-item" v-if="item.SourceType == 2">
+          <image class="item" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/confirm_XC.png"></image>
+        </view>
       </view>
       <u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20" v-if="totalPage > 1" />
     </view>
@@ -98,7 +114,6 @@
       :editIsShow="editIsShow"
       :isCancelShow="isCancelShow"
       :idTypeCancel="idTypeCancel"
-      @cancelShowBtn="cancelEnsure"
       :countryCode="countryCode"
       :mobileEdit="mobileEdit"
       :goOnNextStep="goOnNextStep"
@@ -119,7 +134,6 @@
       <audioModule :showAudioPop.sync="showAudioPop" />
     </view>
     <videoModule :showVideoPop="showVideoPop" :videoPopList="videoPopList" />
-
   </view>
 </template>
 
@@ -140,7 +154,7 @@ export default {
     modalDialog,
     freeCharge,
     audioModule,
-    videoModule
+    videoModule,
   },
   data() {
     return {
@@ -177,6 +191,39 @@ export default {
         }
       }
     },
+    //查看行程的事件
+    lookImg(item) {
+      uni.previewImage({
+        urls: [item.TripImgLink], //查看图片的数组
+      });
+    },
+    //报名或者取消报名
+    async applyOfcancel(item, index) {
+      const str = item.ActivityTime.replace(/-/g, "/");
+      const date = new Date(str);
+      const times = date.getTime();
+      const num = new Date().getTime();
+      let twoDays = times - num <= 3600000 * 48;
+      uni.showModal({
+        content: twoDays ? "活动开始前48小时内,取消报名仍会维持扣点,确定要取消报名吗?" : "您要取消此次专项调研的预报名吗?",
+        confirmColor: "#3385FF",
+        cancelColor: "#606266",
+        success: async (res) => {
+          if (res.confirm) {
+            const res = await activity.activityApecialCancel({
+              ActivityId: item.ActivityId,
+            });
+            if (res.Ret === 200) {
+              uni.showToast({
+                title: res.Msg,
+                duration: 2000,
+              });
+              this.collectList.splice(index, 1);
+            }
+          }
+        },
+      });
+    },
   },
   //load
   onLoad(option) {

+ 82 - 40
pages-search/components/activityBack.vue

@@ -6,7 +6,7 @@
         <view class="collect-ltem" v-for="(item, index) in collectList" :key="index">
           <view class="title-date" @click="goDetail(item)">
             <text :class="item.ActivityType == 1 ? '' : 'xianxia'">{{ item.ActivityType == 1 ? "线上" : "线下" }}</text>
-            {{ item.ActivityTimeText }}
+            {{ item.SourceType == 2 ? "" : item.ActivityTimeText }}
             <view class="audio-back" v-if="item.AudioLink" @click.stop="PlayBackAll(item)">
               <block v-if="item.FileType == 2">
                 <image class="audio-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/video_play.png"></image>
@@ -25,7 +25,7 @@
           </view>
           <view class="item-li">
             <view class="item-img" @click="goDetail(item)">
-              <image :src="item.ImgUrl"> </image>
+              <image :src="item.ImgUrl"></image>
               <text v-if="item.ActiveState == 1" class="img-status begin">未开始</text>
               <text v-else-if="item.ActiveState == 2" class="img-status proceed">进行中</text>
               <text v-else class="img-status">已结束</text>
@@ -36,52 +36,68 @@
             <view class="item">
               <view class="item-text" @click="goDetail(item)">
                 <text class="activity-title"> {{ item.ActivityName }} </text>
-                <text class="text_twoLine" v-if="item.Expert">专家背景:{{ item.Expert }} </text>
+                <text class="text_twoLine" v-if="item.Expert && item.SourceType == 1">专家背景:{{ item.Expert }} </text>
                 <text class="text_twoLine" v-if="item.DistinguishedGuest">嘉宾:{{ item.DistinguishedGuest }} </text>
                 <text class="text_twoLine" v-if="item.Speaker">主讲人:{{ item.Speaker }}</text>
+                <view style="display: flex" class="text_twoLine" v-if="item.ActivityTimeText && item.SourceType == 2">
+                  <text style="flex-shrink: 0"> 活动时间:</text>
+                  <text> {{ item.ActivityTimeText }}</text>
+                </view>
               </view>
-              <block v-if="item.ActiveState == 1">
-                <view :class="['bottom-box', item.ActivityTypeId == 1 && item.IsLimitPeople == 0 && 'expert-item', item.City && 'city']">
-                  <view class="city-img" v-if="item.City">
-                    <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
-                    {{ item.City }}
-                  </view>
-                  <view style="display: flex">
-                    <text v-if="item.IsShowOutboundCall && item.ActivityTypeId == 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
-                    <text v-if="item.IsShowAppointment" @click="summaryIsHandel(item)">{{ item.IsAppointment == 1 ? "取消纪要" : "预约纪要" }}</text>
-                    <text v-if="item.IsShowMeetingReminder" @click="meetingReminderAdd(item.ActivityId, item.IsCancelMeetingReminder)">
-                      {{ item.IsCancelMeetingReminder == 0 ? "消息提醒" : "取消提醒" }}
-                    </text>
-                    <view v-if="item.IsShowHelpSsk" style="width: 130rpx">
-                      <text @click="askingGo(item)">帮我带问</text>
+              <block v-if="item.SourceType == 1">
+                <block v-if="item.ActiveState == 1">
+                  <view :class="['bottom-box', item.ActivityTypeId == 1 && item.IsLimitPeople == 0 && 'expert-item', item.City && 'city']">
+                    <view class="city-img" v-if="item.City">
+                      <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
+                      {{ item.City }}
                     </view>
-                    <text v-if="item.IsShowOutboundCall && item.ActivityTypeId != 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
-                    <text v-if="item.IsShowDetails" @click="goDetail(item)" class="button">查看详情</text>
-                    <block v-if="item.IsShowSignup">
-                      <block v-if="item.IsCClassMeeting">
-                        <text class="button" @click="signupIsAddOfCancel(item, 3, 'CClass')">{{ item.IsSignup == 1 ? "取消报名" : "我要报名" }}</text>
+                    <view style="display: flex">
+                      <text v-if="item.IsShowOutboundCall && item.ActivityTypeId == 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
+                      <text v-if="item.IsShowAppointment" @click="summaryIsHandel(item)">{{ item.IsAppointment == 1 ? "取消纪要" : "预约纪要" }}</text>
+                      <text v-if="item.IsShowMeetingReminder" @click="meetingReminderAdd(item.ActivityId, item.IsCancelMeetingReminder)">
+                        {{ item.IsCancelMeetingReminder == 0 ? "消息提醒" : "取消提醒" }}
+                      </text>
+                      <view v-if="item.IsShowHelpSsk" style="width: 130rpx">
+                        <text @click="askingGo(item)">帮我带问</text>
+                      </view>
+                      <text v-if="item.IsShowOutboundCall && item.ActivityTypeId != 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
+                      <text v-if="item.IsShowDetails" @click="goDetail(item)" class="button">查看详情</text>
+                      <block v-if="item.IsShowSignup">
+                        <block v-if="item.IsCClassMeeting">
+                          <text class="button" @click="signupIsAddOfCancel(item, 3, 'CClass')">{{ item.IsSignup == 1 ? "取消报名" : "我要报名" }}</text>
+                        </block>
+                        <block v-else>
+                          <text class="button" v-if="item.IsSignup !== 1" @click="wanttosignup(item)">我要报名</text>
+                          <text class="button" v-else @click="signupIsAddOfCancel(item, 2)">{{ item.SignupType == 1 ? "取消外呼" : "取消报名" }}</text>
+                        </block>
                       </block>
-                      <block v-else>
-                        <text class="button" v-if="item.IsSignup !== 1" @click="wanttosignup(item)">我要报名</text>
-                        <text class="button" v-else @click="signupIsAddOfCancel(item, 2)">{{ item.SignupType == 1 ? "取消外呼" : "取消报名" }}</text>
-                      </block>
-                    </block>
+                    </view>
                   </view>
-                </view>
-              </block>
-              <block v-else>
-                <view class="bottom-box city" v-if="item.City">
-                  <view class="city-img">
-                    <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png" />
-                    {{ item.City }}
+                </block>
+                <block v-else>
+                  <view class="bottom-box city" v-if="item.City">
+                    <view class="city-img">
+                      <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
+                      {{ item.City }}
+                    </view>
                   </view>
-                </view>
-                <view class="bottom-box real-time" v-if="item.ActiveState == 2 && item.ActivityTypeId == 1">
-                  <text class="button" @click="askingGo(item, '提问')">实时提问</text>
+                  <view class="bottom-box real-time" v-if="item.ActiveState == 2 && item.ActivityTypeId == 1">
+                    <text class="button" @click="askingGo(item, '提问')">实时提问</text>
+                  </view>
+                </block>
+              </block>
+              <block v-if="item.SourceType == 2">
+                <view class="bottom-box">
+                  <view class="" style="width: 130rpx"> </view>
+                  <text @click="lookImg(item)">行程安排</text>
+                  <text class="button" @click="applyOfcancel(item, 'back')">{{ item.IsSignup == 0 ? "我要报名" : "取消报名" }}</text>
                 </view>
               </block>
             </view>
           </view>
+          <view class="reminder-item" v-if="item.SourceType == 2">
+            <image class="item" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/confirm_XC.png"></image>
+          </view>
         </view>
       </view>
     </view>
@@ -96,7 +112,6 @@
       :editIsShow="editIsShow"
       :isCancelShow="isCancelShow"
       :idTypeCancel="idTypeCancel"
-      @cancelShowBtn="cancelEnsure"
       :countryCode="countryCode"
       :mobileEdit="mobileEdit"
       :goOnNextStep="goOnNextStep"
@@ -120,13 +135,34 @@
     </view>
     <freeCharge class="free-charge" :isShowFreeBtn="isShowFree" />
     <videoModule :showVideoPop="showVideoPop" :videoPopList="videoPopList" />
+    <u-modal
+      v-model="specialGoFollowShow"
+      :content-style="{ fontSize: '32rpx' }"
+      :show-cancel-button="show_cancel_button"
+      confirm-text="知道了"
+      @cancel="isCancelBtn = false"
+      :show-confirm-button="show_confirm_button"
+      :show-title="false"
+      :cancel-style="{ borderRight: '1rpx solid #EBEBEB' }"
+      :confirm-style="{ fontWeight: '700' }"
+      :mask-close-able="specialIsHintShow"
+    >
+      <view class="slot-content">
+        <block v-if="specialPopupMsg">
+          <text>{{ specialAccounts }}</text>
+          <text class="light-hint">{{ specialPopupMsg }}</text>
+        </block>
+        <rich-text v-else :nodes="specialAccounts"></rich-text>
+      </view>
+    </u-modal>
   </view>
 </template>
 
 <script>
 import modalDialog from "@/components/modalDialog.vue";
 import areaCode from "@/components/activity/areaCode.vue";
-import myMixin from "@/components/activity/index.js";
+import myMixin from "@/activityPages/components/index.js";
+import specialMixins from "@/activityPages/components/specialMixins.js";
 import myActivityMixin from "@/components/activity/indexActivity.js";
 import mediaMixins from "@/components/activity/mediaMixins";
 import freeCharge from "@/components/freeCharge";
@@ -163,7 +199,7 @@ export default {
       selectShow: false,
     };
   },
-  mixins: [myMixin, myActivityMixin, mediaMixins],
+  mixins: [myMixin, myActivityMixin, mediaMixins, specialMixins],
   components: {
     modalDialog,
     areaCode,
@@ -189,6 +225,12 @@ export default {
         }
       });
     },
+    //查看行程的事件
+    lookImg(item) {
+      uni.previewImage({
+        urls: [item.TripImgLink], //查看图片的数组
+      });
+    },
   },
 };
 </script>

+ 16 - 8
pages-search/indedxSearch/indedxSearch.vue

@@ -119,7 +119,6 @@ export default {
       resultDataList: [], ////纪要与图表
       collectList: [], //活动的数据
       reportPageData: {}, //报告的数据
-      // haveResult: true, //是否有搜索数据
       haveResultSummary: true, //是否有搜索数据
       haveResultActivity: true, //是否有搜索数据
       haveResultReport: true, //是否有搜索数据
@@ -278,13 +277,22 @@ export default {
     },
     //活动回放的接口获取列表
     async getActivityBackList() {
-      const res = await activity.getActivityListNew({
-        PageSize: this.pageSize,
-        CurrentIndex: this.pageNum,
-        KeyWord: this.searchTxt,
-        ActiveState: "1,2,3", //活动进行状态
-        PlayBack: Number(this.activitySelectActive),
-      });
+      const res =
+        this.tabsActive === 1 || this.activitySelectActive == 0
+          ? await activity.getActivityListSearch({
+              PageSize: this.pageSize,
+              CurrentIndex: this.pageNum,
+              KeyWord: this.searchTxt,
+              ActiveState: "1,2,3", //活动进行状态
+              PlayBack: Number(this.activitySelectActive),
+            })
+          : await activity.getActivityListNew({
+              PageSize: this.pageSize,
+              CurrentIndex: this.pageNum,
+              KeyWord: this.searchTxt,
+              ActiveState: "1,2,3", //活动进行状态
+              PlayBack: Number(this.activitySelectActive),
+            });
       if (res.Ret !== 200) return;
       this.status = this.pageNum < res.Data.Paging.Pages ? "loadmore" : "nomore";
       this.totalPage = res.Data.Paging.Pages; //总页数

+ 2 - 1
pages/pcWebViev/pcWebViev.vue

@@ -59,7 +59,8 @@ export default {
         "chartPage",
         "specialDetail",
         "specialResearchPage",
-        'purchaser'
+        'purchaser',
+        'IndustryReport',
       ];
       if (JSON.stringify(optios) !== "{}" && optios.path) {
         let pathUrl = optios.path.split("/")[2];

+ 7 - 5
reportPages/IndustryReport/IndustryReport.vue

@@ -38,7 +38,7 @@
       <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/act_search.png" mode="" class="nodata_ico"></image>
       <text>暂时没有报告的内容</text>
     </view>
-   <freeCharge class="free-charge" :isShowFreeBtn="isShowFree"/>
+    <freeCharge class="free-charge" :isShowFreeBtn="isShowFree" />
   </view>
 </template>
 
@@ -46,7 +46,7 @@
 import { Mine } from "@/config/api.js"; //模拟
 import { Reports } from "@/config/api.js"; //模拟
 import { Throttle } from "@/config/util.js";
-import freeCharge  from '@/components/freeCharge'
+import freeCharge from "@/components/freeCharge";
 let app = getApp({ allowDefault: true });
 export default {
   data() {
@@ -71,6 +71,7 @@ export default {
       totalPage: "",
       toggleTabIndex: 0,
       titleReport: "",
+      pcTabActive: "",
     };
   },
   onLoad(option) {
@@ -82,7 +83,7 @@ export default {
     this.$store.dispatch("statistics", { PageType: "IndustryList", IndustrialManagementId: this.industrialManagementId });
   },
   components: {
-    freeCharge
+    freeCharge,
   },
   watch: {
     //监听tabs的变化
@@ -138,6 +139,7 @@ export default {
           this.status = this.page_no < res.Data.Paging.Pages ? "loadmore" : "nomore";
           this.totalPage = res.Data.Paging.Pages; //总页数
           if (this.page_no === 1) {
+            this.pcTabActive = res.Data.ChartPermissionId;
             this.collectList = res.Data.List || [];
             this.haveData = this.collectList.length ? true : false;
             if (this.refresh) {
@@ -194,8 +196,8 @@ export default {
    */
   onShareAppMessage: function (res) {
     return {
-      title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" :  this.titleReport,
-      path: "/reportPages/IndustryReport/IndustryReport?id=" + this.industrialManagementId + "&tab=" + this.tabAct_id,
+      title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" : this.titleReport,
+      path: "/reportPages/IndustryReport/IndustryReport?id=" + this.industrialManagementId + "&tab=" + this.tabAct_id + "&tabs=" + this.pcTabActive,
       success: (res) => {},
       fail: (err) => {},
     };