bding 2 rokov pred
rodič
commit
6e4ee781da

+ 29 - 19
activityPages/activityDetail/activityDetail.vue

@@ -100,7 +100,7 @@
             </view>
           </block>
           <view class="city-box">
-            <text v-if="detailData.ActivityTypeName">活动类型:</text>
+            <text class="network-left" v-if="detailData.ActivityTypeName">活动类型:</text>
             <view class="city">
               <text style="color: #333">
                 <block v-if="detailData.ChartPermissionName !== '买方研选'">({{ detailData.ChartPermissionName }})</block>
@@ -171,7 +171,7 @@
             <view class="network-right network-link" style="color: #2c83ff" v-else>
               <view class="">
                 <text class="default text_oneLine" @click="networkBtn">{{ detailData.OnlineParticipation }}</text>
-                <text class="default copy-link" @click="copyLink">复制链接</text>
+                <text class="default copy-link" @click="copyLink(1)">复制链接</text>
               </view>
             </view>
           </view>
@@ -180,7 +180,7 @@
             <view class="network-right network-zoom" style="color: #2c83ff">
               <view>
                 <text class="default text_zoom">{{ detailData.LinkParticipants }}</text>
-                <view> 点击<text class="default copy-link copy-zoom" @click="copyLink">复制链接</text>在手机浏览器打开,并输入会议密码 </view>
+                <view> 点击<text class="default copy-link copy-zoom" @click="copyLink(1)">复制链接</text>在手机浏览器打开,并输入会议密码 </view>
               </view>
             </view>
           </view>
@@ -209,6 +209,15 @@
             <view class="network-left">相关报告:</view>
             <view class="network-right look-link" style="color: #2c83ff" @click="articleLinkHandler"> 点击查看 </view>
           </view>
+          <view class="network" v-if="detailData.TencentConferenceNumber">
+            <view class="network-left">腾讯会议号:</view>
+            <view class="network-right network-link" style="color: #2c83ff">
+              <view class="">
+                <text class="default tencent text_oneLine" @click="networkBtn">{{ detailData.TencentConferenceNumber }}</text>
+                <text class="default copy-link" @click="copyLink(2)">复制会议号</text>
+              </view>
+            </view>
+          </view>
           <view v-if="detailData.Theme" class="network">
             <view class="network-left">主&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;题: </view>
             <view class="network-right">
@@ -250,16 +259,8 @@
           </view>
         </view>
       </block>
-
       <!-- 参会方式的弹出层 -->
-      <view class="select-box">
-        <u-popup v-model="selectShow" mode="bottom">
-          <view style="color: #333333; font-size: 28rpxrpx">请选择参会方式</view>
-          <view style="color: #2c83ff" @click="signupIsAddOfCancel(1)">预约外呼</view>
-          <view style="color: #2c83ff" @click="signupIsAddOfCancel(2)">自主拨入</view>
-          <view style="color: #a9afb8" @click="selectShow = false">取消</view>
-        </u-popup>
-      </view>
+      <SelectPopup :selectShow.sync="selectShow" @signupIsAddOfCancel="signupIsAddOfCancel" :selectYdong="selectYdong" />
       <view class="select-box">
         <u-popup v-model="selectShowLink" mode="bottom">
           <view style="color: #2c83ff" class="text_oneLine article-title" @click="goDetail(item.ArticleId)" v-for="item in detailData.ArticleList" :key="item.ArticleId"> {{ item.Title }}</view>
@@ -300,6 +301,7 @@ import freeCharge from "@/components/freeCharge";
 import audioModule from "@/components/audioModule/index";
 import manageMixin from "./manageMixin";
 import IsTrackFollow from "@/components/isTrackFollow.vue";
+import SelectPopup from "@/components/activity/selectPopup";
 let app = getApp({ allowDefault: true });
 export default {
   filters: {
@@ -325,7 +327,8 @@ export default {
         cutId: "",
         state: "",
       },
-      selectShow: false,
+      selectShow: false, // 参会方式的隐藏显示
+      selectYdong: false, // 参会方式展示的文案
       haveAuth: "",
       jurisdictionList: {},
       editIsShow: false, //外呼莫泰框
@@ -385,6 +388,7 @@ export default {
     freeCharge,
     audioModule,
     IsTrackFollow,
+    SelectPopup,
   },
   watch: {
     haveAuth: {
@@ -492,19 +496,18 @@ export default {
       });
     },
     // 复制的操作
-    copyLink() {
+    copyLink(type) {
       uni.setClipboardData({
-        data: this.detailData.LinkParticipants || this.detailData.OnlineParticipation,
+        data: type == 1 ? this.detailData.LinkParticipants || this.detailData.OnlineParticipation : this.detailData.TencentConferenceNumber,
         success: function () {
           uni.showToast({
-            title: "复制成功,可在浏览器打开",
+            title: `复制成功${type == 1 ? ",可在浏览器打开" : ""}`,
             icon: "none",
             duration: 2000,
           });
         },
       });
     },
-
     // 跳转产业标签
     goDustrialHandler(item) {
       if (!item.IsJump) return;
@@ -713,7 +716,11 @@ export default {
     .city-box {
       display: flex;
       align-items: center;
-
+      .network-left {
+        width: 170rpx;
+        text-align-last: justify;
+        text-align: justify;
+      }
       text {
         padding: 0;
       }
@@ -752,7 +759,7 @@ export default {
     padding: 0 !important;
     display: flex;
     .network-left {
-      width: 160rpx;
+      width: 190rpx;
       text-align-last: justify;
       text-align: justify;
       flex-shrink: 0;
@@ -803,6 +810,9 @@ export default {
         :first-child {
           width: 350rpx;
         }
+        .tencent {
+          width: 320rpx;
+        }
         .copy-link {
           padding: 5rpx 17rpx !important;
           border-radius: 34rpx;

+ 2 - 1
activityPages/activityDetail/manageMixin.js

@@ -171,8 +171,9 @@ export default {
     },
     // 我要报名
     wanttosignup() {
-      if (this.detailData.IsLimitPeople && [1, 2, 3].includes(this.detailData.ActivityTypeId)) {
+      if ((this.detailData.IsLimitPeople && [1, 2, 3].includes(this.detailData.ActivityTypeId)) || (this.detailData.IsYidongConduct && this.detailData.IsCanOutboundCall)) {
         this.selectShow = true;
+        this.selectYdong = this.detailData.IsYidongConduct;
       } else {
         this.signupIsAddOfCancel(3);
       }

+ 4 - 9
activityPages/themeActivity/themeActivity.vue

@@ -151,14 +151,8 @@
         <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/act_search.png" mode="" class="nodata_ico"></image>
         <text>暂时没有符合条件的活动</text>
       </view>
-      <view class="select-box">
-        <u-popup v-model="selectShow" mode="bottom">
-          <view style="color: #333333; font-size: 28rpxrpx">请选择参会方式</view>
-          <view style="color: #2c83ff" @click="signupIsAddOfCancel('', 1)">预约外呼</view>
-          <view style="color: #2c83ff" @click="signupIsAddOfCancel('', 2)">自主拨入</view>
-          <view style="color: #a9afb8" @click="selectShow = false">取消</view>
-        </u-popup>
-      </view>
+      <SelectPopup :selectShow.sync="selectShow" @signupIsAddOfCancel="signupIsAddOfCancel" :selectYdong="selectYdong"/>
+
       <!-- 所有自定义弹框 -->
       <modalDialog
         :isShow="isShow"
@@ -195,6 +189,7 @@ import selectMixins from "../components/selectMixins.js";
 import audioModule from "@/components/audioModule/index";
 import mediaMixins from "@/components/activity/mediaMixins";
 import videoModule from "@/components/videoModule/index";
+import SelectPopup from "@/components/activity/selectPopup";
 
 export default {
   mixins: [myActivityMixin, selectMixins, mediaMixins],
@@ -207,7 +202,6 @@ export default {
       label: "",
       type: "",
       activityId: "",
-      selectShow: false,
       haveData: true,
       isEndActivity: false,
     };
@@ -217,6 +211,7 @@ export default {
     freeCharge,
     audioModule,
     videoModule,
+    SelectPopup,
   },
   methods: {
     // 判断几个按钮

+ 7 - 13
components/ItemComponent/activityItem.vue

@@ -111,25 +111,17 @@
         <rich-text v-else :nodes="specialAccounts"></rich-text>
       </view>
     </u-modal>
-    <view class="select-box">
-      <u-popup v-model="selectShow" mode="bottom">
-        <view style="color: #333333; font-size: 28rpxrpx">请选择参会方式</view>
-        <view style="color: #2c83ff" @click.stop="signupIsAddOfCancel('', 1)">预约外呼</view>
-        <view style="color: #2c83ff" @click.stop="signupIsAddOfCancel('', 2)">自主拨入</view>
-        <view style="color: #a9afb8" @click.stop="selectShow = false">取消</view>
-      </u-popup>
-    </view>
+    <SelectPopup :selectShow.sync="selectShow" @signupIsAddOfCancel="signupIsAddOfCancel" :selectYdong="selectYdong" />
   </view>
 </template>
 
 <script>
-import myActivityMixin from "@/components/activity/indexActivity.js";
 import modalDialog from "../modalDialog.vue";
 import { activity, User } from "@/config/api.js";
-
+import SelectPopup from "@/components/activity/selectPopup";
 export default {
   name: "",
-  components: { modalDialog },
+  components: { modalDialog, SelectPopup },
   props: {
     list: {
       type: Object,
@@ -167,7 +159,8 @@ export default {
       isShowhasPermission: false, //拨打销售电话
       applyForIsShow: false, //潜在用户
       mailboxBinding: false, //是否绑定邮箱
-      selectShow: false, //
+      selectShow: false, //是否显示弹框
+      selectYdong: false, // 参会方式展示的文案
       specialIsHintShow: false, // 按钮的显示
       specialGoFollowShow: false, // 弹框的隐藏显示
       specialAccounts: `您已开启【专项调研】新活动通知<br/><br/>请关注【查研观向小助手】公众号,及时获取微信消息提醒`,
@@ -200,8 +193,9 @@ export default {
       if (item.YidongActivityId) {
         this.goDetail(item);
         return;
-      } else if (item.IsLimitPeople == 1 && [1, 2, 3].includes(item.ActivityTypeId)) {
+      } else if ((item.IsLimitPeople == 1 && [1, 2, 3].includes(item.ActivityTypeId)) || (item.IsYidongConduct && item.IsCanOutboundCall)) {
         this.selectShow = true;
+        this.selectYdong = item.IsYidongConduct;
       } else {
         this.activityIdAdd = "";
         this.signupIsAddOfCancel(item, 3);

+ 6 - 3
components/activity/indexActivity.js

@@ -37,6 +37,8 @@ export default {
       isShowhasPermission: false, //拨打销售电话
       applyForIsShow: false, //潜在用户
       mailboxBinding: false, //是否绑定邮箱
+      selectShow: false, // 是否显示选择弹框
+      selectYdong: false,
     };
   },
   methods: {
@@ -46,15 +48,16 @@ export default {
       if (item.YidongActivityId) {
         this.goDetail(item);
         return;
-      } else if (item.IsLimitPeople == 1 && [1, 2, 3].includes(item.ActivityTypeId)) {
+      } else if ((item.IsLimitPeople == 1 && [1, 2, 3].includes(item.ActivityTypeId)) || (item.IsYidongConduct && item.IsCanOutboundCall)) {
         this.selectShow = true;
+        this.selectYdong = item.IsYidongConduct;
       } else {
         this.activityIdAdd = "";
         this.signupIsAddOfCancel(item, 3);
       }
     },
 
-    //报名/取消报名
+    //报名/取消报名 
     signupIsAddOfCancel(item, type, valName = "") {
       let id = this.activityIdAdd || item.ActivityId;
       let itemData = item;
@@ -287,7 +290,7 @@ export default {
           cancelColor: "#606266",
           success: async (res) => {
             if (res.confirm) {
-              const res = await activity.postAppointmentCancel({ ActivityId: item.ActivityId ,PageRouter: this.$store.state.pageRouterActivity});
+              const res = await activity.postAppointmentCancel({ ActivityId: item.ActivityId, PageRouter: this.$store.state.pageRouterActivity });
               if (res.Ret === 200) {
                 item.IsAppointment = 0;
                 this.init();

+ 56 - 0
components/activity/selectPopup.vue

@@ -0,0 +1,56 @@
+<template>
+  <!-- 参会方式弹出层 -->
+  <view class="select-box">
+    <u-popup v-model="selectShow" mode="bottom">
+      <view style="color: #333333; font-size: 28rpxrpx">请选择参会方式</view>
+      <view style="color: #2c83ff" @click="signupIsAddOfCancel('', 1)">预约外呼</view>
+      <view v-if="selectYdong" style="color: #2c83ff" @click="signupIsAddOfCancel('', 4)">自主入会</view>
+      <view v-else style="color: #2c83ff" @click="signupIsAddOfCancel('', 2)">自主拨入</view>
+      <view style="color: #a9afb8" @click="closeSelectHandle">取消</view>
+    </u-popup>
+  </view>
+</template>
+
+<script>
+export default {
+  name: "",
+  components: {},
+  props: {
+    selectShow: {
+      type: Boolean,
+      default: false,
+      required: true,
+    },
+    selectYdong: {
+      type: Boolean,
+      default: false,
+      required: true,
+    },
+  },
+  data() {
+    return {};
+  },
+  methods: {
+    // 关闭弹框事件
+    closeSelectHandle() {
+      this.$emit("update:selectShow", false);
+    },
+    // 点击后的事件
+    signupIsAddOfCancel(val, type) {
+      this.$emit("signupIsAddOfCancel", val, type);
+    },
+  },
+};
+</script>
+<style scoped lang="scss">
+.select-box {
+  width: 100%;
+  view {
+    height: 95prx;
+    line-height: 95rpx;
+    text-align: center;
+    font-size: 32rpx;
+    border-bottom: 1rpx solid #ebebeb;
+  }
+}
+</style>

+ 3 - 9
pageMy/mySchedulepage/mySchedulepage.vue

@@ -122,14 +122,7 @@
       :applyForIsShow="applyForIsShow"
       :mailboxBinding="mailboxBinding"
     />
-    <view class="select-box">
-      <u-popup v-model="selectShow" mode="bottom">
-        <view style="color: #333333; font-size: 28rpxrpx">请选择参会方式</view>
-        <view style="color: #2c83ff" @click="signupIsAddOfCancel('', 1)">预约外呼</view>
-        <view style="color: #2c83ff" @click="signupIsAddOfCancel('', 2)">自主拨入</view>
-        <view style="color: #a9afb8" @click="selectShow = false">取消</view>
-      </u-popup>
-    </view>
+    <SelectPopup :selectShow.sync="selectShow" @signupIsAddOfCancel="signupIsAddOfCancel" :selectYdong="selectYdong" />
     <freeCharge class="free-charge" :isShowFreeBtn="isShowFree" />
     <view v-if="showAudioBox">
       <audioModule :showAudioPop.sync="showAudioPop" />
@@ -147,6 +140,7 @@ import freeCharge from "@/components/freeCharge";
 import audioModule from "@/components/audioModule/index";
 import mediaMixins from "@/components/activity/mediaMixins";
 import videoModule from "@/components/videoModule/index";
+import SelectPopup from "@/components/activity/selectPopup";
 
 let app = getApp();
 export default {
@@ -156,6 +150,7 @@ export default {
     freeCharge,
     audioModule,
     videoModule,
+    SelectPopup,
   },
   data() {
     return {
@@ -166,7 +161,6 @@ export default {
       haveData: true,
       isShowJurisdiction: false, //
       isrefresh: true,
-      selectShow: false,
       listChartPermission: [],
       listChartPermissionInit: [],
       collectTypeList: [],

+ 3 - 10
pages-search/components/activityBack.vue

@@ -119,14 +119,7 @@
       :mailboxBinding="mailboxBinding"
     />
     <!-- 参会方式弹出层 -->
-    <view class="select-box">
-      <u-popup v-model="selectShow" mode="bottom">
-        <view style="color: #333333; font-size: 28rpxrpx">请选择参会方式</view>
-        <view style="color: #2c83ff" @click="signupIsAddOfCancel('', 1)">预约外呼</view>
-        <view style="color: #2c83ff" @click="signupIsAddOfCancel('', 2)">自主拨入</view>
-        <view style="color: #a9afb8" @click="selectShow = false">取消</view>
-      </u-popup>
-    </view>
+    <SelectPopup :selectShow.sync="selectShow" @signupIsAddOfCancel="signupIsAddOfCancel" :selectYdong="selectYdong"/>
     <view v-if="showAudioBox">
       <audioModule :showAudioPop.sync="showAudioPop" />
     </view>
@@ -164,6 +157,7 @@ import freeCharge from "@/components/freeCharge";
 import audioModule from "@/components/audioModule/index";
 import videoModule from "@/components/videoModule/index";
 import { activity } from "@/config/api";
+import SelectPopup from "@/components/activity/selectPopup";
 export default {
   props: {
     collectLists: {
@@ -191,8 +185,6 @@ export default {
           state: 1,
         },
       ],
-      selectShow: false,
-      selectShow: false,
     };
   },
   mixins: [myActivityMixin, mediaMixins, specialMixins],
@@ -201,6 +193,7 @@ export default {
     freeCharge,
     audioModule,
     videoModule,
+    SelectPopup,
   },
   watch: {
     collectLists: {