|
@@ -1,297 +1,369 @@
|
|
|
<template>
|
|
|
- <view class="container activity-detail">
|
|
|
- <is-track-follow :isShowFollowButton.sync="detailData.IsShowFollowButton" source="activity" :sourceId="detailData.ActivityId" :isFollowData.sync="detailData.IsFollowButton" />
|
|
|
- <view class="" v-if="haveAuth == 1">
|
|
|
- <block v-if="detailData.YidongActivityUrl">
|
|
|
- <web-view :src="detailData.YidongActivityUrl"></web-view>
|
|
|
- </block>
|
|
|
- <block v-else>
|
|
|
- <!-- 头部滚动显示 -->
|
|
|
- <view class="notice" v-if="detailData.IsLimitPeople">
|
|
|
- <van-notice-bar color="#FFFFFF" background="#FE9000" text="该活动参与名额有限,报名客户请按时参加,若不能按时参加请及时取消报名,爽约会影响您的后续报名资格" />
|
|
|
- </view>
|
|
|
- <!-- 内容部分 -->
|
|
|
- <view class="content">
|
|
|
- <view v-if="detailData.ActivityName" class="dialog-title brackets-title">{{ detailData.ActivityName }}</view>
|
|
|
- <block v-if="detailData.FileType == 1">
|
|
|
- <view class="audio-card" v-if="detailData.VoiceList && detailData.VoiceList.Url">
|
|
|
- <view class="slider-paly">
|
|
|
- <view style="flex: 1; padding-top: 20rpx">
|
|
|
- <slider
|
|
|
- activeColor="#3385FF"
|
|
|
- :max="detailData.VoiceList.PlaySeconds"
|
|
|
- :value="curTime"
|
|
|
- @touchstart="touchstartHandler"
|
|
|
- @change="handleAudioSliderChange($event)"
|
|
|
- @changing="handleAudioSliderChangeing($event)"
|
|
|
- block-size="16"
|
|
|
- class="slider"
|
|
|
- />
|
|
|
- <view class="card-time">
|
|
|
- <view class="time">{{ curTime | formatVoiceTime }}</view>
|
|
|
- <view class="time">{{ detailData.VoiceList.PlaySeconds | formatVoiceTime }}</view>
|
|
|
+ <block>
|
|
|
+ <view class="container activity-detail" v-if="isUserBindingPhoneNumber">
|
|
|
+ <is-track-follow
|
|
|
+ :isShowFollowButton.sync="detailData.IsShowFollowButton"
|
|
|
+ source="activity"
|
|
|
+ :sourceId="detailData.ActivityId"
|
|
|
+ :isFollowData.sync="detailData.IsFollowButton"
|
|
|
+ />
|
|
|
+ <view class="" v-if="haveAuth == 1">
|
|
|
+ <block v-if="detailData.YidongActivityUrl">
|
|
|
+ <web-view :src="detailData.YidongActivityUrl"></web-view>
|
|
|
+ </block>
|
|
|
+ <block v-else>
|
|
|
+ <!-- 头部滚动显示 -->
|
|
|
+ <view class="notice" v-if="detailData.IsLimitPeople">
|
|
|
+ <van-notice-bar
|
|
|
+ color="#FFFFFF"
|
|
|
+ background="#FE9000"
|
|
|
+ text="该活动参与名额有限,报名客户请按时参加,若不能按时参加请及时取消报名,爽约会影响您的后续报名资格"
|
|
|
+ />
|
|
|
+ </view>
|
|
|
+ <!-- 内容部分 -->
|
|
|
+ <view class="content">
|
|
|
+ <view v-if="detailData.ActivityName" class="dialog-title brackets-title">{{ detailData.ActivityName }}</view>
|
|
|
+ <block v-if="detailData.FileType == 1">
|
|
|
+ <view class="audio-card" v-if="detailData.VoiceList && detailData.VoiceList.Url">
|
|
|
+ <view class="slider-paly">
|
|
|
+ <view style="flex: 1; padding-top: 20rpx">
|
|
|
+ <slider
|
|
|
+ activeColor="#3385FF"
|
|
|
+ :max="detailData.VoiceList.PlaySeconds"
|
|
|
+ :value="curTime"
|
|
|
+ @touchstart="touchstartHandler"
|
|
|
+ @change="handleAudioSliderChange($event)"
|
|
|
+ @changing="handleAudioSliderChangeing($event)"
|
|
|
+ block-size="16"
|
|
|
+ class="slider"
|
|
|
+ />
|
|
|
+ <view class="card-time">
|
|
|
+ <view class="time">{{ curTime | formatVoiceTime }}</view>
|
|
|
+ <view class="time">{{ detailData.VoiceList.PlaySeconds | formatVoiceTime }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="is-paly-card">
|
|
|
+ <image
|
|
|
+ @click.stop="audioPlayBack"
|
|
|
+ class=""
|
|
|
+ :src="
|
|
|
+ curVoiceId === detailData.ActivityId && !curAudioPaused
|
|
|
+ ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/play_icon.gif'
|
|
|
+ : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/pause_icon.png'
|
|
|
+ "
|
|
|
+ ></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="is-paly-card">
|
|
|
+ <view class="fast-reverse">
|
|
|
<image
|
|
|
- @click.stop="audioPlayBack"
|
|
|
- class=""
|
|
|
- :src="
|
|
|
- curVoiceId === detailData.ActivityId && !curAudioPaused
|
|
|
- ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/play_icon.gif'
|
|
|
- : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/pause_icon.png'
|
|
|
- "
|
|
|
+ @click="speedReverseHandler('reverse')"
|
|
|
+ class="speed-img"
|
|
|
+ src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/fastReverse_icon.png"
|
|
|
></image>
|
|
|
+ <block v-for="(item, index) in timesTheSpeed" :key="item.value">
|
|
|
+ <view class="speed-button" v-if="isTimes == item.value" @click="isTimesHandler(index)">
|
|
|
+ {{ item.name }}
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <image
|
|
|
+ @click="speedReverseHandler('speed')"
|
|
|
+ class="speed-img"
|
|
|
+ src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/speed_icon.png"
|
|
|
+ ></image>
|
|
|
+ </view>
|
|
|
+ <view class="card-title text_twoLine">
|
|
|
+ {{ detailTitle(detailData.VoiceList.Name) }}
|
|
|
+ <view class="title-image">
|
|
|
+ <image
|
|
|
+ @click="myLeavingMessageHandler"
|
|
|
+ src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/leaving_message.png"
|
|
|
+ ></image>
|
|
|
+ <image
|
|
|
+ @click="isCollectionHandeler"
|
|
|
+ :src="
|
|
|
+ detailData.IsCollect
|
|
|
+ ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/collected_icon.png'
|
|
|
+ : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/not_collected.png'
|
|
|
+ "
|
|
|
+ ></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="fast-reverse">
|
|
|
- <image @click="speedReverseHandler('reverse')" class="speed-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/fastReverse_icon.png"></image>
|
|
|
- <block v-for="(item, index) in timesTheSpeed" :key="item.value">
|
|
|
- <view class="speed-button" v-if="isTimes == item.value" @click="isTimesHandler(index)">
|
|
|
- {{ item.name }}
|
|
|
+ </block>
|
|
|
+ <block v-if="detailData.FileType == 2">
|
|
|
+ <view class="video-play" v-if="detailData.VideoDetail && detailData.VideoDetail.ResourceUrl">
|
|
|
+ <video
|
|
|
+ :id="detailData.ActivityId"
|
|
|
+ :src="detailData.VideoDetail.ResourceUrl"
|
|
|
+ enable-play-gesture
|
|
|
+ :custom-cache="false"
|
|
|
+ object-fit="contain"
|
|
|
+ show-mute-btn
|
|
|
+ @ended="handleVideoEnd"
|
|
|
+ @play="handelVideoPlay"
|
|
|
+ @loadedmetadata="loadedmetadataHandle"
|
|
|
+ @timeupdate="handleVideoTimeUpdate"
|
|
|
+ ></video>
|
|
|
+ <view class="title text_twoLine">
|
|
|
+ {{ detailTitle(detailData.VideoDetail.Title) }}
|
|
|
+ <view class="title-image">
|
|
|
+ <image
|
|
|
+ @click="myLeavingMessageHandler"
|
|
|
+ src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/leaving_message.png"
|
|
|
+ ></image>
|
|
|
+ <image
|
|
|
+ @click="isCollectionHandeler"
|
|
|
+ :src="
|
|
|
+ detailData.IsCollect
|
|
|
+ ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/collected_icon.png'
|
|
|
+ : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/not_collected.png'
|
|
|
+ "
|
|
|
+ ></image>
|
|
|
</view>
|
|
|
- </block>
|
|
|
- <image @click="speedReverseHandler('speed')" class="speed-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/speed_icon.png"></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view class="card-title text_twoLine">
|
|
|
- {{ detailTitle(detailData.VoiceList.Name) }}
|
|
|
- <view class="title-image">
|
|
|
- <image @click="myLeavingMessageHandler" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/leaving_message.png"></image>
|
|
|
+ </block>
|
|
|
+ <view class="city-box">
|
|
|
+ <text class="network-left" v-if="detailData.ActivityTypeName">活动类型:</text>
|
|
|
+ <view class="city">
|
|
|
+ <text style="color: #333">
|
|
|
+ <block v-if="detailData.ChartPermissionName !== '买方研选'">({{ detailData.ChartPermissionName }})</block>
|
|
|
+ {{ detailData.ActivityTypeName }}
|
|
|
+ </text>
|
|
|
+ <view class="choose-limit" @click="strictSelection">
|
|
|
<image
|
|
|
- @click="isCollectionHandeler"
|
|
|
- :src="
|
|
|
- detailData.IsCollect
|
|
|
- ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/collected_icon.png'
|
|
|
- : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/not_collected.png'
|
|
|
- "
|
|
|
+ v-if="detailData.ChartPermissionName.includes('研选')"
|
|
|
+ src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/purchaser.png"
|
|
|
+ mode=""
|
|
|
+ ></image>
|
|
|
+ <image
|
|
|
+ v-if="detailData.IsShowSustainable"
|
|
|
+ class="limit-img"
|
|
|
+ src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/limit_icon.png"
|
|
|
+ mode=""
|
|
|
></image>
|
|
|
</view>
|
|
|
+ <image
|
|
|
+ v-if="detailData.City"
|
|
|
+ style="margin-left: 15rpx"
|
|
|
+ src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"
|
|
|
+ mode=""
|
|
|
+ ></image>
|
|
|
+ <text v-if="detailData.City">{{ detailData.City }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </block>
|
|
|
- <block v-if="detailData.FileType == 2">
|
|
|
- <view class="video-play" v-if="detailData.VideoDetail && detailData.VideoDetail.ResourceUrl">
|
|
|
- <video
|
|
|
- :id="detailData.ActivityId"
|
|
|
- :src="detailData.VideoDetail.ResourceUrl"
|
|
|
- enable-play-gesture
|
|
|
- :custom-cache="false"
|
|
|
- object-fit="contain"
|
|
|
- show-mute-btn
|
|
|
- @ended="handleVideoEnd"
|
|
|
- @play="handelVideoPlay"
|
|
|
- @loadedmetadata="loadedmetadataHandle"
|
|
|
- @timeupdate="handleVideoTimeUpdate"
|
|
|
- ></video>
|
|
|
- <view class="title text_twoLine">
|
|
|
- {{ detailTitle(detailData.VideoDetail.Title) }}
|
|
|
- <view class="title-image">
|
|
|
- <image @click="myLeavingMessageHandler" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/leaving_message.png"></image>
|
|
|
+ <view v-if="detailData.Listndustrial.length" class="network dustrial-ui">
|
|
|
+ <view class="network-left">产业标签:</view>
|
|
|
+ <view class="network-right dustrial-content">
|
|
|
+ <view class="item" v-for="item in detailData.Listndustrial" :key="item.IndustrialManagementId">
|
|
|
+ <view :class="['dustrial-li', item.IsJump && 'dustrial-item']" @click="goDustrialHandler(item)">{{ item.IndustryName }} </view>
|
|
|
<image
|
|
|
- @click="isCollectionHandeler"
|
|
|
- :src="
|
|
|
- detailData.IsCollect
|
|
|
- ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/collected_icon.png'
|
|
|
- : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/not_collected.png'
|
|
|
- "
|
|
|
+ v-if="item.IndustryNewLabel"
|
|
|
+ class="new_icon"
|
|
|
+ src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_report.png"
|
|
|
+ mode=""
|
|
|
></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </block>
|
|
|
- <view class="city-box">
|
|
|
- <text class="network-left" v-if="detailData.ActivityTypeName">活动类型:</text>
|
|
|
- <view class="city">
|
|
|
- <text style="color: #333">
|
|
|
- <block v-if="detailData.ChartPermissionName !== '买方研选'">({{ detailData.ChartPermissionName }})</block>
|
|
|
- {{ detailData.ActivityTypeName }}
|
|
|
- </text>
|
|
|
- <view class="choose-limit" @click="strictSelection">
|
|
|
- <image v-if="detailData.ChartPermissionName.includes('研选')" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/purchaser.png" mode=""></image>
|
|
|
- <image v-if="detailData.IsShowSustainable" class="limit-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/limit_icon.png" mode=""></image>
|
|
|
- </view>
|
|
|
- <image v-if="detailData.City" style="margin-left: 15rpx" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png" mode=""></image>
|
|
|
- <text v-if="detailData.City">{{ detailData.City }}</text>
|
|
|
+ <view v-if="detailData.ActivityTimeText" class="network">
|
|
|
+ <view class="network-left">活动时间:</view>
|
|
|
+ <view class="network-right">{{ detailData.ActivityTimeText }}</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.Listndustrial.length" class="network dustrial-ui">
|
|
|
- <view class="network-left">产业标签:</view>
|
|
|
- <view class="network-right dustrial-content">
|
|
|
- <view class="item" v-for="item in detailData.Listndustrial" :key="item.IndustrialManagementId">
|
|
|
- <view :class="['dustrial-li', item.IsJump && 'dustrial-item']" @click="goDustrialHandler(item)">{{ item.IndustryName }} </view>
|
|
|
- <image v-if="item.IndustryNewLabel" class="new_icon" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_report.png" mode=""></image>
|
|
|
+ <view v-if="detailData.DistinguishedGuest" class="network">
|
|
|
+ <view class="network-left">嘉 宾:</view>
|
|
|
+ <view class="network-right">{{ detailData.DistinguishedGuest }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="detailData.Host" class="network">
|
|
|
+ <view class="network-left">主 持 人:</view>
|
|
|
+ <view class="network-right">{{ detailData.Host }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="detailData.Speaker" class="network">
|
|
|
+ <view class="network-left">主 讲 人:</view>
|
|
|
+ <view class="network-right">{{ detailData.Speaker }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="detailData.Expert" class="network">
|
|
|
+ <view class="network-left">专家背景:</view>
|
|
|
+ <view class="network-right">
|
|
|
+ <rich-text :nodes="detailData.Expert"></rich-text>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.ActivityTimeText" class="network">
|
|
|
- <view class="network-left">活动时间:</view>
|
|
|
- <view class="network-right">{{ detailData.ActivityTimeText }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.DistinguishedGuest" class="network">
|
|
|
- <view class="network-left">嘉 宾:</view>
|
|
|
- <view class="network-right">{{ detailData.DistinguishedGuest }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.Host" class="network">
|
|
|
- <view class="network-left">主 持 人:</view>
|
|
|
- <view class="network-right">{{ detailData.Host }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.Speaker" class="network">
|
|
|
- <view class="network-left">主 讲 人:</view>
|
|
|
- <view class="network-right">{{ detailData.Speaker }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.Expert" class="network">
|
|
|
- <view class="network-left">专家背景:</view>
|
|
|
- <view class="network-right">
|
|
|
- <rich-text :nodes="detailData.Expert"></rich-text>
|
|
|
+ <view v-if="detailData.MainlandTell" class="network">
|
|
|
+ <view class="network-left">大陆拨入:</view>
|
|
|
+ <view class="network-right" style="color: #2c83ff" @click="phonebtn(detailData.MainlandTell)">{{ detailData.MainlandTell }}</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.MainlandTell" class="network">
|
|
|
- <view class="network-left">大陆拨入:</view>
|
|
|
- <view class="network-right" style="color: #2c83ff" @click="phonebtn(detailData.MainlandTell)">{{ detailData.MainlandTell }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.HongKongTell" class="network">
|
|
|
- <view class="network-left">香港拨入:</view>
|
|
|
- <view class="network-right" style="color: #2c83ff" @click="phonebtn(detailData.HongKongTell)">{{ detailData.HongKongTell }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.TaiwanTell" class="network">
|
|
|
- <view class="network-left">台湾拨入:</view>
|
|
|
- <view class="network-right" style="color: #2c83ff" @click="phonebtn(detailData.TaiwanTell)">{{ detailData.TaiwanTell }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.AmericaTell" class="network">
|
|
|
- <view class="network-left">美国拨入:</view>
|
|
|
- <view class="network-right" style="color: #2c83ff" @click="phonebtn(detailData.AmericaTell)">{{ detailData.AmericaTell }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.ParticipationCode" class="network">
|
|
|
- <view class="network-left">拨入密码:</view>
|
|
|
- <view class="network-right">{{ [1, 2, 3].includes(detailData.ActivityTypeId) && detailData.IsLimitPeople && !detailData.IsSignup ? "请报名获取" : detailData.ParticipationCode }}</view>
|
|
|
- </view>
|
|
|
- <view class="network" v-if="detailData.OnlineParticipation">
|
|
|
- <view class="network-left">网络参会:</view>
|
|
|
- <view class="network-right network-link" v-if="[1, 2].includes(detailData.ActivityTypeId) && detailData.IsLimitPeople && !detailData.IsSignup"> 请报名获取 </view>
|
|
|
- <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(1)">复制链接</text>
|
|
|
+ <view v-if="detailData.HongKongTell" class="network">
|
|
|
+ <view class="network-left">香港拨入:</view>
|
|
|
+ <view class="network-right" style="color: #2c83ff" @click="phonebtn(detailData.HongKongTell)">{{ detailData.HongKongTell }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="detailData.TaiwanTell" class="network">
|
|
|
+ <view class="network-left">台湾拨入:</view>
|
|
|
+ <view class="network-right" style="color: #2c83ff" @click="phonebtn(detailData.TaiwanTell)">{{ detailData.TaiwanTell }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="detailData.AmericaTell" class="network">
|
|
|
+ <view class="network-left">美国拨入:</view>
|
|
|
+ <view class="network-right" style="color: #2c83ff" @click="phonebtn(detailData.AmericaTell)">{{ detailData.AmericaTell }}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="detailData.ParticipationCode" class="network">
|
|
|
+ <view class="network-left">拨入密码:</view>
|
|
|
+ <view class="network-right">{{
|
|
|
+ [1, 2, 3].includes(detailData.ActivityTypeId) && detailData.IsLimitPeople && !detailData.IsSignup
|
|
|
+ ? "请报名获取"
|
|
|
+ : detailData.ParticipationCode
|
|
|
+ }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="network" v-if="detailData.OnlineParticipation">
|
|
|
+ <view class="network-left">网络参会:</view>
|
|
|
+ <view
|
|
|
+ class="network-right network-link"
|
|
|
+ v-if="[1, 2].includes(detailData.ActivityTypeId) && detailData.IsLimitPeople && !detailData.IsSignup"
|
|
|
+ >
|
|
|
+ 请报名获取
|
|
|
+ </view>
|
|
|
+ <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(1)">复制链接</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="network" v-if="detailData.LinkParticipants">
|
|
|
- <view class="network-left">链接参会:</view>
|
|
|
- <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(1)">复制链接</text>在手机浏览器打开,并输入会议密码 </view>
|
|
|
+ <view class="network" v-if="detailData.LinkParticipants">
|
|
|
+ <view class="network-left">链接参会:</view>
|
|
|
+ <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(1)">复制链接</text>在手机浏览器打开,并输入会议密码 </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.AppAttendance" class="network">
|
|
|
- <view class="network-left">App参会: </view>
|
|
|
- <view class="network-right">
|
|
|
- <rich-text :nodes="detailData.AppAttendance"></rich-text>
|
|
|
+ <view v-if="detailData.AppAttendance" class="network">
|
|
|
+ <view class="network-left">App参会: </view>
|
|
|
+ <view class="network-right">
|
|
|
+ <rich-text :nodes="detailData.AppAttendance"></rich-text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.ConferencePassword" class="network">
|
|
|
- <view class="network-left">拨入密码:</view>
|
|
|
- <view class="network-right">{{ detailData.ActivityTypeName == "公司调研电话会" && detailData.IsLimitPeople && !detailData.IsSignup ? "请报名获取" : detailData.ConferencePassword }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.Address" class="network">
|
|
|
- <view class="network-left">活动地址:</view>
|
|
|
- <view class="network-right" v-if="!detailData.IsSignup && detailData.ActivityTypeName == '公司线下调研' && detailData.IsLimitPeople">请报名获取 </view>
|
|
|
- <view class="network-right" v-else>{{ detailData.Address }}</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.Highlights" class="network">
|
|
|
- <view class="network-left">活动亮点: </view>
|
|
|
- <view class="network-right">
|
|
|
- <rich-text :nodes="detailData.Highlights"></rich-text>
|
|
|
+ <view v-if="detailData.ConferencePassword" class="network">
|
|
|
+ <view class="network-left">拨入密码:</view>
|
|
|
+ <view class="network-right">{{
|
|
|
+ detailData.ActivityTypeName == "公司调研电话会" && detailData.IsLimitPeople && !detailData.IsSignup
|
|
|
+ ? "请报名获取"
|
|
|
+ : detailData.ConferencePassword
|
|
|
+ }}</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="network" v-if="detailData.ArticleList.length">
|
|
|
- <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" v-if="!detailData.IsSignup && (detailData.IsYidongConduct || detailData.IsLimitPeople)">请报名获取</view>
|
|
|
- <view class="network-right network-link" style="color: #2c83ff" v-else>
|
|
|
- <view class="">
|
|
|
- <text class="default tencent text_oneLine">{{ detailData.TencentConferenceNumber }}</text>
|
|
|
- <text class="default copy-link" @click="copyLink(2)">复制会议号</text>
|
|
|
+ <view v-if="detailData.Address" class="network">
|
|
|
+ <view class="network-left">活动地址:</view>
|
|
|
+ <view class="network-right" v-if="!detailData.IsSignup && detailData.ActivityTypeName == '公司线下调研' && detailData.IsLimitPeople"
|
|
|
+ >请报名获取
|
|
|
</view>
|
|
|
+ <view class="network-right" v-else>{{ detailData.Address }}</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.Theme" class="network">
|
|
|
- <view class="network-left">主 题: </view>
|
|
|
- <view class="network-right">
|
|
|
- <rich-text :nodes="detailData.Theme"></rich-text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view v-if="detailData.Remarks" class="network">
|
|
|
- <view class="network-left">备 注: </view>
|
|
|
- <view class="network-right">
|
|
|
- <rich-text :nodes="detailData.Remarks"></rich-text>
|
|
|
+ <view v-if="detailData.Highlights" class="network">
|
|
|
+ <view class="network-left">活动亮点: </view>
|
|
|
+ <view class="network-right">
|
|
|
+ <rich-text :nodes="detailData.Highlights"></rich-text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="" style="height: 50rpx"></view>
|
|
|
- <!-- 操作按钮部分 -->
|
|
|
- <view class="content-bottom">
|
|
|
- <block v-if="detailData.ActiveState == 1">
|
|
|
- <view class="make-outbound" @click="signupIsAddOfCancel(1)" v-if="detailData.IsShowOutboundCall">
|
|
|
- {{ detailData.LimitPeopleNum > 0 ? `${showOutboundCall}(${detailData.SignupNum}/${detailData.LimitPeopleNum})` : showOutboundCall }}
|
|
|
+ <view class="network" v-if="detailData.ArticleList.length">
|
|
|
+ <view class="network-left">相关报告:</view>
|
|
|
+ <view class="network-right look-link" style="color: #2c83ff" @click="articleLinkHandler"> 点击查看 </view>
|
|
|
</view>
|
|
|
- <view @click="meetingReminderCancel" class="make-conference" v-if="detailData.IsShowMeetingReminder">
|
|
|
- {{ detailData.IsCancelMeetingReminder == 1 ? "取消会议提醒" : "会议提醒" }}
|
|
|
- <text>(会前15分钟推送微信消息提醒)</text>
|
|
|
+ <view class="network" v-if="detailData.TencentConferenceNumber">
|
|
|
+ <view class="network-left">腾讯会议号:</view>
|
|
|
+ <view class="network-right network-link" v-if="!detailData.IsSignup && (detailData.IsYidongConduct || detailData.IsLimitPeople)"
|
|
|
+ >请报名获取</view
|
|
|
+ >
|
|
|
+ <view class="network-right network-link" style="color: #2c83ff" v-else>
|
|
|
+ <view class="">
|
|
|
+ <text class="default tencent text_oneLine">{{ detailData.TencentConferenceNumber }}</text>
|
|
|
+ <text class="default copy-link" @click="copyLink(2)">复制会议号</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view v-if="detailData.IsShowAppointment" @click="summaryIsHandel" class="make-generation make-conference">{{ detailData.IsAppointment == 1 ? "取消纪要" : "预约纪要" }}</view>
|
|
|
- <view v-if="detailData.IsShowHelpSsk" class="make-generation make-conference" @click="askingGo"> 帮我带问 </view>
|
|
|
- <view class="make-outbound" @click="wanttosignup" v-if="!detailData.IsSignup && detailData.IsShowSignup">
|
|
|
- {{ detailData.LimitPeopleNum > 0 ? `我要报名(${detailData.SignupNum}/${detailData.LimitPeopleNum})` : "我要报名" }}
|
|
|
+ <view v-if="detailData.Theme" class="network">
|
|
|
+ <view class="network-left">主 题: </view>
|
|
|
+ <view class="network-right">
|
|
|
+ <rich-text :nodes="detailData.Theme"></rich-text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view v-if="detailData.IsSignup && detailData.IsShowSignup" class="make-outbound" @click="signupIsAddOfCancel(2)">
|
|
|
- {{ detailData.LimitPeopleNum > 0 ? `${showWay}(${detailData.SignupNum}/${detailData.LimitPeopleNum})` : showWay }}
|
|
|
+ <view v-if="detailData.Remarks" class="network">
|
|
|
+ <view class="network-left">备 注: </view>
|
|
|
+ <view class="network-right">
|
|
|
+ <rich-text :nodes="detailData.Remarks"></rich-text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </block>
|
|
|
- <view class="content-bottom" v-if="detailData.ActiveState == 2 && detailData.ActivityTypeId == 1">
|
|
|
- <view class="make-conference" @click="askingGo('提问')">
|
|
|
- 实时提问
|
|
|
- <text>会议过程中,分析师可替您提问专家</text>
|
|
|
+ </view>
|
|
|
+ <view class="" style="height: 50rpx"></view>
|
|
|
+ <!-- 操作按钮部分 -->
|
|
|
+ <view class="content-bottom">
|
|
|
+ <block v-if="detailData.ActiveState == 1">
|
|
|
+ <view class="make-outbound" @click="signupIsAddOfCancel(1)" v-if="detailData.IsShowOutboundCall">
|
|
|
+ {{ detailData.LimitPeopleNum > 0 ? `${showOutboundCall}(${detailData.SignupNum}/${detailData.LimitPeopleNum})` : showOutboundCall }}
|
|
|
+ </view>
|
|
|
+ <view @click="meetingReminderCancel" class="make-conference" v-if="detailData.IsShowMeetingReminder">
|
|
|
+ {{ detailData.IsCancelMeetingReminder == 1 ? "取消会议提醒" : "会议提醒" }}
|
|
|
+ <text>(会前15分钟推送微信消息提醒)</text>
|
|
|
+ </view>
|
|
|
+ <view v-if="detailData.IsShowAppointment" @click="summaryIsHandel" class="make-generation make-conference">{{
|
|
|
+ detailData.IsAppointment == 1 ? "取消纪要" : "预约纪要"
|
|
|
+ }}</view>
|
|
|
+ <view v-if="detailData.IsShowHelpSsk" class="make-generation make-conference" @click="askingGo"> 帮我带问 </view>
|
|
|
+ <view class="make-outbound" @click="wanttosignup" v-if="!detailData.IsSignup && detailData.IsShowSignup">
|
|
|
+ {{ detailData.LimitPeopleNum > 0 ? `我要报名(${detailData.SignupNum}/${detailData.LimitPeopleNum})` : "我要报名" }}
|
|
|
+ </view>
|
|
|
+ <view v-if="detailData.IsSignup && detailData.IsShowSignup" class="make-outbound" @click="signupIsAddOfCancel(2)">
|
|
|
+ {{ detailData.LimitPeopleNum > 0 ? `${showWay}(${detailData.SignupNum}/${detailData.LimitPeopleNum})` : showWay }}
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <view class="content-bottom" v-if="detailData.ActiveState == 2 && detailData.ActivityTypeId == 1">
|
|
|
+ <view class="make-conference" @click="askingGo('提问')">
|
|
|
+ 实时提问
|
|
|
+ <text>会议过程中,分析师可替您提问专家</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
+ </block>
|
|
|
+ <!-- 参会方式的弹出层 -->
|
|
|
+ <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
|
|
|
+ >
|
|
|
+ <view style="color: #a9afb8" @click="selectShowLink = false">取消</view>
|
|
|
+ </u-popup>
|
|
|
</view>
|
|
|
- </block>
|
|
|
- <!-- 参会方式的弹出层 -->
|
|
|
- <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>
|
|
|
- <view style="color: #a9afb8" @click="selectShowLink = false">取消</view>
|
|
|
- </u-popup>
|
|
|
+ <!-- 各种弹框部分 -->
|
|
|
+ <modalDialog
|
|
|
+ :isShow="isShow"
|
|
|
+ :signupType="signupType"
|
|
|
+ :goFollow="goFollow"
|
|
|
+ :isCancelShow="isCancelShow"
|
|
|
+ :idTypeCancel="idTypeCancel"
|
|
|
+ :editIsShow="editIsShow"
|
|
|
+ :countryCode="countryCode"
|
|
|
+ :mobileEdit="mobileEdit"
|
|
|
+ :goOnNextStep="goOnNextStep"
|
|
|
+ :jurisdictionList="jurisdictionList"
|
|
|
+ :mailboxBinding="mailboxBinding"
|
|
|
+ />
|
|
|
+ </view>
|
|
|
+ <!-- 权限部分 -->
|
|
|
+ <view v-else>
|
|
|
+ <jurisdiction :idAct="id" :jurisdictionList="jurisdictionList"></jurisdiction>
|
|
|
+ </view>
|
|
|
+ <freeCharge class="free-charge" :isShowFreeBtn="isShowFree" />
|
|
|
+ <view v-show="false">
|
|
|
+ <audioModule ref="childrenAudio" :showAudioPop="showAudioPop" />
|
|
|
</view>
|
|
|
- <!-- 各种弹框部分 -->
|
|
|
- <modalDialog
|
|
|
- :isShow="isShow"
|
|
|
- :signupType="signupType"
|
|
|
- :goFollow="goFollow"
|
|
|
- :isCancelShow="isCancelShow"
|
|
|
- :idTypeCancel="idTypeCancel"
|
|
|
- :editIsShow="editIsShow"
|
|
|
- :countryCode="countryCode"
|
|
|
- :mobileEdit="mobileEdit"
|
|
|
- :goOnNextStep="goOnNextStep"
|
|
|
- :jurisdictionList="jurisdictionList"
|
|
|
- :mailboxBinding="mailboxBinding"
|
|
|
- />
|
|
|
- </view>
|
|
|
- <!-- 权限部分 -->
|
|
|
- <view v-else>
|
|
|
- <jurisdiction :idAct="id" :jurisdictionList="jurisdictionList"></jurisdiction>
|
|
|
- </view>
|
|
|
- <freeCharge class="free-charge" :isShowFreeBtn="isShowFree" />
|
|
|
- <view v-show="false">
|
|
|
- <audioModule ref="childrenAudio" :showAudioPop="showAudioPop" />
|
|
|
</view>
|
|
|
- </view>
|
|
|
+ <not-have-login v-else />
|
|
|
+ </block>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -303,6 +375,7 @@ import audioModule from "@/components/audioModule/index";
|
|
|
import manageMixin from "./manageMixin";
|
|
|
import IsTrackFollow from "@/components/isTrackFollow.vue";
|
|
|
import SelectPopup from "@/components/activity/selectPopup";
|
|
|
+import NotHaveLogin from "@/components/notHaveLogin.vue";
|
|
|
let app = getApp({ allowDefault: true });
|
|
|
export default {
|
|
|
filters: {
|
|
@@ -390,6 +463,7 @@ export default {
|
|
|
audioModule,
|
|
|
IsTrackFollow,
|
|
|
SelectPopup,
|
|
|
+ NotHaveLogin,
|
|
|
},
|
|
|
watch: {
|
|
|
haveAuth: {
|
|
@@ -434,7 +508,10 @@ export default {
|
|
|
let pages = getCurrentPages();
|
|
|
let prevPage = pages[pages.length - 2];
|
|
|
let path = prevPage ? prevPage.$page.fullPath : "";
|
|
|
- if (path.includes("/activityPages/themeActivity/themeActivity") || path.includes("/pages-search/indedxSearch/indedxSearch?source=活动详情页面")) {
|
|
|
+ if (
|
|
|
+ path.includes("/activityPages/themeActivity/themeActivity") ||
|
|
|
+ path.includes("/pages-search/indedxSearch/indedxSearch?source=活动详情页面")
|
|
|
+ ) {
|
|
|
const index = prevPage.$vm.collectList.findIndex((item) => item.ActivityId == this.id);
|
|
|
prevPage.$vm.collectList[index].IsSignup = this.detailData.IsSignup;
|
|
|
prevPage.$vm.collectList[index].SignupNum = this.detailData.SignupNum;
|
|
@@ -514,10 +591,10 @@ export default {
|
|
|
if (!item.IsJump) return;
|
|
|
if (item.IsResearch) {
|
|
|
//严选
|
|
|
- this.$store.dispatch("checkHandle", "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId);
|
|
|
+ uni.navigateTo({ url: "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId });
|
|
|
} else {
|
|
|
//非严选
|
|
|
- this.$store.dispatch("checkHandle", "/reportPages/IndustryReport/IndustryReport?id=" + item.IndustrialManagementId);
|
|
|
+ uni.navigateTo({ url: "/reportPages/IndustryReport/IndustryReport?id=" + item.IndustrialManagementId });
|
|
|
}
|
|
|
},
|
|
|
// 音频点击暂停播放
|
|
@@ -529,7 +606,11 @@ export default {
|
|
|
this.globalBgAudioManager.pause();
|
|
|
}
|
|
|
} else {
|
|
|
- this.$store.commit("audioBg/addAudio", { list: this.detailData.VoiceList, activityId: this.detailData.ActivityId, activityTitle: this.detailData.ActivityName });
|
|
|
+ this.$store.commit("audioBg/addAudio", {
|
|
|
+ list: this.detailData.VoiceList,
|
|
|
+ activityId: this.detailData.ActivityId,
|
|
|
+ activityTitle: this.detailData.ActivityName,
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -562,7 +643,11 @@ export default {
|
|
|
}
|
|
|
} else {
|
|
|
this.$store.commit("audioBg/removeAudio");
|
|
|
- this.$store.commit("audioBg/addAudio", { list: this.detailData.VoiceList, activityId: this.detailData.ActivityId, activityTitle: this.detailData.ActivityName });
|
|
|
+ this.$store.commit("audioBg/addAudio", {
|
|
|
+ list: this.detailData.VoiceList,
|
|
|
+ activityId: this.detailData.ActivityId,
|
|
|
+ activityTitle: this.detailData.ActivityName,
|
|
|
+ });
|
|
|
}
|
|
|
this.$refs.childrenAudio.isRecord = false;
|
|
|
},
|
|
@@ -613,12 +698,19 @@ export default {
|
|
|
myLeavingMessageHandler() {
|
|
|
let title = this.detailData.FileType == 1 ? this.detailData.VoiceList.Name : this.detailData.VideoDetail.Title;
|
|
|
uni.navigateTo({
|
|
|
- url: "/activityPages/generationAsk/generationAsk?id=" + this.detailData.ActivityId + "&type=文章&roadshow=" + this.detailData.FileType + "&roadshowTitle=" + title,
|
|
|
+ url:
|
|
|
+ "/activityPages/generationAsk/generationAsk?id=" +
|
|
|
+ this.detailData.ActivityId +
|
|
|
+ "&type=文章&roadshow=" +
|
|
|
+ this.detailData.FileType +
|
|
|
+ "&roadshowTitle=" +
|
|
|
+ title,
|
|
|
});
|
|
|
},
|
|
|
|
|
|
// 微路演收藏
|
|
|
async isCollectionHandeler() {
|
|
|
+ await this.$store.dispatch("showLoginModal");
|
|
|
const res = await Home.microRoadshowCollect({
|
|
|
Id: this.detailData.FileType == 1 ? this.detailData.VoiceList.ActivityVoiceId : this.detailData.VideoDetail.Id,
|
|
|
SourceType: this.detailData.FileType,
|
|
@@ -642,18 +734,16 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
- async onLoad(option) {
|
|
|
+ onLoad(option) {
|
|
|
this.id = option.id || "";
|
|
|
this.isSendWx = option.IsSendWx || "";
|
|
|
// 详情页面不写路径
|
|
|
- await this.$store.dispatch("checkHandle");
|
|
|
- // this.listenAudio()
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
if (!this.$store.state.isAuth && !this.$store.state.isBind) {
|
|
|
//已授权已绑定
|
|
|
this.getActivityDetail();
|
|
|
}
|
|
|
- },
|
|
|
- onShow() {
|
|
|
this.$store.commit("setRouterReport", "活动详情");
|
|
|
},
|
|
|
/**
|