bding há 1 ano atrás
pai
commit
33a7fa58af

+ 10 - 8
activityPages/activityDetail/activityDetail.vue

@@ -1,6 +1,6 @@
 <template>
   <block>
-    <view class="container activity-detail" v-if="isUserBindingPhoneNumber">
+    <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">
@@ -167,11 +167,11 @@
               <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 v-if="detailData.ParticipationCode && isUserBindingPhoneNumber" 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" v-if="detailData.OnlineParticipation && isUserBindingPhoneNumber">
               <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>
@@ -181,7 +181,7 @@
                 </view>
               </view>
             </view>
-            <view class="network" v-if="detailData.LinkParticipants">
+            <view class="network" v-if="detailData.LinkParticipants && isUserBindingPhoneNumber">
               <view class="network-left">链接参会:</view>
               <view class="network-right network-zoom" style="color: #2c83ff">
                 <view>
@@ -199,13 +199,13 @@
                 <rich-text :nodes="detailData.AppAttendance"></rich-text>
               </view>
             </view>
-            <view v-if="detailData.ConferencePassword" class="network">
+            <view v-if="detailData.ConferencePassword && isUserBindingPhoneNumber" 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 v-if="detailData.Address && isUserBindingPhoneNumber" class="network">
               <view class="network-left">活动地址:</view>
               <view class="network-right" v-if="!detailData.IsSignup && detailData.ActivityTypeName == '公司线下调研' && detailData.IsLimitPeople">请报名获取 </view>
               <text class="network-right text-copy" user-select v-else>{{ detailData.Address }}</text>
@@ -245,7 +245,7 @@
           </view>
           <view class="" style="height: 50rpx"></view>
           <!-- 操作按钮部分 -->
-          <view class="content-bottom">
+          <view class="content-bottom" v-if="isUserBindingPhoneNumber">
             <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 }}
@@ -270,6 +270,9 @@
               </view>
             </view>
           </view>
+          <view class="content-bottom" v-else>
+            <view class="make-outbound" @click="pleaseGoLogin"> 请登录后报名 </view>
+          </view>
         </block>
         <!-- 参会方式的弹出层 -->
         <SelectPopup :selectShow.sync="selectShow" @signupIsAddOfCancel="signupIsAddOfCancel" :selectYdong="selectYdong" />
@@ -325,7 +328,6 @@
       <!-- 各种弹框部分 -->
       <ShowResearchDlg :isResearchModalShow.sync="isResearchModalShow" :jurisdictionList="jurisdictionList" :checkResearchList.sync="checkResearchList" />
     </view>
-    <not-have-login v-else />
     <Loading />
   </block>
 </template>

+ 1 - 1
activityPages/themeActivity/themeActivity.vue

@@ -12,7 +12,7 @@
         </view>
         <view :class="['screen-item', (isEndActivity || !type) && 'end-select-item']">
           <block v-if="!isEndActivity && type">
-            <text :class="[isShowJurisdiction ? 'active' : '', 'text-item']" @click="permissioActivity">有权限行业</text>
+            <text :class="[isShowJurisdiction ? 'active' : '', 'text-item']" @click="permissioActivity" v-if="isUserBindingPhoneNumber">有权限行业</text>
             <!-- 各种状态选择 -->
             <view class="select-conyent" ref="select-conyent">
               <van-dropdown-menu active-color="#333333">

+ 0 - 1
components/activity/indexActivity.js

@@ -371,7 +371,6 @@ export default {
 			this.wanttosignup(item)
 		},
 		async goDetailCheck(item){
-			await this.$store.dispatch("showLoginModal")
 			this.goDetail(item)
 		}
   },

+ 1 - 1
components/activity/purchaserActivityList.vue

@@ -26,7 +26,7 @@
 						{{ item.City }}
 					</view>
 				</view>
-				<view class="activity-buttons-row">
+				<view class="activity-buttons-row" v-if="isUserBindingPhoneNumber">
 					<block v-if="item.ActiveState == 1">
 						<text v-if="item.IsShowOutboundCall && item.ActivityTypeId == 1"
 						class="main-button" @click="signupCheck(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>

+ 1 - 2
pageMy/followUs/followUs.vue

@@ -1,5 +1,5 @@
 <template>
-  <block v-if="isUserBindingPhoneNumber">
+  <block>
     <view class="container container-follow-us">
       <view class="content">
         <video
@@ -17,7 +17,6 @@
       </view>
     </view>
   </block>
-  <not-have-login v-else />
 </template>
 
 <script>

+ 3 - 3
pageMy/myPage/myPage.vue

@@ -13,7 +13,7 @@
     </view>
     <view class="my-info">
       <view class="my-top-info">
-        <block v-if="!isUserBindingPhoneNumber">
+        <block v-if="isUserBindingPhoneNumber">
           <view class="info">
             <view class="info-img">
               <button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
@@ -144,7 +144,7 @@ export default {
   watch: {
     "wholeShowListData.IsBelongRai": {
       handler(newVal) {
-        this.typeArr = !this.isUserBindingPhoneNumber ? ["外呼号码", "活动提问", "我的留言", "优化建议", "关于我们", "产品内测", "关注公众号", "PC网页版"] : ["关于我们", "关注公众号", "PC网页版"];
+        this.typeArr = this.isUserBindingPhoneNumber ? ["外呼号码", "活动提问", "我的留言", "优化建议", "关于我们", "产品内测", "关注公众号", "PC网页版"] : ["关于我们", "关注公众号", "PC网页版"];
         if (!newVal) {
           this.typeArr.splice(5, 1);
         }
@@ -245,7 +245,7 @@ export default {
       let istype = type === "关注公众号" || type === "优化建议" || type === "外呼号码" ? type : "";
       istype && this.getRecordTracking("istype");
       /* 是否登录 */
-      if (this.isLogin) {
+      if (this.isLogin || type === "关注公众号" || type == "关于我们" || type === "PC网页版") {
         switch (type) {
           case "外呼号码":
             uni.navigateTo({

+ 1 - 1
pageMy/reportDetail/reportDetail.vue

@@ -1,6 +1,6 @@
 <template>
   <block>
-    <view class="container reportDetail-container" v-if="isUserBindingPhoneNumber">
+    <view class="container reportDetail-container">
       <block v-if="haveAuth === 1">
         <!-- 链接地址 -->
         <web-view :src="linkurl + '?id=' + id + '&fromType=mpwechat&token=' + access_token + '&IsSendWx=' + isSendWx + '&isBinding=' + isUserBindingPhoneNumber"></web-view>

+ 71 - 10
pageMy/reportPage/reportPage.vue

@@ -1,6 +1,6 @@
 <template>
   <block>
-    <view class="container reportDetail-container" v-if="!isUserBindingPhoneNumber">
+    <view class="container reportDetail-container" v-if="isUserBindingPhoneNumber">
       <block v-if="haveAuth === 1">
         <web-view :src="strategyUrl + '?url=' + linkurl" v-if="linkurl">
           <cover-view class="search-view">
@@ -134,16 +134,30 @@
         </block>
       </view>
     </view>
-    <view v-else-if="Object.keys(reportInfo).length > 0 " class="no-binding">
+    <view v-else-if="Object.keys(reportInfo).length > 0" class="no-binding">
       <view class="no-binding-content">
         <view class="title">{{ reportInfo.Title }}</view>
         <view class="tiem">{{ reportInfo.PublishDate }}</view>
+        <view class="lable-content">
+          <view
+            class="item"
+            v-for="(value, key) in lableListForm"
+            :key="key"
+            :style="{
+              color: colors[key].color,
+              backgroundColor: colors[key].background,
+              borderColor: colors[key]['border-color'],
+            }"
+          >
+            {{ value }}
+          </view>
+        </view>
         <view class="content">
           <view class="content-line"></view>
           <view class="content-abstract">
             <view class="abstract">
               <text class="content-text">摘要:</text>
-              {{ reportInfo.Abstract }}
+              <mp-html :content="reportInfo.Abstract" />
             </view>
             <view class="describe">
               <text class="content-text">核心观点:</text>
@@ -179,6 +193,34 @@ export default {
       showNav: false,
       haveAuth: false,
       isSendWx: "",
+      lableListForm: {
+        CategoryName: "",
+        FieldName: "",
+        Frequency: "月度",
+        SubCategoryName: "渠道新声",
+      },
+      colors: {
+        CategoryName: {
+          color: "#0958d9",
+          background: "#e6f4ff",
+          "border-color": "#91caff",
+        },
+        FieldName: {
+          color: "#cf1322",
+          background: "#fff1f0",
+          "border-color": "#ffa39e",
+        },
+        Frequency: {
+          color: "#531dab",
+          background: "#f9f0ff",
+          "border-color": "#d3adf7",
+        },
+        SubCategoryName: {
+          color: "#d4380d",
+          background: "#fff2e8",
+          "border-color": "#ffbb96",
+        },
+      },
     };
   },
   components: {
@@ -226,6 +268,15 @@ export default {
           this.haveAuth = res.Data.HasPermission;
           this.isShowWriter = res.Data.IsShow;
           this.reportInfo = res.Data.Detail;
+          console.log(this.reportInfo);
+          if (!this.isUserBindingPhoneNumber) {
+            this.lableListForm = {
+              CategoryName: this.reportInfo.CategoryName,
+              FieldName: this.reportInfo.FieldName,
+              Frequency: this.reportInfo.Frequency,
+              SubCategoryName: this.reportInfo.SubCategoryName,
+            };
+          }
           if (res.Data.HasPermission === 1) {
             //有访问权限
             this.isCollection = this.reportInfo.IsCollect;
@@ -416,7 +467,7 @@ export default {
     }, 1000);
     let page = getCurrentPages(); //查看路径
     if (page.length === 1) {
-      if (!this.$store.state.isAuth && !this.$store.state.isBind && this.id > 0) this.getDetail();
+      this.getDetail();
     } else {
       // 跳转入口
       this.id > 0 && this.getDetail();
@@ -726,11 +777,24 @@ export default {
 .no-binding {
   padding: 30rpx;
   background-color: #f0f1f5;
-
+  .lable-content {
+    display: flex;
+    flex-wrap: wrap;
+    .item {
+      font-size: 24rpx;
+      height: 34rpx;
+      padding: 0 16rpx;
+      display: flex;
+      align-items: center;
+      border: 1rpx solid #ccc;
+      border-radius: 2rpx;
+      margin-right: 20rpx;
+      margin-bottom: 20rpx;
+    }
+  }
   .no-binding-content {
     width: 100%;
     background-color: #fff;
-    height: 100vh;
     padding: 40rpx 20rpx;
     .title {
       font-size: 34rpx;
@@ -761,10 +825,7 @@ export default {
     }
   }
   .please-login {
-    position: fixed;
-    bottom: 300rpx;
-    left: 50%;
-    transform: translateX(-50%);
+    margin: 50rpx auto 150rpx;
     width: 556rpx;
     height: 64rpx;
     color: #fff;

+ 1 - 2
pages-search/indedxSearch/indedxSearch.vue

@@ -1,6 +1,6 @@
 <template>
   <block>
-    <view class="container search-container" v-if="isUserBindingPhoneNumber">
+    <view class="container search-container">
       <view class="sticky-content">
         <view class="searchTarget-header">
           <input
@@ -77,7 +77,6 @@
         </view>
       </view>
     </view>
-    <not-have-login v-else />
     <Loading />
   </block>
 </template>

+ 13 - 8
pages/activity/activity.vue

@@ -2,7 +2,7 @@
   <view class="container activity-content">
     <view class="top-content-box">
       <search-bar @goSearch="goSearch" :searchTitle="searchPlaceholderList.SummarySearch" :width="46">
-        <template slot="content-left" >
+        <template slot="content-left">
           <view class="content">
             <view class="activity-back" @click="activityPlayBack" v-if="isUserBindingPhoneNumber">
               <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/at_back.png"></image>
@@ -41,8 +41,13 @@
     <!-- 活动列表 -->
     <block>
       <view class="collect-activity" v-if="haveData">
-				<activityTypeList :dataList="collectTypeList" :chartPermissionIds="chartPermissionIds"
-				 :isShowJurisdiction="isShowJurisdiction" :whichDay="whichDay" containerStyle="padding: 34rpx;display: flex;"/>
+        <activityTypeList
+          :dataList="collectTypeList"
+          :chartPermissionIds="chartPermissionIds"
+          :isShowJurisdiction="isShowJurisdiction"
+          :whichDay="whichDay"
+          containerStyle="padding: 34rpx;display: flex;"
+        />
         <view class="end-activity-text" v-if="collectTypeList.length" @click="endActivity">已结束活动 >></view>
       </view>
       <view class="nodata" v-if="!haveData">
@@ -60,7 +65,7 @@
 import { activity } from "@/config/api.js";
 import { Throttle } from "@/config/util.js";
 import SearchBar from "@/components/search-bar/searchBar.vue";
-import activityTypeList from "./components/activityTypeList.vue"
+import activityTypeList from "./components/activityTypeList.vue";
 import freeCharge from "@/components/freeCharge";
 import NotHaveLogin from "../../components/notHaveLogin.vue";
 let app = getApp();
@@ -69,7 +74,7 @@ export default {
     freeCharge,
     SearchBar,
     NotHaveLogin,
-		activityTypeList
+    activityTypeList,
   },
   data() {
     return {
@@ -105,7 +110,7 @@ export default {
       // IsHideResearch 行业列表是否隐藏 买方研选
       const res = await activity.getUserSearchContent({
         IsShowJurisdiction: this.isGetJurisdiction,
-        IsHideResearch:false
+        IsHideResearch: false,
       });
       if (res.Ret === 200) {
         this.isShowJurisdiction = res.Data.IsShowJurisdiction;
@@ -185,7 +190,7 @@ export default {
             str.push(key.PermissionName);
           }
         });
-      if ((str.length ==  this.listChartPermission.length) || str.length <= 0) {
+      if (str.length == this.listChartPermission.length || str.length <= 0) {
         this.chartPermissionName = "所有行业";
       } else {
         this.chartPermissionName = str.join(",");
@@ -257,7 +262,7 @@ export default {
     },
     //去往搜索事件
     goSearch() {
-      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?source=活动页面");
+      uni.navigateTo({ url: "/pages-search/indedxSearch/indedxSearch?source=活动页面" });
     },
     //去往 活动回放activityPlayBack
     async activityPlayBack() {

+ 1 - 1
pages/index/index.vue

@@ -260,7 +260,7 @@ export default {
     },
     /* 搜索 */
     goSearch() {
-      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?isType=" + this.topTabsActive + "&source=首页页面");
+      uni.navigateTo({ url: "/pages-search/indedxSearch/indedxSearch?isType=" + this.topTabsActive + "&source=首页页面" });
     },
     async getUserInfo() {
       const res = await Mine.getInfo();

+ 1 - 1
pages/material/material.vue

@@ -420,7 +420,7 @@ export default {
     },
     /* 搜索 */
     goSearch() {
-      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?isType=" + this.topTabsActive + "&source=纪要库页面");
+      uni.navigateTo({ url: "/pages-search/indedxSearch/indedxSearch?isType=" + this.topTabsActive + "&source=纪要库页面" });
     },
     /* 绑定联系方式 */
     bindingMobile() {

+ 320 - 327
pages/purchaser/purchaser.vue

@@ -2,73 +2,68 @@
   <view class="container resear-container">
     <view class="top-content-box">
       <search-bar @goSearch="goSearch" :searchTitle="searchPlaceholderList.SummarySearch" :width="70" />
-		</view>
-		<view class="resear-body">
-			<view class="resear-banner-box">
-				<view class="banner-box-left">
-					<swiper autoplay :interval="4000" circular indicator-dots
-					indicator-color="rgba(255, 255, 255, 0.43)" indicator-active-color="#ffffff">
-						<swiper-item v-for="item in bannerDataList" :key="item.IndexImg" 
-						@click="bannerSwiperHandler(item)" class="swiper-item">
-							<image :src="item.IndexImg"></image>
-						</swiper-item>
-					</swiper>
-				</view>
-				<view class="banner-box-right">
-					<image :src="researchBanner.IndexImg" @click="bannerSwiperHandler(null)"></image>
-				</view>
-			</view>
-			<view class="purchaser-content-box">
-				<view class="purchaser-content-box-head">
-					<view class="content-box-head-title">
-						<image src="https://hzstatic.hzinsights.com/cygx/icon/purchaser-report.png"></image>
-						<text>近期报告更新</text>
-					</view>
-					<view class="content-box-head-more" @click="toReportTotal">
-						<text>全部更新</text>
-						<image src="https://hzstatic.hzinsights.com/cygx/icon/right-arrow-circle.png"></image>
-					</view>
-				</view>
-				<view class="purchaser-content-box-body">
-					<view class="purchaser-content-box-row" v-for="item in recentReportList" :key="item.ArticleId">
-						<text class="purchaser-content-row-tag" :style="{padding:item.ArticleTypeName.length==2?'4rpx 28rpx':'4rpx 15rpx'}">
-							{{item.ArticleTypeName}}
-						</text>
-						<view class="purchaser-content-row-title" :style="{ marginLeft: item.Title.substr(0, 1) != '【' ? '14rpx' : 0 }"
-						@click="goDetail(item)">
-							{{item.Title}}
-							<text v-for="it in item.List" class="purchaser-content-row-object" :key="it.IndustrialManagementId"
-							@click.stop="themeDetails(it, '月度收藏榜')">#{{it.IndustryName}}</text>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="purchaser-content-box">
-				<view class="purchaser-content-box-head">
-					<view class="content-box-head-title">
-						<image src="https://hzstatic.hzinsights.com/cygx/icon/purchaser.png"></image>
-						<text>研选活动</text>
-					</view>
-					<view class="content-box-head-more" @click="toActivityTotal">
-						<text>查看全部</text>
-						<image src="https://hzstatic.hzinsights.com/cygx/icon/right-arrow-circle.png"></image>
-					</view>
-				</view>
-				
-				<purchaserActivityList style="width: 682rpx;" ref="purchaserActivityListRef" >
-					<view class="no-data-box">
-						<view class="no-data">
-							<image src="https://hzstatic.hzinsights.com/cygx/icon/activity-no-data.png" ></image>
-							<text>暂无对应活动</text>
-						</view>
-						<view class="end-activity-text" @click="endActivity">已结束活动>></view>
-					</view>
-					<view class="end-activity-text" @click="endActivity" slot="finished">已结束活动>></view>
-				</purchaserActivityList>
+    </view>
+    <view class="resear-body">
+      <view class="resear-banner-box">
+        <view class="banner-box-left">
+          <swiper autoplay :interval="4000" circular indicator-dots indicator-color="rgba(255, 255, 255, 0.43)" indicator-active-color="#ffffff">
+            <swiper-item v-for="item in bannerDataList" :key="item.IndexImg" @click="bannerSwiperHandler(item)" class="swiper-item">
+              <image :src="item.IndexImg"></image>
+            </swiper-item>
+          </swiper>
+        </view>
+        <view class="banner-box-right">
+          <image :src="researchBanner.IndexImg" @click="bannerSwiperHandler(null)"></image>
+        </view>
+      </view>
+      <view class="purchaser-content-box">
+        <view class="purchaser-content-box-head">
+          <view class="content-box-head-title">
+            <image src="https://hzstatic.hzinsights.com/cygx/icon/purchaser-report.png"></image>
+            <text>近期报告更新</text>
+          </view>
+          <view class="content-box-head-more" @click="toReportTotal">
+            <text>全部更新</text>
+            <image src="https://hzstatic.hzinsights.com/cygx/icon/right-arrow-circle.png"></image>
+          </view>
+        </view>
+        <view class="purchaser-content-box-body">
+          <view class="purchaser-content-box-row" v-for="item in recentReportList" :key="item.ArticleId">
+            <text class="purchaser-content-row-tag" :style="{ padding: item.ArticleTypeName.length == 2 ? '4rpx 28rpx' : '4rpx 15rpx' }">
+              {{ item.ArticleTypeName }}
+            </text>
+            <view class="purchaser-content-row-title" :style="{ marginLeft: item.Title.substr(0, 1) != '【' ? '14rpx' : 0 }" @click="goDetail(item)">
+              {{ item.Title }}
+              <text v-for="it in item.List" class="purchaser-content-row-object" :key="it.IndustrialManagementId" @click.stop="themeDetails(it, '月度收藏榜')">#{{ it.IndustryName }}</text>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="purchaser-content-box">
+        <view class="purchaser-content-box-head">
+          <view class="content-box-head-title">
+            <image src="https://hzstatic.hzinsights.com/cygx/icon/purchaser.png"></image>
+            <text>研选活动</text>
+          </view>
+          <view class="content-box-head-more" @click="toActivityTotal">
+            <text>查看全部</text>
+            <image src="https://hzstatic.hzinsights.com/cygx/icon/right-arrow-circle.png"></image>
+          </view>
+        </view>
 
-			</view>
-		</view>
-   <!-- <view class="notice-content" v-if="wholeShowListData.YanXuan_Explain">
+        <purchaserActivityList style="width: 682rpx" ref="purchaserActivityListRef">
+          <view class="no-data-box">
+            <view class="no-data">
+              <image src="https://hzstatic.hzinsights.com/cygx/icon/activity-no-data.png"></image>
+              <text>暂无对应活动</text>
+            </view>
+            <view class="end-activity-text" @click="endActivity">已结束活动>></view>
+          </view>
+          <view class="end-activity-text" @click="endActivity" slot="finished">已结束活动>></view>
+        </purchaserActivityList>
+      </view>
+    </view>
+    <!-- <view class="notice-content" v-if="wholeShowListData.YanXuan_Explain">
       <view class="notice">
         <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/placard_icon.png"></image>
         <view class="notice-bar">
@@ -84,92 +79,91 @@
 <script>
 import freeCharge from "@/components/freeCharge";
 import SearchBar from "@/components/search-bar/searchBar.vue";
-import purchaserActivityList from "@/components/activity/purchaserActivityList.vue"
-import {purchaserApi} from "@/config/modules/purchaser.js"
-import { Research , activity} from "@/config/api.js";
+import purchaserActivityList from "@/components/activity/purchaserActivityList.vue";
+import { purchaserApi } from "@/config/modules/purchaser.js";
+import { Research, activity } from "@/config/api.js";
 import { Throttle } from "@/config/util.js";
 
 export default {
-  components: { freeCharge, SearchBar ,purchaserActivityList},
+  components: { freeCharge, SearchBar, purchaserActivityList },
   data() {
     return {
-			//==============================
-			bannerDataList:[],
-			researchBanner:{},
-			recentReportList:[],
+      //==============================
+      bannerDataList: [],
+      researchBanner: {},
+      recentReportList: [],
     };
   },
   methods: {
-		getBannerData(){
-			//获取banner信息
-			purchaserApi.getPurchaserBanner().then(res=>{
-				console.log(res);
-				if (res.Ret === 200) {
-					this.researchBanner = res.Data.ListB[0] || {}
-					this.bannerDataList = res.Data.ListA || []
-				}
-			})
-		},
-			
-		async getRecentReportList(){
-			// 获取最近更新报告
-			const res = await Research.researchArticleNewList({
-			  PageSize: 5,
-			  CurrentIndex: 1,
-			  ArticleTypeIds: '',
-			});
-			if (res.Ret === 200) {
-			  this.recentReportList = res.Data.List || []
-			}
-		},
-		//去往文章详情页面
-		goDetail(item) {
-		  this.$store.commit("setRouterReport", "月度收藏榜");
-		  uni.navigateTo({ url: "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId });
-		},
-		//去往主题详情
-		themeDetails(item, source) {
-		  uni.navigateTo({ url: "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId + "&pageRouter=" + source });
-		},
-		// 跳转研选已结束活动
-		endActivity() {
-		  uni.navigateTo({
-		    url: "/pages-purchaser/finishedActivity/finishedActivity",
-		  });
-		},
-		// 宣传单跳转
-		bannerSwiperHandler(item){
-			if(!item){
-				// 榜单
-				uni.navigateTo({
-					url: "/pages-purchaser/researchList/researchList"
-				})
-				return 
-			}
-			uni.navigateTo({
-				url: "/"+item.Path
-			})
-		},
-		toReportTotal(){
-			uni.navigateTo({
-				url: "/pages-purchaser/lastestReport/lastestReport"
-			})
-		},
-		toActivityTotal(){
-			uni.navigateTo({
-				url: "/pages-purchaser/purchaserActivity/purchaserActivity"
-			})
-		},
+    getBannerData() {
+      //获取banner信息
+      purchaserApi.getPurchaserBanner().then((res) => {
+        console.log(res);
+        if (res.Ret === 200) {
+          this.researchBanner = res.Data.ListB[0] || {};
+          this.bannerDataList = res.Data.ListA || [];
+        }
+      });
+    },
+
+    async getRecentReportList() {
+      // 获取最近更新报告
+      const res = await Research.researchArticleNewList({
+        PageSize: 5,
+        CurrentIndex: 1,
+        ArticleTypeIds: "",
+      });
+      if (res.Ret === 200) {
+        this.recentReportList = res.Data.List || [];
+      }
+    },
+    //去往文章详情页面
+    goDetail(item) {
+      this.$store.commit("setRouterReport", "月度收藏榜");
+      uni.navigateTo({ url: "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId });
+    },
+    //去往主题详情
+    themeDetails(item, source) {
+      uni.navigateTo({ url: "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId + "&pageRouter=" + source });
+    },
+    // 跳转研选已结束活动
+    endActivity() {
+      uni.navigateTo({
+        url: "/pages-purchaser/finishedActivity/finishedActivity",
+      });
+    },
+    // 宣传单跳转
+    bannerSwiperHandler(item) {
+      if (!item) {
+        // 榜单
+        uni.navigateTo({
+          url: "/pages-purchaser/researchList/researchList",
+        });
+        return;
+      }
+      uni.navigateTo({
+        url: "/" + item.Path,
+      });
+    },
+    toReportTotal() {
+      uni.navigateTo({
+        url: "/pages-purchaser/lastestReport/lastestReport",
+      });
+    },
+    toActivityTotal() {
+      uni.navigateTo({
+        url: "/pages-purchaser/purchaserActivity/purchaserActivity",
+      });
+    },
     /* 搜索 */
     async goSearch() {
-      await this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?id=研选" + "&source=买方研选页面");
+      uni.navigateTo({ url: "/pages-search/indedxSearch/indedxSearch?id=研选" + "&source=买方研选页面" });
     },
-
   },
   onLoad() {
-		this.getBannerData()
-		this.getRecentReportList()
-		this.$refs.purchaserActivityListRef.reloadActivityList();
+    this.getBannerData();
+    this.getRecentReportList();
+    this.$refs.purchaserActivityListRef.reloadActivityList();
   },
   onShow() {
     this.$store.commit("setRouterReport", "买方研选");
@@ -186,191 +180,191 @@ export default {
       fail: (err) => {},
     };
   },
-	onReachBottom: Throttle(function () {
-	  if (this.$refs.purchaserActivityListRef.page_no >= this.$refs.purchaserActivityListRef.pages) return;
-	  this.$refs.purchaserActivityListRef.loadActivityMore();
-	}),
+  onReachBottom: Throttle(function () {
+    if (this.$refs.purchaserActivityListRef.page_no >= this.$refs.purchaserActivityListRef.pages) return;
+    this.$refs.purchaserActivityListRef.loadActivityMore();
+  }),
 };
 </script>
 <style lang="scss">
 .resear-container {
-  background-color:#F3F5F9;
-	.top-content-box {
-		position: sticky;
-		top: 0;
-		left: 0;
-		right: 0;
-		z-index: 999;
-		padding-left: 30rpx;
-		background-color: white;
-	}
-	.resear-body{
-		padding: 20rpx 34rpx;
-		box-sizing: border-box;
-		.resear-banner-box{
-			display: flex;
-			align-items: center;
-			margin-bottom: 20rpx;
-			.banner-box-left{
-				height: 110rpx;
-				width: 448rpx;
-				margin-right: 20rpx;
-				swiper{
-					height: 100%;
-					width: 100%;
-					image{
-						height: 100%;
-						width: 100%;
-						border-radius: 8rpx;
-					}
-				}
-			}
-			.banner-box-right{
-				image{
-					height: 110rpx;
-					width: 214rpx;
-					vertical-align: bottom;
-					border-radius: 8rpx;
-				}
-			}
-		}
-		.purchaser-content-box{
-			margin-bottom: 20rpx;
-			.purchaser-content-box-head{
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				padding:20rpx;
-				font-size: 28rpx;
-				font-weight: 400;
-				color: #3385FF;
-				.content-box-head-title{
-					display: flex;
-					align-items: center;
-					image{
-						height: 30rpx;
-						width: 30rpx;
-						margin-right: 10rpx;
-					}
-					text{
-						font-weight: bold;
-						color: #333333;
-						font-size: 32rpx;
-						line-height: 45rpx;
-					}
-				}
-				.content-box-head-more{
-					height: 36rpx;
-					min-width: 120rpx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					border-radius: 36rpx;
-					background-color: #E5EFFF;
-					display: flex;
-					align-items: center;
-					text{
-						font-size: 20rpx;
-						line-height: 28rpx;
-						font-weight: 400;
-						color: #7990B1;
-						margin-right: 4rpx;
-					}
-					image{
-						height: 15rpx;
-						width: 15rpx;
-					}
-				}
-			}
-			.purchaser-content-box-body{
-				padding: 0 20rpx 20rpx;
-				background-color: white;
-				border-radius: 16rpx;
-				border-top: 10rpx solid #8FA4C4;
-				.purchaser-content-box-row{
-					padding: 30rpx 0;
-					border-bottom: solid 1px #DCDFE6;
-					display: flex;
-					align-items: flex-start;
-					&:last-child{
-						border-bottom: none;
-					}
-					.purchaser-content-row-tag{
-						white-space: nowrap;
-						// padding: 4rpx 15rpx;
-						width: 110rpx;
-						// min-width: 110rpx;
-						height: 36rpx;
-						color: white;
-						font-size: 20rpx;
-						line-height: 28rpx;
-						font-weight: bold;
-						border-radius: 38rpx;
-						color: #928563;
-						background-color: #F2E8CC;
-						text-align: justify;
-						text-justify: inter-ideograph; // IE兼容
-						text-align-last: justify;
-						margin-right:8px ;
-						&:after{
-							content: "";
-							width: 110px;
-							display: block;
-						}
-					}
-					.purchaser-content-row-title{
-						-webkit-line-clamp: 2;
-						text-overflow: ellipsis;
-						overflow: hidden;
-						display: -webkit-box;
-						-webkit-box-orient: vertical;
-						word-break: break-all;
-						font-size: 28rpx;
-						font-weight: bold;
-						color: #333333;
-						line-height: 46rpx;
-						.purchaser-content-row-object{
-							color: #3385FF;
-							display: inline-block;
-							margin-left: 8rpx;
-						}
-					}
-				}
-			}
-			.no-data-box{
-				width: 682rpx;
-				height: 710rpx;
-				border-radius: 16rpx;
-				background-color: white;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				justify-content: center;
-				.no-data{
-					display: flex;
-					flex-direction: column;
-					align-items: center;
-					margin-bottom: 40rpx;
-					image{
-						width: 412rpx;
-						height: 380rpx;
-						margin-bottom: 40rpx;
-					}
-					text{
-						font-size: 24rpx;
-						line-height: 34rpx;
-						color: #999999;
-					}
-				}
-			}
-			.end-activity-text{
-				text-align: center;
-				font-size: 24rpx;
-				line-height: 34rpx;
-				color:#376CBB ;
-			}
-		}
-	}
+  background-color: #f3f5f9;
+  .top-content-box {
+    position: sticky;
+    top: 0;
+    left: 0;
+    right: 0;
+    z-index: 999;
+    padding-left: 30rpx;
+    background-color: white;
+  }
+  .resear-body {
+    padding: 20rpx 34rpx;
+    box-sizing: border-box;
+    .resear-banner-box {
+      display: flex;
+      align-items: center;
+      margin-bottom: 20rpx;
+      .banner-box-left {
+        height: 110rpx;
+        width: 448rpx;
+        margin-right: 20rpx;
+        swiper {
+          height: 100%;
+          width: 100%;
+          image {
+            height: 100%;
+            width: 100%;
+            border-radius: 8rpx;
+          }
+        }
+      }
+      .banner-box-right {
+        image {
+          height: 110rpx;
+          width: 214rpx;
+          vertical-align: bottom;
+          border-radius: 8rpx;
+        }
+      }
+    }
+    .purchaser-content-box {
+      margin-bottom: 20rpx;
+      .purchaser-content-box-head {
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        padding: 20rpx;
+        font-size: 28rpx;
+        font-weight: 400;
+        color: #3385ff;
+        .content-box-head-title {
+          display: flex;
+          align-items: center;
+          image {
+            height: 30rpx;
+            width: 30rpx;
+            margin-right: 10rpx;
+          }
+          text {
+            font-weight: bold;
+            color: #333333;
+            font-size: 32rpx;
+            line-height: 45rpx;
+          }
+        }
+        .content-box-head-more {
+          height: 36rpx;
+          min-width: 120rpx;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          border-radius: 36rpx;
+          background-color: #e5efff;
+          display: flex;
+          align-items: center;
+          text {
+            font-size: 20rpx;
+            line-height: 28rpx;
+            font-weight: 400;
+            color: #7990b1;
+            margin-right: 4rpx;
+          }
+          image {
+            height: 15rpx;
+            width: 15rpx;
+          }
+        }
+      }
+      .purchaser-content-box-body {
+        padding: 0 20rpx 20rpx;
+        background-color: white;
+        border-radius: 16rpx;
+        border-top: 10rpx solid #8fa4c4;
+        .purchaser-content-box-row {
+          padding: 30rpx 0;
+          border-bottom: solid 1px #dcdfe6;
+          display: flex;
+          align-items: flex-start;
+          &:last-child {
+            border-bottom: none;
+          }
+          .purchaser-content-row-tag {
+            white-space: nowrap;
+            // padding: 4rpx 15rpx;
+            width: 110rpx;
+            // min-width: 110rpx;
+            height: 36rpx;
+            color: white;
+            font-size: 20rpx;
+            line-height: 28rpx;
+            font-weight: bold;
+            border-radius: 38rpx;
+            color: #928563;
+            background-color: #f2e8cc;
+            text-align: justify;
+            text-justify: inter-ideograph; // IE兼容
+            text-align-last: justify;
+            margin-right: 8px;
+            &:after {
+              content: "";
+              width: 110px;
+              display: block;
+            }
+          }
+          .purchaser-content-row-title {
+            -webkit-line-clamp: 2;
+            text-overflow: ellipsis;
+            overflow: hidden;
+            display: -webkit-box;
+            -webkit-box-orient: vertical;
+            word-break: break-all;
+            font-size: 28rpx;
+            font-weight: bold;
+            color: #333333;
+            line-height: 46rpx;
+            .purchaser-content-row-object {
+              color: #3385ff;
+              display: inline-block;
+              margin-left: 8rpx;
+            }
+          }
+        }
+      }
+      .no-data-box {
+        width: 682rpx;
+        height: 710rpx;
+        border-radius: 16rpx;
+        background-color: white;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        .no-data {
+          display: flex;
+          flex-direction: column;
+          align-items: center;
+          margin-bottom: 40rpx;
+          image {
+            width: 412rpx;
+            height: 380rpx;
+            margin-bottom: 40rpx;
+          }
+          text {
+            font-size: 24rpx;
+            line-height: 34rpx;
+            color: #999999;
+          }
+        }
+      }
+      .end-activity-text {
+        text-align: center;
+        font-size: 24rpx;
+        line-height: 34rpx;
+        color: #376cbb;
+      }
+    }
+  }
   // .notice-content {
   //   position: sticky;
   //   left: 0;
@@ -401,11 +395,10 @@ export default {
 }
 </style>
 <style lang="scss">
-	wx-swiper .wx-swiper-dot {
-		width: 6rpx;
-		height: 6rpx;
-		border-radius: 6rpx;
-		margin-bottom: -16rpx;
-	}
-	
+wx-swiper .wx-swiper-dot {
+  width: 6rpx;
+  height: 6rpx;
+  border-radius: 6rpx;
+  margin-bottom: -16rpx;
+}
 </style>

+ 1 - 1
pages/reportForm/reportForm.vue

@@ -469,7 +469,7 @@ export default {
     },
     /* 搜索 */
     async goSearch() {
-      await this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?id=报告" + "&source=深度研究页面");
+      uni.navigateTo({ url: "/pages-search/indedxSearch/indedxSearch?id=报告" + "&source=深度研究页面" });
     },
     /* 初始 */
     initList() {

+ 88 - 52
reportPages/keyCompany/keyCompany.vue

@@ -8,10 +8,6 @@
             <text>{{ reportDetail.Department }}</text>
             <text>{{ reportDetail.PublishDate }}</text>
           </view>
-          <!-- <view class="content-statement">
-            <text>注:请务必阅读</text>
-            <text class="statement" @click="isShowStatement = true">免责声明 </text>
-          </view> -->
           <view class="content-statement">
             <view style="display: flex"> <text>注:请务必阅读</text> <text class="statement" @click="isShowStatement = true">免责声明 </text>   </view>
             <text class="statement" @click="goSecret">往期汇总>> </text>
@@ -31,63 +27,68 @@
               <text @click="reportDetailLink">点击查看</text>
             </view>
           </view>
-          <view class="industry-ul">
-            <view class="industry-li" v-for="(item, index) in dataListSubject" :key="index">
-              <view class="industry-name">{{ item.PermissionName }}</view>
-              <view :class="['industry-subject', item.ListSubject.length < 3 && 'industry-top-border']">
-                <view
-                  :class="['subject-item', 'text_oneLine', item.ListSubject.length < 3 && 'subject-item-top-border']"
-                  @click="positionSubject(key)"
-                  v-for="key in item.ListSubject"
-                  :key="key.IndustrialSubjectId"
-                >
-                  {{ key.SubjectName }}
-                  <image v-if="key.IsNew" class="icon_subject" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_subject.png"></image>
+          <block v-if="isUserBindingPhoneNumber">
+            <view class="industry-ul">
+              <view class="industry-li" v-for="(item, index) in dataListSubject" :key="index">
+                <view class="industry-name">{{ item.PermissionName }}</view>
+                <view :class="['industry-subject', item.ListSubject.length < 3 && 'industry-top-border']">
+                  <view
+                    :class="['subject-item', 'text_oneLine', item.ListSubject.length < 3 && 'subject-item-top-border']"
+                    @click="positionSubject(key)"
+                    v-for="key in item.ListSubject"
+                    :key="key.IndustrialSubjectId"
+                  >
+                    {{ key.SubjectName }}
+                    <image v-if="key.IsNew" class="icon_subject" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_subject.png"></image>
+                  </view>
                 </view>
               </view>
             </view>
-          </view>
-          <view class="content-ul">
-            <view class="content-li" v-for="item in dataList" :key="item.PermissionName">
-              <view class="content-title">
-                <image :src="item.IcoLink"></image>
-                {{ item.PermissionName }}
-              </view>
-              <mp-html :content="strFontSize(item.BodyChartSummary)" />
-              <view class="li-list">
-                <view class="li-item" v-for="key in item.List" :key="key.IndustrialSubjectId">
-                  <view :id="'subject' + key.IndustrialSubjectId" class="li-subject">
-                    <view class="item-name">
-                      <text style="display: inline-block; vertical-align: middle; font-weight: 600">{{ key.SubjectName }}</text>
-                      <image v-if="key.IsNew" src="https://hzstatic.hzinsights.com/cygx/icon/new_report.png"></image>
-                    </view>
-                    <text class="itel-label" v-for="val in key.CompanyLabel" :key="val"># {{ val }}</text>
-                  </view>
-                  <mp-html :content="strFontSize(key.Body)" />
-                  <view :style="{ 'margin-bottom': key.IsShowApplyButton ? '50rpx' : '120rpx' }" v-if="key.OverviewArticleId > 0 || key.List">
-                    <view class="subject-detali" v-if="key.OverviewArticleId > 0">
-                      <text style="display: inline-block">公司综述报告请</text>
-                      <text style="color: #3385ff; margin-left: 10rpx; display: inline-block" @click="goArticle(key.OverviewArticleId)">点击查看</text>
+            <view class="content-ul">
+              <view class="content-li" v-for="item in dataList" :key="item.PermissionName">
+                <view class="content-title">
+                  <image :src="item.IcoLink"></image>
+                  {{ item.PermissionName }}
+                </view>
+                <mp-html :content="strFontSize(item.BodyChartSummary)" />
+                <view class="li-list">
+                  <view class="li-item" v-for="key in item.List" :key="key.IndustrialSubjectId">
+                    <view :id="'subject' + key.IndustrialSubjectId" class="li-subject">
+                      <view class="item-name">
+                        <text style="display: inline-block; vertical-align: middle; font-weight: 600">{{ key.SubjectName }}</text>
+                        <image v-if="key.IsNew" src="https://hzstatic.hzinsights.com/cygx/icon/new_report.png"></image>
+                      </view>
+                      <text class="itel-label" v-for="val in key.CompanyLabel" :key="val"># {{ val }}</text>
                     </view>
-                    <view class="subject-detali" v-if="key.List">
-                      <text style="display: inline-block">相关调研纪要、深度报告请</text>
-                      <text style="color: #3385ff; margin-left: 10rpx; display: inline-block" @click="industry(key.List)">点击查看</text>
+                    <mp-html :content="strFontSize(key.Body)" />
+                    <view :style="{ 'margin-bottom': key.IsShowApplyButton ? '50rpx' : '120rpx' }" v-if="key.OverviewArticleId > 0 || key.List">
+                      <view class="subject-detali" v-if="key.OverviewArticleId > 0">
+                        <text style="display: inline-block">公司综述报告请</text>
+                        <text style="color: #3385ff; margin-left: 10rpx; display: inline-block" @click="goArticle(key.OverviewArticleId)">点击查看</text>
+                      </view>
+                      <view class="subject-detali" v-if="key.List">
+                        <text style="display: inline-block">相关调研纪要、深度报告请</text>
+                        <text style="color: #3385ff; margin-left: 10rpx; display: inline-block" @click="industry(key.List)">点击查看</text>
+                      </view>
                     </view>
+                    <view v-if="key.IsShowApplyButton" class="item-application" @click="applicationHandel(key)"> 申请路演</view>
                   </view>
-                  <view v-if="key.IsShowApplyButton" class="item-application" @click="applicationHandel(key)"> 申请路演</view>
                 </view>
               </view>
             </view>
-          </view>
-          <view class="back-top" v-if="isShowBackTop" @click="goBackTop">
-            <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/back_top.png"></image>
-          </view>
-          <statement :show="isShowStatement" />
-          <view class="select-box">
-            <u-popup v-model="areacodeShow" mode="bottom" @close="cancel">
-              <view class="box" style="color: #2c83ff" v-for="item in list" :key="item.IndustrialManagementId" @click="industryDetitle(item)"> {{ item.IndustryName }}</view>
-              <view class="box box-bottom" style="color: #a9afb8" @click="cancel">取消</view>
-            </u-popup>
+            <view class="back-top" v-if="isShowBackTop" @click="goBackTop">
+              <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/back_top.png"></image>
+            </view>
+            <statement :show="isShowStatement" />
+            <view class="select-box">
+              <u-popup v-model="areacodeShow" mode="bottom" @close="cancel">
+                <view class="box" style="color: #2c83ff" v-for="item in list" :key="item.IndustrialManagementId" @click="industryDetitle(item)"> {{ item.IndustryName }}</view>
+                <view class="box box-bottom" style="color: #a9afb8" @click="cancel">取消</view>
+              </u-popup>
+            </view>
+          </block>
+          <view class="content-bottom" v-else>
+            <view class="make-outbound" @click="pleaseGoLogin"> 请登录后报名 </view>
           </view>
         </block>
       </view>
@@ -493,6 +494,41 @@ export default {
     color: #999;
     font-size: 30rpx;
   }
+  .content-bottom {
+    margin: 50rpx 0 30rpx;
+
+    .make-outbound {
+      margin: 0 auto;
+      width: 368rpx;
+      height: 80rpx;
+      background: linear-gradient(268deg, #2ddbff 0%, #1599ff 49%, #005eff 100%);
+      opacity: 1;
+      border-radius: 4rpx;
+      color: #ffffff;
+      font-size: 34rpx;
+      line-height: 80rpx;
+      text-align: center;
+    }
+    .make-generation {
+      padding-top: 0rpx !important;
+      line-height: 76rpx;
+    }
+    .make-conference {
+      margin: 30rpx auto;
+      width: 368rpx;
+      height: 80rpx;
+      border: 2px solid #2c83ff;
+      opacity: 1;
+      border-radius: 4rpx;
+      padding-top: 5rpx;
+      text-align: center;
+      color: #2c83ff;
+      font-size: 30rpx;
+      text {
+        font-size: 16rpx;
+      }
+    }
+  }
 }
 .noauth-cont {
   padding-top: 150rpx;