bd 2 yıl önce
ebeveyn
işleme
be819a6a8a

+ 4 - 0
config/modules/User.js

@@ -78,4 +78,8 @@ export const User = {
   getListMicroRoadshow: (params) => {
     return getHttp("/micro_roadshow/mycollect", params);
   },
+  //用户搜索记录统计-微路演
+  userSearchKeyWordLog: (params) => {
+    return postHttp("/config/user/search/keyWordLog", params);
+  },
 };

+ 120 - 125
pages-search/components/report.vue

@@ -18,35 +18,34 @@
             </view>
           </view>
           <view class="read-more">
-<!--            <text class="text-box text_oneLine" v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId">
+            <!--            <text class="text-box text_oneLine" v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId">
               {{ val.SubjectName }}
             </text> -->
-			<view class="industry-video-item" @click.stop="handelVideoPlay(item)"
-			:style="{'background-image':'url('+item.IndustryVideo.BackgroundImg+ ')'}" v-if="item.IndustryVideo">
-				5min
-				<br />
-				逻辑解析
-				<view class="industry-video-icon">
-					<image src="https://hzstatic.hzinsights.com/cygx/video-right-top-icon.svg"></image>
-				</view>
-			</view>
-			<block v-if="item.IndustrialSubjectList">
-				<view v-if="item.IndustryVideo" style="display: flex;flex-wrap: wrap;width: 420rpx;">
-					<view v-for="val in item.IndustrialSubjectList.slice(0,4)" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
-						{{ val.SubjectName }}
-					</view>
-				</view>
-				<block v-if="item.IndustryVideo && item.IndustrialSubjectList.length>4">
-					<view v-for="val in item.IndustrialSubjectList.slice(4)" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
-						{{ val.SubjectName }}
-					</view>
-				</block>
-				<block v-if="!item.IndustryVideo">
-					<view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
-						{{ val.SubjectName }}
-					</view>
-				</block>
-			</block>
+            <view class="industry-video-item" @click.stop="handelVideoPlay(item)" :style="{ 'background-image': 'url(' + item.IndustryVideo.BackgroundImg + ')' }" v-if="item.IndustryVideo">
+              5min
+              <br />
+              逻辑解析
+              <view class="industry-video-icon">
+                <image src="https://hzstatic.hzinsights.com/cygx/video-right-top-icon.svg"></image>
+              </view>
+            </view>
+            <block v-if="item.IndustrialSubjectList">
+              <view v-if="item.IndustryVideo" style="display: flex; flex-wrap: wrap; width: 420rpx">
+                <view v-for="val in item.IndustrialSubjectList.slice(0, 4)" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
+                  {{ val.SubjectName }}
+                </view>
+              </view>
+              <block v-if="item.IndustryVideo && item.IndustrialSubjectList.length > 4">
+                <view v-for="val in item.IndustrialSubjectList.slice(4)" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
+                  {{ val.SubjectName }}
+                </view>
+              </block>
+              <block v-if="!item.IndustryVideo">
+                <view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
+                  {{ val.SubjectName }}
+                </view>
+              </block>
+            </block>
           </view>
         </view>
       </block>
@@ -67,10 +66,10 @@
             </view>
           </view>
           <view class="read-more" v-if="item.IndustrialSubjectList">
-           <text class="text-box text_oneLine" v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId">
+            <text class="text-box text_oneLine" v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId">
               {{ val.SubjectName }}
             </text>
-<!-- 			<view class="industry-video-item" @click.stop="handelVideoPlay(item)"
+            <!-- 			<view class="industry-video-item" @click.stop="handelVideoPlay(item)"
 			:style="{'background-image':'url('+item.IndustryVideo.BackgroundImg+ ')'}" v-if="item.IndustryVideo">
 				5min
 				<br />
@@ -111,10 +110,8 @@
             <text> {{ item.NickName }}</text>
           </view>
           <view class="item-title">
-            <text style="display: inline" @click="goDetailReport(item)">
-              {{ item.Title }}
-            </text>
-            <text class="item-industry" v-if="item.IndustryName" @click="themeDetails(item)">&nbsp;&nbsp;&nbsp;#{{ item.IndustryName }}</text>
+            <text style="display: inline; margin-right: 10rpx" @click="goDetailReport(item)">{{ item.Title }} </text>
+            <text class="item-industry" v-for="key in item.List" :key="key.IndustrialManagementId" @click="themeDetails(key)">#{{ key.IndustryName }}&nbsp;&nbsp;&nbsp;</text>
           </view>
           <view class="item-more">
             <text>{{ item.PublishDate }}</text>
@@ -140,10 +137,8 @@
         <text style="height: 1rpx; background: #ececec"></text>
         <view class="content-item" v-for="item in reportPageData.ListHzReport" :key="item.ArticleId">
           <view class="item-title">
-            <text style="display: inline" @click="goDetailReport(item)">
-              {{ item.Title }}
-            </text>
-            <text class="item-industry" @click="themeDetails(item)" v-if="item.IndustryName">&nbsp;&nbsp;&nbsp;#{{ item.IndustryName }}</text>
+            <text style="display: inline; margin-right: 10rpx" @click="goDetailReport(item)"> {{ item.Title }} </text>
+            <text class="item-industry" v-for="key in item.List" :key="key.IndustrialManagementId" @click="themeDetails(key)">#{{ key.IndustryName }}&nbsp;&nbsp;&nbsp;</text>
           </view>
           <view class="item-more">
             <text>{{ item.PublishDate }}</text>
@@ -166,19 +161,19 @@
         <rich-text :nodes="accounts"></rich-text>
       </view>
     </u-modal>
-	<!-- 视频模块 -->
-	<videoModule :showVideoPop="showVideoPop" :videoPopList="videoPopList" class="industry-video-module"/>
-	<!-- 权限弹窗 -->
-	<modalDialog :isShowhasPermission="isShowhasPermission" :applyForIsShow="applyForIsShow" :jurisdictionList="jurisdictionList" :hasPermission="hasPermission" />
+    <!-- 视频模块 -->
+    <videoModule :showVideoPop="showVideoPop" :videoPopList="videoPopList" class="industry-video-module" />
+    <!-- 权限弹窗 -->
+    <modalDialog :isShowhasPermission="isShowhasPermission" :applyForIsShow="applyForIsShow" :jurisdictionList="jurisdictionList" :hasPermission="hasPermission" />
   </view>
 </template>
 
 <script>
-import {Report } from "@/config/api"
+import { Report } from "@/config/api";
 import videoModule from "@/components/videoModule/index";
 import modalDialog from "@/components/modalDialog.vue";
 export default {
-  components: {videoModule,modalDialog},
+  components: { videoModule, modalDialog },
   props: {
     reportPageData: {
       type: Object,
@@ -190,12 +185,12 @@ export default {
       confirmText: "知道了",
       isCancelBtn: false,
       accounts: "",
-	  showVideoPop:false, //视频弹窗显示控制
-	  videoPopList:{},// 视频信息
-	  isShowhasPermission: false, //  联系销售的提交申请
-	  applyForIsShow: false, // 提交申请
-	  jurisdictionList: {},
-	  hasPermission: "", //权限
+      showVideoPop: false, //视频弹窗显示控制
+      videoPopList: {}, // 视频信息
+      isShowhasPermission: false, //  联系销售的提交申请
+      applyForIsShow: false, // 提交申请
+      jurisdictionList: {},
+      hasPermission: "", //权限
     };
   },
   watch: {},
@@ -250,45 +245,45 @@ export default {
       }
       this.goFollowShow = false;
     },
-	// 播放权限判断
-	handelVideoPlay(item){
-		if (!this.$store.state.isAuth && !this.$store.state.isBind) {
-		  if (item.AuthInfo.HasPermission == 1) {
-		    this.playVideo(item)
-		  } else {
-		    this.hasPermission = item.AuthInfo.HasPermission;
-		    this.jurisdictionList.ActivityId = item.IndustryVideo.Id;
-			// 产业视频
-		    this.jurisdictionList.isAudioVideo = 3;
-		    if (this.hasPermission == 2) {
-		      this.jurisdictionList.SellerMobile = item.AuthInfo.SellerMobile;
-		      this.jurisdictionList.SellerName = item.AuthInfo.SellerName;
-		      this.jurisdictionList.PopupMsg = item.AuthInfo.PopupMsg;
-		      this.isShowhasPermission = true;
-		    } else if (this.hasPermission == 3 || this.hasPermission == 4 || this.hasPermission == 5) {
-		      this.jurisdictionList.PopupMsg = item.AuthInfo.PopupMsg;
-		      this.applyForIsShow = true;
-		    }
-		  }
-		} else {
-		  this.$store.dispatch("checkHandle");
-		}
-	},
-	playVideo(item){
-		let params={
-			Id:item.IndustryVideo.Id,
-			ResourceUrl:item.IndustryVideo.ResourceUrl,
-			BackgroundImg:item.IndustryVideo.BackgroundImg,
-			Title:`5min【${item.IndustryName}】逻辑解析`
-		}
-		if (this.$store.state.videoPlay.playVideoId != item.Id) {
-		  this.$store.commit("videoPlay/palyTimeUpdate", 0);
-		  this.$store.commit("videoPlay/playVideo", item.Id);
-		}
-		this.globalBgAudioManager.stop();
-		this.videoPopList = params;
-		this.showVideoPop = true;
-	}
+    // 播放权限判断
+    handelVideoPlay(item) {
+      if (!this.$store.state.isAuth && !this.$store.state.isBind) {
+        if (item.AuthInfo.HasPermission == 1) {
+          this.playVideo(item);
+        } else {
+          this.hasPermission = item.AuthInfo.HasPermission;
+          this.jurisdictionList.ActivityId = item.IndustryVideo.Id;
+          // 产业视频
+          this.jurisdictionList.isAudioVideo = 3;
+          if (this.hasPermission == 2) {
+            this.jurisdictionList.SellerMobile = item.AuthInfo.SellerMobile;
+            this.jurisdictionList.SellerName = item.AuthInfo.SellerName;
+            this.jurisdictionList.PopupMsg = item.AuthInfo.PopupMsg;
+            this.isShowhasPermission = true;
+          } else if (this.hasPermission == 3 || this.hasPermission == 4 || this.hasPermission == 5) {
+            this.jurisdictionList.PopupMsg = item.AuthInfo.PopupMsg;
+            this.applyForIsShow = true;
+          }
+        }
+      } else {
+        this.$store.dispatch("checkHandle");
+      }
+    },
+    playVideo(item) {
+      let params = {
+        Id: item.IndustryVideo.Id,
+        ResourceUrl: item.IndustryVideo.ResourceUrl,
+        BackgroundImg: item.IndustryVideo.BackgroundImg,
+        Title: `5min【${item.IndustryName}】逻辑解析`,
+      };
+      if (this.$store.state.videoPlay.playVideoId != item.Id) {
+        this.$store.commit("videoPlay/palyTimeUpdate", 0);
+        this.$store.commit("videoPlay/playVideo", item.Id);
+      }
+      this.globalBgAudioManager.stop();
+      this.videoPopList = params;
+      this.showVideoPop = true;
+    },
   },
 };
 </script>
@@ -320,41 +315,41 @@ export default {
       display: flex;
       flex-wrap: wrap;
       margin-left: 80rpx;
-	  .industry-video-item{
-	  	height: 126rpx;
-	  	width: 170rpx;
-		// width: 216rpx;
-	  	margin: 0 40rpx 30rpx 0;
-		// margin: 0 15rpx 30rpx 0;
-	  	border-radius: 8rpx;
-	  	background-size: cover;
-	  	background-position: center;
-	  	background-repeat: no-repeat;
-	  	font-weight: 500;
-	  	font-size: 32rpx;
-	  	color: white;
-	  	line-height: 45rpx;
-	  	padding: 20rpx;
-	  	position: relative;
-	  	overflow: hidden;
-	  	.industry-video-icon{
-	  		height: 0rpx;
-	  		width: 0rpx;
-	  		border-style: solid;
-	  		border-color: #3385FF #3385FF transparent transparent;
-	  		border-width: 28rpx;
-	  		position: absolute;
-	  		right: 0;
-	  		top: 0;
-	  		image{
-	  			position: absolute;
-	  			right: -24rpx;
-	  			bottom: 0;
-	  			height: 20rpx;
-	  			width: 20rpx;
-	  		}
-	  	}
-	  }
+      .industry-video-item {
+        height: 126rpx;
+        width: 170rpx;
+        // width: 216rpx;
+        margin: 0 40rpx 30rpx 0;
+        // margin: 0 15rpx 30rpx 0;
+        border-radius: 8rpx;
+        background-size: cover;
+        background-position: center;
+        background-repeat: no-repeat;
+        font-weight: 500;
+        font-size: 32rpx;
+        color: white;
+        line-height: 45rpx;
+        padding: 20rpx;
+        position: relative;
+        overflow: hidden;
+        .industry-video-icon {
+          height: 0rpx;
+          width: 0rpx;
+          border-style: solid;
+          border-color: #3385ff #3385ff transparent transparent;
+          border-width: 28rpx;
+          position: absolute;
+          right: 0;
+          top: 0;
+          image {
+            position: absolute;
+            right: -24rpx;
+            bottom: 0;
+            height: 20rpx;
+            width: 20rpx;
+          }
+        }
+      }
       .text-box {
         margin-bottom: 30rpx;
         margin-right: 40rpx;
@@ -396,7 +391,7 @@ export default {
       .item-title {
         font-weight: 500;
         .item-industry {
-          margin-left: 10rpx;
+          margin-right: 10rpx;
           color: #3385ff;
           display: inline-block;
         }
@@ -438,4 +433,4 @@ export default {
     }
   }
 }
-</style>
+</style>

+ 3 - 3
pages-search/components/summaryChart.vue

@@ -1,5 +1,5 @@
 <template>
-  <view :class="['result-data-search-summary', tabsActiveChild == 1 ? 'content-padding':'content-padding-min']">
+  <view :class="['result-data-search-summary', 'content-padding', tabsActiveChild == 2 && 'content-padding-top']">
     <view class="content-ul">
       <view class="report-ul" style="margin-right: 10rpx">
         <block v-for="(item, index) in resultList" :key="index">
@@ -62,7 +62,7 @@ export default {
 .content-padding {
   padding-top: 90rpx !important;
 }
-.content-padding-min {
-  padding-top: 20rpx;
+.content-padding-top {
+  padding-top: 20rpx !important;
 }
 </style>

+ 9 - 4
pages-search/indedxSearch/indedxSearch.vue

@@ -26,7 +26,7 @@
         </view>
       </view>
       <block v-if="isResult">
-        <view class="more-summary more-box" v-if="tabsActive == 1  && haveResultSummary">
+        <view class="more-summary more-box" v-if="tabsActive == 1 && haveResultSummary">
           <view>
             <text class="more-text"> 纪要/图表 </text>
           </view>
@@ -36,7 +36,7 @@
                 item.name
               }}</text>
             </view> -->
-            <view class="more-rivet" @click="tabsActiveMore(2)"> 更多 <u-icon name="arrow-right" color="#3385FF" size="28"></u-icon> </view>
+            <view v-if="tabsActive == 1" class="more-rivet" @click="tabsActiveMore(2)"> 更多 <u-icon name="arrow-right" color="#3385FF" size="28"></u-icon> </view>
           </view>
         </view>
         <view class="activity-select" style="display: flex; align-items: center; justify-content: flex-end" v-if="tabsActive == 4 || tabsActive == 5">
@@ -106,7 +106,7 @@
 
 <script>
 import { KeywordList, TabsList, SummarySelect, ActivitySelect } from "./searchList";
-import { Search, activity, Report, Home } from "@/config/api";
+import { Search, activity, Report, Home, User } from "@/config/api";
 import { Debounce, Throttle } from "@/config/util.js";
 import summaryChart from "../components/summaryChart.vue";
 import activityBack from "../components/activityBack.vue";
@@ -145,6 +145,7 @@ export default {
         loading: "加载中",
         nomore: "已经到底了",
       },
+      isSearchKeyWord: [],
     };
   },
   computed: {
@@ -232,8 +233,12 @@ export default {
       this.getDataList();
     },
     //搜索
-    getDataList() {
+    async getDataList() {
       this.isResult = true;
+      if (!this.isSearchKeyWord.includes(this.searchTxt)) {
+        this.isSearchKeyWord.push(this.searchTxt);
+        await User.userSearchKeyWordLog({ KeyWord: this.searchTxt });
+      }
       if (this.tabsActive == 1) {
         this.synthesiz();
         this.getReportList();

+ 21 - 0
pages/activity/activity.vue

@@ -53,6 +53,8 @@
                   <view class="activity-li" :style="{ 'background-image': 'url(' + val.ImgUrlBg + ')' }" v-for="val in item.List" :key="val.KeyWord" @click="goDetails(val, item.Resource)">
                     <image v-if="val.IsNew" class="item-image" lazy-load src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_report.png"></image>
                     <text class="text_oneLine"> {{ val.KeyWord }}</text>
+                    <view class="item-trip" v-if="val.TripStatus == 2">确定行程</view>
+                    <view class="item-trip item-city" v-if="val.City.length == 2">{{ val.City }}</view>
                   </view>
                 </view>
               </view>
@@ -69,6 +71,8 @@
                   <view class="activity-li" :style="{ 'background-image': 'url(' + val.ImgUrlBg + ')' }" v-for="val in item.List" :key="val.KeyWord" @click="goDetails(val, item.Resource)">
                     <image v-if="val.IsNew" class="item-image" lazy-load src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_report.png"></image>
                     <text class="text_oneLine"> {{ val.KeyWord }}</text>
+                    <view class="item-trip" v-if="val.TripStatus == 2">确定行程</view>
+                    <view class="item-trip item-city" v-if="val.City.length == 2">{{ val.City }}</view>
                   </view>
                 </view>
               </view>
@@ -536,11 +540,28 @@ export default {
         width: 60rpx;
         height: 30rpx;
         border-radius: 4rpx;
+        color: #fff;
       }
       .new_img {
         width: 26rpx;
         height: 28rpx;
       }
+      .item-trip {
+        position: absolute;
+        right: -10rpx;
+        top: 0;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        width: 73rpx;
+        height: 30rpx;
+        background: linear-gradient(90deg, #da5555 0%, #e87a7a 100%);
+        border-radius: 4rpx;
+        font-size: 16rpx;
+      }
+      .item-city {
+        background: linear-gradient(90deg, #408dff 0%, #6fa9ff 100%);
+      }
     }
   }
   .more {